apache实验报告

该文详细介绍了如何在Linux环境中配置虚拟机的IP地址,安装和编译ApacheHTTPD服务器,包括设置依赖包、安装过程、服务优化和添加系统服务。此外,还涉及DNS服务的安装与配置,以及通过访问控制限制客户端访问。最后,文章讲解了如何创建基于域名和IP的虚拟主机,实现多站点托管。
摘要由CSDN通过智能技术生成

虚拟机配置:

vim /etc/sysconfig/network-scripts/ifcfg-ens33          #配置IP地址

编译安装需要的依赖包:

mount /dev/cdrom                     #挂载

cd /etc/yum.repos.d/ #配置yum仓

mkdir bak

mv *.repo bak

cp bak/CentOS-Media ./ #复制文件到当前目录

vim CentOS-Media #编辑文件

yum -y install apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre gcc gcc-c++ make apr* #安装需要的依赖包

上传软件包并解压软代码软件,配置,编译,安装

[root@apache1 yum.repos.d]# rz             #(xshell上传文件)

z waiting to receive.**B0100000023be50

[root@apache1 yum.repos.d]# tar zxf httpd-2.4.43.tar.gz -C /usr/src #解压

[root@apache1 yum.repos.d]# cd /usr/src/httpd-2.4.43/

[root@apache1 httpd-2.4.43]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-list --enable-cgi && make && make install

--prefix=/usr/local/httpd指定服务程序安装目录

--enable-so启用动态加载模块功能

--enable-rewrite启用网页重写功能

--enable-charset-lite启动支持多字符集功能

--enable-cgi启用CGI脚本支持

[root@apache1 httpd-2.4.43]# ls /usr/local/httpd/

/usr/local/httpd/bin #存放httpd服务的执行程序文件

/usr/local/httpd/cgi-bin #存放CGI程序文件

/usr/local/httpd/conf #存放配置文件

/usr/local/httpd/htdocs #存放网页文件,例如:html php等

/usr/local/httpd/lib #存放执行程序管理库文件

/usr/local/httpd/logs #存放日志文件

/usr/local/httpd/man #存放帮助手册文件

/usr/local/httpd/modu

优化程序执行路径,使用软连接(将执行程序连接到其他目录下)或者修改默认搜索路径PATH环境变量

[root@apache1 httpd-2.4.43]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

查看httpd服务程序信息

[root@apache1 httpd-2.4.43]# httpd -v

查询httpd已经加载的模块信息

[root@apache1 httpd-2.4.43]# httpd -l

添加httpd系统服务

  1. chkconfig方式

