Linux之Redhat中apache服务器的搭建

一、什么是apche

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

二、安装服务

1.安装前准备

安装软件前首先要确保你的yum源所指定的目录是否正确,因为安装的软件需要解决几个依赖问题。

2.安装软件

安装httpd-manual: yum install httpd-manual,如下图表示安装成功:

Linux之Redhat中apache服务器的搭建

3.服务环境设置

1】开启服务:systemctl  start  httpd

2】服务apache

开机自启:systemctl  enable  httpd

3】关闭火墙:systemctl   stop  firewalld

4】火墙开机不自启:systemctl   disable   firewalld

Linux之Redhat中apache服务器的搭建

注:你也可以通过下面的方法配置环境:

Linux之Redhat中apache服务器的搭建

5】查看安装后生成的文件:rpm -lq httpd-manual

4.安装时出现key报错的解决方法:

在终端执行命令:key rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

三、apache基础信息

企业中常用web服务,用来提供http://(超文本传输协议)

1.测试

安装完软件并进行环境配置后进行测试,找一台主机执行命令:http://服务器IP(也就是你安装软件的主机IP/manual如下图:

Linux之Redhat中apache服务器的搭建

2.apache的基础信息

1】主配置目录:/etc/httpd/conf

2注配置文件:/etc/httpd/conf/httpd.conf

3子配置目录:/etc/httpd/conf.d

