概要
Amazon Linux2 ec2インスタンスに接続し、ec2-userの状態でphp7.4、laravel7、mysql8.0をインストールし環境構築します。
途中、必要に応じてapache、php-fpm、git、bitbucket、phpmyadminのインストール、設定も行っていますがこちらは必須ではありません。
なお、Amazon Linux ec2インスタンスに接続した後、yumコマンドがうまく実行できない場合はAWS VPCのポリシーの編集が必要な場合がありますので注意してください。その場合、VPC から Amazon Linux AMI リポジトリをホストする S3 バケットへのトラフィックを許可する必要があります。
詳細は、AWS公式ドキュメントを参照してください。
{
"Statement": [
{
"Sid": "Amazon Linux AMI Repository Access",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::packages.*.amazonaws.com/*",
"arn:aws:s3:::repo.*.amazonaws.com/*"
]
}
]
}
php7.4 install
最新版のphp7.4をインストールします。
リポジトリのおいてある場所は、都度最新版のURLから取得するようにしてください。
sudo amazon-linux-extras install epel
sudo yum install epel-release
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo yum install -y php74 php74-php php74-php-fpm
sudo ln -s /usr/bin/php74 /usr/bin/php
php -v
php.ini symbolic link
上記でインストールした場合、php.iniの場所は/etc直下には存在しません。
今後の使い勝手を良くするためにシンボリックリンク設定を行います。
sudo find / -name php.ini
ln -s /etc/opt/remi/php74/php.ini /etc/php.ini
sudo ln -s /etc/opt/remi/php74/php.ini /etc/php.ini
apache & php-fpm start
php-fpmが必要な場合のみ実施します。
sudo systemctl enable httpd.service
sudo systemctl start httpd.service
sudo systemctl status httpd.service
sudo systemctl enable php74-php-fpm.service
sudo systemctl start php74-php-fpm.service
sudo systemctl status php74-php-fpm.service
composer install
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
rm composer-setup.php
mv composer.phar /usr/local/bin/composer
sudo mv composer.phar /usr/local/bin/composer
composer
sshd setting
ssh接続の設定が必要な場合のみ実施します。
sudo vi /etc/ssh/sshd_config
sudo chkconfig --list
sudo service sshd restart
laravel install
sudo yum install php74-php-pecl-zip
composer global require laravel/installer
git install & ssh-key generate & git clone from bitbucket
gitを利用する場合に実施します。
sudo yum install git
git --version
また、bitbucketを利用する場合、以下の流れで設定していきます。
ssh-keygen
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub
ssh -T git@bitbucket.org
git clone git@bitbucket.org:xxxxxxx/xxxxxxx.git
laravel project create
cd /var/www/html/xxxx
sudo yum install php74-php-mbstring
sudo yum install php74-php-xml
sudo yum install php74-php-bcmath
composer create-project --prefer-dist laravel/laravel .
sudo chmod -R 777 storage
sudo chmod -R 777 bootstrap/cache
git push
git add .
git commit -m "laravel7 installed"
git remote add origin git@bitbucket.org:xxxxxxx/xxxxxxx.git
git push origin master
git config --global user.name "xxxxxxx"
git config --global user.email "xxxxxxx"
apache document root setting
Document Rootを変更したい場合、実施します。
laravelにアクセスする場合、/var/www/html/xxxx/publicを設定します。
sudo vi /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html/xxxx/public"
sudo service httpd restart
mysql8.0 install & start
最新のmysql8.0をインストールします。
リポジトリの場所は、こちらで確認してください。
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm -y
yum install mysql-community-server
sudo yum install mysql-community-server
mysql --version
sudo systemctl start mysqld.service
sudo systemctl enable mysqld.service
mysql8.0 setting
sudo grep 'temporary password' /var/log/mysqld.log
mysql_secure_installation
phpmyadmin install
最新のphpmyadminをインストールしたい場合、実施します。
ダウンロードのURLは、こちらで確認してください。サイト右上にある「Download x.x.x」のリンクアドレスをコピーして利用する。
cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpmyadmin #リネームは各自の環境に合わせて設定
rm -rf phpMyAdmin-5.0.2-all-languages.zip
sudo yum install php74-php-mysqlnd
apache setting for phpmyadmin
sudo vi /etc/httpd/conf/httpd.conf #Alias、バーチャルホスト設定など、各自の環境に合わせて設定
sudo service httpd configtest
sudo service httpd restart
上記の状態でもphpmyadminの使用は可能ですが、warningが出ているため以下で解消します。
cd /var/www/html/phpmyadmin
mkdir tmp
sudo chmod -R 777 tmp
cp -a config.sample.inc.php config.inc.php
vi config.inc.php
$cfg['blowfish_secret'] = 'ここに32文字以上の文字列を設定して保存';
access phpmyadmin
laravel setting for mysql connetion
laravelからmysqlに接続できるように、.envファイルを編集します。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=mysqlユーザ名
DB_PASSWORD=mysqlパスワード