さくらのVPS:Laravel インストール
Contents
さくらのVPS に、Laravel をインストールしました。
Web(hostname:xxx-yyy-zzzzz.sakura.ne.jp)経由で、Laravel が動きます【注】。
Laravel インストールで、何か上手くいかないときに、参考にしてください。
【注】xxx-yyy-zzzzz は、適宜、各自のhostname に読み替えてください。
【追記:2019.01.16】新しい記事「さくらのVPS:Laravel デプロイ」も、ご参照ください
【追記:2018.12.16】以下のエラーが出る場合、記事「さくらのVPS:Laravel デプロイ」を参照してください。
- SQLSTATE[HY000]: General error: 8 attempt to write a readonly database
準備
先ず、PHP のバージョンが古い(5.4 など)と、Laravel が動かないので、バージョンアップします。
- PHP バージョンアップ:記事「さくらのVPS:PHPバージョンアップ 5.4→7.2」参照
次に、作業ディレクトリを作ります。
#cd /var/www/html #mkdir test #cd test
- ドキュメントルートに移動し、
- 作業ディレクトリ「test」を作成
- test ディレクトリに移動
Composer インストール
Composer のサイトの「download」ページに行きます(https://getcomposer.org/download/)。
下に示したコマンド行があるので、それをコピーし、ペーストします。
作業は、test ディレクトリ内で行います。
#php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" #php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" #php composer-setup.php #php -r "unlink('composer-setup.php');"
結果、test フォルダに、「composer.phar」ファイルが生成されます。
- /var/www/html/test/composer.phar
Laravel インストール
Laravel のインストールは、手こずったので、そのまま時系列で記述します。
エラー:mbstring が無い!
先に作成した「test」フォルダ内で、Laravel をインストールするコマンドを打ちます。
ファイル名は「sample」です。
#php composer.phar create-project --prefer-dist laravel/laravel sample
すると、以下のエラーが返ってきます。
- Your requirements could not be resolved to an installable set of package.
- laravel/framework v5.7.9 requires ext-mbstring ・・・
「mbstring」がないと言っています。
php-mbstring のインストール
php をバージョンアップした際、色々と入れ忘れていたので、それらをインストールします。
#yum install --enablerepo=remi,remi-php72 php php-devel php-mbstring php-mysqlnd php-pdo php-gd php-op #systemctl restart httpd
- php-mbstring, etc. をインストール
- リスタート
エラー:extension dom が無い!
再度、Laravel をインストールするコマンドを打ちます。
#php composer.phar create-project --prefer-dist laravel/laravel sample
今度は、以下のエラーが返ってきました。
- Your requirements could not be resolved to an installable set of package.
- phpunit/phpunit 7.5.x-dev requires ext-dom ・・・
これは、「dom」がないと言っています。
php-xml のインストール
#yum install --enablerepo=remi,remi-php72 php php-xml #systemctl restart httpd
- php-xml をインストール
- リスタート
Laravel インストール成功
再度、Laravel をインストールするコマンドを打ちます。
#php composer.phar create-project --prefer-dist laravel/laravel sample
今度は、インストールが成功したので、Laravel のバージョンを確認します。
#php artisan --version
- Laravel Framework 5.7.15 などと、表示
Web 経由での動作確認
Web(hostname:xxx–yyy–zzzzz.sakura.ne.jp)経由で、Laravel が動くか確認します【注】。
【注】xxx–yyy–zzzzz は、適宜、各自のhostname に読み替えてください。
http://xxx-yyy-zzzzz.sakura.ne.jp/test/sample/public
エラー:storage が開けない
すると、「storage」が開けない(権限がない)といった、エラーになります。
- UnexpectedValueException
- The stream or file “/var/www/html/test/sample/storage/logs/laravel-2018-12-06.log” could not be opened: failed to open stream: Permission denied
権限チェンジとselinux 調整
#chmod -R 777 /var/www/html/test/sample/storage #chcon -R -t httpd_sys_rw_content_t /var/www/html/test/sample/storage #chcon -R -t httpd_sys_rw_content_t /var/www/html/test/sample/bootstrap/cache
- selinux 調整の詳細は、【参考】を見てください
動作確認
ブラウザーに以下のアドレスを入力すると、Laravel が動きます【注】。
http://xxx-yyy-zzzzz.sakura.ne.jp/test/sample/public
【注】xxx–yyy–zzzzz は、適宜、各自のhostname に読み替えてください。
【参考】
- composerでPHPUnitがインストールできない(終電23時15分って早くね?)
- laravel5のインストールで、ファイルパーミッションエラー(ぺんぎんノート)
- CentOS7 上でLaravel 5.1 が起動しない(teratail)