VagrantでLAMP(CeontOS+Apache+Mysql+PHP)+SSL(オレオレ)環境構築

VagrantでLAMP(CeontOS+Apache+Mysql+PHP)+SSL(オレオレ)環境構築
2021年05月05日2023年10月10日

Vagrantを使って本番環境に近いLAMP(CeontOS+Apache+Mysql+PHP)+SSL(オレオレ)の構築する手順をまとめてみます。

環境のバージョン

今回構築するバージョンは下記とします。

  • CentOS7.4
  • Apache2.4
  • MySQL8.0
  • PHP7.4
  • SSL

Vagrantの立ち上げ

これからVagrantをインストールする場合は、下記記事を参考にしてください。

WindowsのVagrantにCentOS7.4を構築するする方法を紹介します。

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)

インストール時に下記のようなメッセージが表示されることがあります。

The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package.
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
/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
/var/www/html/phpinfo.php
<?php phpinfo(); ?>

ブラウザからアクセスします。VagrantのIP「192.168.33.10」になりますので下記URLでアクセスします。

http://192.168.33.10/phpinfo.php

bbbbbbbsdsdf

phpMyAdminも表示できるか確認します。

http://192.168.33.10/phpMyAdmin/

1234324234

phpMyAdminにログインできるかも確認しましょう。ログインできない場合は「MySQLの初期パスワードを変更する」が上手く設定できていない可能性があります。

Virtual Hostを使ってアクセスする

VagrantのLAMP環境のVirtual Hostを使ってアクセスすることも可能です。

詳細は下記記事を参照ください。

VagrantのLAMP環境のバーチャルホスト(Virtual Host)でアクセスできるよう...

SSLでアクセスできるようにする

httpsでアクセスできるようにする設定は下記記事を参照ください。

Vagrantで構築したLAMP環境にSSL(オレオレ証明書)を入れてアクセスする方法を紹介し...

 

コメント

コメントを残す

お名前(任意)
コメント:新規