基于linux的APACHE(web服务,指定ip和指定用户访问,虚拟主机,https加密认证,网页重写),支持的语言(php,cgi),正向和反向代理

APACHE Web服务

yum install httpd -y   ###安装httpd
systemctl start httpd   ###打开httpd服务
/var/www/html ###apache默认配置目录
index.html  ###apache默认主配置文件
cd /var/www/html
vim index.html  ###apache默认主配置文件
写入:hello world
netstat -antlupe | grep httpd  ###查看httpd的端口
在网站进行测试172.25.254.117

这里写图片描述
这里写图片描述
这里写图片描述

netstat -antlupe | grep httpd  ###查看httpd的端口
vim /etc/http/conf/httpd.conf
将listen80改为listen8080
在网站测试172.25.254.117:8080

这里写图片描述
这里写图片描述
这里写图片描述

mkdir -p /westos/html
cd /westos/html
vim index.html
写入:westos'page

这里写图片描述

vim /etc/http/conf/httpd.conf119行,DocumentRoot "/var/www/html"注释掉
写入:从120行写入,DocumentRoot "/westos/html"
<Directory "/westos">
       require all granted
</Directory>
在网站进行测试172.25.254.101
上面配置写完后,系统只会读默认配置文件index.html,若想读test.html还需要在主配置文件中修改

这里写图片描述
这里写图片描述

vim test.html
写入:westos'test'page
vim /etc/http/conf/httpd.conf
systemctl restart httpd
在刚才写的加入一行:DirectoryIndex test.html
在网站进行测试172.25.254.117

这里写图片描述
这里写图片描述
这里写图片描述

mkdir /westos/html/linux
cd /westos/html/linux
vim index.html
写入:/westos/html/linux'page
vim /etc/http/conf/httpd.conf
写入:在DocumentRoot "/westos/html"下面
      <Directory "/westos/html/linux">
      DirectoryIndex index.html
      </Directory>
systemctl restart httpd
在网站进行测试172.25.254.117/linux

这里写图片描述
这里写图片描述
这里写图片描述
设定指定ip访问默认发布目录和文件

cd /var/www/html   mkdir westos
vim westos/index.html
写入:westos
vim /etc/httpd/conf/httpd.conf
注释掉以前写的后写入
<Directory "/var/www/html/westos">
Order Allow,Deny   ###顺序执行,先执行Allow,后执行Deny
Allow from All
Deny from 172.25.254.70   ##禁止172.25.254.70访问,相当于黑名单
</Directory>
在网站测试:访问172.25.254.117

这里写图片描述
在172.25.254.117上测试
这里写图片描述
在172.25.254.70上测试
这里写图片描述

vim /etc/httpd/conf/httpd.conf修改之前写的
<Directory "/var/www/html/westos">
    Order Deny,Allow          ########顺序执行,先执行Deny后执行Allow
    Allow from 172.25.254.70
    Deny from All       #####先禁止所有ip访问,在允许172.25.254.70访问,相当于白名单
</Directory>
再测试时,只有172.25.254.70,可以访问

这里写图片描述
在172.25.254.70上测试
这里写图片描述
设定指定用户访问默认发布目录文件

cd /etc/httpd
htpasswd -cm apacheuser admin    ## c-->create 建立,文件已经存在不用加 c 
htpasswd -m apacheuser natasha  
cat apacheuser   ###查看用户是否建立

这里写图片描述
这里写图片描述

1:vim /etc/httpd/conf/httpd.conf
注释掉以前写的后写入
<Directory "/var/www/html/westos">
    AuthUserFile /etc/httpd/apacheuser
    AuthName "Please input user and password !!"
    AuthType basic
    Require user admin   #####只允许admin用户访问

</Directory>

这里写图片描述
这里写图片描述

扫描二维码关注公众号,回复: 2259051 查看本文章
1:vim /etc/httpd/conf/httpd.conf
注释掉以前写的后写入
<Directory "/var/www/html/westos">
    AuthUserFile /etc/httpd/apacheuser
    AuthName "Please input user and password !!"
    AuthType basic
        Require valid-user    ####允许所有用户访问
</Directory>

这里写图片描述
这里写图片描述
这样之前建立的admin,natasha的用户都可以登录
APACHE的虚拟主机

vim /etc/hosts  (在哪里测试就在哪里写本地解析,我是在虚拟机中)
写入:172.25.254.117 www.westos.com news.westos.com music.westos.com

这里写图片描述


  cd /etc/httpd conf.d/
  ls
  vim default.conf

这里写图片描述


  mkdir /var/www/virtual/westos.com/news -p
  mkdir /var/www/virtual/westos.com/music -p
  ls
  vim /var/www/virtual/westos.com/news/index.html
       写入:news'page
  vim /var/www/virtual/westos.com/music/index.html
       写入:music'page
175  vim news.conf
写入:<VirtualHost *:80>
         ServerName news.westos.com
         DocumentRoot "/var/www/virtual/westos.com/news"
         CustomLog "logs/news.log" combined
</VirtualHost>
<Directory "/var/www/virtual/westos.com/news">
        Require all granted
</Directory>

