CentOS7.3環境下源碼安裝httpd
本文在CentOS7.3下,源碼安裝apache服務httpd2.4.
1.下載好源碼安裝包
[root@localhost ~]#ll total 6252 -rw-r--r--. 1 root root 6398218 Apr 7 22:25 httpd-2.4.25.tar.bz2
2.解壓安裝包
[root@localhost ~]#tar xvf httpd-2.4.25.tar.bz2
3.安裝編譯相關的工具
yum -y groupinstall "Development and Creative Workstation"
這是在安裝一個應用包組,即一組應用包,編譯源碼相關的工具命令包含在這個包組中。實際生產中,可根據具體情況最小化安裝應用包。
另外還需要安裝如下包
yum install -y apr-devel yum install -y apr-util-devel yum install -y pcre-devel
4.配置編譯參數
[root@localhost httpd-2.4.25]#pwd /root/httpd-2.4.25 [root@localhost httpd-2.4.25]#./configure --prefix=/app/http24 --sysconfdir=/etc/httpd24
--prefix參數是設置安裝目錄,--sysconfdir參數是設置配置文件路徑
-
如果出現ERROR的字樣,可能的原因是執行configure命令所需的包沒安裝,可見參照第三步,安裝相關的工具
-
實際生產可能根據具體配置詳細參數,這里只是為了示范安裝,只設置了兩個必要的參數
配置成功之后,出現以下字樣:
configure: summary of build options: Server Version: 2.4.25 Install prefix: /app/http24 C compiler: gcc -std=gnu99 CFLAGS: -pthread LDFLAGS: LIBS: CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE C preprocessor: gcc -E
5.編譯
make
根據參數編譯源碼,生成特點文件,比如二進制文件httpd。這個過程花費的時間可能比較長。
成功之后,目錄如下:
make[2]: Entering directory `/root/httpd-2.4.25/support' make[2]: Leaving directory `/root/httpd-2.4.25/support' make[1]: Leaving directory `/root/httpd-2.4.25' [root@localhost httpd-2.4.25]#ls ABOUT_APACHE BuildBin.dsp config.status httpd.mak libhttpd.mak modules.o server acinclude.m4 buildconf configure httpd.spec LICENSE NOTICE srclib Apache-apr2.dsw buildmark.o configure.in include Makefile NWGNUmakefile support Apache.dsw CHANGES docs INSTALL Makefile.in os test apache_probes.d CMakeLists.txt emacs-style InstallBin.dsp Makefile.win README VERSIONING ap.d config.layout httpd LAYOUT modules README.cmake build config.log httpd.dep libhttpd.dep modules.c README.platforms BuildAll.dsp config.nice httpd.dsp libhttpd.dsp modules.lo ROADMAP
6.安裝
make install
這一步實則是將編譯之后生成的文件移動到指定的目錄
7.將/app/http24/bin目錄配置到環境變量
- 在/etc/profile.d/目錄下新建httpd.sh
[root@localhost profile.d]#pwd /etc/profile.d [root@localhost profile.d]#vim httpd.sh
- 在httpd.sh中添加httpd應用的/bin目錄的全路徑
PATH=$PATH:/app/httpd24/bin
- 讓httpd.sh文件生效
source httpd.sh
啟用httpd服務
apachectl start
檢查啟用是否成功
[root@vathe ~]#netstat -tan | grep 80 tcp6 0 0 :::80 :::* LISTEN
訪問
- 查看主機ip
[root@vathe ~]#ip a 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:dc:18:55 brd ff:ff:ff:ff:ff:ff inet 172.16.251.215/16 brd 172.16.255.255 scope global dynamic ens33 valid_lft 86034sec preferred_lft 86034sec inet6 fe80::83d2:113b:e29b:1a03/64 scope link valid_lft forever preferred_lft forever
主機ip為172.16.251.215
- 使用瀏覽器直接訪問172.16.251.215
- 訪問不成功,可能的原因:1.selinux沒關閉;2.防火牆沒關閉
- 下一篇文章將介紹怎么判斷防火牆是否關閉,以及開關閉防火牆
有疑問或建議可聯系VatheSee@163.com