設定でつまづいたところなど
まずはネットワークの問題。
これは、NAT用のカードとホストオンリーアダプタ用のカードの2枚挿しが一番楽。
ホストオンリーの方に静的IPを割り振っておく。
気をつけるべきは、/sys/resolv.confの自動書き換え。
ホストの方のDNSにしようとしてくるので、
/etc/sysconfig/network-scripts/ifcfg-eth0
と
/etc/sysconfig/network-scripts/ifcfg-eth1
の両方(DHCP設定になっている方だけでいいかもしれませんが)に
PEERDNS=no
DNS1=192.168.0.1
を追記。
あと、これはまだ試していないけれどntp.confが勝手にかきかわるのを防ぐには、
DHCPCDARGS="-N"
と追記すればいいらしい。
Mercurialのインストール
- gccとpythonの開発用コンポーネントを入れる
yum -y install gcc python-devel
- pythonパッケージ管理ソフトeasy_installを入れる
wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
easy_install Mercurial
MercurialのリポジトリのWeb公開法
mercurial-serverや、hg serveを使うなど様々な方法があるけれど、hgwebdir.cgiを使うのが一番楽だと思った。
参考資料
[追記:2010/09/26]
mercurialの最近のバージョンではhgwebdir.cgiはhgweb.cgiに統合されているような気がする。
(ソースに含まれなくなったうえに、hgweb.cgiでもレポジトリの一覧を表示するようになっている)
hgweb.configの設定
[collections]は、設定したpath以下に存在するレポジトリを一覧表示してくれる。
[collections]
repositories/ = /home/vcs/hg/repos/
[paths]
hoge = /home/vcs/hg/repos/hoge
[web]
style = gitweb
push_ssl = true
allow_push = *
[trusted]
users = daemon
groups = daemon
redmineのインストール
この
公式マニュアルを参考にして、ruby,rails及びrackのバージョンを対応したものにしないと酷い目にあう。
公式リファレンス大事ですね。
あと
こちらのインストール手順も参考に。
1.0.0以上を入れる場合は、微妙に違うところがあるので
こちらも参考に。
redmineでGmailのSMTPサーバを使ってメール送信
1.8系のRubyでは、TLSによるメール送信をサポートしていないので、対応するためのプラグインをいれなければいけない。
詳細は
こちら
PHP5.3+のインストール
centos5の標準レポジトリだとPHP5.16とかなので、次の
ページを参考にしてインストール
その後は、php.iniをまるまる置き換えてから、細かい設定(date.timezoneとか)を変える。
まるまる置き換えるには、
mv /etc/php.ini /etc/php.ini.old
cp /usr/share/doc/php-common-5.3.4/php.iin-production /etc/php.ini
Webからアクセスするために必要なパーミッションについて
httpd.confに次のように書いてある。
守らないと403地獄に落ちる。
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.
#
# The path to the end user account 'public_html' directory must be
# accessible to the webserver userid. This usually means that ~userid
# must have permissions of 711, ~userid/public_html must have permissions
# of 755, and documents contained therein must be world-readable.
# Otherwise, the client will only receive a "403 Forbidden" message.
#
# See also:
http://httpd.apache.org/docs/misc/FAQ.html#forbidden
#
htpasswdファイルの置いてあるディレクトリのパーミッション
770以上ないとapacheがアクセス出来ないかも
yumでrpmforgeを利用
CentOS5の標準レポジトリだと様々なパッケージのバージョンが低い。
そういうときは、rpmforgeを利用すると最新バージョンをyumからのインストールが可能となる。
次ののページを参考にyum-prioritiesを導入してレポジトリ毎の優先度を設定できるようにする。
# vi /etc/yum.repos.d/CentOS-Base.repo
を書き換えて、priority=1にする。
# rpm -ivh http://対象のrpm
続いて、GPGキーのインストール
#wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
#rpm --import RPM-GPG-KEY.dag.txt
標準レポジトリとの競合をさけるために普段は無効にしておく。
# vi /etc/yum.repos.d/rpmforge.repo
のenable=0にする。
使うときは、
# yum --enablerepo=rpmforge --disablerepo=base install subversion
などなど。
わざわざbaseを無効にしなくても、rpmforgeの優先度上にすれば問題ないかもしれない。
testlink
インストール時に、新規インストールを選択しているにも関わらず、なぜかupgradeで処理されるときの対策。
次のソースを書き換える。
install/installNewDB.phpの99行目付近の、
$install = $_SESSION['isNew'];
を
$install = true;
とする。
postfix
SMTPサーバが起動せず、/etc/var/maillogに次のように記録されている場合、
fatal: no SASL authentication mechanisms
必要なアプリケーションがたりていないっぽいので、
yum install cyrus*
でインストール。
個々のユーザにメールディレクトリを作成
mkdir -p ./Maildir/{new,cur,tmp}
chmod -R 700 ./Maildir/
queから削除
/usr/sbin/postsuper -d ALL deferred
fail2ban
hostsdenyは設定が簡単だけれどTCP Wrapperに対応していないソフトだとどうしようもないっぽいのでfail2ban一本でいいかも
checkinstall
全部rpm管理したるぞ!というときに便利
capistrano
デプロイツール。デーモンとかいれなくていいので楽だし、便利。
ssh秘密鍵の指定方法
ssh_options[:keys] = %w(/home/username/.ssh/keyname)
sshの-tオプションに相当する設定
deploy.rbに次の行を追加。
default_run_options[:pty] = true
最終更新:2011年05月01日 04:39