Ubuntu(Gutsy)のApache2でSSLを使う場合

Debian(etch)からの移行時に軽くはまったのでメモ。

基本的には、Debian etchでSSL – よしだメモで紹介されている方法と全く一緒。まあ、UbuntuもDebianベースだし。
ポイントは、ちょっと前まで存在していたapache2-ssl-certificateが無くなったから自前でやるってこと。(なんで無くなったんだ…

上記サイトを参考に /etc/apache2/ssl/ にでも証明書と鍵ファイルを置く。
# zcat /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz > /etc/apache2/sites-available/
して、/etc/apache2/sites-available/httpd-ssl.conf を環境に合わせて適当に書き換えてから、
# a2ensite httpd-ssl.conf
でapache側の設定は完了。

鼻息を荒くして、
# /etc/init.d/apache2 start
したら、、
Address already in use: make_sock: could not bind to address [::]:443
とか出た。netstat -an とかしてみても別に443使ってる奴は居ないけど。。。

んで色々と見てみたら、さっきの httpd-ssl.conf の中に Listen 443 が記述されているんだが、/etc/apache2/ports.conf にも同様の記述が。。。
どっちを消しても良いのだが、httpd-ssl.conf を使わないときには 443 listenする必要も無いので、ports.conf側の 含めてバッサリ。これで起動。

etchのときに全く同じことをしたはずなのに、記憶無しってのが終わってるな。。。

サーバ入れ替え ひとまず終わり

とりあえずWebサーバとして稼動できるところまで来たので、旧サーバと入れ替え。
WordPressは、静的なファイルごっそりとMySQLのダンプしたのを丸ごと持ってくるだけだったのでサクッと完了。

さすがにスペックアップ分の速度アップは感じるけど、それでも何やらもっさりするなぁ。
APCとかまだ動かしていないけど、そういう問題じゃないっぽい。怪しいとするとアクセス解析系のプラグインのINDEX周りかなぁ。まあ、ボチボチ調べよっと。

旧サーバのuptime
00:48:21 up 174 days, 15:04, 2 users, load average: 0.06, 0.09, 0.08
よく頑張りましたー。

あと、ntpサーバがどうも安定しないな。PCのクロック周りの作りがアレげなんだろうか。。。

サーバ入れ替え準備中

会社で廃棄寸前だったPentiumIIIマシンをもらってきてから2年弱。さすがに色々と乗っけてくると動作が緩慢になってきた。
なので今、ヤフオクで落札した新サーバへ移行準備中。

OS: Debian (etch) → Ubuntu Server (feisty)
CPU: PentiumIII 733MHz → Pentium4 3GHz (HT)
Memory: PC133 512M → PC2700 1GB
HDD: 250GB → 500GB

とまあ、順当に進化をとげてみた。CPUの消費電力が数倍にアップしているから、電気代がちょっと怖いけど。
ってか、Ubuntu 7.10 (Gutsy)出ちゃってるじゃん。。。あ゛ー。
dist-upgradeでも多分平気だろうけど、出てるならこっちで入れ直すか。。

Linuxでファイル名がハイフンで始まるファイルを削除したい

$ ls
-test
とか、ハイフンで始まるファイルが不意に出来てしまうと、普通にrmでは削除できない。
そんなときは、
$ rm — -test
で消せる。
たまーにあって、毎回忘れてる。

AutoMySQLBackupを導入

WordPressを導入するにあたり、やはり自前サーバにデータが蓄積されるのは外部blogを利用するのに比べ、データ消失のリスクは高い。
ということで、そのリスクを少しでも減らすためにデータの定期的なバックアップと退避を検討した。
GIGAZINE紹介されていたAutoMySQLBackupを利用することにした。
導入は至って簡単で、

  1. ここから automysqlbackup.sh をダウンロードする (私は/opt に置いた)
  2. rootで動かすので、# chmod 700 automysqlbackup.sh.2.5
  3. ファイル内の、USERNAME, PASSWORD, DBNAMES, BACKUPDIR を変更
    • USERNAME = root
    • PASSWORD = 設定済みのパスワード
    • DBNAMES = “all” ※存在する全てのDBのバックアップを取りたい場合はallを指定する
    • BACKUPDIR = “/var/mysql-backups”
  4. /var/mysql-backups を作成
  5. /opt/automysqlbackup.sh.2.5 を実行して、/var/mysql-backup/daily/ の下にDB名のディレクトリが作成され、その中にファイルが作成されていることを確認
  6. さらに細かく設定変更
    • MAILADDR = 自分のメールアドレス
    • COMP=bzip2 (ファイルは小さいほうが良いです)
    • LATEST=yes (これを指定すると、latestディレクトリ以下に最新ファイルのみ別途出力されるようになる。バックアップからリストアするときに分かりやすいので。)
  7. ln -s /opt/automysqlbackup.sh.2.5 /etc/cron.daily/automysqlbackup でシンボリックリンクを作成して、1日1回自動実行されるようにする

設置はかなり簡単です。
1日1回のバックアップなので、クリティカルな要件には使えないかもですが、自分のblogのバックアップであれば十分すぎです。
ちなみに、私の場合はさらに出力されたファイルをバックアップ用の玄箱へ定期的にコピーしています。