I. Environment
CentOS 6.5x64 Apache/2.2.15 php-5.3.3 mysql-5.1.73
In addition to the above software, there are several packages related to subsequent installation:
Php-mysql
Php-pear
Mod_dav_svn
Install with yum directly
II. Integrate SVN and Apache
1. Create a repository
[[Email protected] ~] # Mkdir-p/home/svn/repos [[email protected] ~] # Svnadmin create/home/svn/repos/test [[email protected] ~] # Chown-R apache: apache/home/svn
2. Configure apache
In the/etc/httpd/conf. d/subversion. conf Directory, view
LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so # use svn in this order.
<Location/svn> DAV svn SVNParentPath/home/svn/repos SVNListParentPath on # This is unique to multiple versions ### Limit write permission to list of valid users. # <limitaskt get propfind options report> # Require SSL connection for password protection. # SSLRequireSSL # AuthType Basic AuthName "subversion repository" AuthUserFile/home/svn/repos/passwdfile AuthzSVNAccessFile/home/svn/repos/accessfile Require valid-user # </LimitExcept> </ location>
3. Create password files and access files
Cd/home/svn/repos
Touch passwdfile accessfile
Chown apache: apache accessfile passwdfile
III. Install and configure svnmanager
1. Download svnmanager
Http://nchc.dl.sourceforge.net/sourceforge/svnmanager/svnmanager-1.03.tgz
Decompress the package and place it under/var/www/html/.
[[Email protected] ~] # Tar svnmanager-1.03.tgz-C/var/www/html/
[[Email protected] html] # ln-sv svnmanager-1.03/svnmanager
2. Install VersionControl_SVN
Remember the php-pear package we mentioned at the beginning. After installing this package, there will be the/usr/bin/pear command. We will use it to install VersionControl_SVN. The latest version is 0.3.1, enter the following command:
# Pear install -- alldeps VersionControl_SVN-0.3.1
3. Add new content to the http. conf file
# Vim/etc/httpd/conf/httpd. conf:
<Directory "/var/www/html/svnmanager/"> AllowOverride None Order deny, allow Deny from all Allow from all </Directory>
4. Create a mysql database used by svnmanager
Mysql> create database svn; mysql> grant all privileges on svn. * to 'svnmanager' @ 'localhost' identified by "123456"; mysql> flush privileges; mysql> quit
5. Change the svnmanager configuration file.
[[Email protected] ~] # Cd/var/www/html/svnmanager
[[Email protected] svnmanager] # cp config. php. linux config. php
[[Email protected] svnmanager] # vim config. php
<? Php /// SVNManager config. php file for Linux based servers // Shell command's $ htpassword_cmd = "/usr/bin/htpasswd"; $ svn_cmd = "/usr/bin/svn "; $ svnadmin_cmd = "/usr/bin/svnadmin"; // Subversion locations $ svn_repos_loc = "/home/svn/repos "; $ svn_passwd_file = "/home/svn/repos/passwdfile"; $ svn_access_file = "/home/svn/repos/accessfile"; // If the following is set, removing a repository will cause it to be // m Oved to this location rather than being deleted. $ svn_trash_loc = ""; // If $ svnserve_user_file is defined, then SVNManager will create a // user/password file suitable for use with SVNSERVE /// When not set, this feature isn' t enabled. /// Warning: When enabled, this mode requires that passwords are stored in the database readable! /// Note: When is feature is enabled later, passwords need to be re-set before they are encoded in // the svnserve user file. //// $ svnserve_user_file = "/var/www/repos/svnserve_passwd_file"; $ svnserve_user_file = ""; // SMTP Server for outgoing mail $ smtp_server = "smtp.mailserver.net "; // Data Source Name (only tested with mysql and sqlite !!) /// Use the createtables. SQL script to build the tables in a mysql database // An empty SQLite database will be automatically generated with the first // startup! /// Please note that if you change the directory for a SQLite database that you // choose a location that is not accessible via web !! // $ Dsn = "mysqli: // svnmanager: [email protected]/svn"; // The following location is not readable from internet by means of. htaccess file // $ dsn = "sqlite: // svnmanager/svnmanager. db "; // Administrator account $ admin_name =" admin "; $ admin_temp_password =" admin "; // If $ post_create_script is defined, then this script/command will be // executed after a repository is created. // When the script/command Is executed the one and only parameter will be // the physical location of the repository. // This might copy a default set of hooks or config files // $ post_create_script = "newrepo-script";?>
6. Verify
Restart apache and enter http: // IP/svnmanager in the browser,
The svn data table is automatically created. After refreshing, enter the username admin and password admin.
Remember to create an administrator account, because the admin account becomes invalid once.
IV. Localization
I cannot find the Chinese package. This is a Chinese version.
1. Change the/etc/php. Ini file and set default_charset = 'gb2312' or default_charset = 'gbk'
2. Change the/etc/httpd/conf/httpd. conf file and set adddefadefacharset GB2312 or adddefacharcharset GB2312.
After restarting apache, you can see the Chinese page.
This article from the "O & M learning Road" blog, please be sure to keep this source http://cg831344.blog.51cto.com/6868324/1574071
CentOS 6.5x64 svnmanager 1.03 installation configuration