• 欢迎访问本站网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

在Centos7部署web站点-单站点和虚拟站点发布及为web网站配置ssl证书(https)

Linux admin 9个月前 (10-18) 234次浏览 已收录 0个评论 扫描二维码

Web服务是Internet上最重要的服务之一,人们可以通过它访问网页、查找资料、发布信息。使用Web服务需要架设Web服务器,只有通过Web服务器才能实现与Internet的交流。本章将详细介绍如何在 Linux centos 7操作系统中利用Apache软件架设Web服务器的方法。

  • 本来它只用于小型和试验网络,后来逐步扩充到各种UNIX系统中,尤其对Linux的支持相当完美。Apache拥有以下特性:
  • 支持最新的HTTP通信协议。
  • 拥有简单而强有力的基于文件的配置过程。
  • 支持通用网关接口。
  • 支持基于IP和基于域名的虚拟主机。
  • 支持多种方式的HTTP认证。
  • 集成Perl处理模块。
  • 集成代理服务器模块。
  • 支持实时监视服务器状态和定制服务器日志。
  • 支持服务器端包含指令(SSI)。
  • 支持安全Soceket层(SSL)。
  • 提供用户会话过程的跟踪。
  • 支持JSP、PHP、CGI和FastCGI。
  • 通过第三方模块可以支持Java Servlets。
  • 实现了动态对象的共享,允许在运行时动态装载功能模块。

Apache服务器的安装很简单,这里演示使用yum 源代码方式进行安装。在linux centos 7操作系统中,Apache服务器名为httpd
第一步:安装web服务

  1. yum  install  httpd -y

在Centos7部署web站点-单站点和虚拟站点发布及为web网站配置ssl证书(https)
第二步:创建一个用来存放web页面内容的index.html文件(index.html是默认的可更改)

  1. mkdir -p /www/wwwroot/

把需要的内容放到index.html文件中

  1. echo Welcome to 2020…… > /www/wwwroot/index.html

第三步:修改web服务的配置文件
Apache的主配置文件/etc/httpd/conf/httpd.conf  配置文件包含各种影响服务器运行的配置选项

  1. vi /etc/httpd/conf/httpd.conf

将104行的Require all denied修改为Require all granted
将119行的DocumentRoot “/var/www/html“修改为DocumentRoot “/www/wwwroot
“#”表示关闭此功能
第四步:重启服务

  1. systemctl stop httpd.service   #暂停
  1. systemctl start httpd.service    #运行

第五步:临时关闭selinux

  1. setenforce 0

    重要: 查看状态:getenforce
                    setenforce 0
                       状态:Permissive
                    setenforce 1
                       状态:Enforcing

大功告成 测试
在centos 7 本身进行测试打开浏览器输入localhost或者ip地址即可

在Centos7部署web站点-单站点和虚拟站点发布及为web网站配置ssl证书(https)

希望能在物理机访问需要关闭防火墙

  1. systemctl stop firewalld.service   #关闭防火墙

在防火墙开启的情况下允许单独的web服务通过防火墙

  1. firewall-cmd –permanent –add-service=httpd
  1. firewall-cmd –reload

在物理机浏览器输入虚拟机centos的IP地址

在Centos7部署web站点-单站点和虚拟站点发布及为web网站配置ssl证书(https)

配置和管理虚拟主机 (适用于多网卡模式)

 

虚拟主机是现在很常用的技术,一个服务器如果只放一个公司的网页将存在资源的浪费,所以一般一个服务器上都存放了几个公司的网站,但是服务器怎么区分用户访问哪个网站呢?这时可通过虚拟主机技术访问不同的网站。虚拟机主机有基于域名和基于IP两种方法,一般使用基于域名的虚拟主机技术,因为现在IPV4的公网IP很珍贵,如果一个网站占用一个IP,那么就会浪费很多IP,如果使用基于域名的虚拟主机就可以避免这种浪费。
虚拟主机的优点:
  • 节约成本 :利用虚拟主机技术可在一台计算机中建立多个虚拟主机,都分别提供Web服务,这样不必购买多台计算机,也不必另外安装线路,更不需要增加管理人员,所以就大大地节省了人力和物力。
  • 稳定的性能

