Apache服务(虚拟主机构建–用域名访问http、设定用户访问权限、apache支持语言的设置)

  • Post author:
  • Post category:其他


apache




虚拟主机构建



域名

访问apache服务


服务端

cd /etc/httpd/conf.d/   apache脚本存放地址
ls            
vim README         查看readme文件
vim vhost.conf     新建脚本

<VirtualHost _default_:80>
        DocumentRoot /var/www/html
        CustomLog logs/default.log combined
</VirtualHost>


systemctl restart httpd   重启服务

在这里插入图片描述


客户端


进行本地域名解析

vim /etc/hosts
172.25.254.101 www.westos.com music.westos.com news.westos.com
  服务端ip       需要被解析的域名

在这里插入图片描述

测试

失败

systemctl status httpd.service 查看apache是否打开
setenforce 0         可能是selinux强制状态未关,设为警示状态
systemctl restart httpd  重启apache服务

在这里插入图片描述

在这里插入图片描述


一个ip设置多个域名

访问主配置文件

vim /etc/httpd/conf/httpd.conf

还原配置

拷贝

DocumentRoot "/westos/html"
<Directory "/westos/html">
 Require all granted
</Directory>

递归新建目录

mkdir -p /var/www/vhost/music
mkdir -p /var/www/vhost/news

在这里插入图片描述

设置目录中共享文件的内容

vim /var/www/vhost/music/index.html
vim /var/www/vhost/news/index.html

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

写入脚本

vim vhost.conf 

在这里插入图片描述

可用拷贝的内容进行快速设置

在这里插入图片描述

客户端

写入本地解析域名

vim /etc/hosts
172.25.254.101 www.westos.com music.westos.com news.westos.com

测试

在这里插入图片描述

在这里插入图片描述


用户限制



为黑白名单的设定


白名单

<Directory "/var/www/html">
   Order Deny,Allow   先读Deny
   Allow from 172.25.254.70  允许ip=172.25.254.70访问
   Deny from all             禁止其他人访问

在这里插入图片描述

测试

在这里插入图片描述


黑名单

<Directory "/var/www/html">
   Order Allow,Deny      先读Allow
   Allow from all         允许任何人读
   Deny from 172.25.254.70  不允许ip=172.25.254.70访问

在这里插入图片描述

测试

在这里插入图片描述

在这里插入图片描述


为限定用户访问

添加用户并设置密码

htpasswd -cm .apache_auth admin

[root@desktop httpd]# htpasswd -cm .apache_auth admin
New password: 
Re-type new password: 
Adding password for user admin

cat .apache_auth 
(.apache_auth为隐藏文件)
密码为加密字符

htpasswd -m .apache_auth admin  更改用户admin的密码

访问主配置文件

vim /etc/httpd/conf/httpd.conf

在主访问路径后加入

<Directory "/var/www/html">         
     AuthUserFile /etc/httpd/.apache_auth  指定加密文件
     AuthType basic      基础设备
     AuthName "Please input username and password"  进入界面显示
     Require user admin   指定用户
   </Directory>




apache支持的语言

默认语言


html


php语言


新建php文件

vim /var/www/html/index.php
?php
                   phpinfo();
 ?>

下载php软件

yum install php

在这里插入图片描述

测试

在这里插入图片描述


自定义cgi接口语言



通用网关接口

cgi语言的执行

cd /var/www/cgi-bin/
vim index.cgi          新建cgi语言文件
 chmod +x index.cgi    给予可执行权限
./index.cgi            执行文件
 vim index.cgi

ls -Zd /var/www/cgi-bin/   查看/var/www/cgi-bin/ 的安全上下文
 
vim index.cgi        更改文件
#!/usr/bin/perl
   print "Content-type: text/html\n\n";
   print `date`;          执行data命令
                               
./index.cgi                执行


yum install httpd-manual-2.4.6-45.el7.noarch     安装apache目录

在这里插入图片描述

查看manual

在这里插入图片描述

在这里插入图片描述

vim index.cgi

在这里插入图片描述

在这里插入图片描述

修改文件使之执行date命令

在这里插入图片描述

在这里插入图片描述

使文件可用于网络共享

cd /var/www/html/
ls
mkdir cgi  在指定目录下建立cgi目录
cd cgi/
cp /var/www/cgi-bin/index.cgi .    将/var/www/cgi-bin/index.cgi复制到当前
ll                                 
cd /etc/httpd/conf.d/              
ls 
vim vhost.conf                     在脚本中指定
systemctl restart httpd.service    
<Directory /var/www/html/cgi>
       Options +ExecCGI
       AddHandler cgi-script .cgi
 </Directory>

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
如果访问失败

ls -Zd
ls -Zd /var/www/cgi-bin/          查看新建目录的安全上下文
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?'   修改文件安全上下文
restorecon -RvvF /var/www/html/cgi/    刷新
ls -Zd /var/www/html/cgi/              查看

在这里插入图片描述

再次访问

在这里插入图片描述


wsgi 接口语言



为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口



/var/www/cgi-bin/

目录下写编写脚本

编写脚本

cd /var/www/cgi-bin/
ls
vim webapp.wsgi 

 #!/usr/bin/env python 
 import time
 
def application (environ, start_response):
    response_body = 'UNIX EPOCH time is now: %s\n' % time.time()
    status = '200 OK'
    response_headers = [('Content-Type', 'text/plain'),
                        ('Content-Length', '1'),
                        ('Content-Length', str(len(response_body)))]
   start_response(status, response_headers)
   return [response_body]

在这里插入图片描述
给予权限

chmod +x webapp.wsgi

设定配置文件

 vim  /etc/httpd/conf.d/vhost.conf

在这里插入图片描述


因为用python编写,所以无法执行


下载wsig插件

yum install -y mod_wsgi.x86_64 

执行文件

python webapp.wsgi 

在这里插入图片描述

重启apache

客户端

编辑本地解析

vim /etc/hosts
172.25.254.101 www.westos.com music.westos.com news.westos.com wsig.westos.com

在这里插入图片描述

测试

成功

在这里插入图片描述



版权声明:本文为myhyyyyyy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。