[root@apache1 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

[root@apache1 ~]# vim /etc/init.d/httpd

确保脚本有执行权限

[root@apache1 ~]# ll /etc/init.d/httpd #查看是否有执行权限

[root@apache1 ~]# chkconfig --add httpd

[root@apache1 ~]# systemctl start httpd

[root@apache1 ~]# netstat -lnpt |grep 80

Web站点部署过程

1.确定网站名称和IP地址

2.配置并启动httpd服务

[root@apache1 ~]# vim +200 /usr/local/httpd/conf/httpd.conf

[root@apache1 ~]# httpd -t

[root@apache1 ~]# vim /usr/local/httpd/htdocs/index.html

[root@apache1 ~]# vim /usr/local/httpd/htdocs/index.html

[root@apache1 ~]# systemctl restart httpd

[root@apache1 ~]# netstat -lnpt |grep 80

用浏览器访问:http://192.168.200.4

[root@apache1 ~]# tail -f /usr/local/httpd/logs/access_log #访问日志

部署DNS服务

[root@apache1 ~]# yum -y install bind

[root@apache1 ~]# vim /etc/named.conf

[root@apache1 ~]# vim /var/named/liuxingye.com.zheng

[root@apache1 ~]# chown :named /var/named/liuxingye.com.zheng

[root@apache1 ~]# systemctl restart named

然后用浏览器访问:www。liuxingye.com(注意:网关必须指向服务器

用宿主机cmd 去解析网址

解析找不到需要把宿主机指向DNS服务器(即虚拟机设置的DNS服务)

再利用命令提示符(cmd)解析

用浏览器访问网址:www.liuxingye.com

  1. Apache访问控制及虚拟主机配置

访问控制目的:

为了更好的控制对网站资源(网页)的访问,可以为特定的网站目录添加访问授权。

常见的访问控制方式:

1.客户机地址限制

2.用户授权限制

  1. 客户机的地址限制

通过Require配置项,可以根据主机的主机名或IP 地址来确定是否允许客户端访httpd服务器的主配置文件httpd.conf中的<Location>、<Directory>、<Files>、<Limit>配置段中均可使用。Require配置项来控制客户端的访问。使用Require配置项时,地址的形式可以是IP地址,网络地址,主机名或域名,使用all表示任意地址。

仅允许192.168.200.5主机可以访问:

#虚拟机2(客户机)配置

配置虚拟机2的ip地址,dns指向Dns服务器

curl 192.168.200.4   测试虚拟机2(客户机)能否访问(浏览器访问)

[root@apache1 ~]# vim /usr/local/httpd/conf/httpd.conf

[root@apache1 ~]# systemctl restart httpd

#虚拟机测试机ip.5

此时只有IP地址192.168.200.5 能登录

仅拒绝192.168.200.2主机可以访问:

[root@apache1 ~]# vim /usr/local/httpd/conf/httpd.conf

[root@apache1 ~]# systemctl restart httpd

宿主机192.168.200.2不可访问

测试机192.168.200.5可以访问

  1. 用户授权限制

用户授权限制是apache允许指定用户使用用户名和密码访问特定资源的一种方式。

l摘要认证(Digest) 在配置时加上 --enable-auth-digest(部分浏览器不支持)

l基本认证(Basic) apache服务的基本功能,不需要额外的选项支持

用户访问控制过程:

认证 识别用户身份

授权 允许用户访问特定目录区域

创建用户认证数据库文件

[root@apache1 ~]# htpasswd -c /usr/local/httpd/conf/.user Rich   #设置的用户名是Rich

创建用户密码 两次输入密码为1   

[root@apache1 ~]# cat /usr/local/httpd/conf/.user

注意:只有在第一次创建文件时使用-c选项,后期添加用户时不能使用,否则前期创建的用户将会被覆盖

添加用户授权配置

[root@apache1 ~]# systemctl restart httpd

注意:用户访问授权和主机地址访问授权同时设置时,设置的主机访问控制优先生效。

用户访问授权和主机地址访问授权同时设置时:

主机访问控制中允许的主机可以直接访问网站,不需要通过用户授权;

主机访问控制中拒绝的主机不可以直接访问网站,需要使用用户授权验证;

构建虚拟web主机

  1. 构建基于域名的虚拟主机

[root@apache1 ~]# vim /etc/named.conf

[root@apache1 ~]# cd /var/named/

[root@apache1 named]# cp -p liuxingye.com.zheng  teacher.com.zheng

[root@apache1 named]# vim teacher.com.zheng

[root@apache1 named]# systemctl restart named

对不同的域名准备不同的网页文件

[root@apache1 ~]# cd /usr/local/httpd/htdocs/

[root@apache1 htdocs]# ls

index.html

[root@apache1 htdocs]# mkdir liuxingye

[root@apache1 htdocs]# mkdir teacher

[root@apache1 htdocs]# vim liuxingye/index.html

www.liuxingye.com

[root@apache1 htdocs]# vim teacher/index.html

www.teacher.com

编辑虚拟主机配置文件

[root@apache1 htdocs]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

[root@apache1 htdocs]# vim +491 /usr/local/httpd/conf/httpd.conf

[root@apache1 htdocs]# systemctl restart httpd

用浏览器浏览测试

构建基于IP的虚拟主机(服务器需要配置多个IP地址,使用不广泛)

[root@apache1 ~]# ifconfig ens33:0 192.168.200.10

[root@apache1 ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

#只需要将teacher的IP改一下就可以

[root@apache1 ~]# systemctl restart httpd

浏览器测试

基于TCP端口的虚拟主机

[root@apache1 ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

[root@apache1 ~]# vim /usr/local/httpd/conf/httpd.conf

[root@apache1 ~]# systemctl restart httpd

[root@apache1 ~]#  netstat -lnpt | grep 80

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      88658/httpd  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个简单的 PHP 数据库连接实验报告实验目的: 通过 PHP 代码,连接本地数据库并进行数据的增删改查操作。 实验环境: 操作系统:Windows 10 Web 服务器:Apache 2.4.41 数据库:MySQL 8.0.18 PHP 版本:7.3.11 实验步骤: 1. 安装并配置 Apache、MySQL 和 PHP; 2. 创建一个数据库,并在其中创建一个表; 3. 编写 PHP 代码,连接数据库; 4. 使用 PHP 代码进行数据的增删改查操作。 实验代码: ``` <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "myDB"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 插入数据 $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')"; if ($conn->query($sql) === TRUE) { echo "新记录插入成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } // 查询数据 $sql = "SELECT id, firstname, lastname FROM MyGuests"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 输出每行数据 while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>"; } } else { echo "0 结果"; } // 更新数据 $sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2"; if ($conn->query($sql) === TRUE) { echo "记录更新成功"; } else { echo "Error updating record: " . $conn->error; } // 删除数据 $sql = "DELETE FROM MyGuests WHERE id=3"; if ($conn->query($sql) === TRUE) { echo "记录删除成功"; } else { echo "Error deleting record: " . $conn->error; } $conn->close(); ?> ``` 实验结果: 1. 执行代码后,页面显示“新记录插入成功”; 2. 页面显示查询结果,包括 id、firstname 和 lastname; 3. 页面显示“记录更新成功”; 4. 页面显示“记录删除成功”。 实验结论: 通过上述代码,成功连接了 MySQL 数据库,并进行了数据的增删改查操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值