因为用sudo apt-get install apache2 方式安装apache2的话,因为需要与svn整合,有一些必要的so文件需要重新编译,所以考虑直接用源码自己编译安装,注:俺是刚开始用linux,许多不懂的,都是网上查资料查来的,所以首先感谢广大网友的贡献吧,因为查了很多,所以具体哪些忘记了,这里就是不注链接了
在安装过程中,个人觉得还是切换一以root用户下安装来的简单一点,不然一不小心就是因为哪个文件没有读写权限而Fail掉了,比较麻烦,哈哈,所有后我来就是直接在root用户下安装了
准备工作:下载httpd.2.2.9.tar.gz 和subversion-deps-1.5.1.tar.bz subversion-1.5.1.tar.gz
1、安装apache2.2
tar zxvf httpd.2.2.9.tar.gz
cd httpd.2.2.9
./configure --enable-dav --enable-so --prefix=/opt/apache2.2
说明:--enable-dav允许Apache提供DAV协议支持;--enable-so允许运行时加载DSO模块, --prefix指定apache的安装目录
make
make install
说明:在configure与make很可能会出现一些fail,而往往是因为缺少一些必要的库,就直接安装一下apt-get install *****,即可,我安装出现过三个,反正这个比较直观
这样,apache 应该安装好了,测试一下,/opt/apache2/bin/apachectl -k start, 在浏览器里输入:http://locahost
正常情况下应该出现It works!
2、安装subversion
这个比较烦,主要为了对付这个,还真是烦搞了近一天来的,下载源码后,把两个解压到同一下目录下(两个压缩包里没有相同的文件)
cd subversion
./configure --with-apxs=/opt/apache2/bin/apxs --with-apr=/opt/apache2 --with-apr-util=/opt/apache2 --prefix=/opt/subversion
--with-apxs=/opt/apache2/bin/apxs:生成两个so,mod_authz_svn.so, mod_dav_svn.so
--with-apr=/opt/apache2 --with-apr-util=/opt/apache2 为了防止 apr不匹配
这一步也是一样,可能会有这样那样的库没有而fail,照样安装就OK了
make
这一步是关键啦,我就是一直在这时出错了,改来改去了,花了大部分时间
有一个ERROR:/usr/bin/ld: cannot find -lexpat
我先来一个apt-get install lexpat,找不到,呵呵俺刚用不知道库具体是怎么回事来的,后来查了一下lexpat得安装expat
ok, apt-get install expat,安装完毕,靠,还不行,出错信息还一样来的, 这下主真的很烦了
google吧,查一下,发现在会去读/usr/lib/libexpat.so,去看了一下,晕了,怎么没有libexpat.so, 重新apt-get install expat了一下,再看,还是没有,看来这下问题大了
再找再google, “但是/usr/lib下有/usr/lib/libexpat.so.1,于是做了一个 link,命令如下 ln -s /usr/lib/libexpat.so.1 /usr/lib/libexpat.so”,网上某位仁兄这样写了,哈哈,看来我有救了,去看了一下,我晕,我这里还不止一个来的
libexpat.so.1 libexpat.so.1.5.0
感觉还是1.5.0新一点,直接一点,免得麻烦,把libexpat.so.1.5.0复制一份,重命名libexpat.so
make
又出错了,不过,信息不一样了,说明上面这样做是可以的了
ERROR:relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC
这错误,简单的看来,似乎是因为32位不能用在64位,然后在某个地方加 -fPIC,哪个地方,怎么加就不知道了,看来菜鸟就是菜,没有办法,又只能google了去了,google了一大堆,呵呵,找到了
修改subversion/nero/src/Makefile,将CFLAGS = -g -O2 改成 CFLAGS = -fPIC -g -O2
哇 ,原来是在这里加-fPIC,这里加粗体,注意一下了,哈哈,如果是32位OS应该不会有这个错误的
不过我没有试
好了,make && make install,一切正常,OK,装好了
把 /opt/subversion/bin 加入到path 方便使用
vi /etc/profile
添加export PATH=$PATH:/opt/subversion/bin
好了,终于安装成功,哈哈,也没有别的意思,其实就是在自己的机器玩一下而已,主要是熟悉一下linux下的一些基本用法.