这里写图片描述

      cp news.conf music.conf
        vim music.conf
写入:<VirtualHost *:80>
         ServerName music.westos.com
         DocumentRoot "/var/www/virtual/westos.com/music"
         CustomLog "logs/music.log" combined
      </VirtualHost>
<Directory "/var/www/virtual/westos.com/music">
        Require all granted
</Directory>

这里写图片描述

在网站分别测试:www.westos.com
            news.westos.com
            music.westos.com

这里写图片描述
这里写图片描述
这里写图片描述
https加密认证

yum install mod_ssl crypto-utils -y
genkey www.westos.com  ###生成证书和钥匙

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

vim /etc/httpd/conf.d/ssl.conf100行后写:SLCertificateFile /etc/pki/tls/certs/www.westos.com.crt107行后写:SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key

这里写图片描述

https://172.25.254.117
点击Add exception
点击get certificate下载证书,点击左下角
点击锁子,再点击more information,再点击view certificate查看证书信息

这里写图片描述
这里写图片描述
apache网页重写

记得在vim /etc/hosts中写入172.25.254.117 login.westos.com 本地解析
cd /etc/httpd/conf.d
ls
vim login.conf
写入:
<VirtualHost *:443>
         ServerName login.westos.com
         DocumentRoot "/var/www/virtual/westos.com/login"
         CustomLog "logs/login.log" combined
         SSLEngine on
         SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
         SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</VirtualHost>
<Directory "/var/www/virtual/westos.com/login">
        Require all granted
</Directory>
<VirtualHost *:80>
         ServerName login.westos.com
         RewriteEngine on 
         RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>

这里写图片描述

mkdir -p /var/www/virtual/westos.com/login
vim /var/www/virtual/westos.com/login/index.html
写入:login'page
systemctl restart httpd
在网站输入login.westos.com会自动切换到https访问

这里写图片描述
apache支持php语言,cgi语言

cd /var/www/html/
ls
yum install php -y
vim index.php
写入:<?php
    phpinfo();
?>

这里写图片描述

vim /etc/httpd/conf/httpd.conf 
找到这一行,在里面加上  index.php  
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
在网站测试172.25.254.117
systemctl restart httpd

这里写图片描述
这里写图片描述

mkdir cgi
ls
vim cgi/index.cgi
写入:#!/usr/bin/perl
print "Content-type: text/html\n\n";
print `date`
chmod +x cgi/index.cgi 
在网站测试172.25.254.101/cgi/index.cgi,发现不会执行结0

这里写图片描述

239  cd /etc/httpd/conf.d/
  240  ls
  241  vim default.conf
写入:<VirtualHost _default_:80>
          DocumentRoot /var/www/html
          CustomLog "logs/default.log" combined
</VirtualHost>
<Directory "/var/www/html/cgi">
      Options +ExecCGI
      AddHandler cgi-script .cgi
      DirectoryIndex index.cgi
</Directory>
 242  systemctl restart httpd
再在网站测试172.25.254.101/cgi/index.cgi,结果会显示

这里写图片描述
这里写图片描述
搭建论坛

261  cd /var/www/html/
  262  ls
  263  lftp 172.25.254.250 
       下载Discuz_X3.2_SC_UTF8.zip压缩包
  264  ls
  265  unzip Discuz_X3.2_SC_UTF8.zip ##解压 
在网站输入172.25.254.101/upload  ##安装论坛

这里写图片描述

chmod 777 /var/www/html/upload/ -R   ##解决权限问题
268  yum search php
  269  yum install php-mysql.x86_64 -y   
  270  systemctl restart httpd

这里写图片描述
这里写图片描述
论坛搭建完成:
这里写图片描述
正向代理

在真机上(可上网的):
ping www.baidu.com
yum install squid -y   ###安装squid squid 
vim /etc/squid/squid.conf  ###编辑/etc/squid/squid.conf文件
systemctl restart squid

这里写图片描述

在虚拟机中:
打开网页找到edit里的preferences里的Advanced里的Network
点击settings进行设置

这里写图片描述
在没网的虚拟机中打开网页,就可以浏览百度
这里写图片描述
反向代理

在desktop虚拟机(172.25.254.117)上安装httpd
yum install httpd   ##安装httpd
cd /var/www/html    
vim index.html    ###编辑index.html文件
写入:172.25.254.101
在server虚拟机中(172.25.254.217):
yum install squid -y   ###安装squid
systemctl start squid
     clear
     cd /etc/squid/
     ls
     vim squid.conf   ##编辑/etc/squid/squid.conf文件
更改第56596063行取消注释就好
 56 http_access allow all
 57 
 58 # Squid normally listens to port 3128
 59 http_port 80 vhost vport
 60 cache_peer 172.25.254.101 parent 80 0 proxy-only
 61 
 62 # Uncomment and adjust the following to add a disk cache directory.
 63 cache_dir ufs /var/spool/squid 100 16 256
    systemctl restart squid

这里写图片描述

在真机中
在网站测试172.25.254.201,查看结果

这里写图片描述

猜你喜欢

转载自blog.csdn.net/xbw_linux123/article/details/80522620