ここのところ、ずっとブログが滞っていた。
その理由は、実は私はVPSでサイトを立ち上げているが、そのVPSを新しいサービスに切り替えるため、既存のサイトを新VPSへ移行するという作業をずっとやっていたのである。
単にデータを更新すればよいだけなら、何てことはないのだが、実際には環境を整えて、データを移して、同じように動作するかどうかを検証するのにかなり手間取ったからである。
実は一度移行を実施したのだが、思うようなパフォーマンスが得られなかったため、一度クリアして再度OSから再インストールを行ったのである。
つまり、2回設定したようなものなのだ。
VPSの切り替えには、当然切り替えるための期限があるため、この期限に間に合うように作業を行ってきた。
このため、こちらのブログが滞ってしまったのである。
とりあえず、無事に作業は移行できたので、こちらのブログも再開となったのである。
VPS, ブログ, 移行
なぜSSLかというと、phpmyadminやらCMSやらをインストールした後、それにログインする際にはSSL環境下でアクセスしたいということからである。
なので、個人的に利用するだけなので、証明書は自己証明でいいと判断した。
もちろん、CAcert.orgという無料で証明書を発行してくれるところもある。
まずは自己証明のSSLがOKになったら、そちらに進んでもいいかと思っている。
ただ、CAcert.orgは半年に一回更新をかけないといけないので、ちょっと手間かもしれない。
ちなみに、CAcert.orgで証明書発行しても、ブラウザでは確認が取れていない証明書なのでインストールしないとダメだけど、それでもオレオレ証明書よりはいいかもね。
ともあれ、まずは自己証明から。
# /etc/pki/tls/misc/CA -newca
CA certificate filename (or enter to create)
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・
Making CA certificate …
Generating a 1024 bit RSA private key
..++++++
………….++++++
writing new private key to ‘../../CA/private/./cakey.pem’
Enter PEM pass phrase:
Verifying – Enter PEM pass phrase:
—–
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・
—–
Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:Tokyo
Locality Name (eg, city) [Newbury]:Minato
Organization Name (eg, company) [My Company Ltd]:Private
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server’s hostname) []:**********
Email Address []:dummy@********.*****
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for ../../CA/private/./cakey.pem:
Check that the request matches the signature
Signature ok
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・
Write out database with 1 new entries
Data Base Updated
# /etc/pki/tls/misc/CA -newreq
Generating a 1024 bit RSA private key
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・
—–
Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:Tokyo
Locality Name (eg, city) [Newbury]:Minato
Organization Name (eg, company) [My Company Ltd]:Personal
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server’s hostname) []:**********
Email Address []:dummy@********.***
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Request is in newreq.pem, private key is in newkey.pem
# /etc/pki/tls/misc/CA -sign
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for ../../CA/private/cakey.pem:
Check that the request matches the signature
Signature ok
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・
Certificate is to be certified until Oct 22 15:18:10 2011 GMT (365 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・
—–BEGIN CERTIFICATE—–
MIIC1jCCAj+gAwIBAgIBATANBgkqhkiG9w0BAQUFADBmMQswCQYDVQQGEwJKUDEO
MAwGA1UECBMFVG9reW8xEDAOBgNVBAoTB1ByaXZhdGUxEjAQBgNVBAMTCVByaXZh
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・
TIm+tG3jtYsxikhV/1yCbM/WIPa10L6plFcPLTnS43sdzgyo7lUN9fA6FXxp0i43
1lvJqN1faeudug==
—–END CERTIFICATE—–
Signed certificate is in newcert.pem
早速、lighttpdに設定して、httpsアクセスできるか、確認してみる。
lighttpd.conf内のSSLに関する部分をファイルの最後尾に追加して、再起動する。
# sudo -u root vi lighttpd.conf
$SERVER[“socket”] == “182.*.* .*:443” {
#### SSL engine
ssl.engine = “enable”
ssl.pemfile = “/etc/certs/newcert.pem”
server.name = “www.*****.***”
server.document-root = “/var/www/lighttpd/docs-ssl”
}
# echo “SSL site” > /var/www/lighttpd/docs-ssl/hoge.txt
# service lighttpd restart
ブラウザでhttp://www.******.***/hoge.txt にアクセス。Not foundになる。
続いて、SSLのかかった https://www.*******.***/hoge.txtにアクセス。
悪意のあるサイトかもしれない、と脅されるがアクセスすると見事にアクセスできた。
しかし!Firefoxではアクセスできないことが判明。
うーん、どっかで設定ミスったかなぁ。
一応、以前会社でやったときはうまくいったのになぁ...。
あれこれやってもうまくいかず、いろいろ悩んでしまって面倒くさくなってしまった。
なので、以下の方法で逃げた。
# /etc/pki/tls/certs/make-dummy-cert newcert.pem
なんと、このコマンド一発でオレオレ証明書の発行ができてしまうのである。
うーん、こんなんでいいんだろうか?
今度、落ち着いてゆっくりやろう。
lighttpd, SSL, VPS
引き続き、MySQLとPHPのインストールを行う。
まぁ、毎度のことながら、魔法のコマンド yum を使うんだけどね。
今回からインストール状況まで上げるのは長くなるので、要所だけ。
# yum -y install mysql-server
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・
Total download size: 15 M
Downloading Packages:
(1/4): perl-DBD-MySQL-3.0007-2.el5.x86_64.rpm | 148 kB 00:00
(2/4): perl-DBI-1.52-2.el5.x86_64.rpm | 600 kB 00:00
(3/4): mysql-5.0.77-4.el5_5.3.x86_64.rpm | 4.8 MB 00:00
(4/4): mysql-server-5.0.77-4.el5_5.3.x86_64.rpm | 9.8 MB 00:00
——————————————————————————–
Total 13 MB/s | 15 MB 00:01
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・
Complete!
# yum list | grep mysql | grep install
mysql.x86_64 5.0.77-4.el5_5.3 installed
mysql-server.x86_64 5.0.77-4.el5_5.3 installed
で、MySQLの稼働させるための準備。
# cd /etc/
# cp -p my.cnf my.cnf.org
# cp /usr/share/mysql/my-small.cnf my.cnf
cp: overwrite `my.cnf’? y
# service mysqld start
Initializing MySQL database: Installing MySQL system tables…
OK
Filling help tables…
OK
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・
Support MySQL by buying support/licenses at http://shop.mysql.com
[ OK ]
Starting MySQL: [ OK ]
# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.0.77 Source distribution
Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| test |
+——————–+
3 rows in set (0.00 sec)
mysql> q
MySQLのrootのパスワードを設定して、ノンパスワードで入れないことを確認する。
# mysqladmin -u root password ‘*********’
# mysql -u root
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 5
Server version: 5.0.77 Source distribution
Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.
mysql>
さらに不要なDatabaseとuserを削除。
mysql> drop database test;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
+——————–+
2 rows in set (0.00 sec)
mysql> select user,host,password from mysql.user;
+——+———————–+——————————————-+
| user | host | password |
+——+———————–+——————————————-+
| root | localhost | ***************************************** |
| root | ********.sakura.ne.jp | ***************************************** |
| root | 127.0.0.1 | |
| | localhost | |
| | ********.sakura.ne.jp | |
+——+———————–+——————————————-+
5 rows in set (0.00 sec)
mysql> delete from mysql.user where password=”;
Query OK, 3 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,password from mysql.user;
+——+———————–+——————————————-+
| user | host | password |
+——+———————–+——————————————-+
| root | localhost | ***************************************** |
| root | ********.sakura.ne.jp | ***************************************** |
+——+———————–+——————————————-+
2 rows in set (0.00 sec)
mysql> q
Bye
MySQLを停止して、サーバの起動時に MySQLが起動するように設定。
# service mysqld stop
Stopping MySQL: [ OK ]
# chkconfig mysqld on
# chkconfig –list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
MySQLの細かい設定については、別途行うことにして、続けてPHPのインストール。
# yum -y install php php-mysql php-mbstring php-mcrypt
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・
Complete!
# php -v
PHP 5.1.6 (cli) (built: Mar 31 2010 02:39:17)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
むむ?現在のPHPの最新バージョンは確か5,2,14だったはず。
もしかして、updateが必要かと思い、updateを実行。
# yum update
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・
Complete!
# php -v
PHP 5.1.6 (cli) (built: Mar 31 2010 02:39:17)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
やっぱりバージョンが変わんない。
ということは、最新版のPHPのインストールができないということだ。
便利な関数の中にはバージョンが5.2以降でないとダメなものがあるので、何とかバージョンアップしたい。
とはいえ、yum の便利さを実感しているので、わざわざ自前でコンパイルしてインストール、なんてことはやりたくはないのだ。
なので、Google先生の出番。
おお、やっぱり似たようなことをする人はいるものだ、ということであっさり解決。
# wget -q -O – http://www.atomicorp.com/installers/atomic.sh | sh
Atomic Archive installer, version 1.2
Configuring the [atomic] yum archive for this system
Installing the Atomic GPG key: OK
Downloading atomic-release-1.0-12.el5.art.noarch.rpm: OK
The Atomic Rocket Turtle archive has now been installed and configured for your system
The following channels are available:
atomic – [ACTIVATED] – contains the stable tree of ART packages
atomic-testing – [DISABLED] – contains the testing tree of ART packages
atomic-bleeding – [DISABLED] – contains the development tree of ART packages
# yum update
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・
Complete!
# php -v
PHP 5.2.14 (cli) (built: Aug 12 2010 16:03:48)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
見事にPHPのバージョンアップに成功。
ということで今日はここまで。
MySQL, PHP, VPS
さすがに何にも設定されていないので、やることが多い。
今回は、不要なサービスの停止だ。
ということで、ざっくり不要サービスの停止を行う。
面倒くさいので、テキストエディタに書き出して、コピペで一括実行。
# chkconfig acpid off
# chkconfig auditd off
# chkconfig autofs off
# chkconfig avahi-daemon off
# chkconfig bluetooth off
# chkconfig cups off
# chkconfig firstboot off
# chkconfig gpm off
# chkconfig haldaemon off
# chkconfig hidd off
# chkconfig isdn off
error reading information on service isdn: No such file or directory
# chkconfig kudzu off
# chkconfig lvm2-monitor off
# chkconfig mcstrans off
# chkconfig mdmonitor off
# chkconfig messagebus off
# chkconfig netfs off
# chkconfig nfslock off
# chkconfig pcscd off
# chkconfig portmap off
# chkconfig rawdevices off
# chkconfig restorecond off
# chkconfig rpcgssd off
# chkconfig rpcidmapd off
# chkconfig smartd off
あれー?isdnでエラーが出てやんの。
ま、ないのなら、ないでいいや。
ふと思ったのだが、実はこれらって最初からサービス停止してあったんじゃないかと思った。
というのも、/etc/selinux/config を見るとSELINUX=の値が最初からdisabledになっていたからだ。
まぁ、別に off になっているものを offにしても問題はないんだけど。
ということで、再起動後、VPSの状況を freeで見るとこんな感じ。
# free
total used free shared buffers cached
Mem: 510532 160788 349744 0 15100 118060
-/+ buffers/cache: 27628 482904
Swap: 2048276 0 2048276
≫続きを読む
DNS, VPS, Webサーバ, 独自ドメイン, 設定
今日、生まれてはじめてワン切り...というか電話に出たので”切り”ではないが、を体験した。
知らない会社から電話で、話を聞くと身に覚えのない携帯出会い系サイトの使用料の滞納という話だった。
ほほー、こりゃおもしろいと思い、ちょっとツッコミを入れてみた。
私:「えーと、何て出会い系サイトですか?」
相手:「弊社は5,000社位のサイトの集金代行なので、サイトの名前までは...」
この時点で先方は終わっていると気づかないんだろうか?
サイトの名前がわからないのに、集金代行ができるわけがないだろうに。
最終的に私は一言、「まぁ、よくわかんないので、そういうところに登録しているのなら、メールも登録しているはずなので、詳細は携帯のメアドに送っておいてください」と言って電話を切ってしまった。
まぁ、当然のようにメールなんか届かないんだけど。(笑)
で、かかってきた電話番号をググってみると、おお、出てきた出てきた迷惑電話番号一覧に。
ということで、着信拒否に登録して本件は終了。
それはさておき、昨日、さくらのVPSの申し込みをして、ちまちまと設定を開始した。
で、今日もその続きを行う。
昨日はsshd関連の対応を行ったが、今日はもう少しセキュリティの強化。
iptablesの設定である。
ただ、それだけだとつまんないので、Webサーバの立ち上げまでなんとか進めることにする。
≫続きを読む
iptables, lighttpd, VPS, Webサーバ, セキュリティ
さくらのVPSに申し込みをした。
このVPSの設定をすれば、先日取得したドメインも使えるというものである。
とりあえず、VPSコントロールパネルにアクセスし、VPSを起動。
まずはどこのVPSでもやることは一緒のセキュリティ対策である。
まずは、VPSのリモートコンソールにあるVNCコンソールを使ってrootでloginする。
どうもVPSリモートコンソールは使いにくい。
本当はTeraTermなどのターミナルソフトでアクセスしたかったのだが、アクセスできなかった。
なので、VNCコンソールを使ったのである。
≫続きを読む
SSH, VPS, さくらインターネット
今日の昼までで、お名前.comの110円キャンペーンは終わりかと思ったら、続いて.com/.orgの110円キャンペーンが始まった。
まったくもう...でも、まぁ、今回取得したドメインはすでに.comは取得済みだったので、どうせ取れなかったんだけどね。
なので、問題なし。
ところで、今回のドメインはVPSと合わせて、Google Appsもやろうと考えている。
Google Appsはもちろん一番はGmailを使うことである。
ということで、今現在はいろいろ調べまくっている最中なのだ。
そういや、今日からiPod touchが量販店に並んだらしい。
もちろん、アップルストアもだが。
とりあえず、実物を見て触ってみたいな。
Google Apps, iPod touch, VPS, お名前.com, 独自ドメイン
お名前.comが11周年記念で.net/.biz/.infoを1年110円で取得できるキャンペーンをやっており、これにのっかって .net ドメインを取得。
なぜ、ドメインを取得したのかというと、先日のブログにも書いたがVPSを物色しており、契約をした際には今回取得したドメインを使おうかと考えてのことである。
とはいえ、ドメインの維持費用も安くなったものである。
あとはSSLの証明書費用なんかが安くなると、個人利用も増えるんではないかと思うんだけどねぇ。
もちろん、オレオレ証明書であれば、当然無料でできるんだけど、それって一般人からすれば信用ないってことだし。
で、ちょっと調べたらRapidSSLとか結構安いところあるもんだね。
VPS, お名前.com, ドメイン, 独自ドメイン
最近、VPS サービスをチェックしている。
私はレンタルサーバの契約をしているが、個人的には root 権限ありで
ガシガシ触って、欲しいソフトをインストールしていきたい口である。
というより、Apache の環境を書き換えたりしたいというのが実際のところだが。
さらに自分は Windows では開発できないので、必ず Linux ライクな
環境にログインして行わないとダメなのである。(おいおい)
ということで、VPSは非常に魅力的だ。
ここにきて、さくらインターネットもVPSに参入してきた。
ということで、ServersMan@VPS かさくらVPSかなぁ、と。
ちょっと毎日暑いので、もう少し様子をみてみよう。(意味不明)
VPS