Apache系列—服务器安装与配置

时间:2021-09-10 00:19:42

一、安装依赖

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