作者:泡杯长岛冰茶

Linux 8 web apache 配置

1.1. 配置网络

[root@localhost ~]# nmcli device status
DEVICE      TYPE      STATE                   CONNECTION
ens192      ethernet  connected               --
virbr0      bridge    connected (externally)  virbr0
lo          loopback  unmanaged               --
virbr0-nic  tun       unmanaged               --
[root@localhost ~]# nmcli connection add con-name ens192 type ethernet ipv4.addresses 172.16.50.176/24 ipv4.gateway 172.16.50.1 ipv4.method manual
[root@localhost ~]# nmcli connection up ens192 ;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
[root@localhost ~]# ip a s |grep -i ens192 |grep inetinet 172.16.50.176/24 brd 172.16.50.255 scope global noprefixroute ens192
[root@localhost ~]# hostnamectl set-hostname web-apache  

1.2. DNS服务解析(上章节内容)

修改zone文件信息

[root@bind-dns1 named]# hostname
bind-dns1
[root@bind-dns1 named]# cat yunbee.net.zone
www.yunbee.net.         IN      A       172.16.50.176
www0.yunbee.net.        IN      A       172.16.50.176
www1.yunbee.net.        IN      A       172.16.50.176
ftp.yunbee.net.         IN      CNAME   www0

1.3. 安装apache 软件包

[root@localhost ~]# yum install httpd -y
[root@localhost ~]# rpm -qd httpd
/usr/share/doc/httpd/ABOUT_APACHE
/usr/share/doc/httpd/CHANGES
/usr/share/doc/httpd/LICENSE
/usr/share/doc/httpd/NOTICE
/usr/share/doc/httpd/README
/usr/share/doc/httpd/VERSIONING
/usr/share/doc/httpd/httpd-autoindex.conf
/usr/share/doc/httpd/httpd-dav.conf
/usr/share/doc/httpd/httpd-default.conf
/usr/share/doc/httpd/httpd-info.conf
/usr/share/doc/httpd/httpd-languages.conf
/usr/share/doc/httpd/httpd-manual.conf
/usr/share/doc/httpd/httpd-mpm.conf
/usr/share/doc/httpd/httpd-multilang-errordoc.conf
/usr/share/doc/httpd/httpd-vhosts.conf
/usr/share/doc/httpd/instance.conf
/usr/share/doc/httpd/proxy-html.conf

1.3. apache 主配置文件概述

