Vagrant+AlmaLinuxで構築したPHP8環境にLaravelをインストールする

Laravel,Linux,PHP,技術AlmaLinux,PHP8,Vagrant,VirtualBox,備忘録,開発環境構築

おはようございます、連休中は変な時間に寝て変な時間に起きる、どうもみけぽんです。

前回の記事では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:80localhost:80に変更しておいてください。

$ vi /etc/httpd/conf/httpd.conf
ServerName localhost:80

 

再度文法チェックを行うと、エラーが消えたことが分かります。

$ httpd -t
Syntax OK

 

SELinuxがapache再起動の邪魔をする場合があるので無効化します。

$ setenforce 0
$ vi /etc/selinux/config
SELINUX=enforcingSELINUX=disabled

 

Apacheを再起動し、エラーが表示されなければOKです。

$ systemctl restart httpd

 

実際にアクセスする

権限でのエラーが出ないよう、vagrantディレクトリの権限を変更します。

何度も言いますがローカル開発環境なので777にしているので、公開する本番環境では適切な権限を付与してください。

$ chmod 755 /home/vagrant

 

virtualhostファイルのServerNameに設定したURLにブラウザからアクセスすれば、Laravelの初期画面が表示されるはずです。

 

まとめ

当記事ではAlmaLinux環境にLaravelをインストールし、apacheのvirtualhost設定までを行いました。

次回の記事ではMySQLのインストールまで行おうと思います。

 

次回の記事