在网络上下载了最新的 CollabNetSubversionEdge-3.0.1_linux-x86.tar.gz,解包,执行 csvn start,服务启动完毕,通过http协议访问 3343 端口,进入管理界面,发现服务启动失败,看日志,发现这个错误:
引用
ERROR console.CommandLineService - Exit status=1 Process err output: httpd: Syntax error on line 73 of /home an/csvn/data/conf tpd.conf: Syntax error on line 15 of /home an/csvn/data/conf/svn_viewvc_httpd.conf: Cannot load /home an/csvn b/modules/mod_python.so.2.7 into server: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
你妹的,这个错误我去年就见过,忘记当时怎么弄的了……
好吧,从头来分析:从错误的描述来看,应该是 mod_python 出现了问题,(红旗Linux默认自带的python版本太低,这个错误是我已经安装过python 2.7之后的信息),网络上搜索了一遍后,找到一个重要的提示:
引用
- Exit status=1 Process err output: httpd: Syntax error on line 72 of /opt/csvn/data/conf/httpd.conf: Syntax error on line 23 of /opt/csvn/data/conf/svn_viewvc_httpd.conf: Cannot load /opt/csvn/lib/modules/mod_python.so.2.4 into server: libpython.so.2.4.1.0: cannot open shared object file: No such file or directory
原因:没有先安装python-2.4.3-27.el5.i386.rpm,在/usr/lib/文件夹里找不到libpython。
晕,我到哪里找这个rpm啊,下个Python2.7自己编译吧。编译完了,还是出错。
一番折腾后,最终发现一个关键的问题:
引用
安装python的时候必须指定--enable-shared --prefix=/usr/local参数。如果你已经安装过了,请./configure --enable-shared,重新安装一遍。
使用了该参数后,再make, make install,(注意修改 /usr/local 可访问的权限)
检查 /usr/lib/ 下是否存在有 libpython2.7.so.1.0,如果没有就拷贝过去,使用了---enable-shared 这个参数后,后面才会编译出 libpython2.7.so.1.0 这个文件。
进入subersion的管理界面,启动服务,大功告成。