一、Apache简介
1、Apache起源
- 源于A Patchy Server,著名的开源Web服务软件
- 1995年时,发布Apache服务程序的1 .0版本
- 由Apache软件基金会(ASF) 负责维护
- 最新的名称为’Apache HTTP Server”
- 官方站点: htp://httpd.apache.org/
2、主要特点
- 开放源代码、跨平台应用
- 支持多种网页编程语言
- 模块化设计、运行稳定、良好的安全性
3、软件版本
- 1.X
- 目前最高版本是1.3,运行稳定
- 向下兼容性较好,但缺乏-些较新的功能
- 2.X
- 目前最高版本是2.6
- 具有更多的功能特性
- 与1.X相比,配置管理风格存在较大差异
二、编译安装httpd服务器
编译安装的优点
- 具有较大的自由度,功能可定制
- 可及时获得最新的软件版本
- 普遍适用于大多数Linux版本,便于移植使用
获得Apache服务器的源码包
- 参考地址: http://httpd .apache.org/download.cgi
1、准备工作
-
卸载httpd及相关依赖包
[root@www ~ ]# rpm -e httpd –nodeps //忽略软件包依赖性
2、源码编译及安装
——————————————————————————————安装Apache————————————————————————————
[root@localhost ~]# mkdir /LAMP //创建挂载点
[root@localhost ~]# mount.cifs //192.168.17.1/LAMP /LAMP //链接共享
Password for root@//192.168.17.1/LAMP:
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda5 xfs 32G 3.3G 29G 11% /
devtmpfs devtmpfs 898M 0 898M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.0M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda2 xfs 4.0G 33M 4.0G 1% /home
/dev/sda1 xfs 497M 167M 331M 34% /boot
tmpfs tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs tmpfs 183M 28K 183M 1% /run/user/0
//192.168.17.1/LAMP cifs 293G 111G 183G 38% /LAMP
[root@localhost ~]# cd LAMP
[root@localhost LAMP]# ls
apr-1.6.2.tar.gz httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz httpd-2.4.2.tar.gz php-5.6.11.tar.bz2
Discuz_X2.5_SC_UTF8.zip john-1.8.0.tar.gz
extundelete-0.2.4.tar.bz2 LAMP-php5.6.txt
[root@localhost LAMP]# tar zvxf apr-1.6.2.tar.gz -C /opt
[root@localhost LAMP]# tar zvxf apr-util-1.6.0.tar.gz -C /opt
[root@localhost LAMP]# tar jvxf httpd-2.4.29.tar.bz2 -C /opt //解压3个包到opt
[root@localhost LAMP]# cd /opt
[root@localhost opt]# ls //将两个apr文件移动到httpd中
apr-1.6.2 apr-util-1.6.0 httpd-2.4.29 rh
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@localhost opt]# ls
httpd-2.4.29 rh
[root@localhost opt]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# ls
ABOUT_APACHE CMakeLists.txt INSTALL NWGNUmakefile
acinclude.m4 config.layout InstallBin.dsp os
Apache-apr2.dsw configure LAYOUT README
Apache.dsw configure.in libhttpd.dep README.cmake
apache_probes.d docs libhttpd.dsp README.platforms
ap.d emacs-style libhttpd.mak ROADMAP
build httpd.dep LICENSE server
BuildAll.dsp httpd.dsp Makefile.in srclib
BuildBin.dsp httpd.mak Makefile.win support
buildconf httpd.spec modules test
CHANGES include NOTICE VERSIONING
[root@localhost httpd-2.4.29]# yum install -y gcc gcc-c++ pcre-devel pcre expat-devel //安装语言包
[root@localhost httpd-2.4.29]#./configure \
--prefix=/usr/local/httpd \
--enable-so --enable-rewrite \
--enable-charset-lite \
--enable-cgi //配置选项如安装路径,启用字符集支持等
[root@localhost httpd-2.4.29]#make //编译
[root@localhost httpd-2.4.29]#make install //安装
[root@localhost httpd-2.4.29]#cd /usr/local/httpd/bin //切换至安装路径
[root@localhost bin]# ls
ab apu-1-config dbmmanage fcgistarter htdigest httxt2dbm
apachectl apxs envvars htcacheclean htpasswd logresolve
apr-1-config checkgid envvars-std htdbm httpd rotatelogs
[root@localhost bin]# cp apachectl /etc/init.d/httpd
//将apachevtl脚本复制为/etc/init.d/httpd,并在文件开头添加chkconfig识别配置
[root@localhost bin]# vim /etc/init.d/httpd
#!/bin/sh
#chkconfig: 35 85 21 //服务识别参数,在级别3、5中启动;启动个关闭顺序分别为85、21
#description: Apache is a World Wide Web server //服务描述信息
……省略
[root@localhost bin]# chkconfig --add httpd //将httpd添加为系统服务
[root@localhost bin]# cd ..
[root@localhost httpd]# ls
bin cgi-bin error icons lib man modules
build conf htdocs include logs manual
[root@localhost httpd]# cd conf
[root@localhost conf]# ls
extra httpd.conf magic mime.types original
[root@localhost conf]# pwd
/usr/local/httpd/conf //路径较长,可以优化路径,使用ln -s建立软链接
[root@localhost conf]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
[root@localhost conf]# ln -s /usr/local/httpd/bin/* /usr/local/bin
[root@localhost conf]# vim /etc/httpd.conf //进入配置文件修改监听地址等信息
[root@localhost conf]# httpd -t
Syntax OK
[root@localhost conf]# service httpd start //启用服务
[root@localhost conf]# netstat -ntap | grep 80
tcp 0 0 192.168.17.132:80 0.0.0.0:* LISTEN 105929/httpd
[root@localhost conf]# systemctl stop firewalld.service //关闭防火墙
[root@localhost conf]# setenforce 0