专业的事情让专业的设备来做,比如说用Own Cloud私有云搭建Linux家庭服务器!
前言
以前我在某原创中一句“专业的事情让专业的设备来做”得到了很多值友的赞同,我也很想把我自己家中的网络布局方案分享一下,可是一没时间,二来设备也实在都是些性价比高的廉价货,实在是拿不出手。设备不行,手艺来顶吧。接下来我会通过超详细的命令行及截图步骤告诉你如何用最少的money搭建一个性能足够的Linux家庭服务器。
硬件选型
本文出现的目的其实是希望大家能把家里的老旧硬件利用起来,因此硬件配置根本不是事,当然土豪完全可以参考张大妈里的一篇原创选型。 传送门:
作为一个穷逼,我自己选择了利旧库存,以前组装的一台HTPC被用来搭建这个平台
机箱:立人E-T3 Thin-ITX机箱
主板:APU E-350 DC输入主板
CPU:主板集成
内存:4GB DDR3 SO-DIMM
硬盘:128GB mSATA(SANDISK)
硬盘2:东芝2TB 2.5英寸 5400转128M 9.5mm SATA 笔记本硬盘
JD 6.18购入(作为PT下载的硬盘还是选JD靠谱一点)
硬件选型依据:
1、我希望体积越小越好,随便扔在那个角落都行,因此选择了最便宜的Thin-ITX机箱
2、CPU没有要求,但是必须千兆网卡,我是利旧了以前HTPC的一块AMD E-350的工控主板
3、我有私有同步盘和PT下载两种需求,数据安全性要求不同。因此选择了128GB mSATA SSD+ 2TB 2.5英寸机械盘。SSD里保留100G空间出来放owncloud数据,2TB 机械盘就用来PT,坏了也不影响重要数据。
操作系统安装
首先为了最大化利用硬件资源,我选择Linux并且是只安装需要的组件。CentOS作为RedHat的开源版本,驱动已经网上的相关文章都比较多,成为了我的首选。
推荐下载everything版本,有备无患。然后就是写入U盘,制作安装盘了,制作工具有很多,比如Etcher、UltraISO等工具,这里就不一一介绍了。
为了方便截图,我这里用了我的ESXi服务器进行了虚拟机演示操作。2GB内存+128G+500GB模拟,配置如下:
这里要选择我要配置分区,因为分区比较重要,后期要改很麻烦。
我把/根分区减小到20GB,/home分区增加到100GB,因为我准备owncloud数据放在/home分区。owncloud私有云主要用来放置笔记本与其他电脑之间的同步数据,不需要也不建议同步大量数据,100GB足够用了。
选择最小安装,这样没有图形界面,也不会安装多余的软件包,并且加快安装速度。
最好在安装前配置好网卡,不然系统安装完成后还要通过命令行配置,比较麻烦。
大约8分钟后安装完成,嗯!最小安装就是这么快。重启进入命令行模式。
如果网络正常了,这个机器就可以告别显示器和键鼠了,随便找个可以联网的角落一丢就OK了。
根据习惯选择命令行工具,我这里选择了最简单的putty来进行操作。
当然你也可以下载别的命令行工具进行服务器的连接操作。
由于我们的系统都是最小安装,在安装完成后还需要更新并下载一些工具以方便后续操作。
安装相关工具包和yum源,
后面的都是干货,准备好复制粘贴大法
yum -y install net-tools.x86_64 //安装网络工具包
yum -y install wget //安装wget命令(最小安装居然没这个)
添加yum源:
yum -y install epel-release
cp/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cd/etc/yum.repos.d/
wgethttp://mirrors.163.com/.help/CentOS7-Base-163.repo
yum makecache
yum-y update //时间较长,可选择后期更新
禁用相关安全设置
iptables -F
chkconfig firewalld off
setenforce 0
vi/var/selinux/config (vim小常识:insert键插入模式,ESC退出插入模式,:wq保存退出)
SELINUX=disabled //禁用SELINUX
格式化第二块数据盘并挂载为/share目录
fdisk /dev/sdb
m查看帮助,按g创建gpt分区,再m看帮助,n创建分区
一切按默认三次回车,创建分区完成,m看帮助,w写入table并退出。
mkfs -t ext4 /dev/sdb
mkdir /share
mount /dev/sdb /share
df -h查看分区状态
vi /etc/fstab
在最后加入/dev/sdb ext4 defaults 0 0 让系统启动自动挂载
准备工作都完成了。
Owncloud私有云安装篇
owncloud需要一个web服务器来支持,这里我选择了php7
安装php7
来复制粘贴吧:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install php70w.x86_64 php70w-bcmath.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-dba.x86_64 php70w-devel.x86_64 php70w-embedded.x86_64 php70w-enchant.x86_64 php70w-fpm.x86_64 php70w-gd.x86_64 php70w-imap.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysqlnd.x86_64 php70w-odbc.x86_64 php70w-opcache.x86_64 php70w-pdo.x86_64 php70w-pdo_dblib.x86_64 php70w-pear.noarch php70w-pecl-apcu.x86_64 php70w-pecl-apcu-devel.x86_64 php70w-pecl-imagick.x86_64 php70w-pecl-imagick-devel.x86_64 php70w-pecl-mongodb.x86_64 php70w-pecl-redis.x86_64 php70w-pecl-xdebug.x86_64 php70w-pgsql.x86_64 php70w-xml.x86_64 php70w-xmlrpc.x86_64 nginx php70w-intl -y
安装owncloud
rpm --import https://download.owncloud.org/download/repositories/production/CentOS_7/repodata/repomd.xml.key
wget http://download.owncloud.org/download/repositories/production/CentOS_7/ce:stable.repo -O /etc/yum.repos.d/ce:stable.repo
yum clean all
rm -rf /var/cache/yum
yum install owncloud-files
测试及配置篇
开启httpd服务,并设置为开机启动
service httpdstart
chkconfig httpd on
通过http://IP地址/ownccloud已经可以访问到页面了
系统默认使用SQLite作为数据库,并且不推荐,处女座不能忍。让我们来安装miradb吧。
数据库MariaDB安装
yum -y install mariadb mariadb-server //安装
systemctl start mariadb //启动服务
chkconfig mariadb on //设置为开机启动
mysql -u root mysql //mysql配置模式
UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; //设置root密码为newpassword (注意SQL语句的“;”分号必须输入再回车,另外这里的root和系统root不是一个账号)
mysql -u root -p 输入newpassword密码
create database owncloud; (再次强调,分号必须输入后再回车)
show databases;(再次强调,分号必须输入后再回车)
在/home目录下创建owncloud数据目录,并赋予php权限
mkdir /home/owncloud
chown -R apache:apache /home/owncloud
owncloud 配置页面
回到http://ip/owncloud配置界面
安装完成后界面就没有配置模式了,可以直接admin登录
欢迎页有PC/IOS/安卓三种APP下载的地址,后期根据情况下载。
owncloud优化篇
本来到这里本文就应该结束了,但是作为处女作 ,各种告警提示绝对不能忍。
修改计划消除cron告警
这个简单,页面下拉,修改计划任务为cron就可以了。
消除内存锁定及缓存设置告警
yum -y install redis //安装redis服务
service redis start //启动redis服务
chkconfig redis on //设置服务开机启动
修改php.ini文件
vi /etc/php.ini (vim小常识2:粘贴内容的时候先进入INS插入模式,否则会丢字符)
在END前添加
; Redis php extension
extension=redis.so
修改owncloud配置文件
vi /var/www/html/owncloud/config/config.php
在 ); 前添加以下内容
'memcache.local' => 'OCMemcacheRedis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),
'memcache.locking' => 'OCMemcacheRedis', //使用Redis来管理事务文件锁定
:wq保存退出后重启httpd服务
service httpd restart
就剩下最后一项https告警了
为owncloud配置https安全连接模式
yum -y install mod_ssl //安装SSL模块
mkdir /etc/ssl/private
chmod 700 /etc/ssl/private
创建证书
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
手动添加自签名证书到SSL认证里
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
cat /etc/ssl/certs/dhparam.pem | sudo tee -a /etc/ssl/certs/apache-selfsigned.crt
修改SSL模块配置文件
vi /etc/httpd/conf.d/ssl.conf
找到相关字段修改服务器名称 (vim小常识3:vi里用斜杠/可以快速查找字段)
找到SSLProtocol 和SSLCipherSuite并用#注释掉
找到SSLCertificateFile 和 SSLCertificateKeyFile字段修改为
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
在文件最后的VirtualHost后面添加
SSLCipherSuiteEECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All-SSLv2 -SSLv3
SSLHonorCipherOrderOn
Header always setStrict-Transport-Security "max-age=63072000; includeSubdomains"
SSLCompression off
SSLUseStapling on
SSLStaplingCache"shmcb:logs/stapling-cache(150000)"
:wq保存退出
重启httpd服务,然后连接网页。
service httpd restart
局域网内的owncloud配置已经完美了。
外网访问设置篇
很显然我们的owncloud是需要通过外网访问才有意义。
首先你需要有一个外网IP地址(没有就自己想办法投诉电信,或者找其他的花生壳之类内网穿透工具,此项不在本文讨论范围内)设置一个不常用的https端口号,比如8443,端口映射到内网IP 192.168.2.200的443端口上。
然后编辑owncloud配置文件
vi /var/www/html/owncloud/config/config.php
在0 =>’192.168.2.200’,下面增加一行域名
比如1 =>’kaaye.smzdm.com’,不要漏掉逗号
一切都完美了。
不知道什么时候有空还会发文,自认为处女作首秀还是有一定干货的。谨以此文纪念我即将逝去的IBM SystemX 3500M4
eric_zhao
都是直接买群晖或威联通。
折腾这些也学不到什么东西,不如学点真正有用的加加薪水。
校验提示文案
jmlinpx
校验提示文案
以后的以后-爱
校验提示文案
干脆面爱洗手
校验提示文案
笛声
校验提示文案
drtian
校验提示文案
小伙伴11
sudo apt-get install snapd
sudo snap install nextcloud
校验提示文案
囧小叔
校验提示文案
别动我走向你
校验提示文案
哇土豆
校验提示文案
慎独居士
校验提示文案
高买
校验提示文案
可爱的排骨
要么做个owncloud的docker镜像给大家, 要么直接google搜索"一键 owncloud".
要贴子重点放在owncloud的用处, 好处和怎么用.
校验提示文案
maxbbs
校验提示文案
CasparLi
校验提示文案
edisonchan
校验提示文案
广林酱
校验提示文案
退休老干部的意大利炮
校验提示文案
烤香肠
校验提示文案
lanmei
校验提示文案
花幺绔
校验提示文案
广林酱
校验提示文案
大熊不吃肉
校验提示文案
高买
校验提示文案
碧海兰
校验提示文案
戊辰027
校验提示文案
edisonchan
校验提示文案
慎独居士
校验提示文案
CasparLi
校验提示文案
叫我燕双鹰
校验提示文案
simaqs
校验提示文案
天河
校验提示文案
maxbbs
校验提示文案
GaN老C
校验提示文案
哇土豆
校验提示文案
一灭世之光一
校验提示文案
Alvin噻
校验提示文案
大咖啤
校验提示文案
许风
校验提示文案
余歌唱晚
校验提示文案