2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

LAMP+Composer環境をスクリプトで一撃構築

Last updated at Posted at 2022-01-13

ちょっとしたことで自由に使えるLAMP環境が欲しくなることがたまにあります。
毎度ググったり、メモしているインストール方法を引っ張ってきて構築するのは割と面倒になったので、Composerを含めたLAMP環境の構築をシェルスクリプトで実行してしまおうというのが本記事の内容です。

###実行環境

  • Amazon Linux2

###インストールするソフト

  • apache 2.4
  • php 7.4
  • mysql 5.7
  • composer 最新

##スクリプト実行方法

  1. AWSでインスタンスを立て、SSHで接続します。 ![open - TeraTerm.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606316/47b6db39-00fc-8b91-3e86-d4fef489147e.png)
  2. 接続が完了したらスクリプト用のファイルを開きます。
    sudo vi script.sh
    
  3. 「i」キーを押下してインサートモードに切り替え、下記のスクリプト本文をペーストします。 ![paste - script.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606316/af595f11-9249-b729-5534-9d103e6fabad.png)
  4. ペーストしたら「esc」を押下し、「:wq」と入力して「Enter」キーをクリックします。 ![save - script.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606316/f19fabab-e6ec-a2b6-4ed7-d2d6e1642289.png)
  5. ファイルに実行権限を付与し、実行します。 ![exec - script.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606316/9a82bfaa-fd05-1a55-2acd-f0bec60993b3.png)
  6. 実行方法は以上になります。
    ご意見いただけますと大変嬉しく思います。

    ##スクリプトの本文

    #!/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 公式サイト

2
2
0

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
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?