自宅サーバーに使用するMac mini (Late2009) MC238J/Aに、macOS Server(Server 5.2)とWordPressをインストールした備忘録です。

 

注意して下さい。
これは、素人の私が自分の為だけに残す投稿です。これを貴方が参考にした事で損害等を被っても、私は責任を取りませんよ〜。

 

macOS Serverならではの他と異なる、インストール前に知って置きたい五つの事。

一つ。macOS Serverをインストールして尚且つServerを設定したMacのApache用設定ファイルは

/Library/Server/Web/Config/apache2/httpd_server_app.conf
/Library/Server/Web/Config/apache2/sites/*.conf

↑ これらの設定ファイル達は「触らぬ神に祟りなし」的な感じ。特にapache2/sites/*.conf はServer.appによって自動生成されるみたいです。ファイルの中を見るだけなら大丈夫でした。
っていうか、何が書いてあるのかを見た方がいいですよ。

二つ。デフォルトのDocumentRootは

/Library/Server/Web/Data/Sites/Default

三つ。WordPressを置く場所は (私はここ ↓)

/Library/Server/Web/Data/Sites/wordpress

四つ。Apacheのユーザーとグループは共に

_www

五つ。ローカルエリアからアクセスしたPCやスマホのIPは何故か

127.0.0.1

以上。この事を知って置くと楽しいインストールとなります。私はこれを知らず挫折しそうになりました。

 

さて、ここから楽しいインストールと設定です。尚、macOS Serverはインストール済みとします。

MySQLが必要なので、私はHomebrewでインストールしました。
と言う事でまず、Homebrewのインストールです。参考になるサイトは
http://brew.sh/index_ja.html

↓ 2行に見えますが、実際は1行です。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

MySQLのインストール

$ brew install mysql
$ mysql.server start

MySQLの自動起動設定

$ brew services start mysql

MySQLのルートパスワード設定、abcdeの部分がパスワードになります。

$ mysql -u root
mysql> SET PASSWORD FOR root@localhost=PASSWORD('abcde');
mysql> flush privileges;
mysql> exit

WordPress用のデータベースとユーザーの作成。例えば
データベース名 wpdb
ユーザー名 aki
パスワード wppas
とした場合

$ mysql -u root -p
mysql> CREATE DATABASE wpdb;
mysql> CREATE USER aki@localhost IDENTIFIED BY 'wppas';
mysql> GRANT ALL PRIVILEGES ON wpdb.* TO aki@localhost;
mysql> FLUSH PRIVILEGES;
mysql> exit

PHPとMySQLを連携させる

$ sudo cp -p /etc/php.ini.default /etc/php.ini
$ sudo chmod 644 /etc/php.ini
$ sudo vi /etc/php.ini

mysql.default_socket = /tmp/mysql.sock

$ sudo chmod 444 /etc/php.ini

 

WordPressのインストール

WordPress日本語サイトからtar形式のファイルをダウンロードする。
これを配置するディレクトリにコピーして解凍。
そのサイトは、https://ja.wordpress.org

ファイルはダウンロードフォルダにダウンロードしたとして

$ sudo cp Downloads/wordpress-4.7.1-ja.tar /Library/Server/Web/Data/Sites/
$ cd /Library/Server/Web/Data/Sites/
$ tar -xvf wordpress-4.7.1-ja.tar

uploadsディレクトリの作成

$ sudo mkdir -p wordpress/wp-content/uploads

アクセス権と所有者を変更

$ sudo chmod -R 755 wordpress/
$ sudo chown -R _www:_www wordpress/

macOS ServerのwebサーバーとDNSの設定を済ませて、WordPressのインストールを以下のURLにアクセスして終了させる。

https://jm1lxs.com/wp-admin/install.php

 

これで、WordPressを新規に始められます。私の場合は、Mac mini G4からの引越しなので、復元する必要があります。

それは、次の投稿につづく予定です。→ WordPressの引越し

追記 2017年1月21日

数日前に中古で手に入れたMac mini Late2009で、昨夜からこのサイトを運用しています。使用OSは
OS X EL Capitan 10.11.6
macOS Server 5.2
メモリ 8GB

 

この時間(2017年1月9日午前2時頃)から、自宅サーバー用PCを変えました。

↓ 試みでこれまで働いてくれていたMac mini G4に代わり、FMV-B8230が暫定的にサーバーPCとしてやって行きます。

Mac mini G4(左) → FMV-B8230(右)

 

今度このMac mini G4には、リフレッシュしてもらいましょう。お金をかけずに、無いので。
Ubuntuのクリーンインストールぐらいかなぁ。

私がブログ投稿時に愛用するアプリが

  • Markee
  • TwinCollage
  • PressSync
  • WordPress

これはMarkeeでトリミング

2枚の写真を並べて1枚のシンプルな画像にしたい時は、TwinCollage

で、実際の投稿はPressSyncで行い、コメントの確認や返事はWordPress(iPhoneアプリ)でやっています。

私が利用するブログの環境は

  • サーバは自宅のMac mini G4(Ubuntu)
  • CMSはWordPress

私の自宅サーバもDDoS攻撃を受けている模様。

私のブログの表示が重く、なんか変。その内、サーバマシンのMac mini G4(Ubuntu)がファンの音で煩くなって来たり、ネットのアクセスも頻繁になっている。やっぱり変だと言う事で、Apache2のアクセスログを覗いて見ました。そしたら、同じIPからWordPressのxmlrpc.phpへ大量のアクセス。グーグル先生によると、これはDDoS攻撃らしいです。うちなんかのサーバにどうして攻撃?

システム負荷(load average)が36.09。この値、普段は0.04程なので高負荷みたいです。

対策前の状態

 
 

対策として、グーグル先生の記事を参考にとりあえず

xmlrpc.phpへのアクセスをローカルエリア内に限定する記述を.htaccessに書き込みました。

私はスマホでブログを書くので、この方法にしました。

その後、相変わらず攻撃は続いているけど、システム負荷は通常に戻りました。やれやれ。

対策後の状態

 
 

追記
翌日になってもxmlrpc.phpへのアクセスが続くので

ルーターを送信元のアドレスからのパケットを破棄する設定にしました。

そのアドレスは、185.130.4.xxxと他複数です。

この設定は、相手に返事のパケットを返さないので、相手にして見ればこちらが存在するかどうかが確認出来ない状態になります。よって攻撃を止める可能性が高くなる…かなぁ〜。

でも、こうやってご親切に対策方法をブログに書いていれば、相手にも分かってしまい、他の手段で攻撃されるとも限りませんがね〜。でも私のサーバを攻撃してもつまらない事なのにね。

勉強になりました。Thank You.

 
 

もう一度追記
この投稿をしてから1か月以上経った現在の状況

xmlrpc.phpへのアクセス制限を.htaccessに書き込むだけで充分効果がある。

と思います。相変わらず1日当たり数件アクセスがありますが、同じアドレスから大量のアクセスは無くなりました。