さくら WordPress サブドメインSSL化

さくらサーバで、マルチドメインでWordpressを運用して、後からSSL化したときの覚書です。(スマートな方法なのか?分からないが何となくうまく行った。)

■やりたいこと
マルチドメイン2つ(サブドメインで構成)のうち、wwwの方のみSSL化したい。
・www.XXXX.jp
・blog.XXXX.jp

(1) まずは、さくらでRapidSSLを申請してSSL化する。
注意点
・RapidSSL申請のときは、www付き(www.XXXX.jp)で申請する。
・ドメイン設定にて「XXXX.jp」の方だけSNI設定する。

(2) 取りあえず、SSLが有効か調べる。
・ワードプレスをインストールしたディレクトリ(wp-config.phpと同じディレクトリ)に、適当にhtmlファイル(test.htmlなど)を作る。
・www付、www無しでhttpsでアクセスしてみる。
 https://XXXX.jp/test.html
 https://www.XXXX.jp/test.html

(3) データベースで直接optionsテーブルを修正
・「siteurl」、「home」、「fileupload_url」のURLをhttpsにする。マルチサイトなのでoptionsテーブルは複数あるが、https化したい方のテーブルのみ変更する。

(4) .htaccessを修正
・www.XXXX.jpのときのみ、httpsにリダイレクトする。
さくら用のWordpressをSSL化プラグインからパクったのを少し修正した。

# BEGIN Force SSL for SAKURA
# RewriteしてもHTTPS環境変数を有効にする
SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1

# 常時HTTPS化(HTTPSが無効な場合リダイレクト)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteCond %{REQUEST_URI} !/wp-cron\.php$
RewriteCond %{HTTP_HOST} ^www\.XXXX\.jp
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# END Force SSL for SAKURA

(5) www.XXXX.jpに接続した時にループするので、wp-config.phpを修正
参考:https://www.craneto.co.jp/archives/409/

if (isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) && ($_SERVER['HTTP_HOST'] !== 'blog.XXXX.jp')) {
  // 'www.example.com' はダミーにつき置き換えください
  $_SERVER['HTTPS'] = 'on';
  $_ENV['HTTPS'] = 'on';
  $_SERVER['HTTP_HOST'] = 'www.XXXX.jp';
  $_SERVER['SERVER_NAME'] = 'www.XXXX.jp';
  $_ENV['HTTP_HOST'] = 'www.XXXX.jp';
  $_ENV['SERVER_NAME'] = 'www.XXXX.jp';
}

以上です。

※ダッシュボードもちゃんとwww.XXXX.jpは、httpsでOKでした。blog.XXXX.jpのダッシュボードは、通常のhttp接続でOK!

さくらサーバ Subversion 1.9.5

Subversion 1.9系が出ているようなので、さくらサーバにインストールしてみます。

ダウンロード先
http://subversion.apache.org/download.cgi#recommended-release

1. 最新版ダウンロード
・さくらにTelnet等でログイン
・ダウンロードして解凍

% mkdir local
% mkdir local/src
% cd local/src
% wget http://apache.mirrors.pair.com/subversion/subversion-1.9.5.tar.gz
% tar xvf subversion-1.9.5.tar.gz

2. Makefile、Subversionインストール

% cd ..
./configure -prefix=$HOME/local -without-serf -without-berkeley-db -with-apr=$HOME/local -with-apr-util=$HOME/local
% make
% make install

※aprがない場合は、こちらを参照

さくらサーバ Subversion1.8.10

3.パスを通してバージョン確認、レポジトリ作成

% cd
% vi .cshrc
--> $HOME/local/bin にパスを通す
% source .cshrc
% svn --version
svn, version 1.9.5 (r1770682)
   compiled Jun 8 2017, 11:23:02 on x86_64-unknown-freebsd9.1
% svnadmin create quicktest

CentOS グループ関連コマンド

■全てのグループ一覧、グループに所属するユーザ
$ getent group

■特定のグループ(xxxxx)に所属するユーザ
$ getent group xxxxx

■ユーザ(user)をグループ(group)に登録
$ gpasswd -a user group

■ユーザ(user)をグループ(group)から削除
$ gpasswd -d user group

■ディレクトリのみパーミッション変更
$ find . -type d -print | xargs chmod 755

■ファイルのみパーミッション変更
$ find . -type f -print | xargs chmod 755

Mac VMWare

■参考
yumコマンド
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/230999/?rt=nocnt

httpd -v

cat /etc/group
cat /etc/passwd

■CentOS7 インストール直後のネットワーク状態

# ip addr show
# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

起動時にネットワークを動作させる。
ONBOOT=yes

スクリーンショット 2016-08-21 0.52.21

VMWare Tools
yum -y install open-vm-tools

■JDK インストール
ダウンロード、インストール
https://www.server-world.info/query?os=CentOS_7&p=jdk8

curl -LO -b “oraclelicense=accept-securebackup-cookie” “http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.rpm”

■tomcat8 インストール
ダウンロード、インストール
https://www.server-world.info/query?os=CentOS_7&p=tomcat8

apache2.4, tomcat8連携
http://bnote.net/linux/a_ajp_t.shtml

■mysql
http://weblabo.oscasierra.net/installing-mysql57-centos7-yum/

phpMyAdmin
http://weblabo.oscasierra.net/centos7-php56-install/

■JSP、サーブレット、javaBeans
http://www.atmarkit.co.jp/ait/articles/0301/09/news001.html