Ubuntu10下Apache-2.2安裝
我是用非root登錄,所以要sudo,要不然很多命令沒法執行。
下載httpd-2.2.16 .tar.gz,解壓並編譯安裝
tar –zxvf httpd-
cd httpd-
./configure --prefix=/usr/local/apache2.2.16
make
//現在可以在PREFIX目錄(參見上述的 --prefix 參數)下安裝了,執行:
sudo make install
//如果是升級,安裝程序不會覆蓋你的配置文件和文檔。
接着,通過修改PREFIX/conf/
目錄下的配置文件,來配置Apache HTTP服務器。可以先不管,採用默認的就行。這一步暫可省略。
sudo gedit /usr/local/apache
啓動測試
現在,可以執行下述命令立即啓動你的Apache HTTP服務器:
/usr/local/apache
你應該可以用http://localhost/
來請求你的第一個網頁了,這個網頁位於DocumentRoot
目錄下,通常是PREFIX/htdocs/
。隨後,可以這樣停止服務器:
$
PREFIX/bin/apachectl -k stop
常見問題解決
80端口已佔用
guangbo@guangbo-laptop:/usr/local/apache
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
(98)Address already in use: make_sock: could not bind to address
no listening sockets available, shutting down
Unable to open logs
解決方法:查看佔用80端口程序,用其中一個命令就行
ps auxw
netstat –ln
sudo netstat -lnp|grep 80
可以看到nginx佔用80端口
tcp 0 0
tcp6 0 0 :::8080 :::* LISTEN 995/java
查看並kill掉nginx
ps 762
PID TTY STAT TIME COMMAND
762 ? Ss 0:00 nginx: master process /usr/sbin/nginx
sudo kill -9 762
再次啓動apache,如果啓動再次有佔用情況,再殺一次。我殺了兩次才殺掉
sudo /usr/local/apache
ServerName問題
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
這是一個 warning,出現在apache2啓動或重起時。主要是因爲在配置 apache2 時,沒有指定相應的主機名,即 ServerName。修改 /usr/local/apache
sudo gedit /usr/local/apache
在最前加入 ServerName localhost:80 即可。
sudo /usr/local/apache
sudo /usr/local/apache
瀏覽器輸入:http://127.0.0.1/
It works!.
成功。