[root@localhost ~]# egrep -vn "^$|#" /etc/httpd/conf/httpd.conf
34:ServerRoot "/etc/httpd"              ## 定义apache主配置文件根目录
45:Listen 80                            ## 定义监听80端口
59:Include conf.modules.d/*.conf        ## 定义模块存放位置
69:User apache                          ## 定义服务用户
70:Group apache                         ## 定义服务所属组
89:ServerAdmin root@localhost           ## 定义管理员邮箱
105:<Directory />                       ## 定义根目录(容器)
106:    AllowOverride none              ## 定义web访问控制,none是不定义
107:    Require all denied              ## 定义根目录拒绝访问
108:</Directory>                        ## 定义目录(容器) 前面加"/"结尾是准备语法
122:DocumentRoot "/var/www/html"        ## 定义apache服务根目录
127:<Directory "/var/www">              ## 定义目录
128:    AllowOverride None              ## 定义web访问控制,none是不定义
130:    Require all granted             ## 定义目录允许访问
131:</Directory>                        ## 定义目录(容器) /结尾是准备语法
134:<Directory "/var/www/html">
147:    Options Indexes FollowSymLinks  ## Indexes当找不到index文件时列举下面的文件,FollowSymLinks软连接访问
154:    AllowOverride None
159:    Require all granted
160:</Directory>
166:<IfModule dir_module>              ## 模块dir_module
167:    DirectoryIndex index.html      ## 定义apache Web访问时的默认文件
168:</IfModule>
174:<Files ".ht*">                     ## 定义文件访问控制
175:    Require all denied             ## 拒绝访问
176:</Files>
185:ErrorLog "logs/error_log"          ## 定义日志目录
192:LogLevel warn                      ## 定义日志级别,默认警告级别
194:<IfModule log_config_module>       ## 定义日志格式
199:    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
200:    LogFormat "%h %l %u %t \"%r\" %>s %b" common
202:    <IfModule logio_module>
204:      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
205:    </IfModule>
220:    CustomLog "logs/access_log" combined       ## 定义访问日志
221:</IfModule>
223:<IfModule alias_module>                        ## 定义用户自定义模块路径
250:    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
252:</IfModule>
258:<Directory "/var/www/cgi-bin">
259:    AllowOverride None
260:    Options None
261:    Require all granted
262:</Directory>
264:<IfModule mime_module>
269:    TypesConfig /etc/mime.types
286:    AddType application/x-compress .Z
287:    AddType application/x-gzip .gz .tgz
308:    AddType text/html .shtml
309:    AddOutputFilter INCLUDES .shtml
310:</IfModule>
319:AddDefaultCharset UTF-8        ## 定义编码格式
321:<IfModule mime_magic_module>
327:    MIMEMagicFile conf/magic
328:</IfModule>
351:EnableSendfile on               ## 递送使用内存映射(memory-mapping)来读取文件
356:IncludeOptional conf.d/*.conf   ## 定义自定义配置文件目录

1.4. 创建http虚拟主机

[root@localhost conf.d]# pwd
/etc/httpd/conf.d
[root@localhost conf.d]#  rpm -ql httpd|grep vhosts
/usr/share/doc/httpd/httpd-vhosts.conf
[root@localhost conf.d]# cp /usr/share/doc/httpd/httpd-vhosts.conf ./
[root@localhost conf.d]#cat httpd-vhosts.conf
<Directory "/software">
AllowOverride None
Require all granted
</Directory>
listen 8989                  ## 定义一个8989监听端口
<VirtualHost *:8989>ServerAdmin root@yunbee.comDocumentRoot "/software/site1"ServerName  www.yunbee.net   ## 虚拟主机名ServerAlias  ftp.yunbee.net  ## 虚拟主机别名ErrorLog "/var/log/httpd/www.example.com-error_log"CustomLog "/var/log/httpd/www.example.com-access_log" common
</VirtualHost>[root@localhost conf.d]# httpd -t           检查配置文件是否正确
Syntax OK
[root@localhost conf.d]# echo "www.yunbee.net 8989 Port! " >/software/site1/index.html
[root@localhost conf.d]# curl  http://www.yunbee.net:8989
www.yunbee.net 8989 Port!

1.4.1 创建虚拟主机

[root@localhost conf.d]#cat httpd-vhosts.conf
<Directory "/software">
AllowOverride None
Require all granted      ## 受权所有用户访问
</Directory>
<VirtualHost 172.16.50.176:80>ServerAdmin root@yunbee.netDocumentRoot "/software/site2"ServerName  www0.yunbee.netErrorLog "/var/log/httpd/www0.example.com-error_log"CustomLog "/var/log/httpd/www0.example.com-access_log" common
</VirtualHost>
[root@webserver site2]# echo "www0.yunbee.net! and ftp server" >/software/site2/index.html
[root@localhost conf.d]# curl http://www0.yunbee.net
www0.yunbee.net! and ftp server

1.4.2. 以别名方式创建Wbe 文件服务器,并与ftp服务访问目录相同

[root@localhost conf.d]#cat httpd-vhosts.conf
<Directory "/software">
AllowOverride None
Require all granted
</Directory>
<Directory "/var/ftp/pub">
Options indexes                 ## 当找不能index.html时例举文件与目录
AllowOverride None
Require all granted
</Directory>
<VirtualHost _default_:80>ServerAdmin root@yunbee.netDocumentRoot "/software/site2"alias /ftp /var/ftp/pub      ##定义一个路径别名ServerName  www0.yunbee.netErrorLog "/var/log/httpd/www0.example.com-error_log"CustomLog "/var/log/httpd/www0.example.com-access_log" common
</VirtualHost>
[root@localhost conf.d]# yum install vsftpd
[root@localhost conf.d]# sed -i 's/^anonymous_enable=no/anonymous_enable=yes/' /etc/vsftpd/vsftpd.conf
[root@localhost conf.d]# touch  /var/ftp/pub/ftpfile{1..3}
[root@localhost conf.d]# ll /var/ftp/pub/
-rw-r--r--. 1 root root 0 Sep 15 20:22 ftpfile1
-rw-r--r--. 1 root root 0 Sep 15 20:22 ftpfile2
-rw-r--r--. 1 root root 0 Sep 15 20:22 ftpfile3
[root@localhost conf.d]# ftp 172.16.50.176
ftp> cd /var/ftp/pub/
ftp> ls
227 Entering Passive Mode (172,16,50,176,163,126).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               0 Sep 15 12:22 ftpfile1
-rw-r--r--    1 0        0               0 Sep 15 12:22 ftpfile2
-rw-r--r--    1 0        0               0 Sep 15 12:22 ftpfile3

测试站点访问是否正常

测试站点文件服务器是否访问正常

1.4.3. 以软连接方式创建Wbe 文件服务器,并与ftp服务访问目录相同 定义虚拟主机

[root@localhost site2]# vim /etc/httpd/conf.d/httpd-vhosts.conf
<Directory "/software">
AllowOverride None
Require all granted
</Directory>
<Directory "/software/site2">
Options Indexes FollowSymLinks         ## Indexes:例出定义目录下的文件与目录,FollowSymLinks:并允许软连接目录访问
AllowOverride None
Require all granted
</Directory>
<VirtualHost _default_:80>ServerAdmin www0.yunbee.netDocumentRoot "/software/site2"    ServerName  root@yunbee.comErrorLog "/var/log/httpd/www0.example.com-error_log"CustomLog "/var/log/httpd/www0.example.com-access_log" common
</VirtualHost>
[root@localhost pub]# cd /software/site2/
[root@localhost site2]# ll
lrwxrwxrwx. 1 root root 12 Sep 15 20:53 ftp -> /var/ftp/pub
-rw-r--r--. 1 root root 32 Sep 15 20:14 index.html

1.5 配置一个tls的WEB站点

1.5.1. 创建 一个自签名证书

创建一个自签名的证书
Redhat 7
yum install crypto-utils  -y
genkey --days 90  FQDNRedhat 7/8
#生成私钥文件
openssl genrsa 2048 > myserver.key
openssl genrsa 4096 > myserver.key
#生成csr
openssl req -new -key myserver.key -out myserver.csr
#生成自签名证书文件
openssl x509 -req -days 90 -in myserver.csr -signkey myserver.key -out myserver.crt
#查看证书文件
openssl x509 -in myserver.crt -noout -text
#查看csr文件
openssl req -in myserver.csr -noout -text

1.5.2 安装ssl模块并配置

[root@localhost site2]# yum install mod_ssl -y
[root@webserver software]# vim /etc/httpd/conf.d/httpd-vhosts.conf
[root@webserver software]# egrep -ni "^SSLCerti" /etc/httpd/conf.d/httpd-vhosts.conf
92:SSLCertificateFile  /software/server.crt
93:SSLCertificateKeyFile /software/server.key

1.5.3. 创建一个TLS虚拟主机

cat /etc/httpd/conf.d/httpd-vhosts.conf
<Directory "/software">
AllowOverride None
Require all granted
</Directory><VirtualHost *:443>
ServerAdmin  www1.yunbee.net
DocumentRoot "/software/site3"
SSLEngine on
SSLProtocol all -SSLv2  -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNull:!MD5
SSLHonorCipherOrder on
SSLCertificateFile  /software/server.crt
SSLCertificateKeyFile /software/server.key
</VirtualHost>[root@localhost site3]# cat /software/site3/index.html
This ssl

https访问测试

1.6. 配置http虚拟主机重定向到https(TLS)

<VirtualHost _default_:80>ServerAdmin www1.yunbee.netRedirect / https://www1.yunbee.net
</VirtualHost>
<VirtualHost *:443>
ServerAdmin  www1@yunbee.net
DocumentRoot "/software/site3"
ServerName www.yunbee.net
SSLEngine on
SSLProtocol all -SSLv2  -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNull:!MD5
SSLHonorCipherOrder on
SSLCertificateFile  /software/server.crt
SSLCertificateKeyFile /software/server.key
</VirtualHost>

本篇完

Linux8 搭建apache web服务器相关推荐

  1. ubuntu下搭建apache web服务器,运行cgi配置

    WEB服务器搭建 所需资源下载地址:https://download.csdn.net/download/pjzz__/10548569 一:解压 1.现在/usr/local目录下创建这四个目录 a ...

  2. iOS_网络_02_搭建本地Web服务器

    搭建Apache(Web)服务器,在本地搭建开发用的网络测试环境 一.Web服务器 WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务.Web服务器是可以向 ...

  3. LAMP-架构环境网站搭建;在Apache Web服务器上部署PHPBB3网站详细步骤;Linux+Apache2+PHP+MySQL 安装和配置

    在Apache Web服务器上部署PHPBB3网站 LAMP-架构环境网站搭建;在Apache Web服务器上部署PHPBB3网站详细步骤:Linux+Apache2+PHP+MySQL 安装和配置 ...

  4. 【精华】搭建个人Web服务器_LAMP

    目录 项目名称:搭建个人Web服务器_LAMP 1 搭建模式: 2 搭建步骤 3 常见问题解决方案 项目名称:搭建个人Web服务器_LAMP 1 搭建模式: LAMP,即Linux系统+Apache服 ...

  5. 外网访问本地搭建的web服务器【免费内网穿透】

    教大家一个简单的方法,实现在无公网IP环境下,在本地搭建web服务器,并实现外网远程访问. 使用工具: phpstusy:https://www.xp.cn/download.html cpolar内 ...

  6. Linux下Apache Web服务器的安装与配置

    1.Apache Web服务器简述     Web服务是目前Internet应用最流行.最受欢迎的服务之一,Linux平台使用最广泛的Web服务器是Apache,它是目前性能最优秀.最稳定的Web服务 ...

  7. CentOS8搭建本地Web服务器

    1 概述 系统CentOS8,利用Apache搭建本地Web服务器. 2 安装httpd sudo yum install -y httpd 3 启动服务 service httpd start 4 ...

  8. 2021年大数据ELK(二十二):采集Apache Web服务器日志

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 采集Apache Web服务器日志 一.需求 二.准备日志数据 三.使用Fil ...

  9. Apache Web服务器资源使用限制配置

    <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />以下内 ...

最新文章

  1. 解决PopupWindow的阴影覆盖问题
  2. mysql 分库分表 后怎么操作,MySQL要分表分库怎么进行数据切分?
  3. NASM汇编语言与计算机系统04-实模式-屏幕显示不定长度的字符串(cmp/je)
  4. java学习网站大全
  5. 第三章 3.3 DI自动装配 --《跟我学Spring》笔记 张开涛
  6. 为什么php在网页中不显示,为什么网页显示不出php代码_后端开发
  7. 【springboot】自动整合Tomcat原理
  8. 嵌入式linux中文语言支持,嵌入式linux无法显示中文问题
  9. 信道编码:编码FEC 前向纠错码
  10. 2017.10.14晚,用迅雷下载大部分BT资源出现失败,tracker服务器被封了?FK
  11. kindle不能接收qq邮箱超大附件
  12. Vision Transformer模型/论文详解
  13. 30m服务器可以用多少人在线,30m网速(30m宽带够几个人用)
  14. 专业商标设计、logo免费在线设计
  15. 关于职业规划,尤其值得我们程序员学习
  16. ble 读写特征值特征值_BLE添加特征值
  17. Android ROM适配基础
  18. React之antd Form回显数据
  19. 以太网卡TSO、GSO、LRO、GRO描述及相关配置
  20. html菱形开头做无序,css3 做菱形

热门文章

  1. 网络操作系统项目教程----Windows server 2003篇----Media服务配置
  2. sharesdk分享失败404_ShareSDK分享失败的原因
  3. CSAPP-Revision-ch03(三)
  4. FlowChart.NET使用教程:加载图形数据和创建图形对象
  5. 2021年进入AI和ML领域之前需要了解的10件事
  6. 自组织神经网络聚类算法,神经网络聚类预测分析
  7. 付款页面付款时背景变灰色_在付款和被付款时
  8. 网络分层基础概念(一)
  9. input事件中文触发多次问题研究
  10. 配置服务器监控专线网络