CentOS7にApache2.4+PHP5.6+MySQL5.6のLAMP環境構築

CentOS7にApache2.4、PHP5.6、MySQL5.6をyumでインストールしてLAMP環境を構築する手順をまとめています。簡単に行えるので、手っ取り早くLAMP環境を構築したい場合にお勧めです。

Apache2.4のインストール

Apache2.4をインストールしていきます。

インストール

CentOS7では、デフォルトでyumを使用すると、Apache2.4がインストールされます。

# yum -y install httpd

httpd サービスの自動起動設定

httpdのサービスの自動起動設定を行います。

# systemctl enable httpd

httpd サービスを開始

httpdサービスを開始します。

# systemctl restart httpd

iptablesの設定

外からアクセスできるようにhttpポートの穴あけを行います。

# firewall-cmd --add-service=http --permanent 
# firewall-cmd --reload 

MySQL5.6のインストール

MySQL5.6をインストールしていきます。

yumのリポジトリを追加

CentOS7にMySQL5.6をyumでインストールするにはリポジトリの追加が必要です。

# rpm -Uvh "http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm"

追加されたかの確認

MySQL5.6のリポジトリが追加されていることを確認します。

# yum list | grep mysql
・・・略・・・
mysql-community-server.x86_64               5.6.26-2.el6                 mysql56-community
・・・

インストール

mysql-community-serverをyumでインストールします。

# yum -y install mysql-community-server

インストールされたかの確認

MySQL5.6がインストールされていることを確認します。

# mysql -V
mysql  Ver 14.14 Distrib 5.6.31, for Linux (x86_64) using  EditLine wrapper

サービスの自動起動設定

mysqldのサービスの自動起動の設定を行います。

# systemctl enable mysqld

MySQLの起動

mysqldのサービスを起動します。

# systemctl restart mysqld

接続確認

MySQLにmysqlクライアントを使用して接続確認を行います。

$ mysql -u root -p -e "SELECT Host,User,Password FROM mysql.user;"
Enter password:
+-----------+------+
| Host      | User |
+-----------+------+
| 127.0.0.1 | root |
| ::1       | root |
| localhost | root |
+-----------+------+

↑パスワードが聞かれたらそのままエンターで大丈夫です。

MySQLの設定

MySQLの設定を行います。

設定ファイル編集

設定ファイルのmy.cnfを編集します。ここでは以下のような設定を追加してみました。

# vi /etc/my.cnf
[mysqld]
:
character-set-server = utf8
max_allowed_packet=32m
max_connections = 500
max_prepared_stmt_count=1000000
read_buffer_size = 256K
read_rnd_buffer_size = 256K
join_buffer_size = 256K
sort_buffer_size = 256K
query_cache_limit = 1M
query_cache_size = 32M
table_open_cache = 1024
table_definition_cache=500
thread_cache_size = 80
open_files_limit = 10000
binlog_cache_size = 2M
tmp_table_size = 16M
:

↑上記例あたりは設定しておく。

MySQL再起動

MySQLのサービスを再起動します。

# systemctl restart mysqld

rootパスワード変更

MySQLのrootユーザのパスワードを変更しておきます。

# /usr/bin/mysqladmin -u root password '<パスワード>'

ログイン

MySQLのrootユーザで設定したパスワードを使用してログインできるか確認します。

# mysql -u root -p

パスワード未設定ユーザなど削除

パスワードなしでデータベースをのぞき見られることがないように不要なユーザを削除します。

確認

mysql> select user,host,password from mysql.user;
+------+-----------------------------------------------+-------------------------------------------+
| user | host                                          | password                                  |
+------+-----------------------------------------------+-------------------------------------------+
| root | localhost                                     | *164・・・・・・・・・・・・・・・・      |
| root | 127.0.0.1                                     |                                           |
| root | ::1                                           |                                           |
|      | localhost                                     |                                           |
+------+-----------------------------------------------+-------------------------------------------+
6 rows in set (0.00 sec)

不要なユーザ削除

mysql> delete from mysql.user where password=null or password="";
Query OK, 5 rows affected (0.00 sec)

mysql> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *164・・・・・・・・・・・・・・・・      |
+------+-----------+-------------------------------------------+
1 row in set (0.00 sec)

PHP5.6インストール

インストール

PHP5.6をインストールします。

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# yum install php56w php56w-common php56w-gd php56w-mbstring php56w-mcrypt php56w-mysqlnd

確認

PHP5.6がインストールされているか確認します。

# php -v
PHP 5.6.22 (cli) (built: May 28 2016 09:28:52)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

ApacheとPHPの設定

このままでも動作しますが、セキュリティ面などApacheとPHPの設定変更が必要です。ApacheとPHPの設定は後ほど更新いたします。

更新履歴

更新履歴になります。

  • 2016年06月29日 ページを作成しました。

SNSでもご購読できます。