家庭NAS系统折腾笔记

2014.4.7

重新把这篇2010年12月的草稿拿出来写完吧……无敌的拖延症哦

最新的情况是这样的,2010年的Buffalo NAS 因为速度之内跑到10兆(受限于当时的百兆网络环境,但估计上千兆了速度也提升不大),现在在新计划里沦为附NAS,主要就做做定期的备份。

新房子在4个房间个客厅分别预埋了1根cat5e的网线,汇总到门口鞋柜里德线箱里。所以准备将主要的网络设备都放在鞋柜里。

拓扑图草图(2014.4.7):
新家网络拓扑图

门口鞋柜:
主宽带光猫:中国电信提供
电力猫:待定
主交换机:思科 CISCO SG200-08 (看中链路聚合能力,待定,等群晖nas新款一起入)
主NAS:群晖 1813+ (取消,备用笔记本装黑群晖先用着(200GB+500GB),根据历代发布时间个人推测新款会在2014年6月前后发布)
备用电源:施耐德 APC Smart-UPS SUA750ICH(等群晖新款一起入,目前笔记本装黑群晖自带电池咯~)

客厅:
附宽带同轴盒:广电提供
电力猫:待定
主无线路由:AUSU RT-AC68U (先用现住处的RT-AC66U顶着)

书房:
副交换机:CISCO SG90D-08
台式机:跳转
附NAS:Buffalo (纯二次备份用)

–2010.12.21–

目前进度:

外网访问:路由器端口转发+dyndns.org动态域名

BitTorrent Sync on Raspberry Pi

mkdir ~/.btsync && cd ~/.btsync
wget http://btsync.s3-website-us-east-1.amazonaws.com/btsync_arm.tar.gz
tar -xvf btsync_arm.tar.gz

sudo ./btsync  # can be killed with `sudo killall btsync`

sudo nano /etc/init.d/btsync

#! /bin/sh
# /etc/init.d/btsync
#

# Carry out specific functions when asked to by the system
case "$1" in
start)
    /home/pi/.btsync/btsync
    ;;
stop)
    killall btsync
    ;;
*)
    echo "Usage: /etc/init.d/btsync {start|stop}"
    exit 1
    ;;
esac

exit 0

sudo chmod 755 /etc/init.d/btsync
sudo /etc/init.d/btsync start       # test that the script starts
sudo /etc/init.d/btsync stop        # test that the script stops
sudo update-rc.d btsync defaults

sudo reboot

VPS 安装SSL笔记

自签名SSL就不说了,网上教程一大堆,也很简单,可以参考下文中提到的这篇Linode的官方教程
商业SSL证书按说也不难,可是网上的教程都是理想状态的,可我偏偏遇到了不理想的状况。

事情是这样的:
平台:
Linode的VPS
Debian 7
Apache
mysql
php

SSL证书提供商:
StartSSL-免费,一年有效期
RapidSSL-原价40+,域名提供商name.com给的是24刀,一年有效期
我先买了R家的,想想不划算,退款,申请了S家的,打了个电话验证就好了。

买SSL证书前请检查对应域名的联系邮箱是否有效能接收邮件,因为验证域名所有权时要用到。

我的VPS是基于Linode的教程设置为标准的LAMP系统。

然后基于这篇Linode的官方教程以及这篇StartSSL的第三方教程完成了SSL的基本配置。(中间摸索了3天T T)

拿到证书后首先将它和私匙,公匙等一堆东西打包保存到安全的地方(U盘之类的),如果像StartSSL那样登陆它后台设置页面也要相应证书的话,就也一起保存下来。请注意阅读网站说明。

下面做些自己配置的笔记以供将来参考:

首先是/etc/apache2/ports.conf
在添加 NameVirtualHost *:443 时将*替换成具体的服务器IP地址。80端口的*也一样处理。

然后再修改 /etc/apache2/sites-available/websiteurl
将已有的80端口http部分复制并在文件末尾黏贴,将80端口修改为443,并添加以下信息:

SSLEngine On
SSLCertificateFile /etc/apache2/ssl/123.crt
SSLCertificateKeyFile /etc/apache2/ssl/123.key
SSLCACertificateFile /etc/apache2/ssl/123.pem

具体对应的证书请参考上文中提到的这篇StartSSL的第三方教程

然后不需要修改default-ssl文件。

重启apache服务:

sudo service apache2 restart

附录:
证书文件格式说明,识别及转换:
https://support.ssl.com/index.php?/Knowledgebase/Article/View/19

http://httpd.apache.org/docs/2.2/mod/mod_ssl.html

https://www.sslshopper.com/ssl-converter.html

http://docstore.mik.ua/orelly/weblinux2/apache/ch11_10.htm

http://stackoverflow.com/questions/14191468/openssl-encoding-errors-while-converting-cer-to-pem

http://blog.oneiroi.co.uk/openssl/x.509/pcks7/openssl-unable-to-load-certificate-wrong-asn1-encoding-routines-asn1-check-tlen-tag-tasn-dec-dot-c-1319/

