前面的文章有寫過svn版本管理工具的安裝是基於svn的安裝包進行安裝,對於svn與apache的結合還得下svn和apache的模塊進行結合過程比較繁瑣,今天來介紹下經過centos的yum來安裝svn可以快速安裝svn,安裝過程大體分紅4個部分:一、svn的安裝和版本庫的創建,二、apache的安裝和配置,三、svnmanager的安裝和配置 四、mysql的安裝。若是不須要安裝svnmanager進行管理svn只須要安裝1和2過程便可。let's do it...
1、svn的安裝和版本庫的創建
一、安裝軟件
yum install subversion mysql-server httpd mod_dav_svn mod_perl sendmail wget gcc-c++ make unzip perl* ntsysv vim-enhanced httpd php php-mysql php-pear php-mbstring
二、建立svn倉庫和修改配置
mkdir /home/svn
svnadmin create /home/svn/project
修改svnserve.conf、authz、passwd文件以下:
vi /home/svn/project/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /home/svn/project/conf/passwd
authz-db = /home/svn/project/conf/authz
vi /home/svn/project/conf/authz
[groups]
[project:/]
zhangyaowen = rw
vi /home/svn/project/conf/passwd
[users]
zhangyaowen=zhangyaowen
配置完畢能夠啓動測試svn安裝是否成功
啓動svn:svnserve -d -r /home/svn
ps -aux|grep svnserve
關閉 kill -9 ID號
訪問地址:
http://172.30.11.46/project
2、配置apache
修改/etc/httpd/conf.d/php.conf
#add by wen
<Location /svn>
DAV svn
SVNPath /home/svn/
AuthType Basic
AuthName "svn for project"
AuthUserFile /home/svn/project/conf/httpPwd
AuthzSVNAccessFile /home/svn/project/conf/authz
Satisfy all
Require valid-user
</Location>
修改/home/svn目錄所屬用戶和所屬組
建立文件 touch /home/svn/project/conf/httpPwd
chown -R apache:apache /home/svn
啓動apache並驗證svn
service httpd start
http://172.30.11.46/project
經過http命令添加用戶名和密碼:htpasswd /home/svn/project/conf/httpPwd zhangyaowen 而後在輸入一次密碼zhangyaowen便可
3、安裝和配置svnmanager
下載svnmanager解壓並放置到/var/www/html/下
配置/etc/httpd/conf/httpd.conf
#add by zhangyaowen svnmanager
<Directory "/var/www/html/svnmanager/">
AllowOverride None
Order deny,allow
Deny from all
Allow from all
</Directory>
4、 建立svnmanager database
一、修改配置,若是不須要修改能夠忽略此步驟:
使用的mysql數據庫 若是不用修改mysql的數據保存目錄直接啓動建立svnmanager用戶和密碼便可若是有須要修改mysql的my.cnf目錄能夠作一下配置:
datadir=/app/mysql
socket=/app/mysql/mysql.sock
[mysqld]
datadir=/app/mysql
socket=/app/mysql/mysql.sock
[mysql]
socket=/app/mysql/mysql.sock
[client]
socket=/app/mysql/mysql.sock
[mysqldump]
socket=/app/mysql/mysql.sock
[mysqladmin]
socket=/app/mysql/mysql.sock
其中socket等於的路徑就是socket文件的位置,咱們只要修改my.cnf文件,告訴mysql,mysqldump,mysqladmin等mysql服務的socket位置在哪裏就能夠。在/etc/my.cnf文件中添加以下內容,並重啓mysqls服務,便可解決mysql,mysqldump,mysqladmin的「Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'」問題。若是咱們是經過php去連接mysql因此還須要修改/etc/php.ini鏈接配置svnmanager用的是mysqli進行鏈接mysql因此修改以下:
vi /etc/php.ini,找到mysqli.default_socket = ""這一行修改成mysqli.default_socket = "/app/mysql/mysql.sock"
二、啓動數據庫
service mysqld restart
mysqladmin -u root password 123456 建立用戶初始化密碼
mysql -uroot -p 123456 登陸mysql
建立數據庫
mysql -uroot -p
執行
create database svn;
grant all on svn.* to svnmanager@localhost identified by "svnmanager123456";
flush privileges;
quit;
三、修改php配置:
vim /var/www/html/svnmanager/config.php
$htpassword_cmd = "/usr/bin/htpasswd";
$svn_cmd = "/usr/bin/svn";
$svnadmin_cmd = "/usr/bin/svnadmin";
//Subversion locations
$svn_config_dir = "/home/svn/project/conf";
$svn_repos_loc = "/home/svn";
$svn_passwd_file = "/home/svn/project/conf/httpPwd";
$svn_access_file = "/home/svn/project/conf/authz";
$svn_trash_loc = "/app/trash";
$svnserve_user_file="";
$smtp_server = "smtp.126.com";
$dsn = "mysqli://svnmanager:svnmanager123456@localhost/svn";
$admin_name = "admin";
$admin_temp_password = "admin";
重啓apache service httpd restart
訪問:http://172.30.11.46/svnmanager,首次登錄用戶名密碼爲admin
http://172.30.11.46/svn/project
參考:https://note.youdao.com/share/?id=0d013f5bc29ca0f63c1c14a3b86ce661&type=note#/php