trac和nginx安裝部署指南
trac和nginx安裝部署指南
目錄
1. 引言... 4
1.1 參考資料... 4
2. 系統介紹... 4
2.1 系統概述... 4
2.2 運行硬體環境... 4
2.2.1 應用伺服器... 4
2.2.2 資料庫伺服器... 4
3. 安裝說明... 5
3.1 安裝前準備... 5
3.1.1 操作系統... 5
3.2 軟體安裝... 6
3.2.1 步驟圖示... 6
3.2.2 Babel庫... 6
3.2.3 Genshi庫... 6
3.2.4 trac. 6
3.2.5 trac插件... 6
4. 系統首次運行... 7
4.1 初始化一個trac項目... 7
4.2 修改trac配置文件... 7
4.3 配置trac的管理員... 8
4.3.1 創建管理員的帳號密碼... 8
4.3.2 賦予管理員對這個trac項目的管理許可權... 8
4.4 啟動tracd進程(使用trac自有的LoginModule認證)... 8
4.5 配置nginx使用fcgi(使用trac自有的LoginModule認證)... 8
4.6 啟動nginx服務... 9
4.7 配置trac使用AccountManagerPlugin做用戶認證... 9
4.8 啟動tracd進程(使用TracAccountManager插件認證)... 10
4.9 配置nginx使用fcgi(使用TracAccountManager插件認證)... 10
4.10 重啟nginx服務... 11
5. 系統啟動和停止... 11
5.1 系統啟動... 11
5.2 系統停止... 11
1. 引言
1.1 參考資料
http://blog.csdn.net/lanphaday/article/details/6609256
http://guoh.org/lifelog/2011/04/some-tips-on-trac-installation/
2. 系統介紹
2.1 系統概述
Trac是一個基於Web的,輕量級的項目管理工具,它使用python語言編寫,官網:http://trac.edgewall.org/。它集成了增強的Wiki功能和版本控制功能,並可通過插件擴展其功能。
系統採用CentOS 5 + nginx + sqlite3 + trac的方案,trac和nginx都使用fastcgi的模式運行。
2.2 運行硬體環境
2.2.1 應用伺服器
IP:192.168.0.1
2.2.2 資料庫伺服器
IP:192.168.0.1
目前使用的是sqlite3,資料庫文件路徑:/home/huzhenwei/trac/db/trac.db
如果隨著數據量增加,服務性能下降,可以考慮將數據遷移到MySQl或ProgreSQL資料庫。
3. 安裝說明
3.1 安裝前準備
3.1.1 操作系統
操作系統版本為CentOSrelease 5.7 (Final)
3.1.1.1 用戶
用戶名:huzhenwei
3.1.1.2 Python環境
Python-2.7.2
使用普通用戶(huzhenwei)安裝virtualenv庫, shell命令如下:
wget "http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.7.tar.gz#md5=dcc105e5a3907a9dcaa978f813a4f526" -O virtualenv-1.7.tar.gz
tar virtualenv-1.7.tar.gz
tar -zxf virtualenv-1.7.tar.gz
cd virtualenv-1.7
python setup.py install
cd ~
virtualenv trac_virtual_env
3.1.1.3 Web伺服器
nginx-1.0.11
nginx的編譯選項:
./configure--prefix=/home/huzhenwei/nginx --with-http_ssl_module--without-http_rewrite_module
3.2 軟體安裝
3.2.1 步驟圖示
3.2.2 Babel庫
如果需要trac支持多語言環境,需要先安裝這個庫。安裝的shell命令如下:
/home/huzhenwei/trac_virtual_env/bin/easy_installBabel
3.2.3 Genshi庫
Genshi是trac所使用的網頁模板庫,安裝的shell命令如下:
/home/huzhenwei/trac_virtual_env/bin/easy_installGenshi
3.2.4 trac
/home/huzhenwei/trac_virtual_env/bin/easy_installtrac
3.2.5 trac插件
trac插件可以在這個網站查找:http://trac-hacks.org/
本系統目前應用的插件如下:
插件名
安裝方式
AccountManagerPlugin
easy_install https://trac-hacks.org/svn/accountmanagerplugin/trunk
TracWysiwygPlugin
easy_install http://trac-hacks.org/svn/tracwysiwygplugin/0.12
註:插件安裝完成後,需要重啟trac,才能在trac的插件管理頁面中列出新安裝的插件。
4. 系統首次運行
4.1 初始化一個trac項目
cd ~
./trac_virtual_env/bin/trac-admin/home/huzhenwei/trac initenv
4.2 修改trac配置文件
trac的配置文件的路徑:/home/huzhenwei/trac/conf
需要修改如下幾項:
default_charset= utf-8
default_language= zh_CN
default_timezone=
4.3 配置trac的管理員
4.3.1 創建管理員的帳號密碼
如果操作系統上沒有htpasswd程序,可以使用trac源代碼包中的替代程序來創建用戶,如下:
cdTrac-0.12.2/contrib/
pythonhtpasswd.py -c -b /home/huzhenwei/trac/user.htpasswd admin admin
4.3.2 賦予管理員對這個trac項目的管理許可權
../trac_virtual_env/bin/trac-admin~/trac permission add admin TRAC_ADMIN
4.4 啟動tracd進程(使用trac自有的LoginModule認證)
home/huzhenwei/trac_virtual_env/bin/tracd--basic-auth==trac,/home/huzhenwei/trac/user.htpasswd,trac -s --port 8000--protocol=fcgi -d /home/huzhenwei/trac
4.5 配置nginx使用fcgi(使用trac自有的LoginModule認證)
vi nginx/conf/nginx.conf, 將http下的這一段修改為如下:
server {
listen 8090;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
fastcgi_pass 127.0.0.1:8000;
auth_basic "trac Realm";
auth_basic_user_file/home/huzhenwei/trac/user.htpasswd;
fastcgi_param AUTH_USER$remote_user;
fastcgi_param REMOTE_USER$remote_user;
fastcgi_param PATH_INFO$fastcgi_script_name;
fastcgi_param REQUEST_METHOD$request_method;
fastcgi_param QUERY_STRING$query_string;
fastcgi_param CONTENT_TYPE$content_type;
fastcgi_param CONTENT_LENGTH$content_length;
fastcgi_param SERVER_PROTOCOL$server_protocol;
fastcgi_param SERVER_PORT$server_port;
fastcgi_param SERVER_NAME$server_name;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
4.6 啟動nginx服務
/home/huzhenwei/nginx/sbin/nginx
4.7 配置trac使用AccountManagerPlugin做用戶認證
AccountManagerPlugin有用戶管理和身份認證功能,可以取代trac自有的LoginModule認證。
在trac的插件管理中,先啟用TracAccountManager插件,然後將trac下的LoginModule取消勾選
4.8 啟動tracd進程(使用TracAccountManager插件認證)
kill先前啟動的tracd進程,然後運行:
/home/huzhenwei/trac_virtual_env/bin/tracd-s --port 8000 --protocol=fcgi -d /home/huzhenwei/trac
4.9 配置nginx使用fcgi(使用TracAccountManager插件認證)
vi nginx/conf/nginx.conf, 將http下的這一段修改為如下:
server {
listen 8090;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
fastcgi_pass 127.0.0.1:8000;
#auth_basic "trac Realm";
#auth_basic_user_file/home/huzhenwei/trac/user.htpasswd;
#fastcgi_param AUTH_USER$remote_user;
#fastcgi_param REMOTE_USER$remote_user;
fastcgi_param PATH_INFO$fastcgi_script_name;
fastcgi_param REQUEST_METHOD$request_method;
fastcgi_param QUERY_STRING$query_string;
fastcgi_param CONTENT_TYPE$content_type;
fastcgi_param CONTENT_LENGTH$content_length;
fastcgi_param SERVER_PROTOCOL$server_protocol;
fastcgi_param SERVER_PORT$server_port;
fastcgi_param SERVER_NAME$server_name;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
4.10 重啟nginx服務
/home/huzhenwei/nginx/sbin/nginx-s reload
5. 系統啟動和停止
5.1 系統啟動
/home/huzhenwei/trac_virtual_env/bin/tracd-s --port 8000 --protocol=fcgi -d /home/huzhenwei/trac
/home/huzhenwei/nginx/sbin/nginx
5.2 系統停止
kill tracd和nginx進程的pid
《解決方案》
謝謝分享