Apache Web服务

来源:互联网 发布:深圳淘宝摄影 编辑:程序博客网 时间:2024/06/02 04:18

Apache:流行的web服务器软件

查看西邮官网服务器类型

                     

                                         -------------------------------------apache的安装--------------------------------------

[root@mariadb mysqladmin]# yum install httpd -y                #####安装apache软件包
[root@mariadb mysqladmin]# systemctl start httpd             ####开启apache服务
[root@mariadb mysqladmin]# systemctl enable httpd         ####设置开机自启apache
[root@mariadb mysqladmin]# systemctl stop firewalld        #####关闭防火墙

[root@mariadb mysqladmin]# systemctl disable firewalld   #####设置开机不启动防火墙


                                            -----------------------------apache的基本信息------------------------------
1.apache的默认发布文件

   index.html

[root@mariadb ~]# cd /var/www/html/
[root@mariadb html]# vim index.html      ####写入访问页面要显示的内容,<h1> </h1>设置字体
  <h1>hello world</h1>

浏览器访问172.25.254.159查看内容


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 index.html      ####apache的发布文件优先为westos.html

systemctl  restart httpd                       ######重启服务,使修改生效


2.修改默认发布目录
1)当selinux为disabled状态:
[root@mariadb mysqladmin]# getenforce       #####查看selinux状态
Disabled
[root@mariadb ~]# mkdir /westos/www/test -p                  ####创建递归目录

[root@mariadb ~]# vim /westos/www/test/westos.html   ####在发布文件westos.html中编写hello


[root@mariadb ~]#vim /etc/httpd/conf/httpd.conf             #####编辑主配置文件
#DocumentRoot "/var/www/html"        ####将原来 发布目录注释掉   
DocumentRoot "/westos/www/test"
<Directory "/westos/www/test">     ####访问目录名称
    Require all granted        #####定义此目录允许访问权限,允许所有请求访问资源

</Directory>


[root@mariadb ~]#systemctl  restart httpd      ####重启服务



2)当selinux为Enforcing状态:

[root@mariadb ~]#vim /etc/httpd/conf/httpd.conf             #####编辑主配置文件
#DocumentRoot "/var/www/html"        ####将原来 发布目录注释掉   
DocumentRoot "/westos/www/test"
<Directory "/westos/www/test">     ####访问目录名称
    Require all granted        #####定义此目录允许访问权限,允许所有请求访问资源
</Directory>

[root@mariadb ~]# semanage fcontext -a -t httpd_sys_content_t '/westos(/.*)?'     #####配置安全上下文
[root@mariadb ~]# restorecon -RvvF /westos       ####强制恢复
[root@mariadb ~]#systemctl  restart httpd      ####重启服务


3.apache的访问控制

1)设定ip的访问

[root@mariadb ~]# vim /etc/httpd/conf/httpd.conf    #####编辑主配置文件

<Directory "/var/www/html/admin">   ######只允许59主机访问admin目录
        Order Deny,Allow
            Allow from 172.25.254.59
            Deny from All

</Directory>

server用浏览器访问时:





<Directory "/var/www/html/admin">   ######允许所有人访问admin目录,但是拒绝59主机
    Order Allow,Deny
    Allow from All
    Deny from 172.25.254.59

</Directory>

server用浏览器访问时:



2)设定用户的访问
[root@mariadb ~]# mkdir /var/www/html/admin       #####新建默认发布目录
[root@mariadb ~]# htpasswd -cm /etc/httpd/accessuser admin   ####在认证文件下创建admin用户,并设置密码
New password:
Re-type new password:
Adding password for user admin
[root@mariadb ~]# 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 admin]       ####只允许认证文件中admin用户访问,二选一

</Directory>


[root@mariadb ~]# systemctl restart httpd     ######服务重启


4.apache语言支持:php,html,cgi


1)html语言默认支持

2)php语言

yum install php -y      #####安装php服务

vim /var/www/html/index.php  #####写入要显示内容

vim index.php
<?php
      phpinfo();
?>

systemctl restart httpd      ######服务重启

