1、apache中显示目录列表
在http.conf中加入如下代码(如有虚拟主机配置,加在虚拟主机配置段内),并把主目录内的index.pho,index.html,index.htm文件删除
Alias /download "/download"
<Directory "/download">
Options Indexes
Order allow,deny
IndexOptions Charset=UTF-8
Allow from all
</Directory>
其中“/download”是要显示文件列表的目录,参数"Options Indexes"表示启用目录浏览,"IndexOptions Charset=UTF-8"设置字符集,以消除中文乱码。
2、访问虚拟目录时可用"http://ip/alias"的形式,也可把主目录内的index.php或index.html文件用如下代码代替,实现用"http://ip"即可自动跳转到指定的虚拟目录,"("count()",60)"内的60表示跳转倒计时为60ms。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
<title>正在进入</title>
</head>
<body>
<form name=loading>
<p align=center> <font color="#0066ff" size="5">正在进入,请稍等</font><font color="#0066ff" size="5" face="Arial">......</font>
<input type=text name=chart size=46 >
<input type=text name=percent size=47 >
<script>
var bar=0
var line="||"
var amount="||"
count()
function count(){
bar=bar+2
amount =amount + line
document.loading.chart.value=amount
document.loading.percent.value=bar+"%"
if (bar<99)
{setTimeout("count()",60);}
else
{
window.location = "http://www.";}
}</script>
</p>
</form>
</body>
</html>
1.首先明确,只能够指定某个确定的目录,支持cgi,即运行该目录执行cgi程序;否则不太安全。
寻找:
#
# "C:/Program Files/Apache Group/Apache/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "E:/Website_Field/cgi">
AllowOverride all
Options all
Order allow,deny
Allow from all
</Directory>
设置Directory为可以执行cgi的目录
2.
寻找:
#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing "/" apply to ScriptAlias directives as to
# Alias.
#
ScriptAlias /cgi-bin/ "E:/Website_Field/cgi"
将之后的目录改成和上面的相同。
3.
设置cgi脚本的后缀,寻找:
#
# AddHandler allows you to map certain file extensions to "handlers",
# actions unrelated to filetype. These can be either built into the server
# or added with the Action command (see below)
#
# If you want to use server side includes, or CGI outside
# ScriptAliased directories, uncomment the following lines.
#
# To use CGI scripts:
#
AddHandler cgi-script .cgi .pl
设置后缀如.cgi, .pl等等,任意可以想到的,但是避免使用已有的如.html, .asp, .php等
注意:设置支持cgi的目录之后,该目录下的内容及子目录的内容都可以执行。
配置Apache支持SSI,即服务器端解析的server-parsed html(shtml)
关于什么是SSI以及什么是shtml,请参看本站的其他两篇文章。
使用SSI可以实现html的动态嵌入内容,可以为一下SSI的命令,甚至是系统返回结果,以及比较常用的调用Perl程序(尤其是perl的cgi返回结果)
1. 配置Apache:
1)首先找到:
#
# To use server-parsed HTML files
#
AddType text/html .shtml
AddHandler server-parsed .shtml
去掉后两行之前的#号;
2)同时需要指定那个在哪个目录内支持这种解析,寻找:
#
# "C:/Program Files/Apache Group/Apache/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "E:/Website_Field/shtml">
AllowOverride all
Options all
Order allow,deny
Allow from all
</Directory>
从Directory开始进行修改:
首先指定到自己的目录,这里是"E:/Website_Field/shtml";
然后设置各个选项如上:
AllowOverride all
Options all
Order allow,deny
Allow from all
完后重启Apache应该就可以了。
2. 关于Apache支持的SSI指令,可以参考如下介绍:
http://www./tools/onlinetools/apache-chs/howto/ssi.html
3. 一个使用SSI的shtml页面实例:
1)、index.shtml
<html>
<head>
<title>shtml</title>
</head>
<body>
<!--#config timefmt="%D" -->
This file last modified <!--#echo var="LAST_MODIFIED" --><br />
<!--#config timefmt="%A %B %d, %Y" -->
Today is <!--#echo var="DATE_LOCAL" --><br />
<!--#include virtual="embed.html" --><br />
<!--#exec cmd="test.pl" --><br />
<!--#exec cmd="dir" --><br />
</body>
</html>
2)、embed.html
<html>
<head>
<title>embed html</title>
</head>
<body>
This is the content from embed.html
</body>
</html>
3)、test.pl
#!C:\perl\bin\perl -w
use strict;
sub print_header()
{
print "This is Header function! ";
}
sub print_footer()
{
print "This is Footer function! ";
}
print_header();
print_footer();
总结:
设置Apache支持cgi和支持SSI的时候有个相同的部分,设置目录Directory,而且需要设置为相同的。
因此,如果单使用ssi的话,可以按照ssi的设置进行配置,将shtml等放置到设置的目录下;
如果已设置Apache支持cgi,只需要打开ssi,同时将shtml等文件放置到cgi的目录中即可。
Samba的核心是两个守护进程,即smbd和nmbd。服务器启动到停止期间持续运行,smba监听139TCP端口;nmbd监听137和138UDP端口。smbd和nmbd使用的全部配置信息保存在smb.conf文件中,smb.conf向smbd和nmbd两个守护进程说明输出什么,共享输出给谁及如何输出以便共享。smbd进程的作用是处理到来的SMB数据包,为使用该数据包的资源与Linux协商;nmbd进程使其他主机(或工作站)能浏览Linux服务器。
一、安装配置Samba的RPM包(包名)
samba-common:包括Samba服务器和客户端均需要的文件
samba:服务器端软件
samba-client:客户端软件
system-config-samba:GUI配置工具
二、Samba配置文件
主配置文件: /etc/samba/smb.conf
1.主配置文件由两部分构成
Global Settings (22-162行)
该设置都是与Samba服务整体运行环境有关的选项,它的设置项目是针对所有 共享资源的。
Share Definitions (163-尾行)
该设置针对的是共享目录个别的设置,只对当前的共享资源起作用。
2.主配置文件一些常用全局参数
设置Samba服务器所属的群组名称或Windows的域名。
workgroup = MYGROUP
设置Samba服务器的简要说明。
server string = Samba Server
设置可访问Samba服务器的主机、子网或域。
hosts allow = 192.168.1. 192.168.2. 127.
指定Samba服务器使用的安全等级:share,user,server,Domain
security = user
(share:共享级别,用户不需要账号和密码即可访问
user:用户级别,由提供服务的Samba服务器负责检查账户和密码
server:服务器级别,检查账户和密码的工作由另一台Windows2003和Samba服务器负责
Domain:域级别,由Windows域控制器负责检查账户和密码。Samba服务器不维持和密码服务器的专用连接,只在需要时才连接到远程的验证服务器,平时断开连接。)
3.测试Samba配置文件
#testparm
Samba密码文件:/etc/samba/smbpasswd
1.批量添加Samba账户(访问Samba服务器,用户是系统账户,但是密码验证却不是通过/etc/shadow文件验证,而是用Samba密码文件验证,因此要添加Samba账户,并设定密码)
#cat /etc/passwd | /usr/bin/mksmbpasswd.sh > /etc/samba/smbpasswd
#chown root.root /etc/samba
去掉一些无Shell 的账号
#smbpasswd user1 再为用户设密码
2.添加单个Samba账号
#useradd user2
#passwd user2 本地密码
#smbpasswd -a user2 添加Samba账户,并设密码
三、SMB服务器以共享方式共享目录
1、新建一个共享目录/aaa,并设定权限。
2、编辑/etc/samba/smb.conf主配置文件。
3、在34行设置SMB服务器共享访问方式。
4、在主配置文件增加下面几行。
[shareaaa] //用户看到的共享名称
Comment = “This is test share dir” //描述信息,可任意指定
path = /aaa //指定实际共享目录
public = yes //所有人可查看,等效于guest ok = yes
read only = yes //只读
writable = yes //可写,与read only矛盾时,以后者为准
5、重启SMB服务。
四、SMB服务器以用户方式共享目录
1、编辑/etc/samba/smb.conf主配置文件。
2、在34行设置SMB服务器用户访问方式。
3、在主配置文件增加下面几行。
4、新增smb的用户和密码。
5、重启SMB服务。
五、查看windows和Linux的共享目录
#smbclient -L \\windows的IP -U administrator
#smbclient -L \\192.168.1.100 -U smbuser (smbuser是SMB用户)
挂载用smbmount命令。