设为首页 收藏本站
查看: 596|回复: 0

[经验分享] Freebsd+Apache+Subversion+Trac

[复制链接]

尚未签到

发表于 2017-1-1 10:50:38 | 显示全部楼层 |阅读模式
  转自:http://blog.dayuer.com/freebsdapachesubversiontrac
  

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

dev# cd /usr/ports/www/apache22
dev# make WITH_AUTH_MODULES=yes WITH_DAV_MODULES=yes
                     WITH_SSL_MODULES=yes WITH_BERKELEYDB=db42 install clean
dev# cd /usr/ports/devel/subversion
dev# make -DWITH_SVNSERVE_WRAPPER -DWITH_MOD_DAV_SVN
                     -DWITH_APACHE2_APR install clean
  安装完成后,我们来初始化仓库目录:

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

.....
LoadModule usertrack_module libexec/apache22/mod_usertrack.so
LoadModule unique_id_module libexec/apache22/mod_unique_id.so
LoadModule setenvif_module libexec/apache22/mod_setenvif.so
LoadModule version_module libexec/apache22/mod_version.so
LoadModule ssl_module libexec/apache22/mod_ssl.so
LoadModule mime_module libexec/apache22/mod_mime.so
LoadModule dav_module libexec/apache22/mod_dav.so
LoadModule status_module libexec/apache22/mod_status.so
LoadModule autoindex_module libexec/apache22/mod_autoindex.so
LoadModule asis_module libexec/apache22/mod_asis.so
LoadModule info_module libexec/apache22/mod_info.so
.......
LoadModule alias_module libexec/apache22/mod_alias.so
LoadModule rewrite_module libexec/apache22/mod_rewrite.so
#LoadModule dav_module         libexec/apache22/mod_dav.so
LoadModule dav_svn_module     libexec/apache22/mod_dav_svn.so
LoadModule 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 svn
SVNPath /svn/repos
AuthType Basic
AuthName "Feloo Subversion Repository"
AuthUserFile /etc/svn-auth-file
Require 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/trac

dev# make install clean
  这样就安装好了,简单吧。接下来开始initevn

dev# mkdir -p /trac/projects/

dev# trac-admin /trac/projects initenv

dev# 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_python3

dev# 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
查看http://you.host.nameOrIP/trac 一切正常,恭喜你安装成功了

<!-- You can start editing here. -->
  按上面的说明我并示成功,因为我未升级ports 我用的系统是freebsd 6.2
  在我用


trac-admin /trac/projects initenv
时出现下面的错误提示,有知道问题所在的朋友给我提个醒

Creating and Initializing Project
Failed to create environment. [Errno 2] No such file or directory: '/var/mywork/trac/projects'
Traceback (most recent call last):
File "/usr/local/lib/python2.4/site-packages/trac/scripts/admin.py", line 139, in env_create
self.__env = Environment(self.envname, create=True, db_str=db_str)
File "/usr/local/lib/python2.4/site-packages/trac/env.py", line 79, in __init__
self.create(db_str)
File "/usr/local/lib/python2.4/site-packages/trac/env.py", line 174, in create
os.mkdir(self.path)
OSError: [Errno 2] No such file or directory: '/var/mywork/trac/projects'
Failed to initialize environment. 1
Traceback (most recent call last):
File "/usr/local/lib/python2.4/site-packages/trac/scripts/admin.py", line 594, in do_initenv
self.env_create(db_str)
File "/usr/local/lib/python2.4/site-packages/trac/scripts/admin.py", line 144, in env_create
sys.exit(1)
SystemExit: 1

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-322367-1-1.html 上篇帖子: apache tomcat 整合配置2 下篇帖子: apache commons StringUtils介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表