まだ全然理解・整理できていないので、メモと参考サイト様を置いておきます。
あとあと理解が進んだら追記・変更してゆきます。
インストールするもの
前回まででVirtualBoxにCentOS minimalをインストールしただけなので、まだphpも使えない状態です。
ここから諸々を追加するのですが、メインはこんな感じ。
- php
- apache (webサーバー)
- MySql (データベース)
- composer
- Laravel
参考サイト様
ひとつのサイトだけ見ていきなり設定を進めず、まずは複数見てだいたいのやり方を知ってから始めたほうがいいなと思いました。
CentOSインストール後の設定から
基本的には。上記でもご紹介している詳しく解説されているREMSYSTEM様の記事にそって、設定をすすめてゆきます。
CentOS 7のインストール後におこなうLinuxの基本設定 13ポイント
httpd.conf設定周りのことが詳しく書かれているのでありがたいです。
ただ部分的に変更したり、必要がなかったりという部分はあったので、ひとつひとつ何をしているかある程度理解しながら進めたほうが後で困ったとき戻りやすいと思いました。
composer , Laravelインストール
ここまでできたら、後はcomposer・Laravel周りなので見知った流れでほっとします。
PHPのパッケージ管理ツールcomposerのインストール方法
が1つだけ、zip関連のエクステンションが足りないとエラーが発生。以下のコマンドでインストールしてあげてください。
yum insatall -y zip unzip
あとは毎回調べるのが面倒なコマンドをメモ。
Laravelのバージョンを指定してインストールしたいとき
composer create-project "laravel/laravel=6.8.*" フォルダ名
カレントにインストールしたいとき
インストールしたら新しくディレクトリを作られてしまって、あーってなるときありますよね。以下のコマンドを使えば今いるディレクトリにそのまま展開してくれます。
composer create-project "laravel/laravel=6.8.*" .
特定コマンド系
ls
ディレクトリ内のファイルを確認するのによく使うlsですが、オプション付けたら色々な情報も見れるんですね。知らなかった。
ls -l //パーミッションも含めファイル・ディレクトリの詳細を表示する
今回はこれを何回も使いました。
他にも色々あります ls 参考サイト様
chmod,chown
今回はコマンドたくさん使いました。特に今まで意味不明だったchmod、、、こんな意味だったなんて、、!
vboxsfのパーミッションで詰まった
今回多分一番つまったところ。パーミッションの関連なのですが、諸々設定が終わってブラウザで確認しようとすると403エラーが発生。
You don’t have permission to access…権限が無いよーと言われてしまいました。
同じルートディレクトリの他ファイルはブラウザで見れるのに、なぜ??と思って調べて ls -l で権限を確認すると
drwxrwx--- 1 root vboxsh 832...
こんな感じになっていました。パーミッションについて詳しくはこちら
drwxrwx— の最後の「—」。これは、他ユーザーは読み書きも何もできない、権限がないよーという設定になっているということ。なるほど。
なのでchmodで権限変更〜!!とするも、変更できない。
どうやら、共有フォルダはcnmodが効かない仕様のようです・・!!
こちらやこちらなどで解説されている通り、手動でマウントするという方法で無事パーミッションを変更できました💦
mount -t vboxsf -o dmode=0777,fmode=0777 共有フォルダ名 マウント先
「共有フォルダ名」はvirtualboxに登録した際のフォルダ名、マウント先はCentOS側のディレクトリ(フルパス。私の場合はルートディレクトリ)になります。
上記をターミナルに入力すると書き換えができますが、rebootすると設定が消えてしまうそうなので
/etc/rc.d/rc.local 内に vi コマンドで以下を追記。
mount -t vboxsf -o dmode=0777,fmode=0777 共有フォルダ名 マウント先
これで再起動しても大丈夫!
777 とは、自分・グループ・他人 に全ての権限を与えるコマンドになります
そんなこんなで、無事にホストPCでLaravelが表示できました!やたー。
フォルダ共有してるので、手元のPCで書き換えたものがちゃんとCentOSにも反映されます。