iT邦幫忙

0

httpd2.2.3升成2.2.15,為何不成功?

zeck 2012-09-06 09:21:225332 瀏覽
  • 分享至 

  • xImage

#tar -zxvf httpd-2.2.15.tar.bz2
#mv httpd-2.2.15apache
#cd apache
#./configure -prefix=/usr/local/apache --enable-modue=so --enable-module=rewrite
#make
#make install
#cd /usr/local/apache/bin
#apachectl start
#rpm -q httpd
上面是我打的指令,不知是不是有錯,請高手指導一下,謝謝!!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
jazozazo
iT邦高手 1 級 ‧ 2012-09-06 09:32:45

現在的版號是數字愈小愈新嗎?

zeck iT邦新手 5 級 ‧ 2012-09-06 10:48:13 檢舉

不是,數字越大越新呀

jazozazo iT邦高手 1 級 ‧ 2012-09-06 13:34:52 檢舉

那標題 httpd2.2.3升成2.2.15 是?

fillano iT邦超人 1 級 ‧ 2012-09-07 11:23:12 檢舉

15比3大阿...

2
silly
iT邦好手 2 級 ‧ 2012-09-06 13:52:07

指令看起來沒有問題(除了第二行mv指令少了一個空格)
為何你會認為不成功?
有錯誤訊息嗎?

提醒一下,

  1. 若啟動新的版本服務不成功的話,應該是原來版本的服務沒有先停下來,所以造成80 port被佔就會有錯誤訊息。
  2. 你新版本的httpd是使用原碼自行編譯的,它不會出現在rpm list裡,所以你最後的rpm -q只會看到舊版本喔(可以 #/usr/local/apache/bin/apachectl -v 來查看版本)。
看更多先前的回應...收起先前的回應...
zeck iT邦新手 5 級 ‧ 2012-09-06 15:05:26 檢舉

查出來版本,是舊的
Server version: Apache/2.2.3
Server built: Jun 6 2012 10:00:36
要把原版本的服務停下來,怎麼停?

silly iT邦好手 2 級 ‧ 2012-09-06 15:52:08 檢舉

不知道你的OS是什麼?
可以先看你現在有沒有在執行httpd

<pre class="c" name="code">#ps -ef |grep httpd

依照呈現的結果來決定要怎麼停。
若是系統預設安裝的,應該都可以用下面的指令停止

<pre class="c" name="code">#/etc/init.d/httpd stop

因是自行編譯的,所以還有些地方要注意,如開機要自動執行服務的話,就要作一些必要的設定。

假如搞不定自行編譯的部份,何不使用系統提供的機制來升級呢?
直接抓對應的RPM套件安裝,或是使用yum、apt等套件管理工具來作升級,這樣比較方便、快速且容易喔。

zeck iT邦新手 5 級 ‧ 2012-09-06 16:56:02 檢舉

我的舊版本httpd-2.2.3-65.e15.centos

zeck iT邦新手 5 級 ‧ 2012-09-06 17:07:21 檢舉

所以要下載這版本httpd-2.2.15-5.el6.centos.i686喔,來安裝嗎

silly iT邦好手 2 級 ‧ 2012-09-06 20:59:56 檢舉

你舊的httpd是centos 5的(el5),那就應該要抓同OS版本的,不能安裝el6的喔。
當然你若有找到httpd-2.2.15-x.el5.ooo.xxx.rpm的話(其中ooxx只是代碼),那就可以使用rpm -ivh來安裝。

假如你只是要安裝升級centos 5上的httpd相關的套件的話,我建議你可以去下面網址看看,會有你要的東西。
http://www.jasonlitka.com/yum-repository/

提示:

  1. 將會使用yum指令來更新。
  2. 裡頭會有教你如何增加新的yum repository。
  3. 新增好repo.後,使用yum update httpd即可升級至新版(目前該repo是2.2.22)
4
wiseguy
iT邦超人 1 級 ‧ 2012-09-06 22:14:06

你的指令都沒錯,只不過是『竹篙逗菜刀』,牛頭不對馬嘴 ...

前 8 行指令是以原始檔的方式安裝 apache,但後 1 行指令為什麼會變成用 rpm 在查詢 httpd?
如果你要用原始檔的方式安裝 apache,那麼跟 rpm 套件安裝機制是一點關係也沒有的。
如果你要用 rpm 安裝 apache,那就不必去下載原始檔來編譯了,直接
yum install httpd
一個指令就裝完了。這樣子用 rpm -q httpd 才會查得到有安裝 httpd 這個東西。

假如你要把現在 CentOS 裡的 apache 停下來並移除掉,那就下
service httpd stop
yum remove httpd

就好了,再以原始檔的方式安裝新的 apache 。

看更多先前的回應...收起先前的回應...
zeck iT邦新手 5 級 ‧ 2012-09-07 09:43:40 檢舉

我先service httpd stop, 再yum remove httpd,感覺好像會run很久也

zeck iT邦新手 5 級 ‧ 2012-09-07 11:33:58 檢舉

要run多久才會移除掉

ted99tw iT邦高手 1 級 ‧ 2012-09-07 11:37:06 檢舉

zeck提到:
要run多久才會移除掉

看您的業有多重......毆飛

zeck iT邦新手 5 級 ‧ 2012-09-07 15:29:05 檢舉

我的linux版是centos,用「應用程式」-「新增/移除軟體」,移除httpd-2.2.3-65.e15.centos,再用安裝如下
#tar -zxvf httpd-2.2.15.tar.bz2
#mv httpd-2.2.15apache
#cd apache
#./configure -prefix=/usr/local/apache --enable-modue=so --enable-module=rewrite
#make
#make install
#cd /usr/local/apache/bin
#apachectl start
出現command not found
但我直接看檔案,是有apachectl,為何是找不到呢?
#rpm -q httpd
出現「套件 httpd 尚未安裝」
要下什麼指令,才會安裝成功!!!謝謝

wiseguy iT邦超人 1 級 ‧ 2012-09-07 18:12:23 檢舉

zeck提到:
yum remove httpd,感覺好像會run很久

看你的網路多快,它就多快囉~

zeck提到:
我直接看檔案,是有apachectl,為何是找不到

因為直接打命令,只會在PATH 環境參數所寫的目錄下找檔案,不會包括你現在所在目錄,所以會找不到。如果你要執行的命令就在現在所在目錄下,要加 ./ 變成 ./apachectl start 才會執行。

zeck提到:
要下什麼指令,才會安裝成功

哇咧 ... 我上面不是已經寫了你最後一個命令搞錯了,你幹嘛又問一次?
你已經裝成功了,但是你用錯方法查詢它是否裝成功,也打錯指令來啟動你所安裝的 apache,所以明明裝成功,卻查不到,也啟動不了,這樣你懂了嗎?

silly iT邦好手 2 級 ‧ 2012-09-07 19:54:09 檢舉

CentOS 5的官方版httpd最新版本應該只到2.2.3,
要更新的話除了使用原碼安裝外,就是指到第三方的repository,
而樓主看起來並不會處理原碼安裝後續設定,
所以我才會推薦樓主去設定第三方的repository,
之後的更新直接yum update作業即可。

zeck iT邦新手 5 級 ‧ 2012-09-10 17:24:39 檢舉

yum install httpd.i386 0:2.2.15-65.e15.centos
可用這指令來安裝嗎?

zeck iT邦新手 5 級 ‧ 2012-09-10 17:46:04 檢舉

可以用圖形介面來安裝嗎?不用指命來安裝可嗎?

我要發表回答

立即登入回答