VPSやクラウドでいろいろ遊ぼうのblog

地方でITやってます。IT全般を勉強しつつ、いろいろ遊んでみます。 情報セキュリティスペシャリスト。twitterは @hogefuga123

さくらのレンタルサーバの威力

前エントリにあるように、さくらのレンタルサーバを借りた。


なぜさくらを選んだか:

その案件の仕様として、独自SSLを使いたかったのだけども、

さくらのレンタルサーバ スタンダード(月額515円)、

さくらのSSLのラピッドSSL(年額1620円)

の組み合わせにすると、メチャ安かったからだ。(しかもSSLの無料キャンペーン期間もある)


なんでこんなに安いかというと、
固定IPアドレスの費用だろう。

独自SSLというと、どうしても固定IPが必須になるイメージがあるが、
さくらのレンサバ スタンダードだと、固定IPではない。
SNI SSLという、ドメイン名ベースでサーバを認識できる技術を使っているってことで、
固定IPでなくても独自SSLが使えるってわけだ。

さくらがこういう技術を研究しているからこそ、
コストダウンの提供につながるってわけだな。これはコスパ高すぎ。

WordPress さくらのレンタルサーバ


仕事でWordPressを使うことがあった。

他のサーバに置いてあるものを、さくらインターネット
スタンダードプランに移行した。

前のサーバで、DuplicatorがPHPバージョンで蹴られて使えなかったので、
FTPでまるごと移行方式。


結論。
WordPressのインストールといっても、
単にファイルのコピー、データベースへの情報登録のようだ。
だから移行ツールでなくても行ける。



phpを使えるように.htaccessに、

Action myphp-script /php.cgi
AddHandler myphp-script .php .html

とする。[さくらインターネット html php] あたりで検索すると出てくる。

さらに、

前のサーバで
/ルートディレクトリ/html/wp-admin/

という構成だったので、それにあわせた方が分かりやすいかと思ったので
そのように対応。


[wordpress インストール ディレクトリ]あたりで検索。


[大事な情報]

wp-configでサーバ情報修正、

データベースのwp_optionsのsiteurl修正、

このへんの
http://www.nishi2002.com/4718.html

.htaccessの、IfModule mod_rewrite.c
まわりの修正、

index.phpのwp-blog-header.php修正。

管理画面での[設定]からのurl修正。



参考:
http://shimajiro-mobiler.net/2011/09/25/post7267/

http://designcolor-web.com/2012/11/05/server-transfer/

ORCAネタ

ORCAメーリングリストで、また不具合紹介が着弾。

症状:
某リ○ープリンタで、Ubuntu14.04でapt-get dist-upgrade
すると、印刷できない。

以前から某キャ○ンプリンタでも、
「印刷できない」レベルの不具合が出ているが、
こちらのメーカーでもこの有り様。

サポートから延々と、
「こうしたらどうですか」と、コマンドが返信されているが、
医療ソフトとして、本当にこれでいいのだろうか。

どこぞの院長先生が、印刷がでない、と大騒ぎして時間を潰すことが、
本当に医療のためになるのだろうか。


ORCAは無償で提供されているが、
そもそも無償である必要があるのか?
やはり、使用者から月額1000円でも集めた方がいいんじゃないだろうか。
そのお金で、サポートや開発費用に当てた方がいいんじゃなかろうか。

夏型過敏性肺炎?

もう10年以上前になるが、
古いエアコンがついている部屋に、
何日か泊まったことがある。

真夏だったし、エアコンをつけっぱなしでないと
寝られなかった。

朝起きると、どうも喉が気持ち悪かった記憶がある。



それからというもの、
梅雨時期になると、なぜか咳がでる。夏の間も出る。

秋になると、ぴたっと咳は止まる。


いろんな薬を処方されたが、全然効かない。
リン酸コデイン、フルティフォーム、あとはなんだろう。


症状的には夏型過敏性肺炎では?と思うが、
レントゲンや、肺の音は綺麗らしい。


さっぱりわからない。

かかりつけの医者に行って、セカンドオピニオンをお願いしてきたいと思う。

日本医師会 ORCAネタ

ORCAメーリングリストを見ていると、
ORCAの不具合が沢山あることに気付かされる。


ORCAはDB主従構成(おそらくレプリケーションのようなもの?)
もできるのだけど、
主従の同期がとれていないことが結構あるらしい。

なので、cronで同期処理を入れるとか。。。面倒だ。

うちは主従やめとこ。

ネットワーク勉強15 メモ的エントリ

とりあえず、今まで勉強したヤマハRTX1000の設定をメモ。


ip route default gateway 192.168.11.1
ip lan1 address 172.16.1.1/24
ip lan1 secure filter in 9999
ip lan1 secure filter out 9999
ip lan2 address 192.168.11.120/24
ip lan2 secure filter in 9999
ip lan2 secure filter out 9999
ip lan2 nat descriptor 1
ip filter 1000 reject * 192.168.11.25 tcp * 12345
ip filter 9999 pass * * * * *
nat descriptor type 1 masquerade
nat descriptor address outer 1 192.168.11.130
nat descriptor address inner 1 172.16.1.2
nat descriptor masquerade static 1 1 172.16.1.2 tcp www
syslog host 192.168.11.25
syslog notice on
tftp host any
dhcp service server
dhcp scope 1 172.16.1.2-172.16.1.5/24
dns service recursive
dns server 192.168.11.1

ネットワーク勉強14 Nginxでクライアント認証

