我想创建一个文件夹,这样当设备连接到我的计算机的 IP 地址(端口为 80)时,它就会看到文件夹中的文件并打开/下载它们。例如,如果您现在在浏览器中输入“/usr/”,它将向您显示其中的文件夹以及这些文件夹中的文件。我搜索了一段时间,但找不到在浏览器中打开的方法。
我看到在我老师的网站上有一个文件夹,可以下载.pdf、脚本等。
答案1
你正在谈论一个带有 apache 的文件服务器
只要按照如下方法操作即可。
打开终端并执行以下操作
sudo apt-get install apache2
然后
sudo service apache2 start
只需打开浏览器并输入 localhost 并按回车键。
如果你看到
您已成功安装您的网络服务器。
现在我们必须为您设置一个文件服务器。
现在打开/var/www/html
位置并创建一个任意名称的文件夹并放置一些文件。
然后重新启动/重新加载 apche2,然后在浏览器中输入
localhost/ 您将看到您的文件夹。
但为了让你的朋友/其他人看到你的文件,我们还有很多工作要做,比如
- 我们需要一个网站名称
- 如果没有网站名称,那么我们必须选择一个并将其添加到您的 /etc/hosts 文件和您的朋友的 /etc/hosts 文件中。
/etc/apache2/apache2.conf
在文件中创建虚拟主机条目
答案2
我不确定问题的措辞是否明确表明了您的目标是通过互联网还是通过私有网络共享文件。我要补充一点,如果您想通过 apache 在私有网络上共享文件,您可以安装并启动 apache,如前所述,删除默认的 index.html,然后将文件添加到 /var/www/html 目录。对于您私有网络上的其他人,他们将能够导航到网络上的设备 IP 地址 (192.168.###.###) 并访问 /var/www/html 目录中的任何文件。
假设您的路由器上代理外部互联网流量的 80 端口转发根本没有配置或没有配置为转发到您的设备,您的文件将无法在公共互联网上访问。只有您私人网络上的人员才能访问 /var/www/html 中的文件。
再次,在命令中:
安装Apache:
sudo apt-get install apache2
启动Apache:
sudo service apache2 start
从 /var/www/html 中删除 index.html:
sudo rm /var/www/html/index.html
将您的文件复制到 /var/www/html:
sudo cp /path/to/file /var/www/html/[insert new file name]
复制整个目录!!
sudo cp -r /path/to/directory /var/www/html/[insert new directory name]
这可能很明显,但值得一提的是,即使您与公共互联网的连接中断,这种方法也应该有效。用例:假设,由于 ISP 维护失误,您工作场所的互联网中断,预计一两个小时后才能恢复,但您的同事有一堆您需要的文件,您通常会通过公共互联网资源(dropbox、npm 等)获取这些文件。如果您已经安装了 apache,您可以通过这种方式在彼此之间共享文件。
从安全角度来看,这些文件显然可供您专用网络上的任何人使用。无论您以这种方式共享什么,您都应该放心让专用网络上的每个人都拥有。流量也没有加密(即它通过 HTTP 而不是 HTTPS 提供)。我没有想到恶意智能设备可能会扫描其他设备以查看它们是否在端口 80 上运行任何东西。他们可以抓取找到的任何东西并发送到外部源。所以这不是很好。小心!
希望这可以帮助!