Linux环境下搭建Apache+subversion+svnmanager
时间:2009-03-23 来源:sjhf
做完系统搭建已经好久了,运行还是很不错的,写个大概的步骤和大家分享.有什么问题大家可以交流奥.
Linux主要以CentOS和REDHAT为主,基本上都是用的5,现在用老版本的少了,当然老系统用的还是不少的.
先说说安装的前提条件
Apache\Mysql\PHP这些在安装系统的时候安装上就OK了,如果没安装在系统里rpm安装上就可以了.
1.Subversion部署
首先先来部署Subversion,网络上很多地方介绍要编译安装,其实没有必要.系统安装光盘里有相应的安装介质,如果没有安装,RPM手工安装就好了.
接下来是要做Subversion的系统配置了,在/etc/httpd/conf.d下配置subversion.conf,里边有例子也有说明
<Location /repos> DAV svn SVNParentPath /var/svn/repos/ </Location> 这是我的一个配置文件(不带权限控制的,带控制的在后边),大家参考吧.既然在配置文件里边给出了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 访问http://127.0.0.1/repos/testrepos,若有显示则证明配置通过。 2.安装SVNManager 准备SVNManager源代码包(v0.38): 下载地址: http://nchc.dl.sourceforge.net/sourceforge/svnmanager/svnmanager-0.38.tar.gz 将文件解压至/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 ‘svnmanager’@’localhost’ identified by ‘[访问用户密码]’; Mysql>flush prifileges; Mysql>quit; 在SVNManager目录下利用脚本创建数据库: mysql -u svnmanager -p svnmanager < createtables.sql
5.增加权限配置 将先前配置的内容/etc/httpd/conf/httpd.conf中: <Location /repos> DAV svn SVNParentPath /var/svn/repos/ </Location> 修改为: <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> 为了加强权限控制也可以在配置文件中增加如下内容,以加强安全控制 <Directory "/var/www/html/svnmanager/"> AllowOverride None Order deny,allow Deny from all Allow from all </Directory> 在/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,并访问http://127.0.0.1/svnmanager,出示用户名称为admin,密码为admin,创建管理员用户后该帐号失效。至此整个服务部署完毕。 |
相关阅读 更多 +