IMPOV::In My Point Of View

仕事、SEO、ウェブマーケティング、時事問題、健康、生き方などなど、書きたいことを勝手に書き倒しているブログです。とどのつまり「便所の落書き」

RedmineとSVNのインストール(初心者がさくらのVPSを立ち上げるまで - その13)

Redmineのインストール

公式ページ(Redmine 2.4をCentOS 6.4にインストールする手順 | Redmine.JP Blog)をみながらインストールすればよいが、ここまでインストールしてきたものと重複もあるので、作業自体は下記の通りでそれほど多くない。

準備

ImageMagickyamlなどをインストールする。

su -
yum -y install ImageMagick ImageMagick-devel curl-devel libyaml-devel
yum -y install --enablerepo=remi,rpmforge mysql-devel

作業用ユーザーにもどり、gem bundlerをインストール

exit #作業用ユーザーに戻る
gem install bundler --no-rdoc --no-ri

MySQLRedmine用のDBを作成。

mysql -uroot -p

mysql> create database db_redmine default character set utf8;
mysql> grant all on db_redmine.* to user_redmine identified by 'パスワード';
mysql> flush privileges;
mysql> exit;

インストール

公式サイトの記事を見ながら進めれば問題ない。

アクセス制限・Digest認証(またはBasic認証)

インストールが終わったら、Redmineへのシンボリックリンクを置いたVirtualHostの設定ファイルを開いてDigest認証(またはBasic認証)をセットする。

redmine のディレクトリは、公開ディレクトリ配下には無いので、Location ディレクティブを使用しないとうまくいかない。

下記の例では、phpmyadmin や、後ほどインストールする awstats などにも同じ認証を掛けるため、チルダ(~)をつけて、正規表現で3つのディレクトリを同時に設定している。

    <Location ~ "/(phpmyadmin|redmine|awstats)/">
        AuthType Digest
        AuthUserFile /etc/httpd/.htpasswd
        AuthName "Please Enter Password"
        Require valid-user
    </Location>

SVNの設定

yum install subversion #既にインストール済みのはず
yum install mod_dav_svn

#davが必要なので、httpd.confでモジュールがロードされているか確認
#なければ追加する
vim /etc/httpd/conf/httpd.conf

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

#ディレクトリを作成
mkdir /var/www/svn

#リポジトリの作成
svnadmin create /var/www/svn/repo

#repo以下のすべてのファイルの所有者/グループをapacheに変更
chown -R apache:apache /var/www/svn/repo/
chmod -R u+rw /var/www/svn/repo

#http設定ファイルを開き、全行コメントアウトする
vim /etc/httpd/conf.d/subversion.conf

#    <location /svn>
#       DAV svn
#       SVNParentPath /var/www/svn
#       SVNAutoversioning on
#      # Limit write permission to list of valid users.
#      #<LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#        AuthType Digest
#        AuthName "Please Enter Password"
#        AuthUserFile /etc/httpd/.htpasswd
#        AuthzSVNAccessFile /etc/svn/svnusers
#        Require valid-user
#      #</LimitExcept>
#     </Location>

#VirtualHostの設定ファイルに上の設定から必要な部分を写し保存する
    <location /svn>
        DAV svn
        SVNParentPath /var/www/svn
        SVNAutoversioning on
        AuthType Digest
        AuthName "Please Enter Password"
        AuthUserFile /etc/httpd/.htpasswd
        AuthzSVNAccessFile /etc/svn/svnusers
        Require valid-user
    </Location>


#httpdを再起動
service httpd restart


#アクセス権限を設定する
vim /etc/svnusers


[repo:/]
ユーザー名=rw

これで、http://ホスト名/svn/リポジトリ名 でアクセス可能なはず。

ポイントは、VirtualHostを使用する場合には /etc/httpd/conf.d/subversion.conf をそのまま使わないことだ。特定のドメインのみからしかリポジトリにアクセスできないように、VirtualHostの設定の方に Location ディレクティブを書き込む。

TortoiseSVNからのアクセスも、Digest認証(またはBasic認証)のユーザー名とパスワードを入力してリポジトリブラウザで確認できる。

Digest認証

Digest認証(もしくはBasic認証)のパスワードファイルの作成や設置方法は通常の方法と変わらないが念のためDigest認証のコマンド例のみ記す。

#パスワードファイルを作成する(最初の一回のみ)
/usr/bin/htdigest -c /etc/httpd/.htpasswd 'Please Enter Password' username

#所有者とパーミッションの変更
chown apache:apache /etc/httpd/.htpasswd
chmod 600 /etc/httpd/.htpasswd

#ユーザーの追加
/usr/bin/htdigest /etc/httpd/.htpasswd 'Please Enter Password' username

#パスワードの変更
/usr/bin/htdigest /etc/httpd/.htpasswd 'Please Enter Password' username

#ユーザーの削除-パスワードファイルを開いて該当行を削除
vim /etc/httpd/.htpasswd

目次

一連の記事の目次は、以下のページにあります。
初心者がさくらのVPSを立ち上げるまで - その1