WEB与FTP 服务器配置

 参考:

https://laowangall.oss-cn-beijing.aliyuncs.com/studentall.pdf

  • 实验目的和要求

Web实验目的

掌握Apache服务器的安装和配置;

能够独立解决Apache服务器配置过程中遇到的问题;

FTP实验目的

掌握vsftpd服务器的安装和配置;

能够独立解决vsftpd服务器配置过程中遇到的问题;

  • 实验内容

Web实验内容

  1. httpd软件包的安装;
  2. 个人网站和虚拟主机的搭建;
  3. Apache服务器的运行测试。

FTP实验内容

  1. 1)vsftpd软件包的安装;
  2. 2)ftp站点的搭建;
  3. 3)vsfpd服务器的运行测试。
  4. 实验要求
  5. 某单位有一个vsftpd服务器,由于使用了本地用户账号访问服务器,存在一定的安全隐患。现在计划采用虚拟用户方式访问FTP服务器。要求如下:

创建3个虚拟用户,用户名和密码自行确定。

允许用户下载文件。

将用户锁定在自己的家目录/ftpsite。

给FTP服务器设置欢迎语,自行确定。

 三、实验仪器、设备

计算机安装有CentOS 系统一台。

  • 实验原理

Web实验原理

     1) WWW服务主要功能是为用户提供网上信息浏览服务。WWW服务基于HTTP协议,工作于浏览器/服务器(B/S)模式下。

     2) Apache服务器的主配置文件为/etc/httpd/conf/httpd.conf,分为3个部分:全局环境配置、主要服务器设置和虚拟主机配置。附加配置文件位于/etc/httpd/conf.d目录下,需要和主配置文件配合完成相应的功能。

     3)Web站点默认目录:/var/www目录,存放网站相关资源。

     4)配置时注意防火墙firewalld和SELinux的限制。

FTP实验原理

1)FTP服务主要功能是为用户提供共享文件的下载服务。FTP服务基于TCP协议,工作于客户机/服务器(C/S)模式下。

     2) FTP服务器的主配置文件为/etc/vsftpd/vsftpd.conf,分为3个部分:全局环境配置、主要服务器设置和虚拟主机配置。

     3)FTP站点默认目录:/var/ftp目录,存放网站相关资源。

     4)配置时注意防火墙firewalld和SELinux的限制。

五、实验步骤

Web实验步骤

  1. 安装Apache服务器

rpm -ivh httpd-*.rpm

rpm -ivh httpd-manual-*.rpm

rpm -ivh httpd-tools-*.rpm

或者配置yum本地安装源,使用yum -y install httpd*安装

2. 实验要求:

  1. 站点主目录为/var/www
  2. 首页为index.html;
  3. 创建以自己姓名拼音命名的个人网站,请确保以自己姓名拼音命名的用户存在,如果不存在,请使用useradd命令来创建;
  4. 创建虚拟主机端口号为8090;
  5. 创建基于域名(域名自己确定)的虚拟主机。
  1. 配置顺序:

