さくらVPS Apache+MySQL+PHP インストール&設定メモ
さくら VPS 契約後のほぼ自分用セットアップメモ第二弾です。
過去のメモの整理がてらのまとめです。
今後、他にもサーバに手を加えた時にはメモを落としていこうかと思います。
1. 標準レポジトリはバージョンが古いので Remi リポジトリを追加
1-1. まずは EPEL リポジトリ を yum で追加
yum -y install epel-release
yum コマンド時に明示的に EPEL リポジトリを参照するように設定を変更
vi /etc/yum.repos.d/epel.repo
- enabled=1
+ enabled=0
実際に yum で EPEL リポジトリを指定するときは以下のようにオプションを追加する
yum --enablerepo=epel list
1-2. 続いて Remi リポジトリを追加
設定パッケージをダウンロード
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
インストール
rpm -Uvh remi-release-6.rpm
実際に yum で Remi リポジトリを指定するときは以下のようにオプションを追加する
yum --enablerepo=remi list
2. Apache のインストール
2−1. yum 経由で Apache のインストール
yum --enablerepo=remi -y install httpd
2−2. 設定ファイルを更新
vim /etc/httpd/conf/httpd.conf
44行目 サーバ応答ヘッダを制限
- ServerTokens OS
+ ServerTokens Prod
262行目 サーバ管理者連絡先を変更
- ServerAdmin root@localhost
+ ServerAdmin [email protected]
276行目 サーバホスト名を変更
- #ServerName www.example.com:80
+ ServerName www15261uj.sakura.ne.jp:80
303行目 ディレクトリ一覧を非表示
- Options FollowSymLinks
+ Options -Indexes FollowSymLinks
551-558行目 icons 設定をコメントアウト
536行目 サーバ情報を非表示
- ServerSignature On
+ ServerSignature Off
855行目 error エイリアスをコメントアウト
- Alias /error/ "/var/www/error/“
+ #Alias /error/ "/var/www/error/"
990行目 VirtualHost を有効にする
- #NameVirtualHost *:80
+ NameVirtualHost *:80
最後の行にバーチャルホスト用の設定を追加
<virtualHost *:80>
ServerName [ドメイン名]
DocumentRoot /home/[ユーザー名]/public_html
CustomLog /home/[ユーザー名]/logs/access_log common
ErrorLog /home/[ユーザー名]/logs/error_log
<Directory />
AllowOverride All
</Directory>
</virtualHost>
2−3. 関連ディレクトリを作成
mkdir -p /home/[ユーザー名]/{public_html,logs}
2−4. Apacheサービスの設定
設定ファイルの構文チェック
apachectl configtest
Apache起動
apachectl start
Apache の自動起動設定
chkconfig httpd on
自動起動設定の反映を確認
chkconfig --list httpd
2−5. Apache のログを logrotate でローテーション
vim /etc/logrotate.d/httpd
最終行に以下を追加(1ヶ月ごと1年分でローテーション)
/home/[ユーザー名]/logs/*log {
create
missingok
notifempty
monthly
rotate 12
compress
sharedscripts
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}
3. MySQL のインストール
3−1. yum で MySQL をインストール
yum install --enablerepo=remi -y mysql-server
3−2. MySQL サービスの設定
MySQL の自動起動設定
chkconfig mysqld on
自動起動設定の反映を確認
chkconfig --list mysqld
サービス開始
/etc/init.d/mysqld start
rootのパスワードを変更
mysqladmin -u root password ***
設定ファイルを変更、最後の行に追加(日本語対応)
vim /etc/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8
4. PHPのインストール
4−1. yum で GD ライブラリの最新版を先にインストール
最新版の GD でないと remi-php56 レポジトリで PHP のインストールがでエラーになるため
yum -y --enablerepo=remi install gd-last
4−2. yum で mcrypt ライブラリの最新版を先にインストール
最新版の mcrypt でないと remi-php56 レポジトリで PHP のインストールがでエラーになるため
yum --enablerepo=epel -y install libmcrypt libmcrypt-devel
4−3. yum で PHP と関連ライブラリをインストール
yum --enablerepo=remi-php56 install php php-devel php-mbstring php-mysql php-pdo php-mcrypt php-pear php-xml php-gd php-pecl-apc
4−4. PHP の設定
vim /etc/php.ini
366行目 PHP 情報を非表示
- expose_php = On
+ expose_php = Off
575行目 PHP のエラー出力先を変更
- ;error_log = php_errors.log
+ error_log = /var/log/php_errors.log
889行目 タイムゾーンを東京に変更
-;date.timezone =
+date.timezone = Asia/Tokyo
1660行目 言語設定を日本語に変更
-;mbstring.language = Japanese
+mbstring.language = Japanese
1667行目 内部エンコーディングを UTF-8 に変更
-;mbstring.internal_encoding =
+mbstring.internal_encoding = UTF-8
1675行目 入力エンコードを自動に変更
-;mbstring.http_input =
+mbstring.http_input = auto
1698行目 エンコード検知順を自動に変更
-;mbstring.detect_order = auto
+mbstring.detect_order = auto
4−5. PHP の APC を有効にする
APC 用の設定ファイルを作成
vim /etc/php.d/apc.ini
extension = apc.so
apc.enabled = 1
apc.shm_size = 128M
apc.ttl = 3600
apc.user_ttl = 3600
apc.gc_ttl = 7200
apc.stat = 1
Apacheを再起動
service httpd restart