集思博客

集思博客,(www.gisblogs.net)用心记录我的成长历程,留下技术的沉淀……

« FreeBSD上安装Trac+SVN+Apache+SSLTrac 手记(一)Windows 下安装 Trac »

Freebsd7.0+Apache+Subversion+Trac

首先安装Freebsd系统,我安装的是7.0。建议只安装src,ports,binary,doc.其他 ports里面的package先不要 装,升级一下ports之后再装。因为前不久ports里面的xorg从6.9升级到7.2了。如果安装了升级比较麻烦。所以先不安装其他的 package。

升级ports之后开始安装。
首先我们需要安装 Apache 和 Subversion 软件:

dev# cd /usr/ports/www/apache22dev# make WITH_AUTH_MODULES=yes WITH_DAV_MODULES=yes                      WITH_SSL_MODULES=yes WITH_BERKELEYDB=db42 install cleandev# cd /usr/ports/devel/subversiondev# make -DWITH_SVNSERVE_WRAPPER -DWITH_MOD_DAV_SVN                      -DWITH_APACHE2_APR install clean

安装完成后,我们来初始化仓库目录:

dev# mkdir -p /svn/repos需要 rehashdev# svnadmin create /svn/reposdev# chown -R www:www /svn/repos

这里,使用 www:www 用户/组是由于我们是通过 Apache 来提供访问支持。设置 Apache 的配置文件 /usr/local/etc/apache22/httpd.conf,以下只显示了主体部分:

.....LoadModule usertrack_module libexec/apache22/mod_usertrack.soLoadModule unique_id_module libexec/apache22/mod_unique_id.soLoadModule setenvif_module libexec/apache22/mod_setenvif.soLoadModule version_module libexec/apache22/mod_version.soLoadModule ssl_module libexec/apache22/mod_ssl.soLoadModule mime_module libexec/apache22/mod_mime.soLoadModule dav_module libexec/apache22/mod_dav.soLoadModule status_module libexec/apache22/mod_status.soLoadModule autoindex_module libexec/apache22/mod_autoindex.soLoadModule asis_module libexec/apache22/mod_asis.soLoadModule info_module libexec/apache22/mod_info.so.......LoadModule alias_module libexec/apache22/mod_alias.soLoadModule rewrite_module libexec/apache22/mod_rewrite.so#LoadModule dav_module         libexec/apache22/mod_dav.soLoadModule dav_svn_module     libexec/apache22/mod_dav_svn.soLoadModule authz_svn_module   libexec/apache22/mod_authz_svn.so

重启apache的时候发现有一个dav_module的错误。后来发现是load了两次。我就把后面的那个dav_module注释掉了。注意注释前面的那个会出错的。
然后在/usr/local/etc/apache22/Includes 下编辑svn.conf

dev# vi /usr/local/etc/apache22/Includes/svn.conf<Location /svn>DAV svnSVNPath /svn/reposAuthType BasicAuthName "Feloo Subversion Repository"AuthUserFile /etc/svn-auth-fileRequire valid-user</Location>

使用 htpasswd 创建验证用户:

dev# htpasswd -cm /etc/svn-auth-file rory

最后,在 /etc/rc.conf 文件中设置:

apache22_enable="YES"

启动 Apache 后,可以通过 http://you.host.nameOrIP/svn 访问你的 Subversion 仓库了(这里假设你的 Apache 监听在 80 端口)。至于客户端,在 Windows 下可以使用 TortoiseSVNn,相当不错工具。以上步骤在 FreeBSD 6.1-RC 环境下试验成功,你可以进行适当的设置,让 Apache 支持 SSL,这样,你的 svn 将更加安全。

接下来安装trac

dev# cd /usr/ports/www/tracdev# make install clean

这样就安装好了,简单吧。接下来开始initevn

dev# mkdir -p /trac/projects/dev# trac-admin /trac/projects initenvdev# chown -R www:www /trac/projects/ (这一步很重要哦。如果没有修改owner下面和Apache集成之后会出现没有权限的错误不能正常显示)

操作中会提示一些信息,提示subversion 的 repository地址就是前面我们创建的repository /svn/repos 其他都不用设置这样就建立好了,启动standalone服务器tracd

dev# tracd --port 8000 /trac/projects

这样就可以通过http://you.host.nameOrIP:8000 查看到安装成功的trac了.这算是基本完成了。接下来就是使用apache来运行trac,需要mod_python 或者 mod_wsgi 的支持。这里我选择了mod_python,因为在ports里面有现成的。

dev# cd /usr/ports/www/mod_python3dev# make install clean

这里不能安装/usr/ports/www/mod_python 因为这里需要mod_python 3.1.3+ /usr/ports/www/mod_python 的版本是 2.7.11。
安装完成之后修改Apache的配置加载安装好的mod_python.

dev# vi /usr/local/etc/apache22/httpd.conf LoadModule python_module libexec/apache22/mod_python.so

添加trac的Location配置

dev# vi /usr/local/etc/apache22/Includes/trac.conf <Location /trac>  SetHandler mod_python  PythonHandler trac.web.modpython_frontend  PythonOption TracEnv /trac/projects  PythonOption TracUriRoot /trac</Location><Location /trac/login>  AuthType Basic  AuthName "Feloo Trac Projects"  AuthUserFile /etc/svn-auth-file  Require valid-user</Location>

这里使用的认证文件和svn的相同。一切都ok了,重启Apache


dev# /usr/local/etc/rc.d/apache22 restart

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Spirit Build 80605 Code detection by Codefense  theme by BokeZhuti

Copyright 2007-2008 集思博客 www.gisblogs.net 备案号:粤ICP备07051728号 联系QQ:6390514