apache(web服务器)简介:

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务中。

主配置目录:/etc/httpd/conf
主配置文件:/etc/httpd/conf/httpd.conf
子配置目录:/etc/httpd/conf.d
子配置文件:/etc/httpd/conf.d/*.conf

默认发布目录:/var/www/html
默认发布文件:index.html
默认端口:80
默认安全上下文:httpd_sys_content_t
程序开启默认用户:apache
apache 日志:/etc/httpd/logs/

环境:

rhel7.5       server1:172.25.1.1

关闭防火墙及selinux

apache服务器部署

1、配置yum源,安装apache数据包

[root@server1 ~]# yum install -y httpd
2、关闭防火墙及selinux,开启http服务

[root@server1 ~ ]# setenforce 0               //临时关闭selinux

[root@server1 ~]# getenforce

3、查看监听端口:                    //默认端口为80

4、简单编写一个网页

[root@server1 ~]# cd /var/www/html/            //切换到默认发布页面

[root@server1 html]# vim index.html

去网页输入主机ip进行浏览

此时 ,可以看到刚才默认发布页面中所写的html网页;这里因为默认端口为80,所以访问时ip后面可以不用写端口80

将发布端口修改为8080

[root@server1 html]# vim /etc/httpd/conf/httpd.conf

[root@server1 html]# systemctl restart httpd            //重起服务

[root@server1 html]# netstat -antlp | grep httpd         //此时其端口已经被修改为8080

这时去网页输入主机ip进行浏览

发现不可访问,但加上端口即可

默认发布目录的更改

情况一:让其显示/westos/html下的html网页

[root@server1 ~]# mkdir /westos/html -p           //连续创建目录,即想要发布目录
[root@server1 ~]# cd /westos/html/                  
[root@server1 html]# ls
[root@server1 html]# vim index.html              //在其目录下写发布页面

[root@server1 html]# vim /etc/httpd/conf/httpd.conf              //修改配置文件,更改默认发布目录及发布文件

#DocumentRoot "/var/www/html"                 //注释掉原本的默认发布目录
 DocumentRoot "/westos/html"                    //重新设置发布目录
# Relax access to content within /var/www.
<Directory "/westos">                                  
      AllowOverride None
    # Allow open access:
      Require all granted
      DirectoryIndex index                        //将发布文件由原来的index.html设置为index
</Directory>

[root@server1 html]# systemctl restart httpd

去172.25.1.250主机输入该主机ip及端口8080进行浏览:

总结:可以看出此时显示的并不是/var/www/html下的index.html网页,而是/westos/html下的html网页。

情况二:让其显示/westos/html/cxx下的index.html网页

[root@server1 html]# pwd
/westos/html

[root@server1 html]# mkdir cxx                //创建需要发布的目录,该目录必须存在

[root@server1 ~]# vim /etc/httpd/conf/httpd.conf

分别修改120、124、128行

[root@server1 html]# systemctl restart httpd

[root@server1 cxx]# vim index.html

此时在172.25.1.250主机网页进行访问:

访问控制

基于ip的访问控制

此时的默认发布路径为/var/www/html    端口为80

防火墙与selinux关闭

server1的ip:   172.25.1.1

server2的ip:172.25.1.2

foundation的ip: 172.25.1.250

[root@server1 ~]# cd /var/www/html/
[root@server1 html]# ls
index.html

[root@server1 html]# cat index.html             //默认发布文件
<h1>172.25.1.1</h1>

[root@server1 html]# mkdir xx          //创建目录
[root@server1 html]# cd xx/
[root@server1 xx]# vim index.html


[root@server1 xx]# vim /etc/httpd/conf/httpd.conf

DocumentRoot "/var/www/html"                  //默认发布目录
<Directory "/var/www/html/xx">               
      Order deny,Allow                    //设置为先禁止后允许
      Deny from All                          //拒绝所有
      Allow from 172.25.1.250               //允许白名单172.25.1.250主机访问,其他都不允许
      DirectoryIndex index.html             //默认发布页面
</Directory>

//先访问禁止ip再访问允许名单,读的先后顺序根据Order所在的行来定,最终结果由Order下的最后一个来定


[root@server1 xx]# systemctl restart httpd

浏览器访问或者curl命令访问:

在主机访问:

在server2上访问:

访问172.25.1.1/xx 时显示  403 Forbidden,说明server2不可访问

Order Allow,Deny                     Order Allow,Deny                            Order Deny,Allow                       Order Deny,Allow

Allow from All                             Allow from 172.25.1.250               Deny from 172.25.1.250            Deny from All

Deny from 172.25.1.250           Deny from All                                 Allow from All                               Allow from 172.25.1.250

//除了250其他均可访问             // 所有用户均不可访问                  //所有用户均可访问                     //仅250可访问,其他均不可

基于主机的访问控制

[root@server1 html]# cd /etc/httpd
[root@server1 httpd]# ls

[root@server1 httpd]# htpasswd -cm apacheuser user1                     //创建apache用户user1,生成用户user1的密码文件

注释:

参数:  -c :建立文件,m: 表示建立,当已经有创建好的apache用户时不可以再加-c,否则会覆盖文件的内容,例如出现下列情况:

[root@server1 httpd]# htpasswd -m apacheuser user2

[root@server1 httpd]# cat apacheuser            //查看文件apahceuser中的所有用户

[root@server1 httpd]# vim /etc/httpd/conf/httpd.conf

125行: AuthUserFile /etc/httpd/apacheuser                              //认证的用户文件

126行:Authname "Please input user and password!"                   //访问时显示的信息内容

127行:AuthType basic                           //指定认证类型:基础类型

128行:Require user user1                   //设置只允许user1进行访问

[root@server1 httpd]# systemctl restart httpd

注释:如果添加 Require valid-user 表示允许文件apahceuser中的所有用户访问

此时,在浏览器进行访问:

输入用户名及密码,可得到下面的网页内容

若输入有误,则显示禁止访问:

指定域名解析

在浏览器所在主机进行域名解析:

我用的是foundation,

[root@foundation1 ~]# vim /etc/hosts

//地址解析,即将www.westos.com   news.westos.com   music.westos.com都解析到172.25.1.1主机

[root@server1 ~ ]# mkdir /var/www/virtual/westos.com/news -p               //创建news的专属发布目录
[root@server1 ~ ]# mkdir /var/www/virtual/westos.com/music -p             //创建music的专属发布目录
[root@server1 ~ ]# cd /var/www/virtual/westos.com/news/                     
[root@server1 news]# vim index.html               //编辑news的专属网页


[root@server1 news]# cd ..
[root@server1 westos.com]# cd music/            
[root@server1 music]# vim index.html             //编辑music的专属网页


[root@server1 music]# cd /etc/httpd/conf.d     //虚拟配置目录为/etc/httpd/conf.d下创建目录
[root@server1 conf.d]# vim default.conf                    //编写默认情况下的配置文件

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

[root@server1 conf.d]# vim news.conf               //编辑news的配置文件

<VirtualHost *:80>
        ServerName news.westos.com
        DocumentRoot "/var/www/virtual/westos.com/news/"
        CustomLog "logs/default.log" combined
</VirtualHost>
<Directory "/var/www/virtual/westos.com/news/">
        Require all granted
</Directory>

[root@server1 conf.d]# cp news.conf music.conf
[root@server1 conf.d]# vim music.conf            //编辑music的配置文件

<VirtualHost *:80>
        ServerName music.westos.com
        DocumentRoot "/var/www/virtual/westos.com/music/"
        CustomLog "logs/default.log" combined
</VirtualHost>
<Directory "/var/www/virtual/westos.com/music/">
        Require all granted
</Directory>


[root@server1 conf.d]# systemctl restart httpd

此时在主机浏览器进行访问:

直接访问westos.com

访问news.westos.com

访问music.westos.com

Apache服务器部署(1)相关推荐

  1. Unity WebGL发布及Ubuntu Apache服务器部署

    Unity WebGL发布及Ubuntu Apache服务器部署 Unity 中WebGL的设置 Ubuntu Apache web服务器搭建 网页修改 附一:Ubuntu 文件操作常用命令 附二:A ...

  2. Apache服务器部署(2)

    签名CA证书 环境:server1:172.25.1.1    重置虚拟机       挂载yum源 [root@server1 ~]# yum install mod_ssl -y          ...

  3. Apache服务器部署ASP.NET网站

    资源罗列: apache如何支持asp.net 用 Apache 发布 ASP.NET 网站

  4. 云服务器(uCloud)部署java web项目(二) 安装,配置apache服务器

    自己组建了一个网站,想要发布到互联网上.然后我就找到了这个链接 https://www.codecasts.com/series/deploy-a-website-from-scratch(是一个从零 ...

  5. 服务器部署ssl证书,Apache服务器SSL证书部署

    Apache服务器SSL证书部署 发布时间:2018-01-11 18:03:54 摘要 Apache为一款非常常见的web服务器,此文针对在apache上部署和使用SSL证书进行了详细描述. 关键词 ...

  6. apache服务器wind 下载,安装及部署

    一.下载 1.1 .进入apache服务器官网http://httpd.apache.org/ 点击 "download" 点击 "a number of third p ...

  7. CentOS7部署Apache服务器

    这篇文章讲解如何在CentOS7上部署自己的Apache服务器. 文章目录 一.Apache服务器简述 二.部署Apache服务器 1.安装Apache 三.修改Apache默认配置(可选) 1.查看 ...

  8. vue项目打包部署到服务器,Vue项目打包部署到apache服务器的方法步骤

    vue项目在开发环境下,让项目运行起来,是通过npm run dev命令,原理是在本地搭建了一个express服务器. 但是在服务器上就不是这样的,必须要通npm run build命令来对整个项目进 ...

  9. Vue项目打包部署到apache服务器

    vue项目在开发环境下,让项目运行起来,是通过npm run dev命令,原理是在本地搭建了一个express服务器. 但是在服务器上就不是这样的,必须要通npm run build命令来对整个项目进 ...

最新文章

  1. 大佬原创 | 深度学习60讲453页pdf下载
  2. 《C++PrimerPlus》阅读笔记 + 源码实践
  3. 【Python】一行python代码利用人工智能去除工作照背景
  4. 如何在php中写内容,请问如何在内容模板中写标题和内容呢
  5. C# —— 进程与线程的理解
  6. 【转来警醒自己】最近的一些面试感悟
  7. c++ dicom图像切割_【高训智造】原创专业课堂第225期--定位滑座的线切割加工
  8. excel mysql插件_智分析Excel插件
  9. 【POJ】1067 取石子游戏(博弈论)
  10. MySQL 主主配置
  11. 第六章例题二叉树层次遍历
  12. Remove Duplicates from Sorted List解题报告
  13. 百度常用搜索语法 超详解
  14. 锁的等级:方法锁、对象锁、类锁
  15. 1005: 整数幂 Java
  16. ESP32S 数据手册
  17. 2022年中式烹调师(初级)考试题库及在线模拟考试
  18. 联想G40重装linux系统,联想G40笔记本重装XP系统教程
  19. python--生成器
  20. 车路协同云/边缘云服务平台概要【原创】

热门文章

  1. iOS技术篇1-CocoaPods
  2. 小程序生成网址链接,网址链接跳转小程序
  3. 微信小程序去除左上角返回的按钮
  4. 弹性布局,自动按比例居中
  5. Java单元测试之JUnit4详解
  6. POJ 1236 Network of Schools(tarjan)
  7. WhatsApp与Gmail用户数均突破10亿大关
  8. java设置缓存机制
  9. 搜索引擎广告过滤Chrome插件
  10. symfony2 Process 组件的学习笔记