(操作系統: OS:CentOs 6.0 並且以最小化安裝。)
安裝源代碼的一般步驟:
一.編譯環境:
1.CentOS下的開發工具Development Tools和附加開發:Additional Development這兩個軟件包組是必須要有的。首先查看自己的CentOS裏有沒有這兩個軟件包組。
掛在光盤到/mnt/cdrom下:
進入到/etc/yum/repos.d 下找到Centos-Media.repo 文件(此文件有光盤或U盤等介質上的軟件包)。
編輯CentOS-Media.repo文件:vim CentOS-Media.repo
此處的15行和第20行被修改爲如圖所示
原因是15行加入/mnt/cdrom下的光盤文件;20行是修改爲啓用該窗口。
查看本地軟件包組,命令:
[root@centos yum.repos.d]# yum grouplist --disablerepo=* --enablerepo=c6-media
注:其中: --disablerepo=* --enablerepo=c6-media 指明只顯示本地的不顯示其他地方的信息。
顯示結果中
Installed Groups:顯示已經安裝的組。
Available Groups:顯示可以安裝的組。
在 Available Groups:下我們能看到有開發工具:Development Tools,和附加開發:Additional Development。(如果這兩個組在Installed Groups:下就不需要再安裝。)
2.安裝:
安裝附加開發Additional Development組命令:
[root@centos yum.repos.d]# yum groupinstall "Additional Development" --disablerepo=* --enablerepo=c6-media,並且確認安裝,輸入y。安裝會需要一點時間,耐心等待一會就好。出現compelete! 這個就是安裝完成。
安裝開發工具Development Tools組命令:
[root@centos yum.repos.d]# yum groupinstall "Development Tools" --disablerepo=* --enablerepo=c6-media
並確認安裝,輸入y,安裝時也是需要些時間,耐心等待就行。同樣,出現Complete! 就是安裝完成。
此時編譯環境就建好了。
二.庫
庫的路徑:/lib 和 /usr/lib 和他們的子目錄是系統都能找到的庫的路徑。 當安裝一個軟件時,我們一般會爲這個軟件單獨創建一個目錄,但是此時軟件產生的各種庫文件也都到了這個目錄下,此時系統就找不到該軟件的庫。
此時需要把軟件的庫路徑加入到/etc/ld.so.conf.d下即可。
三.頭文件
一般頭文件目錄在/usr/include ,而安裝軟件的頭文件爲了可以被他人調用需創建鏈接。
四.手冊
軟件的手冊需要在/etc/man.conf下加入其路徑即可被系統調用。
以上四步是源代碼安裝的步驟,下線我們就開始安裝一個源代碼的Apache。
1.如果想安裝最新版本的apache,進入該官網下載即可:http://httpd.apache.org/
拖包:利用Xmanager工具來拖了三個包。其中,httpd-2.4.4是源代碼,arp 和 arp-util 這兩個包是來 增加Apache的可移植性。
執行拆包命令拆包:
查看:
如果現在安裝apache,即httpd你會發現安裝時出錯,這是因爲系統的apr版本過低。因此需要先安裝apr。
1)安裝apr
1.指明/usr/local/apr爲apr-1.4的安裝目錄並安裝:
執行:make && make install 即生成庫文件,頭文件,手冊等在執行make install
2.查看安裝情況。
庫:
執行命令:[root@centos apr]# vim /etc/ld.so.conf.d/apr.conf
執行命令ldconfig 更新緩存。
3.查看頭文件,執行命令:cd include/apr-1/
在[root@centos apr-1]#下並用ll 命令查看生成許多頭文件:
但此時別的程序不能調用這些頭文件。我們需要爲這些頭文件建立一個鏈接:
2)安裝apr-util
1.進入到apr-util下:執行cd /usr/local/src/apr-util
執行./configure --help來查看 ./config的用法。
執行[root@centos apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config 在指定目錄下安裝。
查看安裝結果如圖:
[root@centos apr-util-1.5.1]# cd /usr/local/apr-util/
[root@centos apr-util]# ll
總用量 12
drwxr-xr-x. 2 root root 4096 12月 21 16:49 bin
drwxr-xr-x. 3 root root 4096 12月 21 16:48 include
drwxr-xr-x. 4 root root 4096 12月 21 16:49 lib
然後執行make 生成各種文件。
2.執行make install
查看生成文件:
執行:cd /usr/local/apr-util
ls -l lib/ 查看庫文件
ls -l include/查看頭文件
3.執行:
[root@centos apr-util]# vim /etc/ld.so.conf.d/apr-util.conf
在編輯器裏添加apr-util的庫目錄:/usr/local/apr-util/lib
更新緩存:ldconfig
修改頭文件目錄:
[root@centos apr-util]# cd /usr/include/
[root@centos include]# ln -s /usr/local/apr-util/include/apr-1/ apr-util
查看:
3)Apache的安裝
1.
查看./configure --prefix的安裝用法:
用法提示我們要加入--with-apr=加上apr的全路徑名,和--with-apr-util=加上全路徑名。
知道了用法後,輸入這個執行安裝命令:
[root@centos httpd-2.4.4]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config
但是結果顯示出錯
但是不要灰心,出錯解決了纔是學習的王道,不出錯我們到學不到東西。
錯誤結果顯示了錯誤信息:檢查pcre-config時出錯,pcre是一個正則表達式的兼容庫,pcre.config這個配置文件沒有找到。
我們查看pcre,輸入命令[root@centos httpd-2.4.4]# rpm -qa |grep pcre
結果顯示:有pcre-7.8-6.el6.x86_64
說明系統裏裝了pcre這個東西,我們在查看一個這個pcre:
結果沒有pcre.config這個配置文件。
於是我們查看光盤裏的文件有沒有pcre開頭的:輸入:[root@centos httpd-2.4.4]# ll /mnt/cdrom/Packages/pcre*
其中第三行有個pcre-devel的包,devel包一般包含有開發的庫和配置文件。查看這個包裏有沒有pcre.config這個配置文件:
輸入:
[root@centos httpd-2.4.4]# rpm -qlp /mnt/cdrom/Packages/pcre-devel-7.8-6.el6.i686.rpm
顯示結果中第一行爲/usr/bin/pcre-config,說明這個配置文件在這裏,下面把這個包裝起來就行了。
輸入安裝命令:
[root@centos httpd-2.4.4]# yum install pcre-devel --disablerepo=* --enablerepo=c6-media
提示輸入:y安裝。
再次輸入安裝apache命令:
[root@centos httpd-2.4.4]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config
結果顯示沒有錯誤。
2.make生成各種文件:
輸入make命令:[root@centos httpd-2.4.4]# make
完成之後輸入make install命令:[root@centos httpd-2.4.4]# make install
生成文件是一個比較慢的,我們需要耐心等待。
3.查看apache生成沒有:
進入到該目錄下:cd /usr/local/apache
執行:ls -l
顯示結果有bin ,conf,include 等文件。
4.爲了能讓別人調用apache生成的頭文件include,則要爲它放到指定目錄。
進入該目錄:cd /usr/include
命令建立一個鏈接:ln -s /usr/local/apcahe/include apache
5.由於bin下有許多可執行的二進制文件,如果每次執行都要到目錄指定的位置是很不方便的,所以我們要在環境變量中修改一下環境變量。
[root@centos include]# vim /etc/profile
在第54行加入如下路徑:
PATH=$PATH:/usr/local/apache/bin
重新讀取一下文件,更新一下:
[root@centos include]# . /etc/profile
6.運行apache。
進入/usr/local/apache/bin下執行 ./httpd
輸入natstat -tupn |grep httpd查看服務起來沒有。