Posts tagged DreamHost

PHP5.3導入

Dreamhost上にPHP5.3を入れてみました。

インストールにはInstalling PHP5 – DreamHostを参考に、設定ファイルのパスをUbuntu風に変えてインストールしました。

具体的には、

prefix=$HOME/local
–with-config-file-path=$HOME/local/etc/php5
–with-config-file-scan-dir=$HOME/local/etc/php5/conf.d

を追加/変更しました。

インストールしたPHP5.3は快適に動いています。

以前インストールしたPHP5.2ではWordPressの管理画面が最後まで送られずにページが切れるという不可解な現象があったのですが、それもなくなりました。

今後の課題

とりあえずComment Form Quicktagsのバグ取りを完了したんですが、まだまだやるべきことがいっぱいです。

  1. Comment Form Quicktagsの機能追加
  2. Script Compressorのバグ取り
  3. 公開している言語ファイルの更新
  4. このブログのメンテナンス
  5. DreamHostにPHP5.3をインストール

この辺りをやっていきたいと思います・・・

DreamHost、One-Click InstallsにTracが追加!

インストールが面倒くさいことこの上ないTracですが、DreamHostのOne-Click InstallsにTracが追加されました!
これで、ワンクリックでTracがインストールできるようになりました。

…candycaneが公開されたらそちらを使う予定ですが ;)

新サーバーへ!

Dreamhost はいつ頃からか、ストレージと転送量の制限が完全に無くなりました。しかし、これは新サーバーでの話であって、既存ユーザーはデータ移動リクエストをしなければ元のままでした。私は、移行が面倒くさかったので新サーバーへは移しませんでした。

ところが先日、Deamhost から「サーバー移すよー」のメールが来て新サーバーへ引越ししました。これだけで済めばよかったんですが、なんと新サーバーは64bit。メモリは16GBです。

自分でコンパイルした PHP、Python・・・などはコンパイルし直しです。依存ライブラリもコンパイルし直しです。疲れました。

そんなわけでとりあえず移行しましたが、どこか不具合があるかもしれません。ページが見れないなどがありましたら、お知らせくださるとありがたいです。

DreamhostでBazaarスマートサーバー

Bazaarのマニュアルをみていたら、「Bazaar スマートサーバー」というものがあり、おもしろそうだったので、Dreamhost でやってみました。Bazaar スマートサーバーを入れると「bzr+http://」が使えるようになり、push もできます。以下その記録。

http://example.com/ に構築する例でやります。なお、Python はビルドしたもので、~/local/bin/python とします。Bazaar もインストール済みで。

http://example.com/.htaccess

Options ExecCGI FollowSymLinks
RewriteEngine On
RewriteRule ^(.*/|)\.bzr/smart$ bzr-smart.fcgi [L]

PYTHONPATH の通っている site-packages に http://svn.saddi.com/py-lib/trunk/fcgi.py を置く。

http://example.com/bzr-smart.fcgi

#!/home/user/local/bin/python
import fcgi
from bzrlib.transport.http import wsgi

smart_server_app = wsgi.make_app(
    root=‘/home/user/example.com’,
    prefix=‘/’,
    path_var=‘REQUEST_URI’,
    readonly=False,#読み込み専用かどうか
    load_plugins=True,
    enable_logging=True)
fcgi.WSGIServer(smart_server_app).run()

これで bzr push bzr+http://example.com/branch や bzr branch bzr+http://example.com/branch ができます。

http://example.com/.htaccess で認証をかけることもできます。

Dreamhostまとめ

このブログは、Dreamhost で運営しています。Dremahostは高機能で安いのがうりですが、その機能についてまとめておきたいと思い、まとめてみました(2009/2/5の時点で)。ドルの横のカッコ内は$1=89円で計算してみた結果です。

コア資源

ストレージ 無制限+バックアップ50GB
転送量制限 無制限
MySQL 5 データベース 無制限
OS Debian Linux

ユーザーアカウント

E-Mail アカウント (POP/IMAP) 無制限
シェル/FTP ユーザー 無制限

E-mail

POP / SMTP アクセス Yes
IMAP アクセス Yes
Webメール Yes
Procmail フィルター Yes
スパムフィルタ – SpamAssassin Yes
独自ドメインGmail Yes
メールアドレスエイリアス 無制限
アナウンスリスト(メーリングリスト) 無制限
ディスカッションリスト(メーリングリスト) 無制限
自動返信 無制限

ドメイン

無料ドメイン登録 Yes
無料ドメイン WHOIS Yes
ホストできるドメイン 無制限
ホストできるサブドメイン 無制限
転送/ミラー ドメイン 無制限
カスタムDNS Yes

プログラミング

PHP5 サポート Yes
Perl サポート Yes
Python サポート Yes
フル Unix シェル Yes
Crontab アクセス Yes
フル CGI アクセス Yes
Ruby On Rails Yes
CGI スプリクト Yes
Server Side Includes (SSI) Yes
CVS レポジトリー Yes
Subversion レポジトリー (SVN) Yes

上級機能

