利用Apache的http功能共享文件

来源:互联网 发布:西安哪里可以学php 编辑:程序博客网 时间:2024/05/23 22:14

本文介绍如何开启Apache2的用户目录模式并设置public_html。

使用场景

假设某个用户在Ubuntu服务器上有个人的用户名,他打算将某个文件放到个人目录下,并提供给其他用户浏览和下载。此时可以直接利用Apache的http功能传送文件,同时不污染/var/www标准目录。

例如,服务器的IP地址172.1.163.96,服务器上有一个普通的的用户账户名为xlu。在其他用户的PC上,只需要在浏览器中输入172.16.163.96/~xlu,就可以浏览并下载xlu的个人文件。效果如下图,在浏览器上,其他人可以看到xlu打算共享的所有文件,并且自由下载。


通过这种方式,你可以很方便地传输文件,而不用发邮件,U盘拷贝等方式。而且,有没有一种很高大上的感觉。

 

其实,这种文件共享很简单,只需要几步操作就可以达成。

 

操作方式

1开启用户目录模式

打开Terminal,输入命令sudo a2enmod userdir开启用户目录模式。


按照提示,要激活新配置,需要运行service apache2 restart来重启Apache服务器。


至此,用户目录模式已开启并且可用。

2创建public_html目录

现在,在用户目录下创建public_html目录,并放置几个文件。如下图示例已创建好的目录/home/$USER/public_html和文件1.file, 2.file,3.file。


 

3自测试

在Ubuntu主机上打开浏览器,输入127.0.0.1/~xlu测试是否有效。


至此,Apache用户目录功能已经证明可用了。如果要向其他人传输文件,只需要将文件放到目录/home/$USER/public_html,并让其他人登录浏览器,输入$IP/~$USER/$file_name(注意,用户名前加波浪线~)即可下载。这种方式简单易用,不需要写任何代码,非常方便公司员工使用内部网络传输文件。

 

当然,由于基于http协议,如果其他人的系统为Ubuntu,可以直接用wget命令,如

wget 172.16.163.96/~xlu/1.file下载文件。如果为Windows系统,则需要安装wgetfor windows工具。

个人页面

前面讲述的是基于用户目录共享文件的操作方式。现在讲述如何在用户目录下开发个人页面。

 

Apache默认网页存储在/var/www目录下,需要所有开发者共同维护。但有时,开发者自己开发了某些网页,不适合放在这个目录,而是放在自己的个人目录/home/$USER下,此时参照前文,在public_html下创建一个index.html文件即可,如下图示例。


 

在浏览器中的浏览效果如下图。


 

由于这种方式创建的文件都在用户的个人目录下,因此,不会干扰/var/www中的任何文件。

 

取消用户目录功能

要取消用户目录功能,禁止用户浏览和下载。只需要使用a2enmode对应的命令a2dismode并重启apache服务器即可。


0 0