3)cgi语言

mkdir /var/www/html/cgi    ####创建cgi的默认发布目录

[root@mariadb ~]# cd /var/www/html/cgi
[root@mariadb cgi]# vim index.cgi     ####编写cgi的默认发布文件
          

#!/usr/bin/perl
print "Content-type: te
xt/html\n\n";

print `date`;         ###执行date命令


chmod  +x  index.cgi              ####给文件加可执行权限
vim /etc/httpd/conf/httpd.conf    ####编写主配置文件
<Directory "/var/www/html/cgi">
      Options +ExecCGI               ######允许此目录中cgi程序执行
      AddHandler cgi-script .cgi    ######带有cgi后缀的文件是cgi程序

</Directory>


selinux为disabled状态:

systemct restart httpd       ####重启服务







                                  ------------------------------------apache的虚拟主机------------------------------------------------
1.定义
可以让我们的一台apache服务器在被访问不同域名的时候显示不同的主页
2.建立测试页
root@mariadb www]# mkdir virtual/money.westos.com/html -p           #####创建虚拟主机的默认发布目录
[root@mariadb www]# mkdir virtual/news.westos.com/html -p         #####创建虚拟主机的默认发布目录
[root@mariadb www]# echo "money" >virtual/money.westos.com/html/index.html   ####向默认发布文件中导入内容

[root@mariadb www]# echo "news" >virtual/news.westos.com/html/index.html        #####向默认发布文件中导入内容


3.配置
[root@mariadb www]# vim /etc/httpd/conf.d/default.conf    ####未指定域名访问目录
<Virtualhost  _default_:80>        ####虚拟主机开启的端口
     DocumentRoot "/var/www/html"  ####虚拟主机的默认发布目录
     CustomLog "logs/default.log" combined  ####虚拟主机日志

</Virtualhost>


[root@mariadb www]# vim /etc/httpd/conf.d/news.conf ##指定域名news.westos.com的访问到指定默认发布目录中
<virtualhost  *:80>           #### *为指定域名news.westos.com
     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>

[root@mariadb www]# vim /etc/httpd/conf.d/money.conf   ##指定域名money.westos.com的访问到指定默认发布目录中
<virtualhost  *:80>
     ServerName  "money.westos.com"
     DocumentRoot "/var/www/virtual/money.westos.com/html"
     CustomLog "logs/money.log" combined
</Virtualhost>
<Directory "/var/www/virtual/money.westos.com/html">  ###默认发布目录的访问授权
    Require all granted

</Directory>


[root@mariadb www]# systemctl restart httpd

4.测试
[root@foundation42 ~]# vim /etc/hosts     ######编写配置解析文件

172.25.254.142    www.westos.com   money.westos.com  news.westos.com


[root@foundation42 ~]# firefox            ######打开浏览器访问



                                      --------------------------------------------https--------------------------------------------
1.https定义

Hyper text transfer protocol over Secure socker layer

当http运行在安全接层(SSL)之上,http被称为https,https可以提供保密性,客户和服务器鉴别以及数据完整性

通过ssl
2.配置
[root@mariadb ~]# yum install mod_ssl -y         ######安装ssl服务
[root@mariadb ~]# yum install crypto-utils -y      #####安装服务用以做证书

[root@mariadb ~]# genkey www.westos.com       ######加密,生成密钥

打开虚拟机,随意键入字符


[root@mariadb ~]# cd /etc/httpd/conf.d/
[root@mariadb conf.d]# cp money.conf   login.conf
[root@mariadb conf.d]# mkdir /var/www/virtual/login.westos.com/html -p           #####生成目录
[root@mariadb conf.d]# vim /var/www/virtual/login.westos.com/html/index.html    ####编写测试内容

[root@mariadb conf.d]# vim 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表示永久重定向

[root@mariadb ~]# systemctl restart httpd     #####服务重启

[root@foundation42 ~]# vim /etc/hosts     ######编写配置解析文件,添加解析

172.25.254.142  www.westos.com news.westos.com money.westos.com login.westos.com


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

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







原创粉丝点击