対象と前提
・Ruby on Railsで環境構築・Webアプリケーション作成したことあるプログラミング初心者
・PHPフレームワークのLaravel使ってみたい方
・Macユーザー(私はMacOS Catalina(10.15.7)使ってます)
・シェルはzshを使用
最初に…
私はRuby on Rails(以下RoR)で基礎的なWebアプリケーションを学習していました。
しかし、PHPも経験したかった!
なのでRoRの復習兼ねて、PHPの主要フレームワークであるLaravelを使ってみようと思いました。
(これまた有名なCMS(コンテンツ管理システム・ブログみたいなもの)であるWordPressも、PHPで開発されたものというし)
備忘録のため、ローカル環境構築手順をQiitaに投稿します。
1. Composerをインストール
Composerは、PHP向けのパッケージ管理システム。
つまりRubyでいうbundlerにあたるもの。
Macの場合は、公式サイトからダウンロードします。
Composer公式
トップページの Download をクリックしてダウンロードページへ。
「Manual Download」の中から最新版をダウンロードすることにします。
今回は現時点(2021/1/28時点)で最新版のver2.0.9をダウンロードすることにしました。
composer.pharというファイルがダウンロードされます。
ダウンロードできたら、ターミナルを起動してコマンドを実行して導入します。
## ダウンロードしたディレクトリに移動
% cd ~/Downloads
# composer.pharを/usr/local/bin/に移動。パスワード聞かれたら入力
# アクセス権変更。全ユーザーに実行権限付与
% sudo mv composer.phar /usr/local/bin/composer
% chmod a+x /usr/local/bin/composer
# 導入できたかcomposerのバージョン確認コマンドでチェック
% composer -V
Composer version 2.0.9 2021-01-27 16:09:27
無事にバージョン表示されたので、Composerの導入は完了です。
2. いよいよLaravelをインストール
ターミナルで以下のコマンドを実行。少し時間がかかるかもしれません。
% composer global require laravel/installer
Laravelのコマンドを使えるよう、環境変数にインストールされた場所を追記します。
% echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.zshrc
% source ~/.zshrc # 更新済みの設定ファイルを再読み込みして反映させる
# Laravelを導入できたか確認
% laravel -V
Laravel Installer 4.1.1
ちなみに、この段階でphp artisanのコマンド叩いてもエラーになります。
% php artisan -V
Could not open input file: artisan
「artisan」はLaravelで作成したディレクトリ(プロジェクト)内で使えるコマンド。
なので、この段階でエラーになることは当然だったのでした。
3.Laravelで最初のプロジェクトを作成
Railsで言う rails new hogeproject ってやつです。
Laravelもコマンド自体は似たような感じ。
試しにfirst_laravelappというプロジェクトを作成します。
cdコマンドで、プロジェクトを作成したいディレクトリに移動。
laravel newで新規プロジェクトを作成します。
# first_laravelappという名前の新規Laravelプロジェクトを作成
% laravel new first_laravelapp
_ _
| | | |
| | __ _ _ __ __ ___ _____| |
| | / _` | '__/ _` \ \ / / _ \ |
| |___| (_| | | | (_| |\ V / __/ |
|______\__,_|_| \__,_| \_/ \___|_|
Creating a "laravel/laravel" project at "./first_laravelapp"
:
:
Application key set successfully.
Application ready! Build something amazing.
…という感じで作成完了。
作成したプロジェクトに移動して、さっきエラーになったartisanコマンドをもう1回叩いてみる。
% cd first_laravelapp
first_laravelapp % php artisan -V
Laravel Framework 8.25.0
おお、今度はLaravelのバージョンがきちんと表示された!
4.動作確認
ブラウザでLaravelプロジェクトを表示できるか、動作確認します。
LaravelにもWebサーバ機能がデフォルトで内臓されていました。
Railの起動コマンドは rails s です。
Laravelでは以下のように実行。
first_laravelapp % php artisan serve
Starting Laravel development server: http://〜
artisanは英語で「職人」という意味。
職人さんが頑張ってWebサーバを起動してくれます。
終了するときは、Railsと同じくCtrl+C。
Railsでは「http://localhost:3000/」で確認したけど、Laravelの場合はデフォルト8000番。
「http://localhost:8000/」で確認します。
表示できました!
最後に…
他の記事をググってみると、動作環境を作るために「XAMPP」や「MAMP」インストールすることが多いのかな?
導入せずとも最初のページは表示でいたので、今後も必要とならない限り「XAMPP」や「MAMP」はインストールしないで学習を進めてみようと思います。
…すぐ詰まってインストールするかもだけど。
その他の備忘録
XAMPPとMAMPの名前の由来
XAMPP: クロスプラットフォーム、Apache、MySQL、PHP、Perl
MAMP: Mac、Apache、MySQL、PHP
Macには標準でApacheがインストールされている
% which httpd
/usr/sbin/httpd
% which apachectl
/usr/sbin/apachectl
ターミナルでコマンド打ったら、確かに自分何もしてないのに入ってる。
ちなみにwhichは、そのコマンドがどこのディレクトリにあるかを調べるコマンド。