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

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

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

// インストール
yum install -y mysql-community-server

// バージョン確認
mysql --version
→ mysql  Ver 8.0.24 for Linux on x86_64 (MySQL Community Server - GPL)

起動と自動起動の設定もしておきます。

// 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とコマンドが異なるので注意が必要です。)

# 文字列の長さを変更
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(オレオレ証明書)を入れてアクセスする方法を紹介し...

 

コメント

コメントを残す

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