windows下配置Apache做文件服务器 .
以下是在windows 8下配置Apache作为文件服务器的步骤,并且配置了webdav 能支持put 上传,已在linux下使用curl命令测试成功!Apache2.4.7 win版下载地址:http://www.apachelounge.com/download/1.下载回来的是解压文件,解压好放到要安装的位置。(我这里以D:\Acpache24为例)2.打开Apache24\
以下是在windows 8下配置Apache作为文件服务器的步骤,并且配置了webdav 能支持put 上传,已在linux下使用curl命令测试成功!
Apache2.4.7 win版下载地址:http://www.apachelounge.com/download/
1.下载回来的是解压文件,解压好放到要安装的位置。(我这里以D:\Acpache24为例)
2.打开Apache24\conf下httpd.conf 文件,用记事本打开即可。
(1):把c:/Apache24 改为 ServerRoot "D:/Apache24"
(2):ServerAdmin 改不改无所谓
(3):Listen 80 默认为80,如80端口已被占用,请使用其他端口号,如:Listen 8181
(4):ServerName www.example.com:80 把#号去掉,改为自己的域名,如果没有则使用IP地址,如:ServerName 192.168.20.18:8181
(5):把DocumentRoot "c:/Apache24/htdocs" 改为 DocumentRoot "D:/Apache24/htdocs" 这里使用的是默认的文件夹,你也可以自己新建,然后修改路径就好了
(6):把<Directory "c:/Apache24/htdocs"> 改为 <Directory "D:/Apache24/htdocs">
(7):把ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/" 改为 ScriptAlias /cgi-bin/ "D:/Apache24/cgi-bin/"
(8):把<Directory "c:/Apache24/cgi-bin"> 改为 <Directory "D:/Apache24/cgi-bin">
3.上面设置完成后,保存文档。下面就是启动Apache:
开始 --- 运行,输入cmd,打开命令提示符。接着输入1.d: 回车 2.cd Apache24\bin 回车 3.httpd 回车
注意:不能关掉这个命令窗口,否则apache会关闭的。
4.测试,用浏览器访问会出现“It works”那么就说明apache已经正确安装了。
5.加入为windows的系统服务,让Apache自启动。
(1)关闭3的那个httpd命令窗口,不然会报错的。
(2)开始 --- 运行,输入cmd,再打开一个命令提示符。输入d:回车cd Apache24\bin 回车 (注意:windows8的要以管理员来运行)
servicename为Apache在windows的服务中的名字。例如:httpd.exe -k install -n "Apache24"。
输入httpd.exe -k install -n "Apache24"后,会有成功安装的提示,“服务”也会有Apache24这个服务项。这个时候可以选择启动,启动Apache服务。
如果要卸载这个服务的话,先要停止这个服务,然后输入httpd.exe -k uninstall -n "Apache24"卸载这个服务。
以后可以通过Apache24\bin文件夹下的ApacheMonitor.exe来控制这个Apache。任务栏也会有显示这个软件的很方便的管理Apache的运行。
接着就是配置下载目录:download及上传目录upload了,其中上传目录需要配置成webdav,以便于接收put 的上传方式。
一、配置下载目录download:
1.在Apache目录下创建下载目录download 路径为"D:/Apache24/download"
2.在Apache24\conf 下打开httpd.conf文件,添加以下内容:
Alias /download "D:/Apache24/download"
<Directory "D:/Apache24/download">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
3.保存文档,重启服务,在linux下使用curl进行测试, curl -o test.txt http://192.168.20.18:8181/download/test.txt
二、配置上传目录upload:
1.在Apache目录下创建下载目录upload 路径为"D:/Apache24/upload"
2.在Apache24\conf 下打开httpd.conf文件
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#Include conf/extra/httpd-dav.conf
找到以上3行,把"#"去掉
3.打开Apache24\conf\extra下httpd-dav.conf文件
DavLockDB "c:/Apache24/var/DavLock"
Alias /uploads "c:/Apache24/uploads"
<Directory "c:/Apache24/uploads">
Dav On
AuthType Digest
AuthName DAV-upload
AuthUserFile "c:/Apache24/user.passwd"
AuthDigestProvider file
<RequireAny>
Require method GET POST OPTIONS
Require user admin
</RequireAny>
</Directory>
把以上代码替换成以下代码:
DavLockDB "D:/Apache24/var/DavLock"
Alias /upload "D:/Apache24/upload"
<Directory "D:/Apache24/upload">
Dav On
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
AuthType Basic
AuthName DAV-upload
AuthUserFile "D:/Apache24/user.passwd"
AuthBasicProvider file
Require valid-user
</Directory>
4.按照 DavLockDB "D:/Apache24/var/DavLock",创建文件夹与文件。
(1).在Apache24目录下创建文件夹var
(2).在文件夹var中创建文件DavLock
5.创建密码文件
(1).开始 --- 运行,输入cmd,打开命令提示符。接着输入d: 回车 cd Apache24\bin 回车
输入htpasswd.exe -c "D:\Apache24\user.passwd" admin 回车
"D:\Apache24\user.passwd"生成密码文件要存放的路径,admin是用户名
然后输入2次密码,这样就OK了,然后重启服务。
6.在linux下使用curl进行测试, curl -T dtwpc.dat -u admin:123456 http://192.168.20.18:8181/upload/
配置时遇到的错误及解决方法:
error.log:
[Fri Jan 30 13:38:40 2009] [error] [client 192.168.123.123] The locks could not be queried for verification against a possible "If:" header. [500, #0]
[Fri Jan 30 13:38:40 2009] [error] [client 192.168.123.123] Could not open the lock database. [500, #400]
[Fri Jan 30 13:38:40 2009] [error] [client 192.168.123.123] (17)File exists: Could not open property database. [500, #1]
问题原因:在配置WebDav时,在配置httpd-dav.conf文件时,追加了下面的内容,却没有创建此文件,并修改其权限
DavLockDB "/usr/local/apache2/var/DavLock"
解决办法:按照以上DavLockDB的目录,创建文件夹与文件。
1.在路径:/usr/local/apache2/ 创建文件夹 var
2.在文件夹var中创建文件DavLock
出现错误信息:301 Moved Permanently
问题原因:如果你访问的服务器的主机名和在Apache配置文件里面定义的ServerName不一样,那么当产生一个引用自身的URL请求的时候,
Apache会根据UseCanonicalName属性的设置来把你的请求重定向到一个新的主机名,比如你访问一个目录却没有加上尾部的斜杠,这样的
话,Apache首先会在原始页面上要求验证,然后执行重定向,因为主机名变了,所以Apache在新主机名上的页面再要求验证,就出现了两
次要求验证。
解决办法:
1.每次访问目录的时候都要加上尾部的斜杠;
2.使用Apache配置文件里面定义的ServerName来访问,或者在Apache配置文件里面设置UseCanonicalName off。
启动Apache时出现错误
error.log:AH00558: httpd: Could not reliably determine the server's fully qualified domain
name, using fe80::d9c3:303e:7b2b:4e34. Set the 'ServerName' directive globally
to suppress this message
问题原因:这是由于没有设置ServerName
解决办法:打开httpd.conf文件,找到ServerName,把"#"去掉就好了
Apache中文手册2.2版本:http://lamp.linux.gov.cn/Apache/ApacheMenu/index.html
更多推荐
所有评论(0)