安裝所用的軟件
apr版本
http://archive.apache.org/dist/apr/apr-1.4.8.tar.gz
apr-util版本
http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz
apache版本
http://archive.apache.org/dist/httpd/httpd-2.4.6.tar.gz
subversion版本for apache
http://archive.apache.org/dist/subversion/subversion-1.8.3.tar.gz
一、apr的安裝
tar zvxf apr-1.4.8.tar.gz -C /usr/src/
cd /usr/src/apr-1.4.8/
./configure --prefix=/usr/local/apr
make && make install
二、apr-utl的安裝
tar zvxf apr-util-1.5.2.tar.gz -C /usr/src/
cd /usr/src/apr-util-1.5.2/
./configure --with-apr=/usr/local/apr/
make && make install
三、apache的安裝
tar zvxf httpd-2.4.6.tar.gz -C /usr/src/
cd /usr/src/httpd-2.4.6/
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-utl=/usr/local/apr/bin/apu-1-config --enable-so --enable-dav
#需要安裝pcre 本人使用自帶的pcre,pcre默認自己安裝 同時需要安裝pcre-devel
#yum install -y pcre-devel
make && make install
#啓動測試apache
/usr/local/apache/bin/apachectl start
elinks http:localhost --dump #出現 It works 即apache安裝成功
四、subversion的安裝
tar zvxf subversion-1.8.3.tar.gz -C /usr/src/
cd /usr/src/subversion-1.8.3/
./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-openssl --with-zlib
#安裝報錯需要sqlit 根據提示下載http://www.sqlite.org/sqlite-amalgamation-3071501.zip
#unzip sqlite-amalgamation-3071501.zip -d /usr/src/subversion-1.8.3/
#將解壓的文件改名
#cd /usr/src/subversion-1.8.3/
#mv sqlite-amalgamation-3071501/ sqlite-amalgamation/
#再重新運行configure
#如果還有警告應該就是沒有安裝openssl和zlib yum install openssl openssl-devel zilb zilb-devel -y
make && make install
#查看svn安裝是否成功
/usr/local/svn/bin/svnserve --version
五、創建svn庫
mkdir -pv /svn/repos
/usr/local/svn/bin/svnadmin create /svn/repos/www #創建倉庫www
#模擬實際項目
mkdir /shell
vim /shell/a.sh
#!/bin/bash
echo "hello"
#將shell項目導入倉庫www
/usr/local/svn/bin/svn import /shell file:///svn/repos/www -m "my shell project"
成功會顯示
正在增加 (二進制) /shell/a.sh
提交後的版本爲 1。
六、配置apache支持svn
vim /usr/local/apache/conf/httpd.conf
將這一行的#去掉:LoadModule dav_module modules/mod_dav.so
在下面添加這兩行指定apache的svn模塊路徑
LoadModule dav_svn_module /usr/local/svn/libexec/mod_dav_svn.so
LoadModule authz_svn_module /usr/local/svn/libexec/mod_authz_svn.so
這一行的#也去掉 LoadModule dav_fs_module modules/mod_dav_fs.so
在末尾添加svn路徑
<Location /svn>
DAV svn
SVNParentPath /svn/repos #倉庫主目錄
SVNListParentPath on #此行打開可以看見主目錄的所有倉庫,可以省略
AuthType Basic #連接類型設置基本驗證
AuthName "Hello welcome to here" #驗證時的歡迎信息
AuthUserFile /svn/passwd #驗證的用戶及密碼文件
AuthzSVNAccessFile /svn/auth.conf #驗證的權限文件
Require valid-user #聲明用戶密碼文件的有效用戶訪問
</Location>
之後重啓apache
/usr/local/apache/bin/apachectl restart
在瀏覽器中輸入http://192.168.18.6/svn/www 提示輸入用戶及密碼下面設置用戶及密碼,權限
七、配置svn訪問權限
1、創建用戶密碼
/usr/local/apache/bin/htpasswd -c /svn/passwd tom
#-c是創建文件 即使用htpasswd創建的用戶保存到passwd中,第二次創建用戶就不需要-c了
#例/usr/local/apache/bin/htpasswd /svn/passwd jack
#回車後輸入密碼,即創建用戶密碼成功
2、編輯權限
vim /svn/auth.conf
[groups] #編輯權限組
admin = tom #組都包括哪些組員
develop = jack
[/] #所有倉庫的根目錄下的權限
* = r #*代表所有,任何人都可以讀
[www:/] #倉庫www的權限
tom = rw #用戶tom的權限
@develop = r #組權限設置,在組前加@
八、所有設置好後重啓apache和啓動svn
1、/usr/local/apache/bin/apachectl restart
2、啓動svn
/usr/local/svn/bin/svnserve -d -r /svn/repos/
#-d 參數表示以進程模式運行 -r 指定倉庫目錄
如何重啓可以這樣
killall svnserve
/usr/local/svn/bin/svnserve -d -r /svn/repos/
3、測試在瀏覽器中輸入http://192.168.18.6/svn/www
輸入用戶名和密碼即可看見www倉庫內容
4、同樣可以使用TortoiseSVN連接