昨天花了近一天的時間來的在Ubuntu下安裝apache+subversion,這裡簡單的總結一下安裝過程
因為用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下的一些基本用法.