wordpressの構築について思いつきで現時点での
最低限での導入方法をまとめてみた。
公開サーバを構築する際はセキュリティ等に配慮を行って下さい。この記事通りに構築しても不正アクセスに対する責任は負いかねます。
2016/1/8時点でyum経由での最新版を導入すると以下の通り。
CentOS
uname -a
Linux hogeserver 2.6.32-573.12.1.el6.x86_64 #1 SMP Tue Dec 15 21:19:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
httpd -V
Server version: Apache/2.2.27 (Unix)
php --version
PHP 5.6.17 (cli) (built: Jan 6 2016 19:05:40)
mysql --version
mysql Ver 14.14 Distrib 5.6.28, for Linux (x86_64) using EditLine wrapper
以下導入手順を記載。
selinuxの無効化
SELINUX=disabled
epelのレポジトリ登録
rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
remiのレポジトリ登録
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
CentALTのレポジトリ登録
rpm -ivh http://mirror.sysadminguide.net/centalt/repository/centos/6/x86_64/centalt-release-6-1.noarch.rpm
「centalt.repo」の入手先変更(デフォルトのサーバに繋いでも動かないため)
[CentALT]
name=CentALT Packages for Enterprise Linux 6 - $basearch
#初期のレポジトリはコメントアウト
#baseurl=http://centos.alt.ru/repository/centos/6/$basearch/
baseurl=http://mirror.sysadminguide.net/centalt/repository/centos/6/$basearch/
Apache導入
yum install httpd httpd-devel --enablerepo=CentALT
MySQL導入
yum install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum install mysql-community-server
PHP周り導入
yum install php php-mysql php-mbstring gd php-gd --enablerepo=remi-php56 --disablerepo=CentALT
mysqld起動
service mysqld start
MySQLのセキュアインストール
mysql_secure_installation
→rootのパスワード以外全てYを選択
mysqld.logディレクトリ作成
mkdir /var/log/mysqld/
mv mysqld.log ./mysqld
chown -R mysql:root /var/log/mysqld/
「my.cnf」修正
[mysqld]
character-set-server = utf8
[mysqld_safe]
log-error=/var/log/mysqld/mysqld.log
mysqld起動
service mysqld start
DB,ユーザ,パスワード登録
mysql -u root -p
mysql> CREATE DATABASE wordpress;
mysql> CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'hogehogefugafuga';
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit
「php.ini」編集
date.timezone = Asia/Tokyo
「httpd.conf」編集
ServerName {hogeのIP}:80
ServerSignature Off
ServerTokens Prod
Options -Indexes FollowSymLinks
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
MaxMemFree 4096
</IfModule>
ログのローテート
daily
rotate 30
compress
/var/log/httpd/*log {
daily
rotate 30
compress
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
}
/var/log/mysqld/mysqld.log{
# create 600 mysql mysql
notifempty
daily
rotate 30
missingok
compress
postrotate
# just if mysqld is really running
if test -x /usr/bin/mysqladmin && \
/usr/bin/mysqladmin ping &>/dev/null
then
/usr/bin/mysqladmin flush-logs
fi
endscript
}
自動起動設定
chkconfig mysqld on
chkconfig httpd on
wordpressのコンテンツ展開
cd /var/www/html`
wget https://ja.wordpress.org/wordpress-4.4-ja.tar.gz
tar -zxvf ./wordpress-4.4-ja.tar.gz
mv ./wordpress ./wp
chown -R root:root ./wp
サイトアクセス
http://{hogeのIP}/wp/
後は良しなに。