查看httpd版本号:httpd -v

  1. vi /etc/httpd/conf/httpd.conf
  2. 查找DirectoryIndex,将其值设置为:index.html  about.php
  3. 增加Listen 80 一行,增加Listen 8090一行
  4. 将<Directory "/var/www/html">一节中的Require一行修改为:

 Require all granted  

  1. 确保IncludeOptional conf.d/*.conf一行启用
  2. 创建以自己姓名拼音命名的个人网站,主页空间为/home/个人姓名拼音/www
  1. vim /etc/httpd/conf.d/userdir.conf
  2. 查找UserDir,注释掉UserDir disable一行(#UserDir disable)
  3. 查找UserDir public_html,去掉注释,改为UserDir www
  4. 修改<Directory "/home/*/public_html">为<Directory "/home/*/www">
  5. 保存并退出vi。

      7)创建个人主页目录,mkdir /home/个人姓名拼音/www。

8)  echo "this is my first web site(学号)">/var/www/html/index.html

9)  echo "this is 个人姓名拼音 web site">/home/个人姓名拼音/www/index.html

10)  chmod -R 755 /home/个人姓名拼音

11)配置虚拟主机

# vi /etc/httpd/conf.d/vhost.conf

<VirtualHost *:8090>

        DocumentRoot /test

        ServerName  自定义域名

        <Directory "/test">

                options Indexes FollowSymlinks

                AllowOverride None

                Require all granted

        </Directory>

</VirtualHost>

12)创建主目录及首页

# mkdir /test

# echo "内容自己确定">/test/index.html

13)设置域名解析

echo "127.0.0.1 自定义域名">>/etc/hosts

14)创建基于域名的虚拟主机网站(自行完成)

  1. 配置虚拟主机文件
  2. 创建主目录及首页,其中首页内容自己确定,需要和前面主页内容有区别。

15)检查配置文件中的语法是否正确:httpd -t

16)临时关闭SELINUX和防火墙:

setenforce 0

systemctl stop firewalld

也可以配置防火墙规则和永久关闭SELinux,具体如下:

vim /etc/selinux/config

将SELINUX=enforcing修改为:SELINUX=disabled

firewall-cmd --permanent --add-port=80/tcp

firewall-cmd --permanent --add-port=8090/tcp

firewall-cmd --reload

setsebool -P httpd_enable_homedirs=on

  1. 测试
  1. 重新启动Apache,执行systemctl restart httpd
  2. curl http://127.0.0.1,访问主页
  3. 访问个人姓名拼音的个人站点curl http://127.0.0.1/~个人姓名拼音
  4. 访问虚拟主机:curl 自定义域名:8090/
  1. httpd启动错误定位
  1. 查看是否禁用SELinux
  2. 查看是否允许监听端口通过防火墙
  3. 配置文件错误,首先将/etc/httpd/conf.d目录下的*.conf进行更名*.conf.bak,然后启动httpd进程,判断是否启动成功。如果启动成功,说明是附件配置文件的问题。最后将*.conf.bak文件一个一个更名为*.conf,每更名一个就重启httpd进程,直至判断出那个附件配置文件有错。
  4. 机房机器由于CentOS部署时间很早,证书可能过期了,如果出现SSL Library

Certificate has expired ,导致httpd服务无法启动。最简单的方法就是直接把/etc/httpd/conf.d/

nss.conf 文件改名或删掉。

5)使用tail -f /var/log/httpd/error_log 命令来查看httpd启动日志记录,从而分析遇到的问题。

FTP实验步骤

虚拟用户需要单独的口令文件(pam_userdb)实现虚拟用户的认证,需要插入认证模块

(PAM)来进行认证。

  1. 创建虚拟用户口令库文件。

# vim /etc/vsftpd/account.txt

#输入内容如下,单数行是用户名,偶数行是口令

虚拟用户名

口令

  1. 生成口令库文件。

#生成db数据库

db_load -T -t hash -f /etc/vsftpd/account.txt /etc/vsftpd/account.db

# chmod 600 /etc/vsftpd/account.db

  1. 新建虚拟用户的PAM文件并配置。

#定义PAM配置文件的内容

[root@fanhui ~]# vim /etc/pam.d/vsftp.vu

#输入以下内容

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/account

account required /lib/security/pam_userdb.so db=/etc/vsftpd/account

  1. 建立虚拟用户,配置用户所需要访问的目录,设置虚拟用户访问的权限。

[root@fanhui ~]# useradd -d /ftpsite -m virtual_user

#vsftpd新版本出于安全考虑,当要锁定虚拟用户家目录时,家目录不能具有写权限

#否则用户登录时会报错,错误提示为

#500 OOPS: vsftpd: refusing to run with writable root inside chroot()

[root@fanhui ~]# chmod 500 /ftpsite   

#/ftpsite就是虚拟用户virtual_user的家目录,除root外,只有该用户对其具有完全权限

[root@fanhui ~]# ll -d /ftpsite

drwx------. 3 virtual_user virtual_user 78 Jan 31 17:16 /ftpsite

  1. 生成测试文件。

#为了后面虚拟用户功能的测试,创建一个测试文件

[virtual_user@fanhui ~]$ echo "this is a test file for virtual_user">/ftpsite/mytest.txt

  1. 编辑/etc/vsftpd/vsftpd.conf文件。

[root@fanhui ~]# vim /etc/vsftpd/vsftpd.conf

#文件内容如下:

anonymous_enable=NO             #不允许匿名用户登录

local_enable=NO #不允许本地用户登录

guest_enable=YES #允许虚拟用户登录

anon_world_readable_only=NO      #允许用户浏览目录

xferlog_enable=YES #启用日志功能

listen=YES #设置stand-alone模式

connect_from_port_20=YES #设置数据端口为20

chroot_local_user=YES #将本地用户锁定在家目录中

guest_username=virtual_user #将guest用户映射为本地用户virtual_user

pam_service_name=vsftp.vu #指定PAM的验证文件

  1. 重启vsftpd服务。

[root@fanhui Packages]# systemctl restart vsftpd

如果启动不成功,需要仔细检查主配置文件的写法(不能加空格)、选项名称及取值、选项之间的冲突等内容。

注意一定要关闭SELinux、防火墙firewalld。

[root@fanhui ftpsite]# setenforce 0

[root@fanhui ftpsite]# systemctl stop firewalld

  1. 测试。

启动Windows下的命令行,使用ftp命令来测试虚拟用户登录过程及下载文件。

  • 实验注意事项

Web注意事项

  1. 配置文件中选项名和值要确保拼写正确
  2. 防火墙和SELinux要确保关闭

FTP注意事项

  1. 配置文件中选项名和值要确保拼写正确
  2. 防火墙和SELinux要确保关闭
  3. 英文方式下输入参数和值

七、实验报告要求

按照大作业形式要求提交纸质报告。

八、实验成绩考核

大作业成绩计入期末成绩。

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值