Redmine + Subversion インストールの記録
お名前.com VPS (CentOS 5.3) に Redmine + Subversion を導入をしたのでメモを書いておきます。不慣れなので1週間以上かかってしまいました。参考にさせていただいたサイトの作者には深く感謝いたします...
- Subversion のインストール
概ね次のサイトの指示に従った。
最初 yum を導入しようとすると、rpm から
「ファイル ... (パッケージ .... から) は、パッケージ ... からのファイルと競合しています。」といった警告が出たので、yum を使わずに subversion を make しようとしたが、コンパイルエラーが出て行き詰ったため、強制的に(rpm --force オプションで) yum をインストールして、subversion のインストールを行った。
お名前.com の VPS では apache は導入済みで、設定ファイルは /etc/httpd 下の conf および conf.d フォルダにある。subversion 関連の設定は conf.d 下の subversion.conf に入れればよい。
例)LoadModule dav_svn_module modules/mod_dav_svn.so
※SSLRequireSSL は http でのアクセスを禁止するためのディレクティブ
LoadModule authz_svn_module modules/mod_authz_svn.so
Include conf/extra/httpd-subversion.conf
<Location repos>
DAV svn
SVNParentPath /var/www/svn
SVNAutoversioning on
<Limitexcept GET PROPFIND OPTIONS REPORT>
SSLRequireSSL
</Limitexcept>
</Location>
※お名前.com VPS では、一応 OpenSSL のサービスが動いている。
※httpd-subversion.conf の Include をしないとうまく動かなかった。
※httpd-subversion.conf の内容については後述する。 - Redmine のインストール
あたりを参考にして Passenger による Apache 連携を念頭にインストールを行った。
お名前.com VPS の ruby はバージョンが古かったので、バージョンアップした。
いろいろはまりどころは多いが、ポイントは以下の通り:- VirtualHost は使わない。
最初から入っている httpd.conf の <VirtualHost *:80> 設定もコメントアウトした。
※コメントアウトする必要はないかもしれない。 - Alias を使わず、Symbolic Link で Passenger/Apache に動作環境を教える。
お名前.com VPSではドキュメントルートが
/var/www/vhosts/[ドメイン名]/httpdocs/
であることに気づかず、かなり時間をくってしまった。
ドキュメントルートに「ln -s /opt/redmine/ . のようにして、redmine がインストールされているディレクトリにリンクを張る。 MySQL 設定はそのままだと文字化けする。
cf. http://d.hatena.ne.jp/obtdai/20090701/1246451529
- VirtualHost は使わない。
Redmine のユーザー名とパスワードで Subversion にログインできるような設定はこのあたり↓を参考にした。
httpd-subversion.conf に以下のような設定をした。<Location svn>
DAV svn
SVNParentPath /var/www/svn/repos
Require valid-user
SSLRequireSSL
AuthType Basic
AuthName "Subversion repository"
AuthMySQLEnable On
AuthMySQLSocket /var/lib/mysql/mysql.sock
AuthMySQLHost localhost
AuthMySQLUser [redmine ユーザー名]
AuthMySQLPassword [redmine パスワード]
AuthMySQLDB [redmine DB名]
AuthMySQLUserTable users
AuthMySQLNameField login
AuthMySQLPasswordField hashed_password
AuthMySQLPwEncryption sha1
AuthMySQLNoPasswd Off
projects.id=members.project_
id and projects.identifier='my-project'"
</Location>- SSL 関係
お名前.com VPSには最初から SSL 設定があるが、配布する証明書が見当たらないので、OpenSSL の説明を見て、証明書を生成した。ブラウザでの Warning を解除するためには証明書をユーザーに配布する。また、TortoiseSVN からのアクセスのためにも証明書を配布する。 - http でのアクセスをブロックするために、conf.d/redmine.conf に設定をする。
redmine.conf の内容:RailsBaseURI /redmine
<Location /redmine>
SSLRequireSSL
</Location> - Redmine で Subversion のリポジトリを読めるようにする。
最初 https URL を指定したが、うまくいかないので、file:/// で内部ファイルパスを指定したらうまくいった。 - Redmine メール設定
お名前.com VPS でメールサーバーを運用するのは面倒そうなので、gmail を使うことにした。
gem install tlsmail
を実行したうえで、Redmine の email.yml の gmail 用設定テンプレートを修正したら接続できた。これ↓を ./config/environment.rb に追加する必要もあるらしい。
require "tlsmail"
ref. Redmine SMTP 設定
Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE) - 最後のトラブル
Redmine の運用を始めてみると、添付ファイルのアップロードができない。
--
Internal error
An error occurred on the page you were trying to access.
If you continue to experience problems please contact your redMine
administrator for assistance.
--
production.log も出ていない...(最後になってもうダメか;;)
この問題は Redmine の config/environment.rbのオーナーを vmail(展開時の既定値)から MySQL のcreate user 文で生成したユーザーに変更したら解決した。
※Redmine コミュニティのお世話になってしまった。
Commenti
Posta un commento