您的位置:首页 > 运维架构 > Apache

Linux之Redhat中apache服务器的搭建

2017-11-22 20:42 447 查看
一、什么是apche

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

二、安装服务

1.安装前准备

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

2.安装软件

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



3.服务环境设置

【1】开启服务:systemctl  start  httpd。

【2】服务apache

开机自启:systemctl  enable  httpd。

【3】关闭火墙:systemctl   stop  firewalld。

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



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



【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如下图:



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

【10】apache日志: /etc/httpd/logs/*

四、apache的配置问题

1.更改端口

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

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



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



改 listen



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



2.修改默认发布文件

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

【2】新建文件:vim  index.html

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



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



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



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



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



在浏览器中测试:



3.修改默认发布目录

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

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



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

【4】找到下面的位置:



作如下更改:



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



【6】重启服务:[root@localhost ~]# systemctl restart httpd.service

【7】测试



3.apache的虚拟机

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

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

【3】添加内容



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



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



【6】测试 vim /etc/hosts

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

172.25.254.16  yuchen.westos.com





五、apache内部的访问控制

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

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



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





【3】重启服务并测试:

在172.25.254.92主机测试



在172.25.254.16主机测试



2.用户方式的访问控制

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

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



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



【4】新建目录和文件:

[root@localhost conf.d]# mkdir /var/www/html/admin

[root@localhost conf.d]# vim /var/www/html/admin/index.html

文件中添加下面的内容:



【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>

配置一:



配置二:



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





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





六、apache支持的语言

1.html前面已经用到。

2.php语言

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

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

<?php

phpinfo();

?>



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



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



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



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





复制粘贴作少量更改:



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

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

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



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



【6】重启服务并测试:



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

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

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



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





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



选择no。



选择next,如下图:





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





【4】重启服务测试:









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

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

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



【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>



注:

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

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

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

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

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

测试:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息