从零开始说。
A机器要废,于是要迁到B上,A上跑着trac wiki,只好迁了。
在A上先grep了一下,看看有几个trac服务在跑,两个,无所谓,一个羊也是放,两只羊也是赶,先搞定一个就成。
/usr/bin/python2.6 /usr/bin/tracd -d -p 9999 --basic-auth=*,/home/admin/opt/trac/my/.htpasswd,trac realm -s /home/admin/opt/trac/my
看来这个trac的root是在/home/admin/opt/trac/my ,于是先把它scp到B上。
然后照猫画虎在B上也执行上述命令,当然是失败的。于是找http://trac.edgewall.org/ 官网,老实说,觉得写的很乱。
python是要有的,然后还要有setuptools,比较幸运的是,B机器上这两个都有,其实如果没有,这两个安装也非常简单。不赘述。
然后是Genshi。不知为何easy_install,就报错No local packages or download links found for 。只好从官网上下来.egg文件wget http://ftp.edgewall.com/pub/genshi/Genshi-0.7-py2.7-linux-x86_64.egg 这里的genshi版本是0.7。
然后再装sqlite,本地上
rpm -qa|grep sqlite
sqlite-3.3.6-5
sqlite-3.3.6-5
python-sqlite-1.1.7-1.2.1
sqlite-devel-3.3.6-5
说明它已装了,就下一步装pysqlite.
wget --no-check-certificate https://pypi.python.org/packages/source/p/pysqlite/pysqlite-2.6.3.tar.gz#md5=7ff1cedee74646b50117acff87aa1cfa
tar xvfz pysqlite-2.6.3.tar.gz
cd pysqlite-2.6.3
~/python/bin/python setup.py build_static install :报错,找不到sqlite.c。
换~/python/bin/python setup.py install。成功。
然后再装trac.
wget http://download.edgewall.org/trac/Trac-1.0.tar.gz ,本来下载的是0.12版本,因为A机器上是0.12,为保险起见,打算用相同版本,但是在安装0.12时提示genshi版本太高,要求小于0.7,所以索性用1.0了。
解压。~/python/bin/python setup.py install。成功。~/python/bin下已有tracd和tracadmin了。
然后再执行:
~/python/bin/python ~/python/bin/tracd -d -p 9999 --basic-auth=*,/home/admin/opt/trac/my/.htpasswd,trac realm -s /home/admin/opt/trac/my
报错:tracd: error: the --single-env option cannot be used with more than one envinite。不明所以,抱着试试看的想法把命令改为:~/python/bin/python ~/python/bin/tracd -d -p 9999 --basic-auth=*,/home/admin/opt/trac/my/.htpasswd,trac /home/admin/opt/trac/my 居然就成功了。
改nginx.conf:(网上有人说要改web服务器,但其实好像不改也成,不用servername,直接用host就行了呗)
server {
listen 80;
server_name trac.etao.com;
location / {
proxy_pass http://localhost:9999;
}
}
从web端看应该是有内容了,但因数据是0.12版本的,所以它提示要升级:
/home/admin/python/bin/trac-admin /home/admin/opt/trac/my wiki upgrade
终于ok了