CentOS 6 編譯安裝subversion-1.8.10+Apache2.4

只是記錄下安裝過程,方便下次直接拷貝,省的在去查找一些選項。python

CentOS6安裝完成後自帶的有Apache2.2和subversion1.6,那咱們就先來看系統自帶的如何配置:sql

1、用系統自帶的Apache和svn配置apache

一、添加svn用戶vim

# useradd -r -s /sbin/nologin svn

二、配置Apache的配置文件
瀏覽器

# mkdir -pv /www/svnroot/                          # 爲svn創建庫目錄
# chown -R svn.svn /www/svnroot/                   # 更改權限
# cd /etc/httpd/conf.d                             # 編輯配置文件
# vim subversion.conf
	LoadModule dav_svn_module     modules/mod_dav_svn.so
	LoadModule authz_svn_module   modules/mod_authz_svn.so
	<Location /svn/>		           # 定義訪問是的路徑;例如http://IP/svn
	   DAV svn		
	   SVNParentPath /www/svnroot		   # SVN的庫路徑
	   SVNListParentPath on		           # 容許列出目錄
	   AuthzSVNAccessFile /www/svnroot/authz   # 認證文件
	   #RedirectMatch ^(/svn)$ $1/ 				
		  AuthType Basic		   # 基本認證
		  AuthName "Subversion Auth"	   # 認證提示信息
		  AuthUserFile /www/svnroot/password	# 認證密碼文件
		  Require valid-user			# 必須爲有效的用戶
	</Location>

# service httpd start

三、建立版本庫並測試:ide

# cd /www/svnroot
# svnadmin create platform
# chown -R svn.svn *
# cp platform/conf/authz .
# vim authz
	[aliases]
	# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

	[groups]				# 定義組
	group_platform_admin = admin		# 組內成員

	[/]					# 根目錄全部用戶的瀏覽權限
	* = r

	[platform:/]				# 每一個版本庫的對應權限
	@group_platform_admin = rw		# 權限

# htpasswd -c password admin			# 生成密碼文件和添加用戶

到此,就能夠正常訪問了。

此時能夠在瀏覽器裏輸入地址訪問,也能夠是用客戶端訪問。svn


2、源碼編譯安裝測試

一、解決依賴包ui

yum -y install pcre-devel perl-ExtUtils-Embed perl perl-devel
yum -y remove subversion


二、下載須要的源碼包rest

apr-1.5.1.tar.bz2
apr-util-1.5.4.tar.bz2
httpd-2.4.12.tar.gz
sqlite-autoconf-3080802.zip
subversion-1.8.10.tar.bz2
zlib-1.2.8.tar.gz
expat-2.0.1.tar.gz

三、編譯

apr
./configure --prefix=/usr/local/apr
make && make install

apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make && make install

httpd-2.4.12
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event --enable-proxy --enable-proxy-fcgi --enable-dav --enable-dav-fs --enable-maintainer-mode
make && make install
# 編譯完成後添加環境變量:
vim /etc/profile.d/apache.sh
	export PATH=/usr/local/apache/bin/:$PATH
. /etc/profile.d/apache.sh		# 生效

expat
./configure
make && make install

sqlite
./configure --prefix=/usr/local/sqlite --enable-libtool-lock
make && make install

subversion
./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-apxs=/usr/local/apache/bin/apxs --with-apache-libexecdir --with-sqlite=/usr/local/sqlite/ --with-openssl --enable-maintainer-mode
make && make install
# 編譯完成後添加環境變量:
vim /etc/profile.d/svn.sh
	export PATH=/usr/local/svn/bin/:$PATH
. /etc/profile.d/svn.sh  		#生效

以上編譯過程請注意是否有報錯,若是有報錯,解決後在進行下一步的安裝操做。


四、配置Apache

# 在Apache編譯完成後,因爲系統自帶的Apache是不須要卸載的,直接到/etc/init.d/目錄下。
cd /etc/init.d/
cp httpd{,.bak}	
vim httpd
	apachectl=/usr/local/apache/bin/apachectl
	httpd=${HTTPD-/usr/local/apache/bin/httpd}
	prog=httpd
	pidfile=${PIDFILE-/var/run/httpd/httpd.pid}
	lockfile=${LOCKFILE-/var/lock/subsys/httpd}
# 把這個幾個對應的路徑改一改,pidfile在配置文件中要定義下路徑,並把error log的路徑也寫全了,這樣方便排錯

# 而後在配置文件中添加以下行:
在LoadModule裝載的路徑後面添加下面兩行:
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

# 注意:把啓動的用戶和組改爲SVN使用的用戶和組,不然沒有寫權限,或者把SVN的目錄的屬主屬組更改成運行Apache的也行。

# 在其餘位置添加以下:
<Location /svn/>
    DAV svn
    SVNParentPath /data/svn
    AuthzSVNAccessFile /data/svn/authz
    #SVNListParentPath on
    AuthType Basic
    AuthName "Subversion Auth"
    AuthUserFile /data/svn/password
    Require valid-user
</Location>

# service httpd restart

五、配置svn的庫以及認證文件,如第一個配置是同樣的。


六、訪問測試

wKioL1TYWqiBo1xxAAD2pQqPPL8812.jpg

wKiom1TYWbbSm7KwAADtNnX5iVU623.jpg

測試如上。客戶端訪問也是同樣的。

相關文章
相關標籤/搜索