创建虚拟站点配置文件
用于设置访问的主机名和端口号,也可以设置为主机的IP地址。默认指定主机名为http://www.example.com,端口号为80。

  1. vi /etc/httpd/conf.d/virtual.conf

内容如下:


<VirtualHost 192.168.1.111:80>
ServerName x.qq.com
DocumentRoot “/qwer/abc”
</VirtualHost>

在Centos7部署web站点-单站点和虚拟站点发布及为web网站配置ssl证书(https)

x.qq.com 是dns解析的域名地址  https://www.ddoslinux.com/forum.php?mod=viewthread&tid=62
“/qwer/abc”这一个目录是虚拟站点的index.html文件的存放目录

设置网站内容:

  1. echo 123456 >  /qwer/abc/index.html

注:其中123456为内容
临时关闭selinux

  1. setenforce 0

访问测试:

在Centos7部署web站点-单站点和虚拟站点发布及为web网站配置ssl证书(https)

为web单站点配置ssl证书服务(https)
安装证书服务

  1. yum install mod_ssl* -y
创建一个放证书的文件夹
  1. mkdir /etc/httpd/ssl

生成密钥

  1. openssl genrsa -out service.key  1024

生成证书

  1. openssl req -new -x509 -key service.key -out service.crt

生成证书的过程需要填写如下内容,无需理会直接随便输入英文即可
Country Name (2 letter code) [XX]:随便输入
State or Province Name (full name) []:随便输入
Locality Name (eg, city) [Default City]:随便输入
Organization Name (eg, company) [Default Company Ltd]:随便输入
Organizational Unit Name (eg, section) []:随便输入
Common Name (eg, your name or your server’s hostname) []:随便输入
Email Address []:随便输入
编辑虚拟站点配置文件:
在/etc/httpd/conf.d文件夹里面创建virtual.conf文件,#用于设置访问的主机名和端口号,也可以设置为主机的IP地址。默认指定主机名为http://www.example.com,端口号为80。
“#”表示注释
如下内容:
<VirtualHost 192.168.1.200:80>      #用于设置访问的主机名和端口号,也可以设置为主机的IP地址
DocumentRoot “/www/wwwroot”     #指定Apache服务器默认存放网页文件的目录位置,这个值可以根据自己的需要进行更改,默认设置为/var/www/html目录
ServerName http://www.qq.com:443
<Directory “/www/wwwroot”>
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>
</VirtualHost>#配置https模式
<VirtualHost 192.168.1.200:443>    
#用于设置访问的主机名和端口号,也可以设置为主机的IP地址
DocumentRoot “/www/wwwroot”     #指定Apache服务器默认存放网页文件的目录位置,这个值可以根据自己的需要进行更改,默认设置为/var/www/html目录
ServerName http://www.qq.com:443
<Directory “/www/wwwroot”>
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>
SSLEngine on
SSLCertificateFile  /etc/httpd/ssl/service.crt         #证书存放路径
SSLCertificateKeyFile  /etc/httpd/ssl/service.key   #密钥存放路径
</VirtualHost>
在Centos7部署web站点-单站点和虚拟站点发布及为web网站配置ssl证书(https)

Apache的服务概览如下:

  • 服务类型:由Systemd启动的守护进程
  • 配置单元: /usr/lib/systemd/system/httpd.service
  • 守护进程: /usr/sbin/httpd
  • 端口: 80(http), 443(https)
  • 配置: /etc/httpd/
  • Web文档: /var/www/
  • 相关软件包: mod_ssl
管理httpd服务的命令如下所示:
  • #systemctl start httpd.service                               \\启动apache
  • #systemctl stop httpd.service                               \\停止apache
  • #systemctl restart httpd.service                             \\重启apache
  • #systemctl enable httpd.service                            \\设置apache开机启动

重要: 查看状态:getenforce
                    setenforce 0
                       状态:Permissive
                    setenforce 1
                       状态:Enforcing


本站的文章和资源来自互联网或者站长的原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:在Centos7部署web站点-单站点和虚拟站点发布及为web网站配置ssl证书(https)
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址