Software Installation list:
MySQL 5.0.22
Apache 2.0.59
Php-5.1.1
Subversion-1.4.4
Mod_auth_mysql-3.0.0
Php-Pear
Httpd-2.0.59
./Configure -- prefix =/VDS/apps/apache2_svn -- With-MPM = worker -- enable-so -- enable-Dav -- With-SSL -- With-Port = 8091
Make & make install
Mod_auth_mysql-3.0.0
/VDS/apps/apache2_svn/bin/apxs-CIA-L/usr/lib/MySQL-I/usr/include/MySQL-lmysqlclient mod_auth_mysql.c
Error: apxs: Error: Command failed with rc = 65536.
Edit mod_auth_mysql.c, which contains about 111 rows.
Change # include <MySQL/MySQL. h> to the following to solve the problem (/usr/local/MySQL is the installation path of my MySQL and you can change it by yourself)
# Include </usr/local/MySQL/include/MySQL. h>
Subversion-1.4.4
Subversion-deps-1.4.4
. /Configure -- prefix =/VDS/apps/SVN -- With-apxs =/VDS/apps/apache2_svn/bin/apxs -- With-SSL -- With-zlib -- enable-maintainer-Mode
The following prompt appears:
Configure: warning: we have configured without bdb filesystem support
You don't seem to have Berkeley DB version 4.0.14 or newer
Installed and linked to APR-UTIL. We have created makefiles which
Will build without the Berkeley dB back-end; your repositories will
Use fsfs as the default back-end. You can find the latest version
Berkeley dB here:
Http://www.sleepycat.com/download/index.shtml
We ignore this because we do not use the bdb database.
Make & make install
Php-5.1.1
./Configure -- prefix =/VDS/apps/PHP -- with-apxs2 =/VDS/apps/apache2_svn/bin/apxs -- With-MySQL
PHP installation errors and troubleshooting methods
Error 1: Configure: Warning: bison versions supported for regeneration of the Zend/PHP parsers: 1.28 1.35 1.75 1.875 2.0 2.1 (found: none ).
Checking for flex... Lex
Checking for yywrap in-ll... no
Checking Lex output file root.../configure: Line 3238: Lex: Command not found
Configure: Error: cannot find output from lex; giving up
Solution: Install the flex-2.5.4a-33.i386.rpm package on 2nd Disks
Error 2: Sorting extensions
Checking whether to enable libxml support... yes
Checking libxml2 install dir... no
Check for xml2-config path...
Configure: Error: xml2-config not found. Please check your libxml2 installation.
Solution: Install libxml2-2.6.16-6.i386.rpm libxml2-devel-2.6.16-6.i386.rpm in 1st, 2 Disks
Make & make install
Cp php. ini-Dist // VDS/apps/PHP/lib/PHP. ini
Modify httpd. conf addtype application/X-httpd-PHP. php
InstallSvnmanager
PreparationSvnmanagerSource codePackage (Svnmanager-1.03.tgz ):
:
Http://jaist.dl.sourceforge.net/sourceforge/Svnmanager/Svnmanager-1.03.tgz
Decompress the file to the web directory:
Currently, the latest version is 1. 03. The date is 10.9 updated.
Wget http://pear.php.net/go-pear
PHP go-pear install the SDK step by step as prompted.
Finally, you can select the File Installation path and set it according to your habits. I usually install it in a fixed directory.SvnmanagerYou need to install versioncontrol_svn through PHP-pear to connect the machine to the Internet.
Pear install -- alldeps VersionControl_SVN-0.3.0alpha1
Put the downloaded pear in the install directory temp/download/VersionControl_SVN-0.3.0alpha1 directory
# Under the CP VersionControl_SVN-0.3.0alpha1 web directorySvnmanager/
# Music VersionControl_SVN-0.3.0alpha1 versioncontrol Renamed
IsSvnmanagerCreate access users and databases
I am not familiar with MySQL command operations. I usually use phpMyAdmin to operate databases.
# Mysql-u root-P
Mysql> Create Database SVN;
Mysql> grant all privileges on SVN. *'Svnmanager'@ 'Localhost' identified by' [access user password] ';
Mysql> flush privileges; // make the new user take effect. Many users on the Internet write the incorrect flush prifileges.
Mysql> quit;
Add permission Configuration
Add the following content to/etc/httpd/CONF/httpd. conf:
<Location/repos>
Dav SVN
Svnparentpath/var/SVN/Repos
Authtype basic
Authname "Subversion realm"
Authuserfile/var/SVN/passwdfile
Authzsvnaccessfile/var/SVN/accessfile
Require valid-user
</Location>
Add the following content to HTTP permission control to enhance security control.
<Directory "/var/www/html/Svnmanager/">
AllowOverride none
Order deny, allow
Deny from all
Allow from all
</Directory>
Create two empty files passwdfile and accessfile and repos under the/var/SVN directory.
Execute the following statement to create:
# Touch/var/SVN/passwdfile
# Touch/var/SVN/accessfile
# Chown SVN: SVN/var/SVN/passwdfile
# Chown SVN: SVN/var/SVN/accessfile
# Mkdir/var/SVN/Repos
# Chown-r SVN: SVN/var/SVN/Repos
ConfigurationSvnmanagerConfigure according to your actual path
In/var/www/html/ Svnmanager The configuration information in the/config. php file is as follows:
$ Htpassword_cmd = "/usr/bin/htpasswd ";
$ Svn_cmd = "/usr/bin/SVN ";
$ Svnadmin_cmd = "/usr/bin/svnadmin ";
$ Svn_repos_loc = "/var/SVN/repos ";
$ Svn_passwd_file = "/var/SVN/passwdfile ";
$ Svn_access_file = "/var/SVN/accessfile ";
$ Smtp_server = "smtp.domain.org ";
$ DSN = "MYSQL ://Svnmanager: Password @ localhost/SVN ";
// Administrator Account
$ Admin_name = "admin ";
$ Admin_temp_password = "admin ";
Start Apache and MySQL
Open http: // 127.0.0.1/SvnmanagerThe 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.
Finished.
Error 1: SVN: Can't open file '/root /. subversion/Server ': insufficient permissions (CMD:/usr/bin/SVN list -- non-interactive file: // var/www/repos/test) command used: /usr/bin/SVN list -- non-interactive file: // var/www/repos/test
Solution: InSvnmanagerIn config. php
$ Svn_config_dir = '/tmp ';
Row 240 in userprivilegeseditpage. php and groupprivilegeseditpage. php
$ Switches = array (); Replace with $ switches = array ('config _ dir' => $ svn_config_dir );
Error 1:SvnmanagerIt is an empty directory during creation, but no error is reported !!!
Solution: InSvnmanagerConfig. php to modify $ svnadmin_cmd; for example: $ svnadmin_cmd = "/usr/bin/svnadmin -- config-DIR/tmp ";
SolutionSvnmanagerSome errors
A. If you are prompted that the email address is invalid when adding a user, modify the PHP file to solve the problem:
VI/usr/local/apache2/htdocs/Svnmanager/Svnmanager/Usermodule/addpage. TPL
Delete the row for email address verification:
<COM: temailaddressvalidator controltovalidate = "email" display = "dynamic"> invalid e-MailAddress! </COM: temailaddressvalidator>
B. InstallationSvnmanagerThen, the following situation occurs:
The created version library is empty.
An error occurs when editing user permissions and group permissions,
For example, error 1: SVN: Can't check path '/var/www /. subversion': insufficient permissions (CMD:/usr/bin/SVN list -- non-interactive [url = file: // var/www/repos/test] file: /// var/www/repos/test [/url]) command used:/usr/bin/SVN list -- non-interactive [url = file: /// var/www/repos/test] File: // var/www/repos/test [/url]
Error 2: Parse error: syntax error, unexpected t_encapsed_and_whitespace, expecting t_string or t_variable or t_num_string in/usr/local/apache2/htdocs/Svnmanager/Svnmanager/Repositorymodule/userprivilegeseditpage. php on line 223.
Solution: InSvnmanagerIn config. php
$ Svn_config_dir = "/tmp ";
$ Svnadmin_cmd = "/usr/bin/svnadmin -- config-DIR/tmp ";
Set ./Svnmanager/Repositorymodule/
Userprivilegeseditpage. php's 249 rows
And line 243 in groupprivilegeseditpage. php
Replace $ switches = array (); with $ switches = array ('config _ dir' => $ svn_config_dir );