SSL Secure Server (ユニークIPが必要) Yes
Web セキュリティー増強 Yes
WebDAV Yes
データバックアップのスナップショット Yes
アクセス統計 Yes
Apacheの生ログへのアクセス Yes
DreamBook.comのアカウント Yes
パスワード保護ディレクトリ (.htaccess) Yes
RealAudio & 動画 (http ストリーム) Yes
QuickTime ストリーミング Yes
匿名 FTP サーバー (ユニークIPが必要) Yes
Jabber チャットサーバー Yes

1クリック自動インストール

WordPress Yes
Gallery Yes
ZenCart Yes
PhpGedView Yes
Pligg Yes
dotProject Yes
Moodle Yes
Joomla Yes
phpBB Yes
MediaWiki Yes
WebCalendar Yes
Advanced Poll Yes

テクニカルサポート

24時間テクニカルサポート (E-Mail) Yes
97日間のお試し期間 Yes
Web コントロールパネル (デモあり) Yes
DreamHost Wiki Yes
DreamHost Forum Yes

アカウントアップグレート

ドメイン追加登録 $9.95/年(886円/年)
ユニークIPアドレス $3.95/月(352円/月)
プレミアム 電話サポート (3回/月) $9.95/月(886円/月)
VPN アクセス $19.95/月(1776円/月)
SSL証明書 (ユニークIPが必要) $99.95/年(8896円/年) 又は 持込

その他

シェルは、bash、tcsh、ksh、zsh が使えます。
.htaccess はほぼフルに使えると思って大丈夫です。mod_rewrite も使えます。
また、Procmail でメールをトリガーにPHPなどを起動することもできます。
入っている PHP や Python が気に入らなければ、自分でコンパイルしたものを使用することができます。
Google Apps は1クリックで設定できます。

料金のほうですが、プロモーションコードとして「DHREGEN」を用意しました。これを登録時に入力すると料金が割引されます。

期間 価格 「DHREGEN」使用時の割引額(1年目のみ)
1ヶ月 $60.90(5421円) $51.00
1年 $119.40(10627円) $97.00
2年 $214.80(19118円) $97.00
3年 $286.20(25472円) $97.00
5年 $417.00(37113円) $97.00
10年 $714.00(63546円) $97.00


(追記)Dreamhostの方で割引額の上限を$50に制限しているようなので、すべて$50の割引になります。

$97割引が適応されたのを確認しましたので、上の上限はなくなったものと思われます。

trac-post-commit-hookをDreamHostで使う

SVNのログでチケットの操作ができるとっても便利なtrac-post-commit-hookですが、DreamHostで使うには難がありました。
最大の難点は post-commit が dhapacheというユーザーで実行されるということで、これが数々の問題を引き起こします。
色々と実験して解決策を見つけたのでポストします。
なお、解決策は SQLite を使っている場合と MySQL を使っている場合で異なります。

SQLite と MySQL の共通 post-commit

コミット後にスクリプトを実行するため、/home/***/svn/projectid/hooks に post-commit という名前のファイルを作成します。
このファイルがコミット後に実行されるわけですが、dhapache によって実行されるため環境変数の再設定が必要になります。
それなので、.bash_profile などから必要な変数をコピーします。
そして、trac のソースの contrib ディレクトリから trac-post-commit-hook を post-commit と同じディレクトリにコピーします。
さらにsvn_commit_jp.mdから svnlog2utf8 を取得してパスの通るところに置いて実行権を与えます。

post-commitの例(パスなどは適宜変えてください):

#!/bin/sh

HOME=‘/home/***’
export PYTHONPATH="$HOME/local/lib/python: $HOME/local/lib/python/site-packages"
export LD_LIBRARY_PATH="$HOME/local/lib"
export PYTHON_EGG_CACHE="$HOME/tmp"
export PATH="$HOME/local/bin:$PATH"

REPOS="$1"
REV="$2"

LOG=`svnlook log -r $REV $REPOS | svnlog2utf8`
AUTHOR=`svnlook author -r $REV $REPOS | svnlog2utf8`
TRAC_ENV="$HOME/trac_sites/projectid/"
TRAC_URL="http://trac.example.com/projectid/"

python $REPOS/hooks/trac-post-commit-hook \
  -p "$TRAC_ENV"  \
  -r "$REV"       \
  -u "$AUTHOR"    \
  -m "$LOG"       \
  -s "$TRAC_URL"

SQLiteの場合

SQLiteの場合は dhapache が trac のディレクトリの /db/trac.db(デフォルト) へアクセスする権限を持っていないため、エラーになります。
この場合は trac.db に「chmod o+rw」するしか方法がないと思います。書き込み権限を与えるのはやだなと思うときはMySQLの移行も考えてください(MySQLへのパスワードも dhapache が読み取れる必要があるので同じっていえば同じですが)。

MySQLの場合

MySQLの場合は、上で設定した「PYTHON_EGG_CACHE」の値が dhapache が書き込みできるディレクトリを指定していて、trac.ini を読み込めればOKです。

SQLite から MySQLへの移行

SQLite から MySQLへの移行は SqliteToPgScript を使うと便利です。
SqliteToPgScript でMySQLインポートしたら、trac.ini の database の指定を「mysql://user:password@host/database」のようにすればOKです。

1 / 3123
Go to Top