前回の記事「【PHP・Laravelでの開発準備編】VirtualBoxにCentOS8をインストール」でCentOS8をインストールしました。
今回はインストールしたCentOS8にLaravel6を構築していきます。
Laravel6のインストール
Laravel6の公式ページは以下になります。
https://readouble.com/laravel/6.0/ja/installation.html
さらっとComposerを利用すると書いていますが、デフォルトでは使えるようにはなっていないのでまずはComposerを準備する必要があります。
composerの準備
まずはrootでログインして以下のコマンドを打ちます。
cd ~ curl https://getcomposer.org/installer | php
すると「Install it or recompile php without –disable-json」というエラーが出ます。
php-jsonが足りていないということなのでそちらをインストールします。
yum -y install php-json
するとcomposer.pharがダウンロードされてきますので、そちらをどこからでも実行可能なパスの通っている「/usr/local/bin/」に移動します。
mv composer.phar /usr/local/bin/composer
最後に以下を打ってバージョンが表示されればcomposerの準備は完了です。
composer --version
apacheのドキュメントルートに新しいプロジェクトを設置
composerはサードパーティーにシステムに関する操作を許可してしまう為、rootユーザーでは使わないことが推奨されています。
インストールの際に作成したユーザーでログインしてから作業を行う必要があります。
切り替えたら最初にLaravelのインストーラーをダウンロードします。少し時間がかかります。
composer global require laravel/installer
次にlaravelの実行ファイルにパスを通します。もしパスが違う場合は上記のコマンドでインストーラーを入れた際にどこに格納されたかをチェックしてみてください。私の環境では以下でした。
vi /home/user/.bash_profile を打って最後の行に以下を追加記述 export PATH=$PATH:$HOME/.composer/vendor/bin 設定を反映するためにもう一度user名で切り替え su user名
laravelと打って説明等が表示されればパスが通っています。
次にデフォルトだとドキュメントルートは「/var/www/html」になっていますので、そちらに移動して新しいプロジェクトを作成します。
cd /var/www/html laravel new whateat
whateatの部分は作成するプロジェクト名に応じて可変に調整してください。
とするとおそらく「The provided cwd “/var/www/html/whateat” does not exist.」というエラーメッセージが出ると思います。
これは/var/www/htmlの権限がrootになっており、userのものではないためフォルダが作成できずに出るエラーとなります。
一旦rootユーザーになって権限を変更します。
su - chown user名:user名 /var/www/html
userに戻って再度実行します。この時rootのまま実行するとパーミッションが面倒なことになるので、もしrootのままやってしまった場合は一旦フォルダを消してやり直せばOKです。
su user名 cd /var/www/html laravel new whateat cd whateat composer install chmod 777 -R storage chmod 777 -R bootstrap/cache chcon -R -t httpd_sys_rw_content_t /var/www/html/whateat/storage chcon -R -t httpd_sys_rw_content_t /var/www/html/whateat/bootstrap/cache
後半はディレクトリのパーミッションなどエラー回避の為のコマンドになります。
これで「http://localhost:50080/whateat/public/」にアクセスしてページが表示されればLaravelの動作はOKです。
次回はLaravelをより具体的に使っていきます。