linux 下apache搭建遇见的问题

来源:互联网 发布:Bigbang yg知乎 编辑:程序博客网 时间:2024/05/22 09:07

一 如何生成apache的用户名和密码:使用htpasswd命令

1、在apache安装目录bin下找到htpasswd.exe

 

2、在命令行方式下输入htpasswd -help命令,显示apache htpasswd命令帮助信息,注意需要在htpasswd.exe的当前目录下,即Apache\bin目录下使用htpasswd命令

 

apache htpasswd命令用法及选项说明

 

apache htpasswd命令用法

 

  htpasswd [-cmdpsD] passwordfile username

  htpasswd -b[cmdpsD] passwordfile username password

  htpasswd -n[mdps] username

  htpasswd -nb[mdps] username password

 

apache htpasswd命令选项参数说明

 

  -c  创建一个加密文件

 

  -n  不更新加密文件,只将apache htpasswd命令加密后的用户名密码显示在屏幕上

 

  -m  默认apache htpassswd命令采用MD5算法对密码进行加密

 

  -d  apache htpassswd命令采用CRYPT算法对密码进行加密

 

  -p  apache htpassswd命令不对密码进行进行加密,即明文密码

 

  -s  apache htpassswd命令采用SHA算法对密码进行加密

 

  -b  apache htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码

 

  -D  删除指定的用户

 

  在Windows, NetWare and TPF 系统中 ‘-m’选项是默认的,在使用apache htpasswd命令时可以忽略。在其他系统中,’-p’选项可能不能工作。

 

apache htpasswd命令用法实例

 

1、如何利用htpasswd命令添加用户?

 

  htpasswd -bc .passwd www.leapsoul.cn php

 

  在bin目录下生成一个.passwd文件,用户名www.leapsoul.cn,密码:php,默认采用MD5加密方式

 

2、如何在原有密码文件中增加下一个用户?

 

  htpasswd -b .passwd leapsoul phpdev

 

  去掉c选项,即可在第一个用户之后添加第二个用户,依此类推

 

3、如何不更新密码文件,只显示加密后的用户名和密码?

 

  htpasswd -nb leapsoul phpdev

 

  不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码

 

4、如何利用htpasswd命令删除用户名和密码?

 

  htpasswd -D .passwd leapsoul

 

5、如何利用htpasswd命令修改密码?

 

  htpasswd -D .passwd leapsoul

 

  htpasswd -b .passwd leapsoul phpdev

 

  即先使用htpasswd删除命令删除指定用户,再利用htpasswd添加用户命令创建用户即可实现修改密码的功能。

 

  至此,apache htpasswd命令的具体介绍和使用方法就介绍完了。

二  apache配置文件中有个脚本连接 ScriptAlias /nagios/cgi-bin/ "/usr/lib64/nagios/cgi-bin/",


ScriptAlias指令的行为与Alias指令相同,但同时它又标明此目录中含有应该由cgi-script处理器处理的CGI脚本,

示例:

ScriptAlias /cgi-bin/ /web/cgi-bin/ 

http://myserver/cgi-bin/foo的请求会引导服务器执行/web/cgi-bin/foo脚本
那么什么是cgi脚本呢?
CGI:Common Gateway Interface CGI代表Common Gateway Interface(通用网关界面),它使在网络服务器下运行外部分应用程序(或网关)成为可能。CGI-BIN 目录是存放CGI脚本的地方。这些脚本使WWW服务器和浏览器能运行外部程序,而无需启动另一个原因程序。 它是运行在Web服务器上的一个程序,并由来自于浏览者的输人触发。CGI是在HTTP服务器下运行外部程序(或网关)的一个接口,它能让网络用户访问远程系统上的使用类型程序,就好像他们在实际使用那些远程计算机一样。 CGI能够让浏览者与服务器进行交互,如果你曾经遇到过在网络上填表或者进行搜索,就很有可能就是用的CGI。 尽管CGI易于使用,但是当大批人同时使用一个CGI应用程序是会反应较慢,网络服务器 速度也会受到很大 影响。CGI应用程序的优点是可以独立运行。 CGI应用程序可以由大多数的编程语言编写,如Perl(Practical Extraction and Report Language)、C\C++、Java 和Visual Basic等。不过对于那些没有太多编程经验的网页制作人来说,实在是一个不小的难题。 CGI应用程序的工作原理是这样的: 1.浏览器通过HTML表单或超链接请求指上一个CGI应用程序的URL。 2.服务器收发到请求。 3.服务器执行指定所CGI应用程序。 4.CGI应用程序执行所需要的操作,通常是基于浏览者输人的内容。 5.CGI应用程序把结果格式化为网络服务器和浏览器能够理解的文档(通常是HTML网页)。 6.网络服务器把结果返回到浏览器中。 有关CGI应用程序要注意的是: CGI应用程序运行在浏览器可以请求的服务器系统上,执行时需要使用服务器CPU时间和内存。如果有成千上万的这种程序会同时运行,那会对服务器系统提出极高的要求。你要慎重考虑这个问题,以防止服务器系统崩溃。 不完善的CGI应用程序可能成为别人非法进人服务器系统的通道,有可能导致重要的资料被删除或外泄。 CGI应用程序主要的用途有以下几种: 根据浏览者填写的HTML表单发送定制的答复。 创建可单击的图像缩小图。 创建一个浏览者可以搜索内容的数据库。 提供服务器与数据库的接口,并把结果转换成HTML文档。 制作动态HTML文挡。 如果一个CGI脚本可以在每台计算机上做同样的事情;编写脚本就会变的很容易。不幸的是,CGI脚本依赖于服务器的操作系统,因此,对于非UNIX服务器来说,Prl(UNIX下编写脚本的一个常用工具)脚本毫无用处。所以,你必须定制安装你的CGI脚本。 大多数服务器都提供CGI-BIN目录,但是这还不够。因为你应该拥有自己的CGI-BIN。这样,你就能运行自己的脚本(而不是让自己的系统去适应已存在于系统上的脚本)。因此,你的提供商应安装CGI-BIN,且能够帮助你编写脚本