表題どおり。

とりあえずここを参考にさせてもらった。

opensourcetech.hatenablog.jp



まず、CAの構築。

Ubuntu は、
/usr/lib/ssl/misc/CA.sh -newca

でいいらしい。

国名は"JP"を入力、他はすべて"hoge"を入れた。

writing new private key to './demoCA/private/./cakey.pem'

と出て、
Write out database with 1 new entries
Data Base Updated
とでた。OKだと思う。


/root/demoCA
に、各種ファイルができている。

.certと.keyが大事なファイル。

ここまでで、認証局が構築できた。

        • -

サーバ用の公開鍵・秘密鍵を作成。
場所は
/usr/local/ssl/server
にしてみよう。

秘密鍵:
openssl genrsa -out /usr/local/ssl/server/server.key 2048

公開鍵:
csrは、sha-2にしてみた。
openssl req -new -sha256 -key /usr/local/ssl/server/server.key -out /usr/local/ssl/server/server.csr

国名は"JP",あとはすべて"fuga"を入れた。
これでサーバ側はOK.

        • -

CAとしての署名。サーバのCSRに対して、CAの秘密鍵で署名。

openssl ca -in /usr/local/ssl/server/server.csr -out /usr/local/ssl/server/server.crt -keyfile /root/demoCA/private/cakey.pem

してみると、
The stateOrProvinceName field needed to be the same in the~
のエラーがでる。
これは、CA側とサーバ側のstateOrProvinceNameが一致していないと
いけない、というエラーらしい。

参考:
http://hack.aipo.com/archives/319/


これを無視するオプションをつける。

openssl ca -policy policy_anything -in /usr/local/ssl/server/server.csr -out /usr/local/ssl/server/server.crt -keyfile /root/demoCA/private/cakey.pem

これでサーバの証明書(=サーバの公開鍵にCAがデジタル署名をする)ができた。

ここで復習:
デジタル署名とは、平文を署名者の秘密鍵で暗号化すること。復号化は署名者の公開鍵で行う。
つまり、公開鍵暗号とは逆の概念だ。

        • -

クライアントの公開鍵・秘密鍵の作成

openssl genrsa -out /usr/local/ssl/client/client.key 2048

openssl req -new -sha256 -key /usr/local/ssl/client/client.key -out /usr/local/ssl/client/client.csr


国名は"JP"、その他は"foo"、パスワードは適当なものを入れた。


同様にCAとして署名。
openssl ca -policy policy_anything -cert /root/demoCA/cacert.pem -keyfile /root/demoCA/private/cakey.pem -in /usr/local/ssl/client/client.csr -out /usr/local/ssl/client/client.crt


pksc12形式へ変換:(たぶんサイトは誤植.pkcs12が正解では?)

openssl pkcs12 -export -clcerts -inkey /usr/local/ssl/client/client.key -in /usr/local/ssl/client/client.crt -out /usr/local/ssl/client/client.p12


ここまでで、SSL関係の準備はOK.

      • -


nginxは、普通にapt-getでインストールしておいた。
htmlへのパスは
/usr/share/nginx/html
だ。

nginx.confはこんな感じ。

user www-data;
worker_processes 4;
pid /run/nginx.pid;

events {
	worker_connections 768;
	# multi_accept on;
}

http {

	##
	# Basic Settings
	##

	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	# server_tokens off;

	# server_names_hash_bucket_size 64;
	# server_name_in_redirect off;

	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	##
	# Gzip Settings
	##

	gzip on;
	gzip_disable "msie6";

	# gzip_vary on;
	# gzip_proxied any;
	# gzip_comp_level 6;
	# gzip_buffers 16 8k;
	# gzip_http_version 1.1;
	# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

	##
	# nginx-naxsi config
	##
	# Uncomment it if you installed nginx-naxsi
	##

	#include /etc/nginx/naxsi_core.rules;

	##
	# nginx-passenger config
	##
	# Uncomment it if you installed nginx-passenger
	##
	
	#passenger_root /usr;
	#passenger_ruby /usr/bin/ruby;

	##
	# Virtual Host Configs
	##

	server {
	
	     listen 443 ssl default_server;
	     server_name hoge.com;
	     ssl_certificate /usr/local/ssl/server/server.crt;
	     ssl_certificate_key /usr/local/ssl/server/server.key;
	
	     ssl_session_cache    shared:SSL:1m;
	     ssl_session_timeout    5m;
	
	     ssl_ciphers HIGH:!aNULL:!MD5;
	
	     ssl_prefer_server_ciphers on;
	
	     ssl_client_certificate /root/demoCA/cacert.pem;
	     ssl_verify_client on;
	     ssl_verify_depth 1;
	
	     location / {
	         root html;
	         index index.html index.htm;
	
	     }

	}

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;

	

}

シンタックスのチェックは
nginx -t -c /etc/nginx/nginx.conf



んで
/etc/init.d/nginx restart
してみると...起動しない。

error_logみると、

98: Address already in use だと。。。


ここをチェック。

easyramble.com


今回の場合、aolserver っていうプロセスが80ポートをつかんでいたようなので
(これは何なの?)

kill [PID] して、

/etc/init.d/nginx restart
すると、無事動いた(^^)

lsof -i:443

すると、やっぱり動いてるよ(^^)

あとは.p12ファイルをクライアントPC(Windows)にコピーして、
ダブルクリックでインポートされる。

ブラウザには、注意書きが表示されるが、無事httpsでアクセスできた!