プログラム

さくらのVPS:Laravel インストール

さくらの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 が動かないので、バージョンアップします。

 

次に、作業ディレクトリを作ります。

#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:xxxyyyzzzzz.sakura.ne.jp)経由で、Laravel が動くか確認します【注】。

【注】xxxyyyzzzzz は、適宜、各自の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

【注】xxxyyyzzzzz は、適宜、各自のhostname に読み替えてください。

 

 

【参考】

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です