由于工作安排,需要安装trac项目管理平台,主要是让各个组提交日志,周报等。这里记录安装配置过程。
要求
- 运行Ubuntu 16.04的服务器。
- 具有sudo权限的非root用户,这里使用的是micros。
安装Apache
首先,您需要将Apache Web服务器(web服务器)安装到您的系统中。 您可以使用以下命令安装Apache:
sudo apt-get install apache2 -y
安装成功后,启动Apache服务:
sudo systemctl start apache2
sudo systemctl enable apache2
如果现实apache2启动失败:
Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.
原因是没有禁用ipv6网段,修改 /etc/hosts,注释掉以下内容:
# The following lines are desirable for IPv6 capable hosts
#::1 ip6-localhost ip6-loopback
#fe00::0 ip6-localnet
#ff00::0 ip6-mcastprefix
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters
修改apache2的Listen端口为8000,(因为前面搭建的gitlab占用了80端口)
修改VirtualHost的端口为8000
安装和配置Trac
默认情况下,Trac在Ubuntu 16.04存储库中可用。 您可以使用以下命令安装Trac:
sudo apt-get install trac libapache2-mod-wsgi -y
安装Trac后,使用以下命令启用auth_digest模块:
sudo a2enmod auth_digest
接下来,您需要为Trac创建一个Web根目录。 您可以通过运行以下命令来完成此操作:
sudo mkdir /var/lib/trac
sudo mkdir -p /var/www/trac
sudo chown www-data:www-data /var/www/trac
接下来,为Trac创建一个项目目录,并使用以下命令给予适当的权限:
sudo trac-admin /var/lib/trac/test initenv test sqlite:db/trac.db
输出:
Project environment for 'test' created.
You may now configure the environment by editing the file:
/var/lib/trac/test/conf/trac.ini
If you'd like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:
tracd --port 8000 /var/lib/trac/test
Then point your browser to http://localhost:8000/test.
There you can also browse the documentation for your installed
version of Trac, including information on further setup (such as
deploying Trac to a real web server).
The latest documentation can also always be found on the project
website:
http://trac.edgewall.org/
Congratulations!
测试:
tracd --port 8000 /var/www/trac/test
sudo chmod -R 777 /var/www/trac/test/
重启浏览器,刷新,成功。
将trac部署到Apache2上
sudo trac-admin /var/lib/trac/test deploy /var/www/trac/test
sudo chown -R www-data:www-data /var/lib/trac/test
sudo chown -R www-data:www-data /var/www/trac/test
接下来,使用以下命令为Trac创建一个admin用户和hiroom2用户:
sudo htdigest -c /var/lib/trac/test/.htdigest "test" admin
sudo htdigest /var/lib/trac/test/.htdigest "test" hiroom2
添加管理界面trac-admin /var/lib/trac/test/ permission add admin TRAC_ADMIN
这样在web页面上才会出现“管理”模块。
为Trac配置Apache
接下来,您将需要为Trac创建一个Apache虚拟主机指令。 您可以通过运行以下命令来完成此操作:
sudo nano /etc/apache2/sites-available/trac.conf
添加以下行:
WSGIScriptAlias /trac/test /var/www/trac/test/cgi-bin/trac.wsgi
<Location /trac/test>
AuthType Digest
AuthName "test"
AuthUserFile /var/lib/trac/test/.htdigest
Require valid-user
</Location>
完成后保存并关闭文件。
最后,启用Trac虚拟主机并使用以下命令重新启动Apache服务:
sudo a2ensite trac.conf //这里要和前面编辑的那个trac.conf文件名一致
sudo systemctl restart apache2
访问Trac Web界面
Trac现在已经安装和配置好了,是时候访问Trac网页界面了。
打开你的网页浏览器并输入URL http://your-domain-name/trac/test ,你将被重定向到以下页面:
登录之后,发现无法注销,也没办法注册用户,所以,我们还要安装插件。
安装账号管理插件:
去https://trac-hacks.org/wiki/AccountManagerPlugin,找到对应trac版本的稳定版插件,使用pip安装
pip install https://trac-hacks.org/svn/accountmanagerplugin/tags/acct_mgr-0.5.0 |
也可以下载源码,使用python setup.py bdist_egg生成.egg文件,然后将.egg拷贝到/var/lib/trac/test/plugins/下,也可以用easy_install 装.egg文件。后重启电脑。
至此,trac搭建完成。
到“管理”--"插件”里面,启用插件:
添加新用户后,仍然无法注销:
注销掉trac.conf中的Require valid-user
然后重启apache2.
一定要先添加一个管理员账号,要不然注销掉require valid-user之后,无法用admin账号从web页面登录。
添加blog插件
安装svn:sudo apt-get install subversion 安装blog插件:sudo easy_install --always-unzip https://trac-hacks.org/svn/fullblogplugin/0.11
配置trac.ini
[components]
tracfullblog.* = enabled
更新trac环境: sudo trac-admin /var/lib/trac/test upgrade
重启apache2服务
为用户配置查看修改blog等权限。
注意:
创建Trac环境后,还需要在Apache2中进行相应的配置才能正常使用。配置Trac有两种方式:做为CGI(CGI、WSGI、FCGI)以及使用mod-python。 我们用的是第一种方式。网上也有关于使用mod-python的教程,切记不要混着用,否则会造成冲突。
参考文献:
https://www.howtoing.com/ubuntu-trac-project-management-tool