VPSにLAMP環境をとりあえず構築してみる

VPSをとりあえず設定してみる
の続き

VPSLAMP環境をとりあえず構築してみる。


まず、rootになっておく。

$ sudo -s

前準備(ServersManの場合のみ)

さくらVPS、ConoHaはデフォルトでepelが有効になっているが、ServersManはなってないので、epelを有効にしておく。
※でないと、php-mcryptがインストール出来ない(php-mcryptがないとphpMyAdminで警告が出る)

$ rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

インストール

必要なパッケージをまずはまとめてインストールする。

# yum -y install httpd
# yum -y install php php-devel php-mysql php-mbstring php-gd php-pear php-pdo php-xml php-mcrypt
# yum -y install mysql-server
以下の順番だと、/var/www/htmlをhoge:hogeに変更したにも関わらず、php関連のインストールをした後に
なぜかroot:rootに戻ってしまうので、先にyumのインストールを全て済ませておく。
# yum -y install httpd
# chown hoge:hoge /var/www/html
# yum -y install php php-devel php-mysql php-mbstring php-gd php-pear php-pdo php-xml php-mcrypt

ApachePHP

一般ユーザーでファイルを設置できるようにしておく。

# chown hoge:hoge /var/www/html
下記の設定をしておくと、よりセキュアになる。

$ sudo vi /etc/httpd/conf/httpd.conf
ServerTokens OS
↓
ServerTokens Prod
・・・
ServerSignature On
↓
ServerSignature Off
・・・

	Options Indexs FollowSymLinks
	↓
	Options -Indexs FollowSymLinks

タイムゾーンの設定をする。

# vi /etc/php.ini
date.timezone = Asia/Tokyo
下記の設定をしておくと、よりセキュアになる。

$ vi /etc/php.ini
expose_php = On
↓
expose_php = Off

Apacheを起動し、自動起動するよう設定する。

# service httpd start
# chkconfig httpd on

MySQL

文字コードの設定をする。

# vi /etc/my.cnf
↓以下を追加する
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
 
[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8
 
[mysqldump]
default-character-set=utf8

MySQLを起動し、自動起動するよう設定しておく。

# service mysqld start
# chkconfig mysqld on

MySQLのrootユーザーのパスワードを設定する。

# mysqladmin -u root password 'パスワード'
下記の設定をしておくと、よりセキュアになる。

$ mysql_secure_installation
Enter current password for root (enter for none):(rootの現パスワード ※まだ設定していない場合は空)
Set root password? [Y/n] Y
New password:(rootの新パスワード)
Re-enter new password:(rootの新パスワード)
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

確認

今回インストールされたバージョンは下記のとおり。

# apachectl -v
Server version: Apache/2.2.15 (Unix)
Server built:   Apr  3 2014 23:56:16
# php -v
PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
# mysql -u root -p -D mysql -e "SELECT version()"
Enter password:(設定したrootのパスワード)
+-----------+
| version() |
+-----------+
| 5.1.73    |
+-----------+

phpMyAdmin

試しに、phpMyAdminを設置してみる。

ここからは一般ユーザーに戻って作業する。

# exit

phpMyAdminをダウンロードし、解凍する。

$ cd /var/www/html
$ wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.1.14/phpMyAdmin-4.1.14-all-languages.zip
$ unzip phpMyAdmin-4.1.14-all-languages.zip
$ rm phpMyAdmin-4.1.14-all-languages.zip
$ mv phpMyAdmin-4.1.14-all-languages phpMyAdmin

設定ファイルを作成して、シークレットの部分を書き換える

$ cd phpMyAdmin
$ cp config.sample.inc.php config.inc.php
$ vi config.inc.php
$cfg['blowfish_secret'] = '適当な文字列';

http://アドレス/phpMyAdmin
にアクセスすると、phpMyAdminのログイン画面が表示され、
MySQLのrootのアカウントでログインできる。

ただ、誰でも見れる所にphpMyAdminを置くのは怖いので、削除しておく。
$ rm -rf /var/www/html/phpMyAdmin