玩客云刷Armbian后安装Seafile做家庭云盘

玩客云,内存1G,硬盘8G,CPU晶晨S805,价格50-60

要安装Seafile,主要有如下几个步骤:

1 刷入Armbian系统

刷入部分请直接参考https://www.huiyingwu.com/3155/,唯一要说明的是不需要接显示器,接了显示器也看不到东西,正在刷入系统的时候玩客云前面的灯会交替显示一下红,一下蓝,等到一直显示蓝灯就说明刷入完成了, 完成后接着如下操作

  1. 拔掉U盘,拔掉电源线,再插入电源线,先在路由器中给玩客云绑定一个固定的IP地址,如果IP地址不固定,seafile就不好弄了,我绑定的地址为192.168.2.189,路由器绑定操作好后再拔插一次玩客云的电源线,让玩客云重新启动后得到我们指定的IP地址192.168.2.189
  2. 远程登录玩客云,windows下用putty,Macos和Linux下直接打开终端,输入:
ssh [email protected]

接着输入默认密码1234就进入玩客云的Armbian系统了,如下图所示

登录成功后的界面,感谢QQ:691048250大神

为了安全起见,请用passwd root命令修改root的密码

  1. 卸载自带的docker,为什么要卸载,因为系统自带的docker无法启动,留着也是占用空间,最关键的原因是我们根本不需要它
apt remove docker-ce
apt autoremove

4.更新Armbian系统,先修改(不是追加,原有的内容要清空)/etc/apt/sources.list.d/armbian.list的内容为

deb https://mirrors.tuna.tsinghua.edu.cn/armbian/ stretch main stretch-utils stretch-desktop

为什么要修改,不修改的话连的是外国网站,下载速度慢啊,修改前就是跑毒靠两条腿,修改后就是骑上两轮摩托车了。
修改方法为win下用winscp软件,macos下用ForkLift软件,大师也可以直接使用vim手工码进去,保存后输入更新命令

apt update && apt upgrade

等它更新完成后就可以进入下个步骤了

2 安装nginx 和 mariadb

为什么要安装nginx,mariadb,其实不安装也可以用Seafile,不过安装这两货生活会更好,不安装就相当于你吃鸡捡了小手枪,安装后就是捡了M416了
安装命令如下

apt install nginx mariadb-server

安装完成后默认mariadb的root密码为空啊,这样不成啊,必须修改它,请依次使用下面的命令

mysql -u root -p # 提示符会变成 MariaDB [(none)]> 
use mysql; # 提示符会变成 MariaDB [mysql]> 
update user set password=password('密码密码') where user='root' and host='localhost';
flush privileges; # 刷新mysql缓存
exit; # 退出mysql命令行模式

到这里nginx和mariadb数据库就安装好了,输入reboot重新启动一次系统备用。

3 挂载USB硬盘

为什么要挂载USB硬盘,因为玩客云自带的硬盘就8G啊,系统还要用掉40%,可用空间还没10年前的手机大,不通过usb硬盘扩大存储空间的话还能叫云盘吗
先把usb硬盘插入电脑分好区,我用的是500G的旧笔记本机械硬盘,原来分了3个NTFS区,我把最后一个区的内容都移动到前面两个区,把它分配给Seafile使用
把USB硬盘插入玩客云的USB口,ssh连上玩客云,输入命令

fdisk -l

最后部分显示如下

Device         Start       End   Sectors   Size Type
/dev/sda1       2048 314574848 314572801   150G Microsoft basic data
/dev/sda2  314576896 643829760 329252865   157G Microsoft basic data
/dev/sda3  643831808 976768820 332937013 158.8G Microsoft basic data

/dev/sda3就是我准备留给Seafile用的,我们把它格式化成ext4格式

mkfs.ext4 /dev/sda3

格式化执行完成后,然后得到它的UUID准备做自动挂载工作,输入命令

blkid /dev/sda3

得到的内容如下:

/dev/sda3: UUID="06dc25bf-539f-4131-ac58-59cc45722dec" TYPE="ext4" PARTLABEL="Basic data partition" PARTUUID="bd0eb165-6651-11e8-9a11-b8975a5489c7"

其中的UUID就是我们需要的,然后准备好挂载目录,输入如下命令

cd /root
mkdir seafile
cd seafile
mkdir seafiledisk

打开/etc/fstab文件,在最后行追加(记住是追加,原有的内容不要动)下面内容

UUID=06dc25bf-539f-4131-ac58-59cc45722dec   /root/seafile/seafiledisk   ext4    defaults    0 0