4子配置文件:/etc/httpd/conf.d/*.conf

5默认发布目录: /var/www/html

6默认发布文件: index.html

7默认端口80

8默认安全上下文:httpd_sys_content_t

9程序开启默认用户:apache

10apache日志 /etc/httpd/logs/*

四、apache的配置问题

1.更改端口

清除浏览器缓存(注:因为更改配置后浏览器的缓存会保存之前实验的界面,造成实验误判):ctrl shift delete

1】查看端口:ss -anutlpe | grep httpd 

Linux之Redhat中apache服务器的搭建

2】在配置文件中更改端口:vim  /etc/httpd/conf/httpd.conf

Linux之Redhat中apache服务器的搭建

listen

Linux之Redhat中apache服务器的搭建

3修改完成后重服务systemctl  restart  httpd,在浏览器测试:

Linux之Redhat中apache服务器的搭建

2.修改默认发布文件

1默认发布文件就是访问apache时没有指定文件名称时默认访问文件。文件的访问服从先来后到的顺序

2】新建文件:vim  index.html

在文件中添加内容 <h1>  DEFAULT </h1>(注:表示访问主机时,显示的内容为DEFAULT


Linux之Redhat中apache服务器的搭建

3】在浏览器测试:在浏览器输入主机IP,如下图:

Linux之Redhat中apache服务器的搭建

4】新建文件:vim test.html,文件中添加内容:<h1>  VICTORY  </h1>(注:表示访问主机时,显示的内容为VICTORY

Linux之Redhat中apache服务器的搭建

5】修改配置文件:vim  /etc/httpd/conf/httpd.conf,找到下面的位置:


Linux之Redhat中apache服务器的搭建

将新建的文件添加到文件中,注意顺序。如下图:

Linux之Redhat中apache服务器的搭建

在浏览器中测试:

Linux之Redhat中apache服务器的搭建

3.修改默认发布目录

1】新建目录:mkdir -p /www/html

2】新建目录下创建html文件并添加下面的内容:

Linux之Redhat中apache服务器的搭建

3】进入主配置文件:vim /etc/httpd/conf/httpd.conf

4】找到下面的位置:

Linux之Redhat中apache服务器的搭建

作如下更改:

Linux之Redhat中apache服务器的搭建

5】设置安全上下文并加载:

Linux之Redhat中apache服务器的搭建

6】重启服务:[[email protected] ~]# systemctl restart httpd.service

7】测试

Linux之Redhat中apache服务器的搭建

3.apache的虚拟机

1】建立虚拟机目录:mkdir   /var/www/virtual/yuchen.westos.com/html    -p

2vim   /var/www/virtual/yuchen.westos.com/html/index.html

3添加内容


Linux之Redhat中apache服务器的搭建

4】建立默认子配置文件:vim  /etc/httpd/conf.d/adefault.conf

Linux之Redhat中apache服务器的搭建

5】建立子配置文件:vim  /etc/httpd/conf.d/yuchen.conf

Linux之Redhat中apache服务器的搭建

6测试 vim /etc/hosts

注:在测试主机添加域名解析:

172.25.254.16  yuchen.westos.com

Linux之Redhat中apache服务器的搭建Linux之Redhat中apache服务器的搭建

五、apache内部的访问控制

1.针对与主机的访问控制

1】进入配置文件:vim /etc/httpd/conf.d/adefaults.html(已有文件)添加内容

Linux之Redhat中apache服务器的搭建

2】新建目录和访问文件:

Linux之Redhat中apache服务器的搭建

Linux之Redhat中apache服务器的搭建

3】重启服务并测试:

172.25.254.92主机测试

Linux之Redhat中apache服务器的搭建

172.25.254.16主机测试

Linux之Redhat中apache服务器的搭建

2.用户方式的访问控制

1】创建用户:htpasswd -cm /etc/httpd/userpass admin (注:c表示创建m表示添加

2】添加用户:htpasswd  -m  /etc/httpd/userpass admin1

Linux之Redhat中apache服务器的搭建

新建用户信息都存在/etc/httpd/userpass(注:自己指定)里:

Linux之Redhat中apache服务器的搭建

4】新建目录和文件:

[[email protected] conf.d]# mkdir /var/www/html/admin

[[email protected] conf.d]# vim /var/www/html/admin/index.html

文件中添加下面的内容:

Linux之Redhat中apache服务器的搭建

3】进入配置文件:vim adfault.conf

添加内容:

<Directory "/var/www/html/admin">

AuthUserFile /etc/httpd/userpass

AuthName "Please say father"

AuthType basic

Require user admin 允许admin登陆| Require valid-user 允许所有有意义的用户登陆

</Directory>

配置一:

Linux之Redhat中apache服务器的搭建

配置二:

Linux之Redhat中apache服务器的搭建

4】测试一,只允许admin访问:

Linux之Redhat中apache服务器的搭建Linux之Redhat中apache服务器的搭建

5】测试二,允许存在的用户访问:

Linux之Redhat中apache服务器的搭建Linux之Redhat中apache服务器的搭建

六、apache支持的语言

1.html前面已经用到。

2.php语言

1】安装软件:yum install php -y

2】创建文件:vim /var/www/html/index.php

<?php

phpinfo();

?>

Linux之Redhat中apache服务器的搭建

3】更改默认读取文件,在注配置文件作如下更改:

Linux之Redhat中apache服务器的搭建

4】重启服务并测试:systemctl restart httpd

Linux之Redhat中apache服务器的搭建

3.cpi语言

1】创建目录:mkdir -p /var/www/html/cgi

2】配置安全上下文并加载:

semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?'

restorecon -RvvF /var/www/html/cgi

Linux之Redhat中apache服务器的搭建

3】新建文件并添加内容:添加内容在172.25.254.16/manual

Linux之Redhat中apache服务器的搭建Linux之Redhat中apache服务器的搭建

复制粘贴作少量更改:

Linux之Redhat中apache服务器的搭建

4】给文件可执行权限并测试:

chmod +x /var/www/html/cgi/index.cgi

/var/www/html/cgi/index.cgi

Linux之Redhat中apache服务器的搭建

5】在配置文件添加下面的内容:vim adefatul.conf

Linux之Redhat中apache服务器的搭建

6】重启服务并测试:

Linux之Redhat中apache服务器的搭建

七、https保护客户端的数据在传输过程中不被**

1】安装两个软件:yum install crypto-utils -yyum install mod_ssl -y

2】获取证书,在终端中执行命令:genkey www.yuchen.com,你会进入下面的界面,选择next然后回车。

Linux之Redhat中apache服务器的搭建

选择第二项,然后再选择next(注:不同大小选择,越大速度越慢)

Linux之Redhat中apache服务器的搭建Linux之Redhat中apache服务器的搭建

现在打开一个虚拟机键盘随便输入,完成加密也就是等下图的进度条完成。

Linux之Redhat中apache服务器的搭建

选择no

Linux之Redhat中apache服务器的搭建

选择next,如下图:

Linux之Redhat中apache服务器的搭建Linux之Redhat中apache服务器的搭建

3】添加证书:vim /etc/httpd/conf.d/ssl.conf

Linux之Redhat中apache服务器的搭建Linux之Redhat中apache服务器的搭建

4】重启服务测试:

Linux之Redhat中apache服务器的搭建

Linux之Redhat中apache服务器的搭建Linux之Redhat中apache服务器的搭建Linux之Redhat中apache服务器的搭建

八、设定https虚拟主机并设定网页重写

1】创建目录:mkdir /var/www/html/virtual/login.westos.com/html

2】创建html文件:vim /var/www/html/virtual/login.westos.com/html/index.html

Linux之Redhat中apache服务器的搭建

3】新建文件:/etc/httpd/conf.d/login.conf

添加内容

<Virtualhost *:443>

Servername login.westos.com

DocumentRoot /var/www/html/virtual/login.westos.com/html

Customlog "logs/login.logs" combined

SSLEngine on

SSLCertificateFile 证书文件

SSLCertificateKeyFile 钥匙文件

</VirtuallHost>

<Directory>

Require all granted

</Directory>

<VirtualHost *:80>

Servername login.westos.com

RewriteEngine On

RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]

</VirtualHost>

Linux之Redhat中apache服务器的搭建

注:

1^(/.*)$           ##客户在浏览地址栏输入的所有字符

2https://          ##强制客户加密访问

3%{HTTP_HOST}  ##客户请求主机

4$1              ##"$1"表示^(/.*)$的值

5[redirect=301]    ##临时重写302永久转换

测试:

Linux之Redhat中apache服务器的搭建