LinuxにてLaravelの開発環境構築

LAMP作るまで本通り Composerインストール

getcomposer.org

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" sudo mv composer.phar /usr/local/bin/composer

公式ページの手順そのまま踏むだけ

laravel をインストール composer global require laravel/installer

今のままじゃlaravelコマンド使えない どこからでもlaravelコマンドを使えるよう、パスを通す vi ~/.bash_profile で、環境変数ファイルに追記する。 末尾最終行に、 export PATH="$PATH:$HOME/.config/composer/vendor/bin" を追記する。 i でインサートモード esc で編集終了 :wq で保存して終了

source ~/.bash_profile でPATH反映されて、laravelコマンド使えるようになる

laravel -v でバージョン示されたら成功

laravel コマンドが使えるようになったのでプロジェクト作りたい場所に行って var/www/html直下 laravel new ○○ で新しいプロジェクト作ろう!!

phpのバージョンが。。。とか言われたら本の裏に書いてあるように php入れなおしてみよう remiから最新のphpインストールしてみよう

yum -y install --enablerepo=remi,remi-php73 php php-devel php-mbstring php-pdo php-mysql php-gd php-xml php-mcrypt

deep-blog.jp

laravel のインストーラーのバージョンが。。。と言われたら composer global remove laravel/installer でアンインストールして composer global require laravel/installer でインストールしなおしてみよう

laravel-news.com

無事プロジェクト作れたら中に入ってみようcd myapp 例 php artisan serve で起動させてみよう IP4/myapp/publicでlaravel のページ表示される!!! でもUnexpectedValueExceptionとなってる

IP4/myapp/public じゃなくて、IP4だけでLaravelトップページにアクセスできるようにしよう etc/httpd/conf に httpd.confという、apacheの設定ファイルがある これを触る 最終行に、

Alias / "/var/www/html/myapp/public/"

Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny Allow from all

を追加する。 apache再起動でIP4だけでLaravelトップページいけるはず

まだ UnexpectedValueException が出てしまう場合、 sudo setenforce 0 試してみて!

myapp/storage/xxx/xxx permission denied が治らないとき

ls -l

で、myapp直下でコマンド流す 全フォルダ見れる

chmod -R 777 storage

でpermission denied が出ている問題のファイル の親玉フォルダの権限を777 に無理やりしたら治った

winSCPで.envが更新できない(Permission Denied) なぜか更新できる古いサーバー myappごと777になってるっぽい

問題の更新できない今のサーバー

html 直下まで戻って、chmod -R 777 myapp すればOK

myapp まで下がってls -l で確認すると、上の写真と同じになっている

mysql との接続、テーブルの作り方 本通りにすればmysql現時点でインストールされてる。 いじらないといけないのは、.envのDB_PASSWORDだけ あとはマイグレーションファイル作成してmigrateするだけ

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email)) php artisan migrate 時にこのエラーが出る場合

config/database.php 55,56行目を以下に変更すると、一気に何の問題もなくmigrateできるようになる。

 'charset' => 'utf8', 'collation' => 'utf8_general_ci',

ようやくここまで

まず初めに、Authを使えるようにしておく、詳しくは別記事を参照 Authが使えるようになるための全工程を終えると、 画面右上にLogin Register が現れる

しかし、クリックしてもInternal Server Errorなる

これの対処も別記事参照 すぐ解決する。