Vagrant+AlmaLinuxで構築したPHP8環境にLaravelをインストールする
おはようございます、連休中は変な時間に寝て変な時間に起きる、どうもみけぽんです。
前回の記事ではVagrantで構築したAlmaLinux環境にPHP8をインストールしたので、今回はLaravelをインストールします。
Vagrant+AlmaLinuxで構築したPHP8環境にLaravelをインストールする
前回の記事
前回の記事ではapache、PHP8のインストールまでを行いました。
composerのインストール
wgetコマンドのインストール
composerのインストーラーをダウンロードするためにwgetコマンドを使うので、dnfコマンドでインストールします。
前回と同じようにrootユーザーで実行してください。
$ dnf install -y wget
インストーラーのダウンロード
wgetコマンドを使ってインストーラをダウンロードします。
$ wget https://getcomposer.org/installer -O composer-installer.php
composerのインストール
インストーラーからディレクトリを指定し、composerをインストールします。
/usr/bin
ディレクトリにインストールすれば、どのパスからもcomposer
だけでコマンド実行できるようになります。
$ php composer-installer.php --filename=composer --install-dir=/usr/bin
念のためアップデートコマンドを実行すると、現時点の最新バージョンだという旨の文言が表示されます。
$ composer self-update
You are already using the latest available Composer version 2.0.13 (stable channel).
Laravelのインストール
インストール前に作業ディレクトリへ移動し、composerコマンドを実行します。
コマンド一発でLaravelはインストールできてしまいます。
project_name
の箇所は任意のディレクトリ名に変更してください。
$ cd /home/vagrant/public_html
$ composer create-project laravel/laravel --prefer-dist project_name
apacheのvirtualhostの設定
webブラウザからアクセスした際にlaravelディレクトリのpublicを参照するよう、virtualhostを設定します。
ログ格納用のディレクトリを作成
まずはログ格納用のディレクトリを予め作成しておきます。
$ mkdir /home/vagrant/logs
$ mkdir /home/vagrant/logs/project_name
virtualhostファイルの設定
vi
コマンドでvirtualhostファイルを新たに作成し、下記の内容を記載します。
拡張子が.conf
であればファイル名は任意のものでOKです。
$ vi /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
DocumentRoot /home/vagrant/public_html/project_name/public
ServerName 192.168.33.10
ErrorLog /home/vagrant/logs/project_name/error_log
CustomLog /home/vagrant/logs/project_name/access_log combined
AddDefaultCharset UTF-8
<Directory "/home/vagrant/public_html/project_name/public">
AllowOverride All
</Directory>
</VirtualHost>
virtualhostファイルの文法チェック
httpd -t
コマンドでvirtualhostファイルの文法チェックが行えます。
$ httpd -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
上記のエラーは無視しても現時点では問題ありませんが、/etc/httpd/conf/httpd.conf
の98行目のコメントアウトを外せばエラーが表示されなくなります。
その際に念のためwww.example.com:80
をlocalhost:80
に変更しておいてください。
$ vi /etc/httpd/conf/httpd.conf
ServerName localhost:80
再度文法チェックを行うと、エラーが消えたことが分かります。
$ httpd -t
Syntax OK
SELinuxがapache再起動の邪魔をする場合があるので無効化します。
$ setenforce 0
$ vi /etc/selinux/config
SELINUX=enforcing
↓
SELINUX=disabled
Apacheを再起動し、エラーが表示されなければOKです。
$ systemctl restart httpd
実際にアクセスする
権限でのエラーが出ないよう、vagrantディレクトリの権限を変更します。
何度も言いますがローカル開発環境なので777にしているので、公開する本番環境では適切な権限を付与してください。
$ chmod 755 /home/vagrant
virtualhostファイルのServerNameに設定したURLにブラウザからアクセスすれば、Laravelの初期画面が表示されるはずです。
まとめ
当記事ではAlmaLinux環境にLaravelをインストールし、apacheのvirtualhost設定までを行いました。
次回の記事ではMySQLのインストールまで行おうと思います。