实验三 : 网站服务器 一 实验目的 1 理解网站服务器的工作原理; 2 掌握 Apache 服务器的安装 配置与管理 ; 3 掌握静态网站 PHP 动态网站的发布方法 ; 4 掌握单一网站 虚拟目录 多站点的发布与管理; 5 掌握通过 WordPress 创建个人网站的部署流程和具体方法 二 实验学时 2 学时 三 实验类型 综合性 四 实验需求 1 硬件每人配备计算机 1 台, 不低于双核 CPU 8G 内存 500GB 硬盘 2 软件 Windows 操作系统, 安装 VirtualBox 虚拟化软件, 安装 Putty 管理终端软件 3 网络计算机使用固定 IP 地址接入局域网, 并支持对互联网的访问, 虚拟主机可通过 NAT 方式访问互联网 4 工具预先下载 WordPress 安装程序 五 实验任务 1 完成在 CentOS 操作系统上安装配置 Apache 服务器 ; 2 完成 PHP 环境的安装与配置 ; 3 完成单站点 虚拟目录 多站点的发布; 4 完成 WordPress 的部署实施 六 实验内容及步骤 1 Apache 安装 (1) 安装软件在 CentOS 操作系统中 Apache(Web 服务器 ) 是通过 httpd 软件提供服务, 其安装命令管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 11 页, 第 1 页
如下, 安装过程如图 3-1 所示 # yum install httpd ## 服务启动 # systemctl start httpd 图 3-1 安装 httpd 服务 (2) 关闭防火墙为了网站能够在外部访问, 简单的操作是关闭防火墙, 当然这种做法不是安全的, 在实验过程中可以这样来做, 在真实环境中应该是通过配置防火墙规则来开放 80 端口来实现网站的外部访问 关闭防火墙命令如下 # systemctl stop firewalld (3) 测试访问用户在本地浏览器中输入 http://ip 地址 (IP 地址为虚拟主机配置地址, 如 http://172.16. 124.187) 查看是否能够访问 Apache 测试界面, 如图 3-2 所示, 以验证 Apache 服务是否安装成功 图 3-2 测试 httpd 服务 2 发布第一个网站 (1) 上传文件网站页面内容在 Apache 服务中默认存放位置为 /var/www/html, 可通过 FileZilla 或 Win SCP 等桌面化工具, 将 HTML 代码文件放入该目录下, 如图 3-3 所示 图 3-3 上传 HTML 文件 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 11 页, 第 2 页
(2) 服务重启上传完 HTML 文件后重启 httpd 服务, 服务重启命令如下 # systemctl restart httpd (3) 测试访问在本地浏览器中输入 http://ip 地址 /test.html, 访问结果如图 3-4 所示 图 3-4 测试 3 发布 PHP 网站 (1) 环境准备 1 安装 PHP 软件发布 PHP 程序前, 需确保虚拟主机中已经安装 PHP 相关软件 本次实验采用在线安装方式进行 PHP 软件安装, 安装命令如下, 安装过程如图 3-5 所示 # yum install php 图 3-5 安装 PHP 服务 2 测试 PHP 环境 PHP 软件安装后可通过 phpinfo() 方法来检测是否安装成功 在 /var/www/html 目录下新建 test.php 文件, 文件内容如图 3-6 所示 在本地浏览器中输入 http://ip 地址 /test.php, 查看文件是否能够访问, 如图 3-7 所示 图 3-6 安装 PHP 服务 图 3-7 测试 PHP 服务 (2) 部署 PHP 网站 编写 计算出半径为 10 个单位的圆的面积 的 PHP 程序页面, 并能够访问该页面, 将 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 11 页, 第 3 页
其实现的操作过程填写到表 3-1 中 表 3-1 部署 PHP 网站 4 发布虚拟目录 (1) 修改虚拟目录配置文件 1 创建目录在 /etc/httpd/ 目录下创建 vhost-conf.d 目录, 其操作命令如下, 如图 3-8 所示 # cd /etc/httpd/ # mkdir vhost-conf.d 图 3-8 创建虚拟主机目录 2 编辑配置文件在 vhost-conf.d 目录下新增虚拟目录配置文件 VirtualHost.conf, 其操作命令如下 # cd /etc/httpd/vhost-conf.d # touch VirtualHost.conf 在配置文件中增加如下内容后保存退出 <VirtualHost *:80> ServerAdmin root@localhost # 通过虚拟目录 /cs 代替实际 /var/www/html 目录 Alias /cs /var/www/html <Directory "/var/www/html"> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> (2) 引用虚拟文件虚拟文件配置完成保存后, 需要在 httpd 的主配置文件引用才可以实现其相应的功能 引用的方法是在配置文件 /etc/httpd/conf/httpd.conf 末尾添加如下命令 IncludeOptional vhost-conf.d/*.conf 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 11 页, 第 4 页
(2) 服务重启完成配置文件编辑后, 需重启 httpd 服务, 其操作命令如下 # systemctl restart httpd (3) 虚拟目录验证在本地浏览器中输入 http://ip 地址 /cs/test.html, 测试虚拟目录是否生效, 将访问结果及其配置虚拟目录目的意义填写到表 3-2 中 表 3-2 访问结果及目的意义 5 发布多个网站 (1) 使用同一 IP 和不同端口发布多个网站 1 创建网站页面根据发布第一个网站操作过程, 完成第二个网站目录及文件创建 并将配置信息填写到表 3-3 中 在 /var/www/ 目录下创建 html1 目录 ; 在 /var/www/html1 目录下创建 test.html, 并将展示出 这是第二个网页 字样 表 3-3 创建网站页面 2 配置监听端口 编辑 httpd 服务的全局配置文件 /etc/httpd/conf/httpd.conf, 增加 httpd 服务的监听端口 82 (80 为默认配置的监听端口 ), 编辑完成后保存退出, 配置内容如图 3-9 所示 图 3-9 增加监听端口 3 修改配置文件编辑虚拟目录创建的配置文件 VirtualHost.conf, 将原本内容替换成如下内容, 编辑完成后保存退出 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 11 页, 第 5 页
<VirtualHost *:80> ServerAdmin root@localhost ## 第一个网站使用 80 端口, 配置根目录为 /var/www/html DocumentRoot /var/www/html <Directory "/var/www/html"> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> <VirtualHost *:82> ServerAdmin root@localhost ## 第一个网站使用 82 端口, 配置根目录为 /var/www/html1 DocumentRoot /var/www/html1 <Directory "/var/www/html1"> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> 4 服务重启完成配置文件编辑后, 需重启 httpd 服务, 如果重启 httpd 过程中报错的话重启下服务器, 然后再启动 httpd 服务, 重启命令如下 # systemctl restart httpd 5 测试访问在本地浏览器中分别输入两个网站的地址 :http://ip 地址 /test.html http://ip 地址 :82/tes t.html, 验证端口是否生效, 访问结果如图 3-10 3-11 所示 图 3-10 通过 80 端口发布 图 3-11 通过 82 端口发布 (2) 使用域名发布多个网站 1 修改配置文件编辑虚拟目录创建的配置文件 VirtualHost.conf, 将原本内容替换成如下内容, 编辑完成后保存退出 <VirtualHost *:80> ServerAdmin root@localhost 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 11 页, 第 6 页
## 第一个网站使用 80 端口, 其网站使用域名为 www.yi.com ServerName www.yi.com DocumentRoot /var/www/html <Directory "/var/www/html"> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> <VirtualHost *:80> ServerAdmin root@localhost ## 第二个网站使用 80 端口, 其网站使用域名为 www.two.com ServerName www.two.com DocumentRoot /var/www/html1 <Directory "/var/www/html1"> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> 2 服务重启完成配置文件编辑后, 需重启 httpd 服务, 其操作命令如下 # systemctl restart httpd 3hosts 配置编辑本地 hosts 文件, 其文件路径为 C:\Windows\System32\drivers\etc\hosts,hosts 文件增加内容如图 3-12 所示 图 3-12 修改本地 hosts 文件 4 测试访问在本地浏览器中分别输入两个网站的地址 :http://www.yi.com/test.html http://www.two. com/test.html, 验证域名发布网站是否生效, 访问结果如图 3-13 3-14 所示 图 3-13 通过 www.yi.com 域名访问 图 3-14 通过 www.two.com 域名访问 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 11 页, 第 7 页
6 使用 WordPress 创建个人网站 (1) 环境准备运行 WordPress 程序, 虚拟主机上需先安装运行 httpd php mariadb 相关软件 1 基础软件安装根据实验步骤 1 3 完成 httpd php 软件安装和服务启动, 本部分主要介绍 mariadb 软件的安装, 其安装命令如下, 安装过程如图 3-15 所示 # yum install mariadb mariadb-server php-mysql 图 3-15 安装 mariadb 服务 2 配置 mariadb 启动 mariadb 数据库服务, 其操作命令如下 # systemctl start mariadb.service 由于安装完 mariadb 后没有设置密码, 输入以下命令, 点击 Enter 可直接进入登录数据库, 从而进行数据库权限配置, 如图 3-16 所示 # mysql -uroot -p 图 3-16 登录数据库根据数据库操作命令, 完成以下数据操作, 其操作命令如下, 配置过程如图 3-17 所示 在 mariadb 中创建一个名为 wpdb 的数据库 ; 在数据库中为 wpdb 数据库创建用户 (wpadmin) 密码(pass) 及访问权限 ( 本地 localhost 访问 ) > create database wpdb character set utf8; ## 为 wpdb 数据库创建用户名和密码 > grant all privileges on wpdb.* to 'wpadmin'@'localhost' identified by 'pass'; 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 11 页, 第 8 页
## 刷新数据库权限使配置生效 > flush privileges; 图 3-17 配置数据库 3 获取 WordPress 软件获取 WordPress 安装包软件可通过本课程网站 (http://linux.xg.hactcm.edu.cn) 下载获得, 也可通过 WordPress 官方网站 (https://cn.wordpress.org/txt-download) 下载获得, 如图 3-18 所示 本实验所使用的 WordPress 软件为 wordpress-4.9.4-zh_cn.tar.gz 图 3-18 下载 WordPress 安装包 (2)WordPress 软件安装将下载的 WordPress 软件包使用工具上传至 /var/www/html 目录中, 其软件过程如下 1 压缩包解压进入 /var/www/html 目录中, 解压 WordPress 安装包压缩文件, 其操作命令如下, 过程如图 3-19 所示 # cd /var/www/html # tar zxvf wordpress-4.9.4-zh_cn.tar.gz 图 3-19 解压安装包 2 编辑配置文件安装包解压缩完成后, 将其 wordpress/wp-config-sample.php 配置文件进行复制重命名为 wp-config.php, 其操作命令如下 # cp wordpress/wp-config-sample.php wordpress/wp-config.php 编辑 WordPress 配置文件 wp-config.php 为以下内容, 编辑完成后保存退出 ## 编辑配置文件 # vi wordpress/wp-config.php 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 11 页, 第 9 页
##WordPress 数据库的名称 define('db_name', 'wpdb'); ##MySQL 数据库用户名 define('db_user', 'wpadmin'); ##MySQL 数据库密码 define('db_password', 'pass'); ##MySQL 主机 define('db_host', 'localhost'); ## 创建数据表时默认的文字编码 define('db_charset', 'utf8'); ## 数据库整理类型 如不确定请勿更改 define('db_collate', ''); (3) 服务重启完成配置文件编辑后, 需重启 httpd 服务, 其操作命令如下 # systemctl restart httpd (4)Web 化安装在本地浏览器中输入 http://ip 地址 /wordpress,wordpress 软件自动跳转到安装界面, 用户可以根据提示完成 WordPress 安装, 如图 3-20 所示 图 3-20 Web 化安装 WordPress (5) 访问测试 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 11 页, 第 10 页
安装完成后, 用户在本地浏览器中输入 http://ip 地址 /wordpress, 即可访问创建的博客网 站, 如图 3-21 所示 图 3-21 使用 WordPress 发布测试网站 (6) 目录修改修改 httpd 服务的配置文件, 使 WordPress 博客网站可以直接通过 http://ip 地址进行访问, 将配置信息及过程填写到表 3-4 中表 3-4 修改网站配置根目录 七 实验分析 1 Web 服务器安全 (1) 目前网络安全越来越得到重视, 网站安全也不能忽视, 如何通过对 Apache 进行配置保证网站的安全? (2)Apache 的运行会产生访问日志和错误日志, 请分别对其中的一条错误日志和访问日志进行解读 2 多站点发布 (1) 使用一个 IP 地址发布多个网站, 有哪些方法? (2) 进行多站点发布时, 一个网站遭受攻击, 其它网站会出现哪些问题? 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 11 页, 第 11 页