张火火和西西弗一起推石头

以执念对抗不完美

基于centos8使用seafile搭建家用nas

目录

前言:

        1、背景

正文:

        1、 虚拟机的建立和SSH连接

        2、安装mariadb

        3、安装seafile依赖包

        4、开放防火墙端口及更改seafile配置文件

        5、创建数据盘raid1

        6、迁移seafile数据目录至数据盘

        7、seafile用户通过管理员添加或删除

        8、seafile设置开机自启动

        9、设置静态ip地址


前言:

        1、背景

        博主第一次在linux下搭建家用nas,过程中遇到了不少问题。有极端低级的错误,也有超级头疼的困难。在几天的摸索下也终于将这些问题逐一解决,成功搭建了一台家用nas。希望以下方法对每一位想通过centos8搭建家用nas的同学能有所帮助。(小白总结,大神勿喷)

        若对linux系统操作一无所知,请先阅读此篇博客:Linux常用命令_Demon的博客-CSDN博客_linux常用命令

正文:

        1、 虚拟机的建立和SSH连接

        正式在物理机上实操之前,建议先通过虚拟机来模拟服务器的搭建过程。通过虚拟机能够更为高效地部署服务器和发现各个问题的错误来源。以下以Vmware Workstation 16 Pro为例。

        成功安装镜像,并设置网络适配器为桥接模式,以为虚拟机取得和物理机相同的网络地位。保存当前快照,便于日后出错还原。建议每进行一步重要操作后都保存快照。

         登录后输入

ip addr

获取虚拟机ip地址。

        

        安装MobaXterm,与虚拟机建立SSH连接。(注意:一定要记清ip地址)        若出现X11-forwarding disabled 输入

 yum install xorg-x11-xauth

安装相对应的依赖包即可解决。

        2、安装mariadb

        以下在mariadb下部署seafile服务器。

打开seafile官网下服务器手册

        根据手册逐步完成,下载时使用wget工具,使用方法: wget URL 。

        成功下载以及部署目录后,先进行mariadb的安装,防止在安装seafile依赖包的时候出错。

        返回至根目录,输入

yum install mariadb*

进行安装mariadb。

        输入

systemctl start mariadb.service

启动mariadb数据库服务。

        输入

systemctl enable mariadb.service

将mariadb数据库服务设为开机自启动。

        若出现 Failed to find mariadb.service 错误提示,则输入

rpm -q mariadb-server

检查是否安装 mariadb-server 。

        若安装,尝试重启后再次启动。

        若未安装,输入

yum install mariadb-server

进行安装,完成后再次启动。

        输入

mysql_secure_installation

进行mariadb数据库安全配置。

首次进入未设定密码在密码输入行直接敲击Enter键进入密码设置端。

设置root密码。

是否移除匿名用户 -y

是否禁止root远程登陆 -n

是否移除测试数据库 -y

是否重新加载私人目录 -y

        输入

mysql -p

进入登陆界面,测试是否能够登陆成功。

        登陆成功!输入

quit

退出数据库。数据库安装配置成功。

        3、安装seafile依赖包

        进入服务器手册,依据手册提示依次安装seafile依赖包。

        出现 (尝试在命令行中添加 '--allowerasing' 来替换冲突的软件包 或 '--skip-broken' 来跳过无法安装的软件包 或 '--nobest' 来不只使用软件包的最佳候选) 提示,仅是因为mariadb版本未升级,而mariadb-connector-c-devel等先升级造成冲突,可在安装命令之后加入提示中的

--allowerasing

来进行替换,或者卸载掉mariadb进行降级安装。

        注意,一行命令中同时安装多个依赖包时有可能会出错,可拆分进行单个安装。

        根据手册完成seafile安装,根据提示逐一完成配置。

        4、开放防火墙端口及更改seafile配置文件

        进行防火墙端口配置。

        输入

firewall-cmd --list-all

查看开放了几个端口。



1.  firewall-cmd --zone=public --add-port=8000/tcp --permanent
    
2.  firewall-cmd --zone=public --add-port=8082/tcp --permanent
    

        开放8000,8082两个默认端口

        输入

systemctl restart firewalld

重启防火墙以更新其配置。

        根据服务器手册,开启seafile,seahub服务。

        进入seafile网页端,发现无法访问。

        输入

cd seafile/conf

进入配置文件目录。

输入

vim gunicorn.conf.py

进入配置文件按i对其进行编辑,修改bind为本机所对应的ip地址。

        按esc键退出,输入:wq保存退出。

        返回至seafile-server-latest/ 目录,输入



1.  ./seafile.sh restart
    
2.  ./seahub.sh restart
    

对seafile和seahub服务进行重启,再次进入网站,成功!

        登陆。

        

进入系统管理。

查看SERVICE_URL与FILE_SERVER_ROOT的值是否正确。

        5、创建数据盘raid1

进入Vmware添加磁盘,选择SATA,20G,共添加两块,以便创建raid1。

