ちょっとしたことで自由に使えるLAMP環境が欲しくなることがたまにあります。
毎度ググったり、メモしているインストール方法を引っ張ってきて構築するのは割と面倒になったので、Composerを含めたLAMP環境の構築をシェルスクリプトで実行してしまおうというのが本記事の内容です。
###実行環境
- Amazon Linux2
###インストールするソフト
- apache 2.4
- php 7.4
- mysql 5.7
- composer 最新
##スクリプト実行方法
- AWSでインスタンスを立て、SSHで接続します。 ![open - TeraTerm.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606316/47b6db39-00fc-8b91-3e86-d4fef489147e.png)
- 接続が完了したらスクリプト用のファイルを開きます。
sudo vi script.sh
- 「i」キーを押下してインサートモードに切り替え、下記のスクリプト本文をペーストします。 ![paste - script.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606316/af595f11-9249-b729-5534-9d103e6fabad.png)
- ペーストしたら「esc」を押下し、「:wq」と入力して「Enter」キーをクリックします。 ![save - script.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606316/f19fabab-e6ec-a2b6-4ed7-d2d6e1642289.png)
- ファイルに実行権限を付与し、実行します。 ![exec - script.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606316/9a82bfaa-fd05-1a55-2acd-f0bec60993b3.png)
実行方法は以上になります。
ご意見いただけますと大変嬉しく思います。
##スクリプトの本文
#!/bin/bash
sudo yum update -y
## installするapacheなどのバージョンを追記するファイルを作成
touch scriptExecutionResult
## apache install & 自動起動設定
sudo yum install httpd -y
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
## php install
sudo amazon-linux-extras install -y php7.4
# よく使うcakephpのinstall用にモジュール追加
sudo yum install -y php php-mbstring php-intl php-xml
## mysql
# mariaDB uninstall 削除しなくてもいいけど不要なので
sudo yum remove -y mariadb-libs
# MySQL公式のyumリポジトリを追加
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
# インストールするバージョンの有効化を行う。デフォルトは8.0
sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --enable mysql57-community
# mysql install
sudo yum install -y mysql-community-server
## composer install
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { 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
## バージョン諸々をリダイレクトで追記
httpd -v | head -n 1 >> scriptExecutionResult
mysqld --version >> scriptExecutionResult
composer -v | grep 'version' | head -n 1 >> scriptExecutionResult
php -v >> scriptExecutionResult
php -m >> scriptExecutionResult
cat scriptExecutionResult
##引用
Composer 公式サイト