做完系统搭建已经好久了,运行还是很不错的,写个大概的步骤和大家分享.有什么问题大家可以交流奥.
Linux主要以CentOS和REDHAT为主,基本上都是用的5,现在用老版本的少了,当然老系统用的还是不少的.
先说说安装的前提条件
Apache\Mysql\PHP这些在安装系统的时候安装上就OK了,如果没安装在系统里rpm安装上就可以了.
1.Subversion部署
首先先来部署Subversion,网络上很多地方介绍要编译安装,其实没有必要.系统安装光盘里有相应的安装介质,如果没有安装,RPM手工安装就好了.
接下来是要做Subversion的系统配置了,在/etc/httpd/conf.d下配置subversion.conf,里边有例子也有说明
DAV svn
SVNParentPath /var/svn/repos/
这是我的一个配置文件(不带权限控制的,带控制的在后边),大家参考吧.既然在配置文件里边给出了SVNParentPath,那就得创建这个目录.创建后,注意:要更改相关的权限 #chown –R apache:apache /var/svn/
又由于RHEL5中引入了SELinux来加安全控制,因此需要对该路径进行赋权。#chcon -R -h -t httpd_sys_content_t /var/svn
为了验证配置的正确性,我们创建一个版本库,若通过Apache可以访问到则证明Apache与Subversion的结合配置正确。
创建版本库:
#svnadmin create /var/svn/repos/testrepos
#chown –R apache.apache /var/svn/repos/testrepos
启动Apache服务:
#service httpd start
访问,若有显示则证明配置通过。
2.安装SVNManager
准备SVNManager源代码包(v0.38):
下载地址:
将文件解压至/var/www/html下:
#tar –xvzf svnmanager-0.38.tar.gz
#mv svnmanager-0.38 /var/www/html/
(最好下最新的SVNManager,老版本还是有bug的)
3.安装SVNManager需要的组件
该模块SVNManager需要通过php-pear安装。执行下面的指令检查是否已经安装php-pear组件。
# rpm -qa|grep php-pear
若安装了组件,将显示组件名称。当未安装时,请从安装光盘中找出php-pear的rpm包,利用以下指令进行安装:
#rpm –ivh xxxx.rpm
在完成php-pear的安装后,将机器连接至互联网,执行以下指令安装VersionControl_SVN模块,当前VersionControl_SVN的最新版本为VersionControl_SVN-0.3.0alpha1。
#pear install --alldeps VersionControl_SVN-0.3.0alpha1
由于要通过php访问mysql数据库,一定要保证系统中已经部署了php-mysql组件。执行下面的指令检查是否已经安装php-mysql组件。
# rpm -qa|grep php-mysql
若安装了组件,将显示组件名称。当未安装时,请从安装光盘中找出php-mysql的rpm包,利用以下指令进行安装:
#rpm –ivh xxxx.rpm
4.为SVNManager创建数据库
为SVNManager创建访问用户及数据库:
#mysql –u root –p
Mysql>create database svnmanager;
Mysql>grant all privileges on svnmanager.* to identified by ‘[访问用户密码]’;
Mysql>flush prifileges;
Mysql>quit;
在SVNManager目录下利用脚本创建数据库:
mysql -u svnmanager -p svnmanager < createtables.sql
5.增加权限配置
将先前配置的内容/etc/httpd/conf/httpd.conf中:
DAV svn
SVNParentPath /var/svn/repos/
修改为:
DAV svn
SVNParentPath /var/svn/repos/
AuthType Basic
AuthName "Subversion realm"
AuthUserFile /var/svn/passwdfile
AuthzSVNAccessFile /var/svn/accessfile
Require valid-user
为了加强权限控制也可以在配置文件中增加如下内容,以加强安全控制
AllowOverride None
Order deny,allow
Deny from all
Allow from all
在/var/svn目录下创建两个空文件passwdfile和accessfile。并执行下边的语句:
#chown –R apache.apache passwdfile
#chown –R apache.apache accessfile
6.配置svnmanager
在/var/www/html/svnmanager/config.php文件中,配置相关信息,如下
$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/svnmanager";
//Administrator account
$admin_name = "admin";
$admin_temp_password = "admin";
启动Apache、Mysql,并访问,出示用户名称为admin,密码为admin,创建管理员用户后该帐号失效。至此整个服务部署完毕。