一、安装依赖
1、安装OpenSSL
如果系统需要使用https协议来进行访问,需要Apache支持SSL,因此,在开始安装Apache软件之前,首先要安装OpenSSL。安装步骤如下:
# 下载源码包
# [root@bogon src]# wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
# 解压源码包
# [root@bogon src]# tar xvf openssl-1.0.2l.tar.gz
# [root@bogon src]# cd openssl-1.0.2l/
# 配置编译选项
# [root@bogon openssl-1.0.2l]# ./config --prefix=/usr/local/ssl --shared
# 编译
# [root@bogon openssl-1.0.2l]# make
# [root@bogon openssl-1.0.2l]# make install
# 将动态库路径加入系统路径中
# [root@bogon openssl-1.0.2l]# echo /usr/local/ssl/lib/ >> /etc/ld.so.conf
# 加载动态库以便系统共享
# [root@bogon openssl-1.0.2l]# ldconfig
安装依赖包
[root@bogon src]# yum install -y apr apr-util pcre apr-devel apr-util-devel pcre-devel
二、安装Apache
1、首先在系统上面查询一下是否已经安装了apache 【Apache在linux系统里的名字是httpd】
[root@bogon /]# rpm -qa | grep httpd
如果有返回的信息,则会显示已经安装的软件。如果没有则不会显示其它的信息。
2、下载并解压源码包
[root@bogon src]# wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.26.tar.gz
[root@bogon src]# tar xvf httpd-2.4.26.tar.gz
[root@bogon src]# cd httpd-2.4.26/
3、配置编译选项
[root@bogon httpd-2.4.26]# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-ssl --with-ssl=/usr/local/ssl --with-mpm=prefork
4、编译安装
[root@bogon httpd-2.4.26]# make
[root@bogon httpd-2.4.26]# make install
编译参数说明
--prefix=/usr/local/apach 是设置编译安装到的系统目录;
--enable-so 参数是使httpd服务能够动态加载模块功能;
--enable-rewrite 是使httpd服务具有网页地址重写功能;
--with-mpm=prefork 指定httpd的工作模式;
--enable-ssl:启用ssl功能,如果不启用将无法使用https;
--enable-mpms-shared=all:prefork、worker、event;
--with-mpm=event:event为默认;
--enable-rewrite:支持URL重写;
--enable-cgi :支持cgi;
--enable-cgid:httpd使用event或者worker得启用被线程方式访问;
--enable-modules=most :启用大多数模块;
--enable-mods-shared=most:启用大多数共享模块。
5、测试Apache是否安装成功
# 启动
[root@bogon httpd-2.4.26]# /usr/local/apache/bin/apachectl start
# 测试
[root@bogon httpd-2.4.26]# curl http://192.168.2.106
<html><body><h1>It works!</h1></body></html>
在启动apache的时候出现错误“AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message”
解决方法:这个时候编辑 /usr/local/apache/conf/httpd.conf 配置文件,将其中 #ServerName www.example.com:80 前面的注释去掉即可,或者我们修改为 ServerName localhost:80,然后即可正常启动apache。
访问 http://localhost:80 会看到 It Works!
6、停止Apache
[root@bogon httpd-2.4.26]# /usr/local/apache/bin/apachectl stop
三、添加为系统服务
将apache添加到系统服务,用service来控制apache的停止和启动。
1、以apachectl脚本为模板生成Apache服务控制脚本
[root@bogon httpd-2.4.26]# grep -v "#" /usr/local/apache/bin/apachectl > /etc/init.d/apache
2、使用vi编辑/etc/init.d/apache,在文件开头加入下面的行,使之支持chkconfig命令
#!/bin/sh
#chkconfig: 2345 85 15
#description: Apache is a World Wide Web server.
上面的三行必须带着#号
3、执行下面的命令增加apache服务控制脚本的执行权限
[root@bogon httpd-2.4.26]# chmod +x /etc/init.d/apache
4、执行下面的命令将apache加入到系统服务并打开随系统开机启动
[root@bogon httpd-2.4.26]# chkconfig --add apache
[root@bogon httpd-2.4.26]# chkconfig apache on
5、执行下面命令检查apache服务是否已经生效
[root@bogon httpd-2.4.26]# chkconfig --list apache
命令输出如下结果:
apache 0:关 1:关 2:开 3:开 4:开 5:开 6:关
表明apache服务已经生效,在2、3、4、5运行级别随系统启动而自动启动。
以后可以使用service(在rhel7中使用systemctl)命令控制Apache的启动和停止。
6、启动和停止apache服务
# systemctl start apache(rhel7以下使用:service apache start)
# systemctl stop apache(rhel7以下使用:service apache stop)
7、使用如下命令关闭apache服务开机自动启动
# chkconfig apache off
附、不设置为系统服务,直接开机启动就可以
使用vim编辑/etc/rc.local
# vim /etc/rc.local
添加如下数据:
/usr/local/apache/bin/apachectl start