做一个太阳能供电的FTP服务器,只要有网络连接,你就能随时访问自己的数据文件,还不用为服务器支付任何电费,是不是很酷呢?
订购太阳板
我们将会使用一个玩家自制的25英镑的树莓派盒子,它拥有适合的插槽来放置你的输出接口,并且带有一个小太阳能板,一个电池盒和一个micro-USB电缆。你仅仅只需要提供4节镍氢充电电池就行了。
用你的浏览器看向这里 —— 你将找到通过PayPal下订单的所有信息。卖家Cottonpickers也把商品放在了eBay上,如果你更喜欢这种购买方式的话。
设置静态IP地址
一旦从快递员手中接过你的包裹,把你的小派插上去并且为它接上电源和显示器。让我们开始编程吧。第一步是确保你的小派有一个静态的IP地址,因为我们需要在网络防火墙上添加例外来允许到来的FTP请求。 在小派的桌面,双击“LX Terminal”图标进入终端。敲入如下命令设置静态IP地址:
sudo nano /etc/network/interfaces
这个文件控制了树莓派的IP地址。你需要做的是稍微向下滚动到“iface eth0”一行把“DHCP”改成“static”。现在,在这一行的下方,为你的小派键入一个IP地址,还有子网掩码和网关。它看起来像这样,但是会根据你的家庭网络而不同。
address 192.168.1.93 netmask 255.255.255.0 gateway 192.168.1.254
假如你还不知道这些东西,那你可以通过你的路由器说明书找到你的IP地址和路由设置,或者通过在小派的终端里输入: ifconfig -a。这个命令会列出当前的IP地址,路由器DHCP配置的子网掩码和网关。接下来你该做的就是把这个IP地址敲到文件的“static”区域确保你的小派不会在重启之后有了一个不同的IP。 当你做完了这些事情,按一下Ctrl+X退出,再按一下“Y”保存改动,再按几次回车回到命令行。现在输入:
sudo /etc/init.d/networking stop sudo /etc/init.d/networking start
这将会重启网络组件并且使用刚才保存的IP地址。
VNC
在终端输入以下命令,在每一行之后按一下回车。
sudo apt-get update sudo apt-get install vnc-server vncserver
当软件包下载并安装好之后,会提示你设置一个密码,重复一遍并且在出现view-only选项的时候选择“No”。 现在VNC已经装好了,我们需要确保它作为一个系统服务在每次小派重启的时候自动加载。通过下面的命令来实现:
sudo nano /etc/init.d/tightvncserver
按一下回车,在打开的编辑器里,输入如下代码:
#!/bin/sh # /etc/init.d/tightvncserver # Set the VNCUSER variable to the name of the user to start tightvncserver under VNCUSER='pi' case "$1" in start) su $VNCUSER -c '/usr/bin/tightvncserver :1' echo "Starting TightVNC server for $VNCUSER " ;; stop) pkill Xtightvnc echo "Tightvncserver stopped" ;; *) echo "Usage: /etc/init.d/tightvncserver {start|stop}" exit 1 ;; esac exit 0
现在按一下“Ctrl+X”然后“Y”保存,再按几次回车回到命令行。现在我们要做的是修改我们刚才创建的脚本权限让它可以执行,键入以下命令:
sudo chmod 755 /etc/init.d/tightvncserver
按一下回车。最后,我们需要把它加到启动脚本里,键入以下命令:
update-rc.d tightvncserver defaults
现在你能做的是拔下显示器并且把你的小派放到有网线的地方,并且阳光充足(为太阳板充电)。如果你安装了类似TightVNC Viewer的工具你可以通过“192.168.1.93:1”(换成你自己的静态IP地址)以图形界面的方式访问到你的小派了。
VSFTPD
接下来就是配置FTP服务器的部分了。同样的,这也不是很困难,也可以在将来按照你自己喜好配置。在终端键入以下命令:
sudo apt-get install vsftpd
当VSFTPD(代表Very Secure FTP Deamon)软件包下载安装完成,键入:
sudo nano /etc/vsftpd.conf
这是控制VSFTPD的配置文件,它允许你设置所有类型的限制和策略,所以建议配置的时候要十分小心。为了使它运行,我们推荐改动下面的几行,每行一条,输入“YES”或“NO”:
Anonymous_enable=NO Write_enable=YES Local_enable=YES Ascii_upload_enable=YES Ascii_download_enable=YES
关于每条配置项的解释你可以通过它的注释看到,这里我们就不多说了。当你配置完成,像之前一样保存退出。 最后,通过重启小派来使得你所做的所有工作生效。你可以通过以下命令重启它:
sudo reboot
通过FTP访问外接硬盘
我们喜欢把事情变得简单,因此我们访问外接硬盘的方法是把一个硬盘接到小派的USB口上并且通过FTP客户端来访问。 首先,你可以把硬盘接到电脑的USB口上并把它格式化成NTFS格式,卷标写上FTP。完成之后,把它接到小派上并且通过VNC在文件管理器里访问它,需要点一下“Yes”。 记下你的硬盘的路径 ——我这里是/media/FTP。为了测试FTP访问,你需要装一个FTP客户端,例如FileZilla,并且在连接地址里输入: 192.168.1.93/media/FTP (把IP地址换成你自己的) Username: pi (换成你在配置VSFTPD时的用户名,默认是pi) Password:raspberry (如果用户名不是pi的话,请换成你自己设置的密码) 幸运的话,你现在已经能够在你自己内部的网络里访问到你的外接硬盘了。
外部访问
这个工程的最后部分涉及到从外部FTP访问到树莓派。这也是最说不清楚的一步,因为它根据你的路由器型号的不同而不同。例如,在basic BT model里,我只用在预定义好的应用里勾选FTP外部访问就行了,并且把它指向内网的树莓派地址。 而你的可能完全不同。但是,为了完成这一步你应该看看你的路由器说明书,或者Google一下你的路由模块看它是否有FTP外部访问教程。
本文由 极客范 – Boyd Wang 翻译自 David Hayward。