简介
在内网中,通过简单的文件夹共享就可以达到不同pc之间互相访问文件,但是可能会受到权限或者防火墙的问题,导致共享失败。
或者如果有自动化需求,共享的文件不能像使用wget命令这样直接简单的进行下载,因此可以在内网中搭建一个基于http的文件分享服务器,既能确保分享成功,又可以在需要自动化的时候进行支持,如果将WWW文件夹放置共享目录下,也能简单的搭建出一个查询式的网站,我就讲鸟哥私房菜的离线网页放在了里面直接浏览器http://localhost/www/vbird.dic.ksu.edu.html就能打开
本文将介绍两种在Mac环境下搭建文件服务器的方法:
基于Apache(Mac用户首选)
Mac自带了Apache,通过一些简单的配置,就可以完成一个简易的文件分享服务器
首先先介绍Apache的一些基本命令
- 在终端里输入命令,启动 Apache: sudo apachectl start
- 关闭 Apache: sudo apachectl stop
- 重启 Apache:sudo apachectl restart
- 查看 Apache 版本:httpd -v
启动Apache后,访问http://localhost或者http://$IP 就可以访问,如果出现“It works!”就表示运行正常。
之后我们需要修改配置文件,将当前的Apache服务修改为一个文件分享服务
配置文件为/etc/apache2/httpd.conf
将配置文件中的DocumentRoot值修改为想要分享的目录
DocumentRoot “/Users/test/test”
同时下面的Directory 描述也要配套进行修改(其实每次MacOS升级都会需要修改),首先将描述的目录改为DocumentRoot指向的目录,然后添加额外的属性Indexes
也就是将
Options FollowSymLinks Multiviews
修改为(需要sudo vim因为只有su才能修改,其他用户只读)
Options Indexes FollowSymLinks Multiviews
增加的 Indexes 属性代表的是 若该目录下无index文件,则准许显示该目录下的文件以供选择(这就是我能直接在页面看到目录下的所有文件,当然修改后永远都需要restart apache)
如果不指定,则会
在浏览器中输入localhost/www就能看到www下的无index文件了
点选一个html的文件就能自己开一个网站了,比如我本地化的鸟哥私房菜第三版全站离线网页
其他属性的意义可以参看这
如果想要分享多个文件夹,用软连接将要分享的文件夹链接到DocumentRoot所在的文件夹即可,
sudo ln -s /test/ file
例如我的链接的是:
sudo ln -s /Library/Webserver/Documents/www /Volumes/Mac_500GB
修改完成后执行sudo apachectl restart重启服务即可
如果想要分享多个文件夹,用软连接将要分享的文件夹链接到DocumentRoot所在的文件夹即可,例如
sudo ln -s /test/ file
基于python
基于python实现的非常简单,只需要进入到你想要分享的目录下,执行python -m SimpleHTTPServer 9050
9050可以替换为其他端口,不要和其他的冲突即可
基于hfs
除了上面介绍的两种,还有hfs软件,可以非常简单且可视化的完成文件分享功能,直接拖拽即可,但是只支持windows
下载地址
hfs都是可视化操作,需要注意的东西不多,内容也不复杂,自行摸索即可。
mac下其实也可以通过wine实现运行exe程序,从而实现调用hfs,看自己是不是需求hfs提供的完善的图形界面了,如果不需要建议还是实用上面两种即可