保存好后,reboot重启一次系统,如果/root/seafile/seafiledisk目录下有一个lost+found目录说明挂载成功,那么挂载USB硬盘的工作就顺利完成

4 安装Seafile PI版本

因为Seafile是用python语言开发的,所以安装Seafile前先准备必要的包,不然一堆报错,输入如下命令安装必要包

apt-get install python2.7 python-setuptools python-mysqldb python-urllib3 python-ldap python-imaging python-certifi python-idna  -y

这里要特别说明的是最后3个包,特别是python-imaging包,整整耽误了我3天时间,因为官方的安装文档中没有提到这3个包,导致安装完成后启动不了seahub服务,折腾死我了。

必要包安装完成后就用迅雷下载seafile安装包,下载地址:[https://github.com/haiwen/seafile-rpi/releases],本文基于7.0.5。
用winscp或ForkLift上传到/root/seafile目录下,然后上命令

cd /root/seafile
tar -xzf seafile-server_7.0.5_stable_pi.tar.gz
cd seafile-server-7.0.5
./setup-seafile-mysql.sh

然后根据提示一步一步往下走就行了,特别注意 seafile data dir 这里要输入我们挂载的USB硬盘地址
/root/seafile/seafiledisk/seafile-data
server ip/domain这里输入192.168.2.189,其他的能默认的就默认

安装完成后会提示你用./seafile.sh start启动seafile服务, 用./seahub.sh start启动seahub服务,seahub服务启动前会提示你创建一个管理员账号,跟着提示输入邮箱和密码就好了

5 后续完善工作

  1. 配置nginx反向代理
    为什么要配置nginx反向代理,官方解释> 注意:7.0.x 版本之后,8000端口默认监听在127.0.0.1地址上,这意味着您无法直接通过8000端口访问Seafile服务。建议您配置nginx反向代理
    那么怎么配置反向代理呢,简单,新建文件/etc/nginx/conf.d/seafile.conf,内容为
server {
listen 80;
server_name 192.168.2.189;  
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_read_timeout 1200s;
client_max_body_size 0;
access_log /var/log/nginx/seahub.access.log;
error_log /var/log/nginx/seahub.error.log;
}
location /seafhttp {
    rewrite ^/seafhttp(.*)$ $1 break;
    proxy_pass http://127.0.0.1:8082;
    client_max_body_size 0;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_connect_timeout  36000s;
    proxy_read_timeout  36000s;
    proxy_send_timeout  36000s;
    send_timeout  36000s;
            proxy_request_buffering off;
}
location /media {
    root /root/seafile/seafile-server-latest/seahub;
}
}

根据你的实际地址修改server_name 192.168.2.189;root /root/seafile/seafile-server-latest/seahub; , 保存后就可以了。这个文件格式必须特别注意,有一点格式问题nginx就会无法启动,比如报这样的错proxy_passhttp://127.0.0.1:8000

  1. seafile和seahub服务自动启动
    这个也简单,新建文件/etc/systemd/system/seafile.service,内容如下:
[Unit]
Description=Seafile
# add mysql.service or postgresql.service depending on your database to the line below
After=network.target mysqld.service

[Service]
Type=oneshot
ExecStart=/root/seafile/seafile-server-latest/seafile.sh start
ExecStop=/root/seafile/seafile-server-latest/seafile.sh stop
RemainAfterExit=yes
User=root
Group=root

[Install]
WantedBy=multi-user.target

根据实际情况修改User=rootGroup=rootExecStart=/root/seafile/seafile-server-latest/seafile.sh startExecStop=/root/seafile/seafile-server-latest/seafile.sh stop

再新建一个文件/etc/systemd/system/seahub.service,内容如下:

[Unit]
Description=Seafile hub
After=network.target seafile.service

[Service]
# change start to start-fastcgi if you want to run fastcgi
ExecStart=/root/seafile/seafile-server-latest/seahub.sh start
ExecStop=/root/seafile/seafile-server-latest/seahub.sh stop
User=root
Group=root
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

这两个文件保存好后,依次输入命令启用这两个服务就好了

systemctl daemon-reload
systemctl enable seafile.service
systemctl enable seahub.service

到这里安装操作就全部完成,输入reboot重启系统,重启完成后浏览器中输入192.168.2.189看看效果,然后windows端,macos端,安卓手机端,苹果手机端全部安装上seafile吧

要看启动报错详细原因用 ./seahub.sh start-fastcgi 命令(只是用于7.0.5)

你可能感兴趣的:(玩客云刷Armbian后安装Seafile做家庭云盘)