Wikileaksのミラーサイトを立ち上げてみた

Wikileaksからミラーを受けるのは,非常に簡単でした.
設定の説明ページの通りにやるだけです.
http://www.wikileaks.ch/Mass-mirroring-Wikileaks.html

#1 Create a DNS A record (here 'wikileaks.mydomain.com') in your domain's DNS zone and make it point to your server's IP

まずはDNSレコードを作ります.
私の場合はダイナミックDNSを利用していますが,長期間アクセス途切れが無い限りIPアドレスは滅多に変わらないので,
チャレンジしてみました.
DDNSのサーバとしては,こちらを利用させております.
Free Dynamic DNS (DDNS) for Home Server and VPS etc | MyDNS.JP
非常に安定しており,機能も豊富で感謝しております.

念のためですが,「IP Address of your server *」のところに入力するIPアドレスは,外側のアドレスです.
確認方法はいくらでもありますが,手っ取り早くは適当なサイトIPアドレスを確認すると良いです.

#2 Create on your webserver the user Wikileaks staff will use to upload the website

次にWikileaksのアカウントを作ります.
これは,Wikileaks側から,Wikileaks自身が作ったSSH秘密鍵Wikileaksのコンテンツをrsyncミラーサイトに転送するために
必要です.OSによって,adduserでもuseraddでも何でもどうぞ.

#3 Set the Wikileaks SSH Public Key

というわけで,WikileaksSSH公開鍵を登録します.http://213.251.145.96/id_rsa.pubから取れるので,それを
適当なコマンドやエディタで~wikileaks/.ssh/authorized_keysに追加します.
こんな内容のはずです.

ssh-rsa AAAB3NzaC1yc2EAAAABIwAAAQEAtmX4Jx8NGcCEiwEIQAcHKS1s+N9GLzca9Ffu4ItBEB/6jVTEoamnxnYt0WHQ0I+jpN3g/k2lF3MTncUjwrLorWSxPLI6giGTheT4vhLZQOVZV4O+GS0CETMKVsrclPLhHouW891QU84eHACuTh+KUvuhs3pV0EHYHnAVCIs8JuU03ZTNIIuuYFVf7P3BCIa8pnncUcy722ZB7qlWCjjjpBxLGr1/EyOTsZD76Kl8BBoiZDwXCgFzvKYe2NqhqRBb8bo0CP6QyyROxcgBLYtvBJurhMNQ7qTZJBF5DjeDQrCvCZsEwlffV5BFoQY5ISnZgkKC00Ww65y6+EwCZ9WvSw== wwwsync@wikileaks.org

というのは,Wikileaksのサイトにも書いてあります.

authorized_keysに登録されているのが上記のwikileaks.orgの一つだけだとすると,次のようなコマンドで内容を確認できます.

# ssh-keygen -l -f /usr/home/wikileaks/.ssh/authorized_keys
2048 72:16:b8:6a:e4:02:6f:69:ac:b4:7a:6a:9e:00:f1:b0 /home/wikileaks/.ssh/authorized_keys (RSA)

これがWikileaksのページにある

ssh fingerprint : 2048 72:16:b8:6a:e4:02:6f:69:ac:b4:7a:6a:9e:00:f1:b0

と一致していれば大丈夫です.

#4 Create the directory which will be used to host the file and give wikileaks user's write permissions

Wikileaksから送られてくるコンテンツを置く場所を作り,wikileaksアカウントで書き込めるようにします.
場所はどこでもいいかと思います.容量さえあれば.どこにディレクトリを作ろうと,Webサーバの設定で
そこを指定すれば良いです.ApacheならDirectoryディレクティブか何かで指定します.
容量は今でだいたい500メガバイト弱くらいです.

#5 Create Apache virtual host

別にApacheじゃなくてもいいかと思いますが,とにかくコンテンツを公開できるように設定します.
httpd.conf等にちゃんと設定ができてApacheの再起動をしてバーチャルホストを有効化できれば良いので,
別にnanoを使わなくてもa2ensiteを使わなくてもいいです.

んですっ飛ばして

#7 Verify configuration files
apache2ctl configtest
#8 If no errors are given you can load the new configuration files
apache2ctl graceful

設定ファイルのチェックと再起動をします.


その上でhttp://www.wikileaks.ch/Mass-mirroring-Wikileaks.htmlのフォームを埋めて「Ok, please add my server」ボタンを
押すと,

Form OK

Your mirror informations has been sent, thanks a lot for your support!

という画面が出ます.

すると数時間もたたないうちに,Apacheのログを見ていると次のようなアクセスが来ます.

sd-15887.dedibox.fr[88.191.93.174] - - [23/Feb/2011:20:23:05 +0900] "GET /test_rsync.html HTTP/1.0" 200 68 "-" "Wget/1.11.4" /test_rsync.html

これが来たら,まぁほぼ大丈夫かと.結構頻繁に,一日数回,コンテンツが更新されています.
しばらく様子を見てみましょう.

http://wikileaks.sofken.com/

実はApacheの設定でちょっとハマったところがあって,コンテンツは入っているのにブラウザからアクセスすると

Parse error: syntax error, unexpected T_STRING in /usr/home/wikileaks/index.html on line 1

というようなエラーが出て表示されないということが最初ありました.ちょっとグーグル先生に聞いたら
答えがこちらに.
Parse error: syntax error, unexpected T_STRING in ○○○ on line 1 −1行目のエラーならばこれを疑ってみるべき。: go4it

直接,httpd.confに以下のように記述したら無事に見られるようになりました.


php_flag short_open_tag off
Order Allow,Deny
Allow from all