iF.SVNAdmin 是一個基於 Web 的,用來管理 Subversion 的認證文件的項目。無需數據庫支持,直接對 Subversion 的認證文件和用戶認證文件進行設置,支持 LDAP,同時也能夠用來建立和刪除版本庫,以及對版本庫進行瀏覽。php
說來慚愧,用了將近半個月時間才完成整個安裝過程。想一想多是對linux不熟悉,源碼編譯安裝須要的依賴包太多,網上的教程也不靠譜,再加上這個不友好的黑白命令行界面,着實很讓人頭大。其實一開始準備用submin的,可是安裝完後新建倉庫報的一個錯誤拖了好幾天實在解決不了,只能換用iFSVNAdmin。報錯以下,但願有大神能夠給出解決方法。python
如下是正文linux
環境: Centos 7 x64sql
用到的包:apr-1.4.6.tar.gz數據庫
apr-util-1.5.1.tar.gzapache
pcre-8.37.tar.bz2瀏覽器
httpd-2.2.31.tar.bz2svn
libxml2-2.9.1.tar.gz測試
openssl-1.0.0e.tar.gz加密
php-5.3.8.tar.gz
sqlite-autoconf-3130000.tar.gz
subversion-1.8.1.tar.gz
svnadmin-1.6.2.zip
zlib-1.2.8.tar.gz
本例全部tar包都放在/usr/local/src/下,安裝目錄爲/usr/local/
1、建立svn組和用戶
adduser svn
passwd svn
切換到root用戶,在/etc/sudoers文件中找到root ALL=(ALL) ALL,在該行下添加提高權限的用戶信息,如:
root ALL=(ALL) ALL
svn ALL=(ALL) ALL
強制保存退出
2、安裝apache及其依賴包
1.安裝 apr
sudo tar zxvf apr-1.4.6.tar.gz
cd apr-1.4.6
sudo ./configure --prefix=/usr/local/apr
sudo make
sudo make install
2.安裝 apr-util
sudo tar zxvf apr-util-1.5.1.tar.gz
cd cd apr-util-1.5.1/
sudo ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
sudo make
sudo make install
3.安裝 sqlite
sudo tar zxvf sqlite-autoconf-3130000.tar.gz
cd sqlite-autoconf-3130000.tar.gz
sudo ./configure --prefix=/usr/local/sqlite
sudo make
sudo make install
4.安裝 zlib
sudo tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8.tar.gz
sudo ./configure --prefix=/usr/local/zlib
sudo make
sudo make install
5.安裝 prce
sudo tar jxvf pcre-8.37.tar.bz2
cd pcre-8.37/
sudo ./configure --prefix=/usr/local/pcre
sudo make
sudo make install
6.安裝openssl
sudo tar zxvf openssl-1.0.0e.tar.gz
cd openssl-1.0.0e/
sudo ./config --prefix=/usr/local/ssl shared
sudo make depend
sudo make install
7.安裝apache
sudo tar jxvf httpd-2.2.31.tar.bz2
cd httpd-2.2.31
sudo ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-pcre=/usr/local/pcre --with-zlib=/usr/local/zlib --with-ssl=/usr/local/ssl --enable-log-config --enable-log-forensic --enable-logio --enable-env --enable-mime-magic --enable-expires --enable-headers --enable-setenvif --enable-proxy --enable-proxy-http --enable-http --enable-mime --enable-status --enable-autoindex --enable-info --enable-cgi --enable-dir --enable-actions --enable-rewrite --enable-so --enable-module=so --enable-http --enable-dav --enable-maintainer-mode --enable-mods-shared=ALL --enable-ssl
sudo make
sudo make install
3、修改配置文件
1.修改配置文件
sudo vi conf/httpd.conf
添加一行 ServerName 192.168.91.128:80(本機ip)
2.啓動
sudo /usr/local/apache2/bin/apachectl start
在瀏覽器中輸入localhost,出現it works說明安裝成功。
可能出現的問題:
解決方法:
sudo ln -sf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.1.0.0
sudo ln -sf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.1.0.0
4、在apache中配置SVN
1.安裝subversion
sudo tar zxvf subversion-1.8.1.tar.gz
cd subversion-1.8.1.tar.gz
sudo ./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr/bin/apr-1-config --with-zlib=/usr/local/zlib --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-apxs=/usr/local/apache2/bin/apxs --enable-shared --enable-maintainer-mode --enable-mod-activation --with-sqlite=/usr/local/sqlite
sudo make
sudo make install
2.修改配置文件
sudo vi /usr/local/apache2/conf/httpd.conf
找到User、Group修改:
User svn
Group svn
若是看到以下兩行,說明安裝是成功的
定義apache訪問svn:
5、配置svn權限管理
1、創建svn版本庫目錄
sudo mkdir -p /data/svn/repos #能夠多建版本庫目錄
2、創建svn版本庫
sudo svnadmin create /data/svn/repos
3、創建本地訪問控制文件,第一次建立加 -c 參數,就是第一次沒有passwd.conf文件, "-c"參數不是建立passwd.conf文件
sudo mkdir /home/svn/svnpasswd
/usr/local/apache2/bin/htpasswd -c /home/svn/svnpasswd admin 而後輸入密碼便可,默認是MD5加密的
/usr/local/apache2/bin/htpasswd /home/svn/svnpasswd svnusername 追加用戶
4、創建本地項目控制文件
touch /home/svn/svnaccessfile
本例svnaccessfile內容爲:
注意事項:頂格寫,=號兩邊有空格
6、測試鏈接
1、啓動apache
sudo /usr/local/apache2/bin/apachectl start
2、打開瀏覽器,輸入localhost/svn
出現版本庫說明安裝成功
7、安裝PHP及其依賴包
1.安裝libxml2
sudo tar zxvf libxml2-2.9.1.tar.gz
cd libxml2-2.9.1
sudo ./configure –prefix=/usr/local/libxml2
sudo make
sudo make install
可能出現的錯誤:
解決方法:
make clean && make dclean後從新編譯
可能出現的錯誤2:
緣由:缺乏python-dev依賴包
解決方法:
sudo rpm -ivh python-devel-2.7.5-34.el7.x86_64.rpm
2.安裝php
sudo tar zxvf php-5.3.8.tar.gz
cd php-5.3.8/
sudo ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-libxml-dir= /usr/local/libxml2 sudo make
sudo make test
sudo make install
sudo cp php.ini-development /etc/php.ini
可能遇到的問題:
解決方法:
把php-5.3.8.patch 放在src下
cd php-5.3.8
sudo patch -p0 -b <../php-5.3.8.patch
sudo make
sudo make install
8、安裝iFSVNAdmin
sudo unzip svnadmin-1.6.2.zip -d /usr/local/svnadmin
unzip svnadmin-1.6.2.zip
mv iF.SVNAdmin-1.6.2 svnadmin
cd svnadmin/include/
vi config.inc.php
#找到下段代碼,在下面添加一段代碼
//define("IF_SVNBaseC_ConfigDir", "E:/Development/Test/temp svnadmin/svn-config-dir");
define("IF_SVNBaseC_ConfigDir", "/blubb/edi/blubb");
chown -R svn:svn svnadmin/
修改httpd.conf
重啓apache
sudo /usr/local/apache2/bin/apachectl restart
訪問 localhsot/svnadmin 出現 ifsvnadmin 說明安裝成功
默認用戶名密碼都是admin
登陸後以下,輸入各個配置文件的路徑後點擊Test進行測試是否成功,所有成功後保存配置Save configration:
登陸後以下,能夠看到軟件版本信息、已有的倉庫、用戶、組、權限路徑等:
至此,整個安裝就完成了!