LoginSignup
4
Organization

Vagrant + Amazon Linux2 + Laravel 9 + Apache 2.4の環境構築 1日目

1. 初めに

初めまして、piroです。
初投稿の記事で、色々と足らなかったり見づらいことあるかもしれませんが、良ければ最後まで見てください!!!

2.概要

「VagrantでAmazon Linux2 PHP 8.1 + Laravel 9 + Apache 2.4 + Mysql(おまけ)」を環境構築する内容になります。
2日間に分けて投稿するのでよろしくお願いします。

1日目 : Vagrant設定、PHPインストール・設定、Laravel インストール・設定 ←ここ
2日目 : Apache インストール・設定、Mysql インストール・設定

  • 環境構築した際の最新バージョン
  • Windows 10 の環境構築になります。
  • コマンド実行は「Git Bash」を使用

1日目は以下のサイト参考にしております。
[参考URL]
https://qiita.com/ntm718/items/b06188c459fe70a3fe87
https://dev.classmethod.jp/articles/ec2-php81-laravel9/

3. 前提条件

  1. Vagrantがインストールされていること。

  2. Virtualboxがインストールされていること。

  3. Vagrant環境でVirtualboxの共有フォルダが使用できること。

[投稿者の使用バージョン]
Vagrantは2.3.0を使用
Virtualboxは6.1.32を使用

4.環境構築

4-1. Vagrant環境構築

4-1-1. 環境構築用のフォルダを作成して、フォルダへ移動
C:\Users\user\php_workspase\vagrant
4-1-2.Vagrantの設定ファイル作成
コマンド
'vi Vagrantfile'
4-1-3.Vagrantの設定
Vagrantfile
  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://vagrantcloud.com/search.
  #config.vm.box = "base"
   config.vm.box = "gbailey/amzn2"
   config.vm.network "private_network", ip: "192.168.33.10"
  
  # share folder settings
  config.vm.synced_folder "./src","/var/www/html/src", create:"true", group:"apache", :mount_options => ['dmode=775', 'fmode=775']
  config.vm.provision "shell", run: "always", inline: <<-SHELL
    systemctl restart httpd.service
  SHELL
  • config.vm.box : 使用するVMイメージ指定。
    以下のVMイメージを使用。Amazon Linux2のVMになります
    https://app.vagrantup.com/gbailey/boxes/amzn2
  • config.vm.network : プライベートネットワーク設定
4-1-5. Vagerat起動

4-1-2で作成したファイルがあるフォルダ上実行

コマンド
vagrant up
  • 初回は、virtualbox等に色々と設定等行うので時間かかります

4-2. PHPインストール

4-2-1.Virtualboxの環境へ接続
コマンド
    vagrant ssh

接続すると以下のようになる
image.png

4-3. Amazon Linux2の各ソフトアップデート

4-3-1.アップデートコマンドを実行
コマンド
sudo yum update
4-3-2.PHP8.1が表示されているか確認
コマンド
amazon-linux-extras
  • 8.0のみしか表示されないので、4-2-3以降を実施
  • 8.1が表示されることがあれば、4-2-5以降を実施

以下の様に8.0しか表示されない場合になります
image.png

4-3-3.php8.1の導入できるように設定
コマンド
sudo amazon-linux-extras install epel
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
4-3-4.php8.1が導入可能かチェック

以下のコマンド実行してphp81が見つかればインストールが可能になります。

コマンド
sudo yum search php81

image.png

4-3-5.PHP8.1をインストール
コマンド
sudo yum install php81 php81-php-mbstring php81-php-mysqlnd php81-php-gd php81-php-xml php81-php-fpm
4-3-6.「php81」コマンドを「php」で実行できるように設定
コマンド
php -v

image.png

上記の様に「bash: php: command not found」なる場合は、以下のコマンドを実施

コマンド
sudo alternatives --install /usr/bin/php php /usr/bin/php81 1

image.png

4-4. Laravelインストール

4-4-1. Composerをインストール
コマンド
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo php composer-setup.php
sudo php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

公式サイト(公式サイト通りコマンド実行)
https://getcomposer.org/download/

4-4-2.Composerインストール確認
コマンド
composer --version

image.png

4-4-3.Laravel インストールフォルダ作成(仮)※2日目の記事でApacheをインストールした際に再度行うので、ここでは一旦インストールの確認
コマンド
sudo mkdir /var/wwww
sudo chown vagrant /var/wwww
cd /var/wwww
composer create-project --prefer-dist laravel/laravel app

config.vm.synced_folder "./src","/var/www/html/src"
の部分が共有フォルダ設定

5.終わりに

1日目の場合は「config.vm.synced_folder "./src","/var/wwwww/"」にするとコーディングはできます。
2日目以降で、Apacheを使用してWeb上の起動まで確認できます。引継ぎお付き合いいただければと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
4