Saturday, November 26, 2016

使用 Caddy 服务器软件自己搭建网页形式的文件共享

使用 Caddy 服务器软件!轻松将自己的电脑变成服务器,搭建一个属于自己的“网站”,从而将文件夹以网页的形式共享出去,让局域网甚至互联网上的其他电脑、手机、平板设备均能通过浏览器轻松访问和下载它们……

什么是 Caddy?

Caddy 实际上是一款免费开源的 WEB 服务器软件,可以让用户非常简单地在电脑上搭建出一个网站。它的特点是配置简单,入门容易,稍微研究下即能将自己的文件部署到局域网或互联网上,共享给其他设备通过浏览器进行访问。

 

虽说看起来 Caddy 似乎很高端的样子 (至少搭建网站服务器什么的对非专业人士确实有点难度),但是 Caddy 本身是一个以「易用」为目标而开发的软件,使用它仅仅需要通过编写简单的“配置文件”即可,比起那些要用脚本和专业知识才能玩得转的服务器程序,Caddy 的门槛是大大降低了。对于想尝试自己搭建网页服务器而又没有太多基础的朋友应该说是很具有可玩性的。

Caddy 本身支持 macOS 和 Linux 系统,但本文主要介绍在 Windows 系统下的用法。

Caddy 基本使用 - 搭建基础网站



1. Caddy 的使用非常简单,首先下载 Caddy 软件(下载时需要选择你想要安装的模块,看“注意2”,本文主要介绍它的 filemanager 模块),并解压到任意目录下。

 

2. 进入到此文件夹内,在此根目录新建一个“index.html” (首页) 文件,用记事本编辑,输入任何内容如 “Hello Caddy!” 并保存。

 

3. 接着双击 Caddy 程序启动,此时在本机的游览器中输入 “localhost:2015” 即可看到 “index.html” 文件中的内容。

 

注意 1:因为 index.html 文件是网页的首页,Caddy 会自动识别,如果文件名改成 “another.html”,就必须输入 “localhost:2015/another.html” 才能看到了。

注意 2:如果之后要使用 “filemanager 文件管理器” 等模块,那么在下载的时候必须要手动勾选对应的模块,默认只勾选了核心模块。


把网址设置为电脑的局域网 IP

上面用 localhost 作为地址可以让本机访问,而如果你希望这个“网站”可以让局域网甚至是互联网上的其他设备访问,那么就需要为其设置正确的网址域名或 IP 地址了。为简单起见,我们本教程只以「局域网访问」为例子,如果你需要互联网访问,还得自行去了解 DDNS 动态域名 (比如花生壳)、路由器的端口映射设置等概念。

设置正确的 IP 地址或域名是实现局域网文件共享的前提。本操作分为两步:

首先要获得你的电脑在局域网内的 IP。
将这个 IP 地址写入 Caddy 的特定配置文件里。


Windows 系统下获取本机的局域网 IP 地址的方式为在命令行界面输入“ipconfig”命令并回车。一般都是类似“192.168.X.XXX”的形式。值得注意的是,大多数路由器默认情况下都是通过 DHCP 动态给设备分配 IP 地址的,每次路由器重启后,你的电脑 IP 地址可能都会变,因此最好在路由器的设置界面为电脑设置固定的 IP。

在 Caddy 目录下新建一个名为 “Caddyfile” 的配置文件(没有扩展名),用记事本打开,在里面输入你的电脑的局域网 IP 地址(或者域名)+英文冒号+端口号。重启 Caddy 程序后就能用任意局域网内的其他设备访问这个地址了。这也为我们的“局域网内共享文件”做好了准备。

 

如果需要通过互联网访问,那么这里的 IP 就要修改成你的公网 IP 或者动态域名了。我这里还是以局域网为例子,对于的网址是 192.168.0.105:2016,从连着家里 WiFi 的手机上访问的结果如下:

 


从局域网内共享内容(文字,图片 等)

我们在下载安装 Caddy 时已经选择了「文件管理」模块 “filemanager”,只需要在之前提到的 “Caddyfile” 中写入正确的配置,即可使用 Caddy 内置的文件管理器在局域网或互联网上共享文件。

複製代碼
192.168.0.105:2016
filemanager /file {
show allow_new allow_edit
./file true true
}


比如像上面的配置代码(show 参数用来设置文件在电脑上对应的路径, allow_new、allow_edit 表示允许新建和修改),而 ./file 是文件夹的路径,你可以修改成其他路径。更多的配置说明,可以参考文档。

在 Caddy 目录下新建一个“file”文件夹,在里面放入一些文件,再次重启 Caddy。

 

 

 

 

因为 Caddy 的 “文件管理器” 内建支持新建文件和修改(修改应该只支持纯文本格式),以及文件的下载和上传,相比常见的服务器软件比如 Nginx、Apache 等更能满足一般用户的文件共享需求,比如:



在电脑端放入一个“.apk”文件,即可在 Android 设备下载并安装。
在手机端黏贴一段文本到一个文本文件中,即可在电脑端处理。
在手机端上传一张图片,即可在电脑端得到这张图片。
通过上传下载功能可以实现少量文件的拷贝等。


Caddy 可以在配置中设置任意的文件夹为共享文件夹,比较灵活。而且你不需要在手机端安装任何软件,只需通过游览器访问即可。缺点是功能比较单一,在丰富性上显然无法与专门的软件相比。不过在一些轻量级的使用场景,无论是自用还是与家人、同事使用还是比较方便的。

另外 Caddy 还有更多的功能,比如支持 “Markdown” 语法解析等。有兴趣的朋友可以在阅读官方文档进行了解。

No comments: