懂ni 发表于 2018-11-21 11:59:32

使用apache搭建文件服务器

  前段时间在移动当农民工的时候,接到一个对存储客户开户时采集的照片的文件服务器改造的需求。当时采用的是apache服务来实现的,功能也简单,记录下基本操作权当备忘。
  废话不多说直接上操作:

  步骤:
  1、安装jdk及apache-版本-操作系统-no_ssl.msi
  2、在安装目录,conf目录下找到httpd.conf,进行如下修改:
  #
  # ServerName gives the name and port that the server uses to identify itself.
  # This can often be determined automatically, but we recommend you specify
  # it explicitly to prevent problems during startup.
  #
  # If your host doesn't have a registered DNS name, enter its IP address here.
  #
  ServerName 172.16.40.90:80ServerName 去掉#注释
  

  #
  # DocumentRoot: The directory out of which you will serve your
  # documents. By default, all requests are taken from this directory, but
  # symbolic links and aliases may be used to point to other locations.
  #
  DocumentRoot "d:/test"DocumentRoot 改为你的文件目录的根目录
  

  #
  # Each directory to which Apache has access can be configured with respect
  # to which services and features are allowed and/or disabled in that
  # directory (and its subdirectories).
  #
  # First, we configure the "default" to be a very restrictive set of
  # features.
  #
  
  Options FollowSymLinks添加Indexes即Options Indexes FollowSymLinks目的:解决在浏览器中运行出现在You don't have permission to access / on this server.
  AllowOverride None
  Order deny,allow
  deny from alldeny改为allow,即允许任何访问
  
  3、在浏览器输入127.0.0.1(本地),显示

  表示文件服务器已搭建好了。
  

  下面来对文件服务器做一定的限制:比如限制访问的IP和MAC地址、访问需要口令认证等。
  口令登陆:
  设置步骤:
  1、前置条件:让Apache支持.htaccess(参考文档:00004.Windows主机:Apache启用rewrite和.htaccess)
  2、在需要认证目录下(如此文D:\test)建立 .htaccess 文件(此处是添加口令登陆认证的关键),加入下列内容:
  AuthName "Login"
  AuthType basic
  AuthUserFile "D:\user.txt"
  require valid-user
  3、在非下载文件目录下创建用户密码信息文件(如此文保存在"D:\user.txt"),不要将它放在网站目录,以防被下载。
  4、用Apache2\bin\htpasswd.exe 来生成密码,例如:
  cd "定位你的apache安装目录\bin"
  htpasswd -cmdps d:\user.txt(用户密码文件路径) limw(创建的用户名)
  New password: ********(输入密码)
  Re-type new password: ********(确认密码)
  Adding password for user limw(表示用户密码创建成功)
  如果要添加用户,则用命令:htpasswd -mdps d:\user.txt(用户密码文件路径) limw(创建的用户名)
  5、验证
  还是在浏览器输入127.0.0.1(本地),显示

  如果不输入用户名和密码,就会提示Authorization Required,现在输入正确的用户名和密码,显示如下:

  表示配置成功。
  

  IP过滤:
  
  Options Indexes FollowSymLinks
  allowoverride authconfig
  Order deny,allow    #顺序为先拒绝,后允许
  Deny from all   #拒绝所有
  Allow from 192.168.90.12    #允许某IP、IP段访问
  Allow fromlocalhost   #允许本机访问
  AuthName "Login"
  AuthType basic
  AuthUserFile "D:\user.txt"
  require valid-user
  
  

  --------------------口令和IP控制同时实现----------------------------------
  目的:部分主机、机群等需要口令登陆,部分主机、机群等直接访问
  配置如下:
  AuthName "Login"#随意
  AuthType basic#认证方式
  AuthUserFile "D:\user.txt"#用户密码文件
  Order deny,allow
  deny from all#先拒绝所有客户端访问
  Allow from 127.0.0.1#允许某个IP、主机、机群等访问,可以配置多个。可以是IP,也可以是网段如:192.168,还可以是一个域名如:example.com等。
  require valid-user#允许口令正确的客户端访问
  Satisfy any #口令和IP、主机、机群控制任选一种认证,有权限即可访问
  

  

  当然还有很多限制可以进行配置,各种权限等,等待后续研究。
  




页: [1]
查看完整版本: 使用apache搭建文件服务器