Web Developers Antenna 〜ウェブ開発者アンテナ〜 [W'ANEB]

Web Developers Antennaでは、開発ノウハウ、便利ツール、Web運用に関する情報を蓄積していきます。

*

さくらのVPS基盤にWordPressでサブドメインのマルチサイト構築

      2015/10/27



さくらのVPS基盤にWordPressでサブドメインのマルチサイト構築

事前準備

事前の準備が済んでいる方は本ページ内容を参考ください。まださくらのVPSの初期設定を終えていない方はこちらをご覧ください。

管理者のアカウント追加と設定

useradd xxxxxxx
passwd xxxxxxx
New Passwordを聞かれるので、新パスワードを2回入れてEnter

usermod -G wheel xxxxxxx
visudo
編集画面で以下の // コメント外す
%wheel ALL=(ALL) ALL

sshの設定

コンフィグファイルを編集
vi /etc/ssh/sshd_config

// port番号を設定(任意の番号へ)
port xxxxx

// no に設定 してrootを無効
PermitRootLogin no

// パスワード認証を無効にする
PasswordAuthentication no

// コンソールから接続ができないように
UsePAM no

// 設定を反映
/etc/rc.d/init.d/sshd reload

exitで一度rootはログアウト

sudoで以下実行していきます。

パッケージの自動アップデート

sudo yum -y update

root アカウントにメールアドレス設定

rootのメールアドレスの転送先を設定
sudo vim /etc/aliases
で編集モードに入り、以下の行下に追加(パスが違う場合はgfで移動)
# Person who should get root’s mail
#root: marc

root: webmaster@example.com

[webmaster@example.com ]の部分は自分の利用アドレスに設定

newaliases

で反映

wgetとunzipをインストール

sudo yum -y install wget unzip

 

iptablesの設定

iptablesの設定をしていきます。
[[–iptablesの設定はこっちで詳しく書きます–>>
sudo iptables -L

Apacheの設定

sudo yum -y install httpd
sudo httpd -v
sudo chkconfig httpd on

自動起動が設定されているか確認
sudo chkconfig –list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
この出力になっていればOK

sudo vim /etc/httpd/conf/httpd.conf

// サーバ情報表示を最小限にする
ServerTokens Prod
これはデフォルトだと「Full」「os」などになっていて、クラッカーにサーバのバージョン情報やWebサーバ情報を与えているようなものなので、「Prod」にして開示を最小限にする。

// TCPコネクションを維持するために「on」にする
KeepAlive On
読み込むページ数が多い場合に再利用されるので負荷を軽減できる。

// ServerAdmin のアドレスを変更する
ServerAdmin webmaster@example.com
「webmaster@example.com」を任意のアドレスへ

// .htaccessが利用できるようにディレクティブを有効にする
AllowOverride All
「All」 へ

// ServerSignatureの設定
ServerSignature Off
「off」にしてサーバ署名を表示させない

sudo apachectl configtest
sudo apachectl start
httpdを起動 再起動の場合は「restart」
で、ブラウザでアクセスしてWEB画面が表示されればOK

今度はバーチャルホストの設定をしていきます。
// 場所を移動して
cd /etc/httpd/conf.d/
// 新規ファイル作成
sudo vim vhosts.conf

で内容は以下(任意に自分の環境に合わせて設定してください)
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName example.com
CustomLog logs/access_log common
ErrorLog logs/error_log
LogLevel debug
<Directory “/var/www/html”>
Options FollowSymLinks Includes
AllowOverride All
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
:wq
で書き込み終了
再起動
sudo apachectl restart

MySQLのインストールと設定

sudo yum -y install mysql-server
sudo mysql –version
sudo vi /etc/my.cnf
sudo chkconfig mysqld on
sudo chkconfig –list mysqld

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

この出力になっていればOK

sudo service mysqld start
sudo mysqladmin -u root password ‘xxxxxxxx’

PHPのインストールと設定

sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo yum install –enablerepo=remi –enablerepo=remi-php55 php php-mbstring php-mysql php-mcrypt php-gd php-devel php-pear php-pecl-apc
sudo php -v
sudo rpm -qa | grep php
// インストールされているか確認

sudo vim /etc/php.ini

WordPressのインストール

wget http://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
sudo mv wordpress/ /任意のディレクトリ/wordpress/
cp /webサーバのドキュメントルート/wordpress/
Webサーバのドキュメントルートにシンボリックリンクさせます。
sudo ln -s /任意のディレクトリ/wordpress/ /var/www/html

DBの追加

create database xxxxxx;
grant all on xxxxxx.* to 'xxxx'@'localhost' identified by 'xxxxxxxxxx';

 

WordPressの設定ファイルの編集

準備が済んだらブラウザからアクセスして、Wordpressにインストール指示に従ってインストールを完了させます。

設定ファイルをvimで編集
sudo vim wp-config.php

マルチサイト化に必要な設定値を記載

define(‘DB_COLLATE’, ”);の下に
define(‘WP_ALLOW_MULTISITE’, true);
を追加して管理画面でネットワーク設定を行います。

その次に再度vimで編集します。
sudo vim wp-config.php
define(‘WP_DEBUG’, false);の下に
define(‘MULTISITE’, true);
define(‘SUBDOMAIN_INSTALL’, true);
define(‘DOMAIN_CURRENT_SITE’, ‘[任意のドメイン]’);
define(‘PATH_CURRENT_SITE’, ‘/’);
define(‘SITE_ID_CURRENT_SITE’, 1);
define(‘BLOG_ID_CURRENT_SITE’, 1);
を追加

.htaccessには以下を追加
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

これで設定は終わりです。
また、WordPress の サイトネットワーク管理者 で、任意のサブドメインで新規にサイトを追加していってください。

いかがでしたでしょうか。最近のVPSとかすごいですね。便利な世の中になりました。
さくらのVPS
は安心して利用できるのでお勧めします。

私は、このさくらのVPSで、サブドメイン4つとドメイン1つのサイトをWordPressで管理して運用しています。管理者からすると一括で管理できて、重宝します。

おまけ

ntpの設定

sudo yum update ntp
sudo ntpdate ntp1.sakura.ad.jp
sudo service ntpd start
sudo ntpd -q

ip6tablesの設定

さくらのVPSではipv6が利用できるので、ipv6の設定

sudo ip6tables
[[–ip6tablesの設定はこっちで詳しく書きます–>>

この他にもウイルス対策でclamdなども設定をお勧めします。

★さくらのVPSはこちらから↓
http://vps.sakura.ad.jp/Check!

 



 - Apache関連, CentOS, MySQL, PHP, コマンド, サーバ , , ,