安裝的套件有subversion、apache2、libapache2-svn這三個,後面兩個是為了讓使用者可以從網路checkout檔案才需要的,如果你只要主機使用,那麼就只要前面那個就可以了
首先使用apt安裝那三個套件,這就不用多說了,麻煩一點的是安裝apache2的ssh套件,讓我們可以使用https,避免資料被竊取的危險,如果不需要就跳過底下的步驟(底下的步驟建議使用root來執行會比較方便一點)
安裝openssl套件
mkdir /etc/apache2/ssl
產生金鑰openssl req -new -x509 -nodes -out /etc/apache2/ssl/apache.crt -keyout /etc/apache2/ssl/apache.key
載入模組a2enmod ssl
修改/etc/apache2/ports.conf加上Listen 443
修改/etc/apache2/sites-available/default
加上
NameVirtualHost *:443
<>
DocumentRoot /var/www/https/
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
<>
DAV svn
SVNPath /svn_reposirty
< /location>
< /virtualhost>
重新啟動apache2
如果你覺得SVN server不是對一般人開放,必須要管理機制的話,就是PAM囉,如果不需要認證管理,底下步驟也可以跳過
groupadd dev
adduser www-data dev
adduser [your account] dev
chown -R root:dev myproject
chmod -R g+rws myproject
a2enmod dav_svn
a2enmod auth_pam
a2enmod auth_sys_group
在剛剛location tag內
AuthType Basic
AuthName "Subversion myproject Realm"
require group dev
我注重於一般command line下如何運作,如果說是gui的client就留給網友自行實驗囉,所以底下都是command line在svn server下執行的動作
接著請挑選一個目錄才建立你的svn repository(假如我是放到/root/projects目錄底下)
svnadmin create /root/projects
如果手邊已經有要放到svn server上的目錄就用import會比較方便,我是在主機上操作
svn import doc_dir file:////roots/projects
然後可以選擇任一個使用者,試著把這個目錄checkout出來看看
svn checkout file:////roots/projects/doc_dir
最後要說一句,在ubuntu上面的apache還真有許多小陷阱,蠻討厭的
沒有留言:
張貼留言