anpache的安装 

 

yum install httpd -y

systemctl start httpd

systemctl stop firewalld

systemctl enable httpd

systemctl disable firewalld

 


  apache信息  


 

1.apache的默认发布文件

index.html

 

2.apache的配置文件

/etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*.conf

 

3.apache的默认发布目录

/var/www/html

 

4.apache的默认端口

80

 

################################

##### apache的基本配置 #########

################################

1.修改默认发布文件

vim /etc/httpd/conf/httpd.conf

164     DirectoryIndex westos.html

systemctl restart httpd

2.修改默认发布目录

##当selinux是disable状态

vim /etc/httpd/conf/httpd.conf

120 DocumentRoot "/westos/www/test"

<Directory "/westos/www/test">

        Require all granted

</Directory>

systemctl restart httpd

 

 

##当selinux是enforcing状态

vim /etc/httpd/conf/httpd.conf

120 DocumentRoot "/westos/www/test"

<Directory "/westos/www/test">

        Require all granted

</Directory>

systemctl restart httpd

 

semanage fcontext -a -t httpd_sys_content_t '/westos(/.*)?'

restorecon -RvvF /westos

 

3.apache的访问控制

##设定ip的访问

vim /etc/httpd/conf/httpd.conf

<Directory "/var/www/html/admin">##允许所有人访问admin目录但是拒绝250主机

        Order Allow,Deny

        Allow from All

        Deny from 172.25.254.250

</Directory>

 

<Directory "/var/www/html/admin">       ##只允许250主机访问admin目录

        Order Deny,Allow

        Allow from 172.25.254.250

        Deny from All

</Directory>

##设定用户的访问

htpasswd -m /etc/httpd/accessuser admin

vim /etc/httpd/conf/httpd.conf

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

        AuthUserFile /etc/httpd/accessuser##用户认证文件

        AuthName "Please input your name and password !!"##用户认证提示信息

        AuthType basic##认证类型

        Require valid-user##认证用户,认证文件中所有用户都可以通过

[Require user admin]##只允许认证文件中admin用户访问,二写一

</Directory>

 

4.apache语言支持

php html cgi

 

html语言默认支持

 

php语言

vim index.php

<?php

phpinfo();

?>

yum install php -y

systemctl restart httpd

 

 

cgi语言

mkdir /var/www/html/cgi

vim index.cgi

#!/usr/bin/perl

print "Content-type: text/html\n\n";

print `date`;

 

vim /etc/httpd/conf/httpd.conf

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

Options +ExecCGI

AddHandler cgi-script .cgi

</Directory>

systemctl restart httpd

 

 

 

##################################

######## apache的虚拟主机 ########

##################################

 

1.定义

可以让我们的一台apache服务器在被访问不同域名的时候显示

不同的主页

 

2.建立测试页

mkdir  virtual/money.westos.com/html -p

mkdir  virtual/news.westos.com/html -p

echo "money.westos.com's page" >virtual/money.westos.com/html/index.html

echo "news.westos.com's page" >virtual/news.westos.com/html/index.html

 

3.配置

vim /etc/httpd/conf.d/default.conf##位指定域名的访问都访问default

<Virtualhost_default_:80>##虚拟主机开启的端口

DocumentRoot "/var/www/html"##虚拟主机的默认发布目录

CustomLog "logs/default.log" combined##虚拟主机日志

</Virtualhost>

 

vim /etc/httpd/conf.d/news.conf##指定域名news.westos.com的访问到指定默认发布目录中

<Virtualhost *:80>

ServerName "news.westos.com"

DocumentRoot "/var/www/virtual/news.westos.com/html"

CustomLog "logs/news.log" combined

</Virtualhost>

<Directory "/var/www/virtual/news.westos.com/html">##默认发布目录的访问授权

Require all granted

</Directory>

 

4.测试

在浏览器所在主机中

vim /etc/hosts

172.25.254.100www.westos.com news.westos.com

 

###############################

##### 网页加密访问https #######

###############################

1.https定义

Hyper text transfer protocol over Secure socker layer

通过ssl

 

2.配置

yum install mod_ssl -y

yum install crypto-utils -y

genkey www.westos.com

/etc/pki/tls/private/www.westos.com.key

/etc/pki/tls/certs/www.westos.com.crt

vim /etc/httpd/conf.d/login.conf

<Virtualhost *:443>

        ServerName "login.westos.com"

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

        CustomLog "logs/login.log" combined

        SSLEngine on##开始https功能

        SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt#证书

        SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key ##密钥

</Virtualhost>

<Directory "/var/www/virtual/login.westos.com/html">

        Require all granted

</Directory>

<Virtualhost *:80>##网页重写实现自动访问https

        ServerName login.westos.com

        RewriteEngine on

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

</Virtualhost>

 

##########################################################################

####

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

####

##^(/.*)$客户主机在地址栏中写入的所有字符,不包含换行符##

##https://定向成为的访问协议##

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

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

##[redirect=301]临时重定向 302永久重定向##

####

##########################################################################

 

mkdir  /var/www/virtual/login.westos.com/html -p

vim /var/www/virtual/login.westos.com/html/index.html

 

systemctl restart httpd

 

测试:

在客户主机中添加解析

vim /etc/hosts

172.25.254.100 login.westos.com

 

访问http://login.westos.com 会自动跳转到

https://login.westos.com 实现网页数据加密传输