家庭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动态域名

phpMyAdmin

Always do these two commands first:

sudo apt-get update
sudo apt-get upgrade

To install phpmyadmin you have two options
1. install from the source:

sudo apt-get install phpmyadmin

That’s it, but the version is not so up-to-date.

2. Manually install:
download it last edition from the homepage. Select the “all language version” if you want to use it in other than English later.
update it to the root folder of your website.
unzip it

unzip phpMyAdmin*.zip

then follow the official docs to install it.

This will give you the last version.

Tips:
To remove the warning: mcrypt module is missing (something like that…)

sudo apt-get install php5-mcrypt
sudo /etc/init.d/apache2 restart

To remove the warning: The configuration file now needs a secret passphrase (blowfish_secret).

cd /the_path_to_your_phpmyadmin_folder/
sudo nano config.ini.php

add the follow codes before the ?> replace the password to your own random password.

$cfg[‘blowfish_secret’] = ‘password

To remove the warning:The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. To find out why click here.

creat a datebase named phpmyadmin, create a user in the privileges tab. Username should be phpmyadmin, choose the option of “Create database with same name and grant all privileges”.

Then import the create_tables.sql from the example folder of phpmyadmin.

replace the config.inc.php with the config.sample.inc.php from the sample folder.

remove the // from the start of the following lines, change the red part with phpmyadmin and its password.

/* User used to manipulate with storage */
// $cfg[‘Servers’][$i][‘controlhost’] = ”;
// $cfg[‘Servers’][$i][‘controluser’] = ‘pma‘;
// $cfg[‘Servers’][$i][‘controlpass’] = ‘pmapass‘;

/* Storage database and tables */
// $cfg[‘Servers’][$i][‘pmadb’] = ‘phpmyadmin’;
// $cfg[‘Servers’][$i][‘bookmarktable’] = ‘pma__bookmark’;
// $cfg[‘Servers’][$i][‘relation’] = ‘pma__relation’;
// $cfg[‘Servers’][$i][‘table_info’] = ‘pma__table_info’;
// $cfg[‘Servers’][$i][‘table_coords’] = ‘pma__table_coords’;
// $cfg[‘Servers’][$i][‘pdf_pages’] = ‘pma__pdf_pages’;
// $cfg[‘Servers’][$i][‘column_info’] = ‘pma__column_info’;
// $cfg[‘Servers’][$i][‘history’] = ‘pma__history’;
// $cfg[‘Servers’][$i][‘table_uiprefs’] = ‘pma__table_uiprefs’;
// $cfg[‘Servers’][$i][‘tracking’] = ‘pma__tracking’;
// $cfg[‘Servers’][$i][‘designer_coords’] = ‘pma__designer_coords’;
// $cfg[‘Servers’][$i][‘userconfig’] = ‘pma__userconfig’;
// $cfg[‘Servers’][$i][‘recent’] = ‘pma__recent’;

To force using phpmyadmin with SSL (https):
Put this following line at the bottom of config.inc.php(before ?>)

$cfg[‘ForceSSL’] = true;

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

树莓派安装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访问速度优化例外开贴说明。