Linux之Redhat中apache服务器的搭建

来源:互联网 发布:chalea高清网络电视 编辑:程序博客网 时间:2024/06/05 02:46

一、什么是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

10apache日志 /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

2vim   /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 -yyum install mod_ssl -y

2】获取证书,在终端中执行命令:genkeywww.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^(/.*)$           ##客户在浏览地址栏输入的所有字符

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

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

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

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

测试:







原创粉丝点击