在vps上生成证书时各字段的含义:
http://willjackson.org/blog/configuring-ssl-apache-debian-or-ubuntu

解决启动apache服务时的错误:SSLEngine模块缺失(英文怎么说忘了)
估计是之前按照教程做时无意间关闭了这个模块,把它启动起来就好了:

a2enmod ssl

相关网址:http://debian-handbook.info/browse/stable/sect.http-web-server.html 其中的“GOING FURTHER Adding support for SSL”部分。

解决启动apache服务时的警告(不影响启动):Restarting web server apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

sudo nano /etc/apache2/conf.d/fqdn

输入:

ServerName localhos

再重启apache。

中文参考:
http://cnzhx.net/blog/ssl-on-lamp-on-vps/

apache无法启动请去看自己 /etc/apache2/sites-available/websiteurl 文件中定义的error.log

Tiny Tiny RSS

Install the TTRSS
Download the ttrss files from github.
https://github.com/gothfox/Tiny-Tiny-RSS
Unzip the files to the /var/www/

cd /var/www/
unzip tiny*.zip

crate the ttrss database by the phpmyadmin.
Open the http://raspberrypi.address/tt-rss/install to finish the installation.

If the installation guide mentioned that the curl function is recommended. Install it for the the auto update of rss feeds.

sudo apt-get install curl libcurl3 libcurl3-dev php5-curl

Set a cron job
as the user pi:

crontab -e

add the follow line at the bottom of crontab.

*/15 * * * * php /home/pi/public/dipper.me/public/tt-rss/update.php –feeds –quite

Save the change.
Reboot the Raseberry Pi.

sudo reboot

树莓派安装owncloud个人云存储平台[简洁版]

Raspberry-Pi

owncloud是一款优秀的个人云存数平台(文件存储/分享,日历/任务/联系人/书签 同步,RSS阅读器,挂载其他在线存储平台,各种功能插件,PC/MAC/Android/iOS客户端),可以安装在各种linux发行版上,当然raspberry pi也是可以的。经过优化(优化一优化二)后可以达到“可用”的访问速度。

这篇文章是简洁版,主要是帮自己做个笔记,完整版会在得到原作者授权后翻译出来……

硬件要求:

树莓派
4GB以上 SD卡(安装系统)
USB接口的键盘鼠标(用于初始设置)
U盘或移动硬盘(保存用户文件)
Micro USB数据线(树莓派供电)(手机充电线就好)
网络接入(网线或无线网卡)
显示器(用于初始设置)

初始安装调试好。(密码,语言,时区,ssh)(推荐去树莓派官网学习)(下图是老版本的初始设置界面,新版布局略有变化)

raspi-config_main

进入图形界面

Screen-Shot-2013-05-23-at-3.51.38-PM

插入U盘或移动硬盘。

在图形界面下挂载上述外置磁盘。(能浏览U盘或移动硬盘的内容即可)

df -h

找到外置磁盘对应的路径(比如 /dev/sda1)

卸载外置磁盘,请将路径替换为实际的路径。

sudo umount /dev/sda1

格式化外置磁盘,命名为SYNC,可以自定义,但注意下文中所有对应路径都要确保一致。

sudo mkfs.ext4 /dev/sda1 -L SYNC

格式化后再在图形化界面下挂载。(笨办法但好用)

开始安装owncloud

系统软件源更新

sudo apt-get update

安装Github

sudo apt-get install -y git dialog

下载最新的owncloud安装文件(制作者主页

cd
git clone git://github.com/petrockblog/OwncloudPie.git

执行安装文件

cd OwncloudPie
chmod +x owncloudpie_setup.sh
sudo ./owncloudpie_setup.sh

会出现一个窗口,询问是新安装owncloud还是更新owncloud。请先设置树莓派自己的ip地址后,选择新安装owncloud,apache2。

请出门去逛逛街晒晒太阳,大概一个小时后回来。

当提示要建立一个密匙,需要你输入地域和联系人信息什么的时候,全部回车。

继续等。

最后会显示一个安装完毕的对话框,提示你重启。别重启。

不关闭该命令行窗口,另外打开一个命令行窗口。输入:

sudo chown -R www-data:www-data /media/SYNC/

此命令是赋予owncloud对该目录的读写权限。

在电脑浏览器里输入:
<树莓派IP地址>/owncloud
设置用户名和密码,点击Advanced,修改Data folder路径为之前格式化好的外置磁盘:/media/SYNC

owncloud

确认进入用户界面。

回到原命令行窗口,回车重启。

树莓派重启后,就可以拔掉视频线和usb键盘鼠标了。找个角落放着就好。

在电脑浏览器里输入
<树莓派IP地址>/owncloud

开始用吧。

外网访问需要在路由器上设置树莓派的静态IP地址(绑定MAC地址),再设置端口转发,转发80端口到树莓派的ip。

owncloud可以安装官方News插件,实现私人RSS阅读器,也可导入Google reader数据。请前往右上角的apps页面里折腾。

owncloud访问速度优化例外开贴说明。