linux开发服务器环境搭建
2006-05-10 21:41
896 查看
开发服务器环境搭建
目的:在Linux平台上搭建一个协同开发工作环境
软件:Linux 2.6 + Apache2 + PHP4.x + Mysql5.x; subversion1.3.1 + mantis1.0.2
基本思路:
使用LAMP搭建一个Web接口,便于管理
使用subversion进行版本控制
使用trac进行bug(缺陷)跟踪(也可选用mantis)。
一、安装软件
在linux下常用的安装方式是使用rpm包,我们选用yum(或者apt-get)工具来解决包之间的依赖关系,具体如何用法,这里不再赘述,不懂得问 一下Mr. Google吧。如果你觉得自己用tar包,编译安装的方式比较爽,你也可以试一下,不过不推荐哟,别人帮你做好了,干吗还要费那个劲。我这里给出一个自 动化的脚本,可能里面某些软件在你机器上的配置找不到,那牛需要你到网上查一下,把相应仓库的地址加入到yum的配置文件当中。
上述软件安装完成之后,默认情况下trac被安装在/usr/share/trac下,其他应该在/bin或者/usr/bin目录下。
软件安装完成之后,下面就开始我们的平台搭建。我们要建立两个工程projectA和projectB,使用WEB界面进行管理。
二、搭建平台
创建subversion仓库并配置subversion
假定仓库的地址为 /work/repos,我们进行如下的操作:
经过上面两步,我们已经创建了两个仓库,下面是要对它进行一些设定了,主要就是访问权限之类的以及服务运行方式。关于subversion的用法,可以到其站点或者svn中国上找本文档看看。
权限的设置
主要设置 /work/repos/ProjectA/conf/下面的passwd和authz文件,具体如何设置请查看svn的帮助。
服务运行方式
subversion有三种运行方式,本地,svnsever,以及同apache整合,我们要使用的是最后一种方式,后面会具体介绍如何配置。
创建trac环境并对其进行配置
接下来我们要创建trac的环境,假定我们安装到/work/trac-env/目录下,使用如下命令:
在执行上述命令的时候会问你svn仓库的地址,告诉它在/work/repos/projectA,/work/repos/ProjectB下面就是 了,如果你弄错了也没有关系,因为可以手动配置的,而且很简单哪。配置文件放在了conf/trac.ini下,具体配置选项的意义和用法,这里也不讲, 参考其主页上的说明。
配置apache
我们的主要精力放在了如何把subversion以及trac和apache结合起来,提供一个web管理界面上,所以这部分是我们的重头戏。
如果按照我们上面的脚本的安装方式,在安装完成后,在/etc/httpd/conf.d/目录下面应该有subversion.conf和trac.conf两个文件,我们分别配置他们就行了,二者没有必然的联系。
首先来配置subversion
主要是配置 /etc/httpd/conf.d/subversion.conf
可以使用命令 #htpasswd -cm /work/repos/.htpasswd lirui来为用户lirui添加密码,建立文件/work/repos/.authz,并按照svn的格式要求配置它。
在配置完成后,重新启动http服务:#apachectl restart
这时候就可以通过命令:svn co http://your_site_ip/repos/projectA 把projectA的源码check到本地了(前提是你有相应权限),如果具有写权限,以后可以直接通过svn commit命令提交修改结果。
再来配置trac
配置/etc/httpd/conf.d/trac.conf,下面是给出的一个蓝本
至此,我们已经配置完了,现在在浏览器输入 http://your_site_ip/trac/projectA 就能看到一个web界面的管理系统了,好好体验一把喽。
还有一点不是很爽,有时候我们需要只输入IP就能找到我们需要的网页,比如我们输入http://your_site就得到一个页面,而不要 http://your_site_ip/trac/projectA才得到。我的做法是建立文件/var/www/html/index.html,并 设置其转到对应页。下面是我的一个设置:
三、使用简介
这部分待写了:)
看看时间,快凌晨1:00了,有点困了,回宿舍睡觉了^_^
目的:在Linux平台上搭建一个协同开发工作环境
软件:Linux 2.6 + Apache2 + PHP4.x + Mysql5.x; subversion1.3.1 + mantis1.0.2
基本思路:
使用LAMP搭建一个Web接口,便于管理
使用subversion进行版本控制
使用trac进行bug(缺陷)跟踪(也可选用mantis)。
一、安装软件
在linux下常用的安装方式是使用rpm包,我们选用yum(或者apt-get)工具来解决包之间的依赖关系,具体如何用法,这里不再赘述,不懂得问 一下Mr. Google吧。如果你觉得自己用tar包,编译安装的方式比较爽,你也可以试一下,不过不推荐哟,别人帮你做好了,干吗还要费那个劲。我这里给出一个自 动化的脚本,可能里面某些软件在你机器上的配置找不到,那牛需要你到网上查一下,把相应仓库的地址加入到yum的配置文件当中。
#!/bin/bash # install python yum -y install python.i386 python-devel.i386 python-lxml.i386 python-sqlite.i386 python-clearsilver.i386 swig.i386 python-setuptools.noarch # install subversion yum -y install subversion.i386 subversion-devel.i386 # install clearsilver yum -y install clearsilver.i386 clearsilver-devel.i386 # install sqlite yum -y install clearsilver.i386 clearsilver-devel.i386 # install LAMP yum -y install httpd.i386 mod_auth_mysql.i386 mod_dav_svn.i386 mod_log_sql.i386 mod_authz_ldap.i386 mod_python.i386 mod_ssl.i386 yum -y install MySQL-python.i386 mysql.i386 mysql-devel.i386 mysql-server.i386 yum -y install php-xml.i386 php.i386 mod_suphp.i386 php-devel.i386 php-ldap.i386 p-readline.i386 # install optional yum -y install enscript.i386 # install trac yum -y install trac.noarch # install mantis yum -y install mantis.noarch |
软件安装完成之后,下面就开始我们的平台搭建。我们要建立两个工程projectA和projectB,使用WEB界面进行管理。
二、搭建平台
创建subversion仓库并配置subversion
假定仓库的地址为 /work/repos,我们进行如下的操作:
#svnadmin create --fs-type fsfs /work/repos/projectA #svnadmin create --fs-type fsfs /work/repos/projectB |
权限的设置
主要设置 /work/repos/ProjectA/conf/下面的passwd和authz文件,具体如何设置请查看svn的帮助。
服务运行方式
subversion有三种运行方式,本地,svnsever,以及同apache整合,我们要使用的是最后一种方式,后面会具体介绍如何配置。
创建trac环境并对其进行配置
接下来我们要创建trac的环境,假定我们安装到/work/trac-env/目录下,使用如下命令:
#trac-admin /work/trac-env/projectA initenv #trac-admin /work/trac-env/projectB initenv |
配置apache
我们的主要精力放在了如何把subversion以及trac和apache结合起来,提供一个web管理界面上,所以这部分是我们的重头戏。
如果按照我们上面的脚本的安装方式,在安装完成后,在/etc/httpd/conf.d/目录下面应该有subversion.conf和trac.conf两个文件,我们分别配置他们就行了,二者没有必然的联系。
首先来配置subversion
主要是配置 /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so #上面两行用于家在模块 <Location /repos> DAV svn # SVNPath /work/repos/projectA #如果只显示一个工程,则用这个 SVNParentPath /work/repos #显示所有工程 # 下面进行权限配置 # # Limit write permission to list of valid users. <LimitExcept GET PROPFIND OPTIONS REPORT> # # Require SSL connection for password protection. # # SSLRequireSSL # AuthType Basic AuthName "subversion repository" AuthUserFile /work/repos/.htpasswd #密码文件必须用htpasswd生成 AuthzSVNAccessFile /work/repos/.authz #管理组的权限 Require valid-user </LimitExcept> </Location> |
在配置完成后,重新启动http服务:#apachectl restart
这时候就可以通过命令:svn co http://your_site_ip/repos/projectA 把projectA的源码check到本地了(前提是你有相应权限),如果具有写权限,以后可以直接通过svn commit命令提交修改结果。
再来配置trac
配置/etc/httpd/conf.d/trac.conf,下面是给出的一个蓝本
#设定目录权限,如果不设置这个,你会得到没有访问权限的错误,很烦人哟 <Directory "/usr/share/trac/htdocs"> Order allow,deny Allow from all </Directory> #以后你就可以输入 http://your_site/trac来访问,执行的就是这个trac.cgi ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi ### Trac need to know where the database is located <Location "/trac"> # SetEnv TRAC_ENV "/work/trac-env/projectA" #如果只显示一个工程,用这个 SetEnv TRAC_ENV_PARENT_DIR "/work/trac-env" #显示多个工程 </Location> ### You need this to allow users to authenticate <Location "/trac/login"> AuthType Basic AuthName "trac" AuthUserFile /work/trac-env/trac.htpasswd #使用htpasswd生成的密码文件 Require valid-user </location> ScriptAlias /trac/projectA /usr/share/trac/cgi-bin/trac.cgi ### Trac need to know where the database is located <Location "/trac/projectA"> SetEnv TRAC_ENV "/work/trac-env/projectA" #如果只显示一个工程,用这个 # SetEnv TRAC_ENV_PARENT_DIR "/work/trac-env" #显示多个工程 </Location> ### You need this to allow users to authenticate <Location "/trac/project/Alogin"> AuthType Basic AuthName "trac" AuthUserFile /work/trac-env/projectA/trac.htpasswd #使用htpasswd生成的密码文件 Require valid-user </location> ScriptAlias /trac/projectB /usr/share/trac/cgi-bin/trac.cgi ### Trac need to know where the database is located <Location "/trac/projectA"> SetEnv TRAC_ENV "/work/trac-env/projectB" #如果只显示一个工程,用这个 # SetEnv TRAC_ENV_PARENT_DIR "/work/trac-env" #显示多个工程 </Location> ### You need this to allow users to authenticate <Location "/trac/project/Alogin"> AuthType Basic AuthName "trac" AuthUserFile /work/trac-env/projectB/trac.htpasswd #使用htpasswd生成的密码文件 Require valid-user </location> |
还有一点不是很爽,有时候我们需要只输入IP就能找到我们需要的网页,比如我们输入http://your_site就得到一个页面,而不要 http://your_site_ip/trac/projectA才得到。我的做法是建立文件/var/www/html/index.html,并 设置其转到对应页。下面是我的一个设置:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Redirection</title> <meta http-equiv="refresh" content="0;URL=/trac/projectA"> </head> <body> <h1><center> edirecting to trac bug system ...<br> <a href="/trac/projectA">哈哈,到这来</a> </h1> </body> </html> |
这部分待写了:)
看看时间,快凌晨1:00了,有点困了,回宿舍睡觉了^_^
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=715784
相关文章推荐
- 关于嵌入式linux开发环境搭建-TFTP,SAMBA,NFS服务器的搭建
- 嵌入式linux开发环境搭建(三)——TFTP服务器的搭建
- Linux 下搭建jsp服务器(配置jsp开发环境)
- Ubuntu10.04+mini2440下ARM-linux开发环境搭建(2)----NFS服务器的配置及通过NFS启动linux
- 使用Vagrant在Windows平台搭建嵌入式Linux开发环境(2)Tftpd服务器搭建
- linux 服务器开发环境搭建
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(一搭建开发环境——建立tftp服务器)
- 使用Vagrant在Windows平台搭建嵌入式Linux开发环境(3)nfs服务器搭建
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(一搭建开发环境——建立NFS服务器)
- linux 下 VNC Server安装配置及 eclipse CDT C/C++ 开发环境搭建(我用的是阿里云服务器 ubuntu 12.04 64-bit,无图形化界面)
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(一搭建开发环境——建立NFS服务器)
- 嵌入式linux开发环境搭建(三)——TFTP服务器的搭建
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(一搭建开发环境——建立NFS服务器)
- 嵌入式linux开发环境搭建(二)——NFS服务器的搭建
- Linux环境下Java环境(开发&服务器)的搭建
- 【驱动】linux驱动程序开发及环境搭建
- 基于Linux的BeagleBoard-xm终端开发环境搭建
- Android入门进阶教程(3)-linux 开发环境的搭建
- 搭建Qt/Embedded linux开发环境
- linux开发环境搭建