Subversion on apache22

安裝 Apache

  1. cd /usr/ports/www/apache22
  2. make WITH_AUTH_MODULES=yes WITH_DAV_MODULES=yes WITH_SSL_MODULES=yes WITH_BERKELEYDB=db42 install clean
  3. # SVN 會使用到 bdb4, 所以 apache 在此要一起裝起來

安裝 Subversion

  1. cd /usr/ports/devel/subversion
  2. make -DWITH_SVNSERVE_WRAPPER -DWITH_MOD_DAV_SVN -DWITH_APACHE2_APR install clean
  3. 讓 svn 支援 apache22 的 DAV_MODULES

設定 SVN 基本環境目錄

  1. mkdir -p /home/www/svn/repository/PROJECT_NAME # 路徑自行決定後再更改即可.
  2. mkdir -p /home/www/etc # 來放 svn 所需要的設定檔
  3. svnadmin create /home/www/svn/repository/PROJECT_NAME # svn 初始化
  4. chown -R www:www /home/www/svn/repository/PROJECT_NAME
  5. chown -R www:www /home/www/etc

設定 Apache2

LoadModule dav_svn_module libexec/apache22/mod_dav_svn.so
LoadModule authz_svn_module libexec/apache22/mod_authz_svn.so

<Directory />
# AllowOverride None
# Order deny,allow
# Deny from all
AllowOverride All
Order allow,deny
Allow from All
</Directory>

設定 virtual host and SVN

<VirtualHost *:80>
DocumentRoot /home/www/svn/repository
ServerName VIRTUAL_HOSTNAME
ErrorLog /var/log/httpd/svn.VIRTUAL_HOSTNAME-error_log
CustomLog /var/log/httpd/svn.VIRTUAL_HOSTNAME-access_log combined
<Location /svn>
DAV svn
# 注意, 這邊要用 SVNParentPath(不能放在 config 的後面…不然會一直出現error……………)
SVNParentPath /home/www/svn/repository
# Satisfy Any
AuthType Basic
AuthName “Svn repository”
AuthUserFile /home/www/etc/svn-auth-file
AuthzSVNAccessFile /home/www/etc/svn-access-file
Require valid-user
</Location>
</VirtualHost>

建立帳號

  1. htpasswd -c /home/www/etc/svn-auth-file USER1 # 建立存取帳號
  2. htpasswd /home/www/etc/svn-auth-file USER2 # 第二個以後的帳號記得不要 -c

建立 SVN 權限控制檔案

  • vim /home/www/etc/svn-access-file

[/]
* =

[PROJECT_NAME:/]
USER1 = rw
USER2 = r

設定開機自動啟動 Apache

apache22_enable=”YES”

應該就好了……

http://example.com/svn/PROJECT_NAME/

就可以看到svn 了………….

以上幾乎都是抄…Tsung 大的..
只做了少部份修改……………….

出處

http://plog.longwin.com.tw/my_note-unix/2007/07/18/freebsd_build_svn_2007

About johnpupu

..........
This entry was posted in 有的沒的 and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word