VagrantでLAMP(CeontOS+Apache+Mysql+PHP)+SSL(オレオレ)環境構築
Vagrantを使って本番環境に近いLAMP(CeontOS+Apache+Mysql+PHP)+SSL(オレオレ)の構築する手順をまとめてみます。
環境のバージョン
今回構築するバージョンは下記とします。
- CentOS7.4
- Apache2.4
- MySQL8.0
- PHP7.4
- SSL
Vagrantの立ち上げ
これからVagrantをインストールする場合は、下記記事を参考にしてください。
Vagrantの立ち上げが出来たらsshでログインします。
ログイン後、rootユーザーに切り替えいます。
[vagrant@www ~]$ sudo -i
とりあえずパッケージを更新する。
(5分くらい時間かかります。)
yum -y update
各種パッケージをインストール
それでは必要のパッケージをインストールしていきます。
Apacheのインストール
Apacheをインストールします。
yum -y install httpd
起動と自動起動の設定もしておきます。
// Apacheを起動する
systemctl start httpd
// Apacheの自動起動を有効化
systemctl enable httpd
VertualHostの設定は後でおこないます。Apacheは一旦ここで終了。
MySQL8のインストール
CentOS7にはデフォルトでDBがインストールされているため、最初に削除しておきます。
残しておくと、競合が起こってエラーの原因になるためです。
yum remove mariadb-libs
yum remove mysql*
削除が完了したら、MySQLをインストールします。
今回はMySQL8をインストールします。
// mysql8を指定
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
// GPGの問題を解消する
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
// インストール
yum install -y mysql-community-server
// バージョン確認
mysql --version
→ mysql Ver 8.0.24 for Linux on x86_64 (MySQL Community Server - GPL)
インストール時に下記のようなメッセージが表示されることがあります。
Check that the correct key URLs are configured for this repository.
上記のメッセージが表示される場合は、下記を実行することで解消されます。
// GPGの問題を解消する
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
起動と自動起動の設定もしておきます。
// mysqlの起動
systemctl start mysqld
// mysqlの自動起動を有効化
systemctl enable mysqld.service
MySQLの初期パスワードを変更する
MySQLの初期パスワードを変更します。初期パスワードの確認は下記コマンドを実行します。
// 初期パスワードはmysqld.logに記述されていますが、コマンドでパスワード部分を抜き取るようにしています。
cat /var/log/mysqld.log | sed -rn 's/.*root@localhost:\s(.*?)$/\1/p'
e6TpWrf-ZZt% ←表示されている文字列が初期パスワード
MySQLにログインします。
// mysqlにログイン & パスワードを入力
mysql -u root -p
rootパスワードを変更します。デフォルトだと大文字・小文字・数字・記号を必ず含めないといけないため、今回はローカル環境のためパスワード条件を緩くしてからパスワード変更します。
(MySQL8はMySQL5.xとコマンドが異なるので注意が必要です。)
# 初期パスワードの後ろに123をつけて一度だけ更新する(これをやらないと後のコマンドでエラーになる)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'e6TpWrf-ZZt%123';
# 文字列の長さを変更
mysql> set global validate_password.length=4;
# ポリシーを変更
mysql> set global validate_password.policy=LOW;
# パスワードを設定する。下記だと「1234」で設定
mysql> set password for root@localhost='1234';
# exitで終了
mysql> exit;
PHP7.4のインストール
次にPHPをインストールをしていきます。
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum --enablerepo=remi-php74 -y install php php-mbstring php-pear php-fpm php-pdo php-intl php-mysqlnd php-mcrypt php-gd
// phpのバージョンを確認
php -v
PHP 7.4.19 (cli) (built: May 4 2021 11:06:37) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
php.iniファイルを修正します。
vi /etc/php.ini
date.timezone = "Asia/Tokyo"
default_charset = "UTF-8"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
phpMyAdminもインストールしたい場合
DBのデータを確認したり更新したりできるようにphpMyAdminも設定しておきます。
(ツール等でDB操作する場合は、この設定は不要)
// phpmyadminのインストール
yum -y install --enablerepo=remi,remi-php74 phpMyAdmin
設定ファイルを修正
vi /etc/httpd/conf.d/phpMyAdmin.conf
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
#「local」を「all granted」に修正する
# Require local
Require all granted
</Directory>
ここまでできたら、Apacheを再起動します。
systemctl restart httpd
動作確認
ドキュメントルートに「phpinfo()」を記述したファイルを配置します。
vi /var/www/html/phpinfo.php
<?php phpinfo(); ?>
ブラウザからアクセスします。VagrantのIP「192.168.33.10」になりますので下記URLでアクセスします。
http://192.168.33.10/phpinfo.php
phpMyAdminも表示できるか確認します。
http://192.168.33.10/phpMyAdmin/
Virtual Hostを使ってアクセスする
VagrantのLAMP環境のVirtual Hostを使ってアクセスすることも可能です。
詳細は下記記事を参照ください。
SSLでアクセスできるようにする
httpsでアクセスできるようにする設定は下記記事を参照ください。
コメント
コメントを残す