ubuntu 12.04 nginx下配置安装trac

首先我们安装trac:

sudo apt-get install trac

下面我们部署一个trac仓库,项目名称为repo,首先建立一个存放项目的文件夹:

sudo mkdir -p /data/trac/repo && cd /data/trac/repo

然后在文件夹中创建项目文件:

sudo trac-admin /data/trac/repo initenv

添加一个trac用户 adminuser(该操作需要的htpasswd命令如果没有的话可以通过 apt-get 安装 apache2-utils 或者 mini-httpd任意一个就可以解决这个问题):

sudo htpasswd -c .htpasswd adminuser

将 adminuser 用户授权为管理员用户

sudo trac-admin . permission add adminuser TRAC_ADMIN

 

下面我们安装web server,这里我们选择nginx:

sudo apt-get install nginx

sudo chown -R www-data:www-data /data/trac/repo

然后我们使用 tracd 启动一个 server 进程,以便于nginx可以调用处理,首先我们切换到 www-data 的用户 shell :

sudo su www-data

tracd -d --port=8000 --hostname=127.0.0.1 --env-parent-dir=/data/trac --basic-auth="*,/data/trac/repo/.htpasswd,Restricted"

exit

下面我们编辑nginx下的trac虚拟主机:

cd /etc/nginx/sites-available && sudo touch trac && sudo vim trac

# this is trac config file
server {
server_name     trac.server.com;
listen          80;
location / {
proxy_pass http://127.0.0.1:8000;
}
}

激活配置文件,并重启 nginx 服务:

cd /etc/nginx/sites-enabled/ && sudo ln -s /etc/nginx/sites-available/trac trac && sudo service nginx restart

重启操作系统后(为什么一定要重启操作系统呢,有啥办法能不重启啊也能用啊),你就能在浏览器通过访问trac.server.com访问trac项目了

 

apache认证的登录方式在登出的时候不完整,刷新页面后又重新回到登入状态,所以我们需要一个web登录方式来管理,解决这个问题我们需要使用AccountManagerPlugin这个插件。

在这个页面:http://trac-hacks.org/wiki/AccountManagerPlugin 下载stable的版本,解压缩进入到setup.py所在目录,然后执行下面的命令:

python ./setup.py compile_catalog -f
python ./setup.py bdist_egg

 


Comments are closed.