m-namikiの日記

おもしろき こともなき世を おもしろく

インストールメモ

Apache2.2.8とSubversion1.4.6のインストールメモ。ダイジェスト版。ただ、Mac OS Xの話なので、Linuxなどだとまたちょっと違ってくる可能性あり。

cd /usr/local/src
tar zxf http-2.2.8.tar.gz

# aprのインストール
cd http-2.2.8/srclib/apr
./configure --prefix=/usr/local/apr-httpd
make
make install

# apr-utilのインストール
cd ../apr-util
./configure --prefix=/usr/local/apr-util-httpd --with-apr=/usr/local/apr-httpd
make
make install

# httpdのインストール
cd ../../
./configure --prefix=/usr/local/apache2 --enable-mods-shared=all
make
make install

# Subversionのインストール
cd ../
tar zxf subversion-1.4.6.tar.gz
tar zxf subversion-deps-1.4.6.tar.gz
cd subversion-1.4.6
./configure --prefix=/usr/local/subversion \
    --with-apr=/usr/local/apr-httpd \
    --with-apr-util=/usr/local/apr-util-httpd \
    --with-apx=/usr/local/apache2 \
    --without-berkeleydb
make
make install

# Apache用Subversionモジュールのコピー(何故ここなのか不明)
cp /usr/libexec/apache2 mod_dav_svn.so /usr/local/apache2/modules/
cp /usr/libexec/apache2 mod_authz_svn.so /usr/local/apache2/modules/

# httpd.confの編集
vi /usr/local/apache2/conf/httpd.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
:
:
Include conf/extra/httpd-subversion.conf

# subversion.confの編集
vi /usr/local/apache2/conf/extra/httpd-subversion.conf
# Subversion Repository
<Location /svn/repos>
        DAV svn
        SVNParentPath /Users/masa1824/svn/repos
        AuthType Basic
        AuthName "Subversion Authentication Realm"
        AuthUserFile /Users/masa1824/svn/conf/svn.repos.passwd
        AuthGroupFile /Users/masa1824/svn/conf/svn.repos.group
        # Limit write permission to list of valid users.
        <LimitExcept GET PROPFIND OPTIONS REPORT>
                Require group svn_commiters
        </LimitExcept>
        <Limit GET PROPFIND OPTIONS REPORT>
                Require group svn_commiters
                Require group svn_readers
        </Limit>
</Location>

# BASIC認証用パスワードファイルの作成
/usr/local/apache2/bin/htpasswd -c /Users/masa1824/svn/conf/svn.repos.passwd masa1824
/usr/local/apache2/bin/htpasswd /Users/masa1824/svn/conf/svn.repos.passwd hoge

# グループファイルの作成
vi /Users/masa1824/svn/conf/svn.repos.group
svn_commiters: masa1824
svn_readers: hoge

# リポジトリの作成
svnadmin create --fs-type fsfs /Users/masa1824/svn/repos/
svn mkdir file:///Users/masa1824/svn/repos/trunk -m "make trunk"
svn mkdir file:///Users/masa1824/svn/repos/tags -m "make tags"
svn mkdir file:///Users/masa1824/svn/repos/branches -m "make branches"

# apacheの起動
/usr/local/apache2/bin/apachectl start