Help us understand the problem. What is going on with this article?

思いつきでWordPress4.4-jaをCentOSに構築してみた

More than 3 years have passed since last update.

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の無効化

/etc/selinux/config
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」の入手先変更(デフォルトのサーバに繋いでも動かないため)

/etc/yum.repos.d/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」修正

/etc/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」編集

/etc/php.ini
date.timezone = Asia/Tokyo

「httpd.conf」編集

/etc/httpd/conf/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>

ログのローテート

/etc/logrotate.conf
daily
rotate 30
compress
/etc/logrotate.d/httpd
/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
}
/etc/logrotate.d/mysql
/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/

後は良しなに。

m_46
大阪でIT系の業界でなんやかんやと佇んでいます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away