前一段時間,為了給自己的Python程序做前端測試,搭建了Ubuntu18+Apache2+CGI,中間走了不少彎路,幾近崩潰。為了方便后來的童靴,在這里做個安裝過程的總結。
一、安裝Apache2
先吐個槽,Apache這個軟件不同的版本包括小版本,甚至相同的版本安裝在不同的操作系統(tǒng),配置可能都不太一樣,網(wǎng)上找的教程可能會帶偏,這給小白帶來很大的困擾。
1、配置:Ubuntu 18.04; Apache 2.4.39
Apache版本查看:/etc/init.d/httpd? -V,或者切到Apache安裝目錄bin文件夾下,./apachectl -V
2、apt-get 安裝的Apache2,默認main配置文件在etc/apache2/apache2.conf,配置文件分開存放的,詳細配置信息見https://www.cnblogs.com/starof/p/4278370.html,這里不在贅敘。這樣的存儲結構可能比較利于大神維護,對小白只是搭建個測試平臺,配置起來比較麻煩。
因為只是需要httpd,Apache官網(wǎng)安裝需要自己安裝依賴包,為了方便使用LAMP安裝。
LAMP官網(wǎng)詳細安裝步驟:https://lamp.sh/autoinstall.html
如果不需要MySQL、PHP,安裝的時候現(xiàn)在don't install,安裝速度會更快。
安裝結束后httpd自動啟動,瀏覽器輸入localhost,跳轉到下圖,說明安裝成功。
二、Apache配置
1、LAMP Apache
默認啟動方法:/etc/init.d/httpd start
默認安裝目錄:? /usr/local/apache
配置文件路徑: /usr/local/apache/conf
2、配置過程:
(1)、刪除默認httpd.conf, 為配合PHP使用的,配置cgi用不上。
sudo rm -f /usr/local/apache/conf/httpd.conf?
(2)、文件夾中httpd.conf .bak為原始的
sudo cp /usr/local/apache/conf/httpd.conf .bak /usr/local/apache/conf/httpd.conf
(3)、sudo gedit /usr/local/apache/conf/httpd.conf ,打開配置文件。去掉175行前的注釋
??????? 175???? # LoadModule cgid_module modules/mod_cgid.so
(4)、256 和257設置htdocs路徑,也就是html的存放位置,注意兩行路徑需要一致
??????? 256??? DocumentRoot "/usr/local/apache/htdocs"
?????? 257??? <Directory "/usr/local/apache/htdocs">
(5)、373和389行設置cgi-bin路徑,注意兩行路徑需要一致。注意htdocs路徑和cgi-bin路徑不要設置為同一個文件夾,并且cgi-bin路徑不要設置在htdocs路徑下否在會出錯。
建議設置為:
?????? 373??? ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
?????? 389??? Directory "/usr/local/apache/cgi-bin">
(6)、去掉437行的注釋,并且修改為AddHandler cgi-script .cgi .py .pl
??????? 437??? # AddHandler cgi-script .cgi
(7)、保存退出,sudo /etc/init.d/httpd restart 重啟apache,即可。
# 如有錯誤,歡迎指正。碼字不易,非喜勿噴。