假设你已经通过我们简单易懂的说明建立好了你的树莓派。或者你已经看过我们的25件最值得去做的有趣事儿并且你现在想要一些更激动人心的东西。那么做一个太阳能供电的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
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外部访问教程。