重启后输入

fdisk -l

查看磁盘信息。

        输入

fdisk /dev/sdb

进入编辑磁盘信息。

        输入 n p t fd 给磁盘创建raid1分区。输入p打印当前信息。核对信息无误,输入w写入磁盘。

        对sdc进行相同操作。

        输入

ls /dev/sd*

列出磁盘信息。

        输入



1.  mdadm -E /dev/sd[b-c] 
    
2.  mdadm -C -v /dev/md1 -l 1 -n 2 /dev/sd[b-c]1
    

创建raid1。

        Continue creating array? -y

        

        输入 mdadm -D /dev/md1 查看raid1的详细信息。

        创建成功!

        输入

mkfs -t xfs /dev/md1

进行格式化设备。

        输入

mkdir raid1

进行创建挂载目录。

        输入

mount /dev/md1 raid1/

进行md1在raid1上临时挂载。

         输入 df 查看挂载信息。

        输入

blkid /dev/md1

查询md1UUID,拷贝。

        输入

vim /etc/fstab

进行编辑磁盘配置文件,在最后一行上加上 UUID=… /raid1    xfs   dafaults  0 0 进行永久挂载。

        输入

systemctl daemon-reload

重新加载system守护进程。

        重启后查看是否挂载成功。

        输入



1.  mdadm -Dsv
    
2.  mdadm -Dsv >/etc/mdadm.conf
    
3.  cat /etc/mdadm.conf
    

生成raid的配置文件。

        输入

echo “hello world” >>raid1/text.txt

创建一个测试文件。

        输入

mdadm /dev/md1 -f /dev/sdc1

模拟坏一块盘。

        输入

mdadm -D /dev/md1

进行查看详细信息。

        输入

cat /raid1/text.txt

进行查看text.txt文件。

        查看成功!创建成功!

        输入

mdadm /dev/md1 -r /dev/sdc1

移除模拟坏盘。

        输入

mdadm -D /dev/md1

进行查看详细信息。

        6、迁移seafile数据目录至数据盘

        接下来更改seafile-data存放路径。

        输入

mv /root/seafile/seafile-data /raid1/

将seafile-data目录移动到raid1目录下,raid1为数据盘挂载点。

        输入

ln -s /raid1/seafile-data /root/seafile/seafile-data

 为seafile-data目录设置一个软链接。

        如此,各seafile实例将共享同一个seafile-data目录,所有其他配置文件和日志文件将保持独立。

        7、seafile用户通过管理员添加或删除

 

登陆管理员账号后在系统管理界面下可进行。

        8、seafile设置开机自启动

 

博主在按照服务器手册上进行seafile的开机自启动的设置时总是失败。使用systemd方法,检查报203错误,后经过高人指点,发现是本机系统环境在安装过程中发生了改变。若按照服务器手册配置成功,请跳过此节。以下为解决方法。

        按照服务器手册创建服务文件,在复制时注意删去多出的<feff>以及多余的空行,以防运行时错误。user和group若无创建用户请改为root,若按照本文方法进行到此步,seafile安装地址为/root/seafile。

        保存

        输入

systemctl daemon-reload

重新加载system守护进程

        关闭seafile和seahub后,输入

systemctl start seafile

查看是否能够启动。

        若不能,输入

vim /etc/systemd/system/seafile.service

 进行编辑。

`   1.  [Unit]      2.  Description=Seafile      3.  # add mysql.service or postgresql.service depending on your database to the line below      4.  After=network.target mariadb.service       8.  [Service]      9.  Type=oneshot      10. ExecStart=/bin/bash /root/seafile/seafile-server-latest/seafile.sh start      11. ExecStop=/bin/bash /root/seafile/seafile-server-latest/seafile.sh stop      12. RemainAfterExit=yes      13. User=root      14. Group=root      15. [Install]      16. WantedBy=multi-user.target        `

![](https://img2023.cnblogs.com/blog/3078251/202407/3078251-20240704220236951-908381921.png)

        在ExecStart,ExecStop后添加/bin/bash。注意,得保证seafile.sh文件中开头有 #!/bin/bash 。

        在再次启动之前,输入

bash

查看bash是否能够正常运行

        输入

/bin/bash

查看路径是否正确。

        重新加载,启动,查看是否正常。

        seahub同理。

        重启,测试服务是否能够正常自启。

        9、设置静态ip地址

        因为交换机DHCP的功能,每次重新接入网络时ip地址都会被随机分配。设置静态ip地址以后可以避免。

        输入

nmtui

进入可视化网卡配置。

        设置,退出。

        输入

nmcli c reload

 进行重新加载。

        输入

nmcli c up ens33

进行开启网卡,ens33为网卡名称。

        重新连接ssh。

        重新更改bind,网页端地址更改。

完成!应用至物理机。

posted @ 2024-07-04 22:03  zbyisgudi  阅读(64)  评论(0编辑  收藏  举报