XFile服务器端软件在Linux环境下部署教程
1 家用文件服务器的用途
2 家庭装修时网络结构的布局
3
家用文件服务器硬件采购和组装
4
Windows平台优化部署
5
Linux平台的安装部署
5 服务器端XFile软件的
参数设置
6 手机 平板客户端软件的安装和设置
7 电脑端客户端的使用
8 常见问题和解决方法
服务器产生并发送错误ipv6全局地址的解决办法
外部通过IPV6访问家庭服务器在地址正确情况下失败的原因和解决办法
随着IPV6部署的推进,暴露在公网环境的服务器电脑对安全的要求越来越高,而Linux操作系统相对windows操作系统来说,默认安全性要高不少,XFile服务器软件代码支持Linux和Windows双平台,完全支持Linux平台.
本教程将协助您完成XFile服务器端在Linux环境下的部署.
如果你不会安装Linux,请看这里
Ubuntu linux安装和小技巧图文教程
XFile在ubuntu18.04完整安装流程
由于Linux系统库GPL授权协议的限制,以及pthread静态库本身存在的问题,我们从2018.10开始,只能提供动态连接版本,非常抱歉,需要您自己根据你实际运行的Linux发行版本去创建动态库链接以满足Xftpsvr服务器软件的需求,我们默认提供
Ubuntu 18.04 LTS和20.04 LTS环境下的可执行文件和CentOS 8环境下的可执行文件,2024年4月开始提供Debian12环境下的可执行文件,另外提供ARM
V8 64位版
Arm arch64
64位版安装部署参考
具体需要使用到的库链接以及版本号,请参考needlib.txt文件,您可以使用link
指令在您的Linux环境里建立软连接[如果对应库版本不存在的话],但是如果你是安装的最新版本Linux,一般什么都不需要做就可以直接执行[除了安装g++]
好消息是,XFile服务器的配置文件,windows版本和Linux版本是通用的,这意味着您可以在windows平台先进行配置,然后将3个配置文件(新版是4个,增加myproxy.ini)拷贝到linux,除了实际目录部分的区别,其他参数是相同的.
最新版本2021.05可能需要用到的连接:
ubuntu
linux 18.04LTS环境需要用到的链接库(ubuntu linux 18.04和
CentOS/8 不需要额外操作)
linux-vdso.so.1 (0x00007ffee47c1000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
(0x00007f7819736000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1
(0x00007f781952e000)
libpthread.so.0 =>
/lib/x86_64-linux-gnu/libpthread.so.0
(0x00007f781930f000)
libstdc++.so.6 =>
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00007f7818f86000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
(0x00007f7818d6e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
(0x00007f781897d000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7819ea0000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
(0x00007f78185df000)
ubuntu
linux 20.04LTS环境需要用到的链接库(ubuntu linux 20.04和
优麒麟20.04 以及常规安装的debian 10, deepin v20不需要额外操作)
linux-vdso.so.1
(0x00007ffcd99a9000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
(0x00007f8c43c0c000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1
(0x00007f8c43c01000)
libpthread.so.0 =>
/lib/x86_64-linux-gnu/libpthread.so.0
(0x00007f8c43bde000)
libstdc++.so.6 =>
/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00007f8c439fd000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
(0x00007f8c439e2000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
(0x00007f8c437f0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8c43f93000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
(0x00007f8c4369f000)
ubuntu
linux 20.04 arm版本需要使用的链接库(ubuntu linux 20.04 for arm
arch64 不需要额外操作)
linux-vdso.so.1 (0x0000ffff9053c000)
libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2
(0x0000ffff901d1000)
librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1
(0x0000ffff901b9000)
libpthread.so.0 =>
/lib/aarch64-linux-gnu/libpthread.so.0
(0x0000ffff90189000)
libstdc++.so.6 =>
/lib/aarch64-linux-gnu/libstdc++.so.6
(0x0000ffff8ffa6000)
libgcc_s.so.1 =>
/lib/aarch64-linux-gnu/libgcc_s.so.1
(0x0000ffff8ff81000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6
(0x0000ffff8fe0e000)
/lib/ld-linux-aarch64.so.1 (0x0000ffff9050c000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6
(0x0000ffff8fd61000)
以下是常规部署流程
[1]下载XFile的Linux版
[2]解压到优盘或者Linux服务器端上
[3]在当前目录下,打开命令行终端,输入 sudo bash ./install.sh
,就完成安装操作了
XFile服务的所在目录为 /usr/tmp1/Xfile/
配置文件等的详细说明请点这里
修改配置文件:
sudo
nano /usr/tmp1/Xfile/config/set.ini
修改账户文件:
sudo
nano /usr/tmp1/Xfile/config/myaccount.ini
修改发布资源文件:
sudo
nano /usr/tmp1/Xfile/config/myshare.txt
启动服务:
suso
systemctl start Xftpsvr.service
停止服务:
sudo
systemctl stop Xftpsvr.service
执行lsof -i
可以看到Xftpsvr已经成功启动
在Linux下,如果要升级XFile服务到新版本,也很简单,首先下载新版本,提取出Xftpsvr文件,
在命令行下,执行sudo systemctl stop Xftpsvr.service
服务将成功停止
Linux下执行更新的简单操作类似下图,先把下载的zip文件解压到本地某个目录下,或者移动u盘中,然后如下
(注意 : Xfile
和 Xftpsvr 的第一个字母 X是大写的):
特别提醒:
我们建议用户不要在Linux操作系统下对windows专用的NTFS格式硬盘进行写操作,读没有问题,虽然Linux提供了对NTFS格式的基本支持(ntfs-3gs),但是如果因为写操作没有完成,Linux就非正常关机,可能会导致NTFS盘各种问题,是否完整支持NTFS的自恢复不可预知,为了避免这种问题,我们建议您不要对NTFS格式硬盘进行写操作,也就是应该彻底关闭Xftpsvr的上传功能。
[1]
关闭ubuntu linux 的临时ipv6机制
sudo nano -w -m
/etc/sysctl.d/10-ipv6-privacy.conf
直接打开ubuntu linux 18.04系统关于ipv6临时随机地址,将里面的=2修改为=0
net.ipv6.conf.all.use_tempaddr =0
net.ipv6.conf.default.use_tempaddr = 0
保存后退出,就可以取消ubuntu linux的临时ipv6机制,服务器端需要用到这一技巧
[2] 挂载数据盘的建议
Linux服务器场合,常常出现硬盘不会休眠,或者莫名唤醒问题,这里有很大的原因是因为挂载的硬盘参数问题,针对数据硬盘,我们的建议挂载位置是/home/diskall/diskxxxx,也就是挂载到/home目录下的子目录下的子目录,经常我们的测试,这种方式的挂载相对而言是最不容易被误唤醒的,建议的fstab文件中挂载格式类似:
UUID=74040A6D040A3322 /home/diskall/disk1000
ntfs-3g defaults,noatime,locale=zh_CN.UTF-8
0 0
必须使用UUID的方式挂载, 数据盘强烈建议加上noatime,
因为如果没有noatime,即使文件已经被缓冲到内存,当你读取[播放等]文件时,系统会唤醒硬盘,并执行一个写access
time操作,对于数据盘来说,其实根本没人去看access time,
这样的频繁的唤醒和写盘操作会影响磁盘寿命,并且不节能.
[3] 处理防火墙的建议
ubuntu linux 18.04
desktop版本默认没有启用网络防火墙,但是有些朋友可能会强行启用,但是一旦启用防火墙,又没有配置好,导致外部无法访问Xfile服务,那面是针对ubuntu网络防火墙的设置建议,要使外部能否访问Xfile,必须确保ftp端口和http端口没有被封闭,建议的操作
sudo ufw allow
ftp
sudo ufw allow
http
但是这还不够,这只针对默认的21和80端口,如果您配置的例如8080 8181
2121等端口并没有被允许,另外,2020.03版本新增加的一个固定数据连接端口2020没有被添加
那么需要针对性添加
sudo ufw allow 2020
sudo ufw allow
8181
sudo ufw allow
8080
sudo ufw allow
2121
但是,这只保证了默认配置下Xfile的服务端口,而ftp(ftps)还需要额外的数据端口进行数据连接(如果您使用的是其他第三方客户端,或者使用我们的配套客户端但是没有开启固定端口连接协议),例如您ftp客户端接收文件列表,进行文件传输,都需要一个额外的数据连接,使用不同的端口,为了配合防火墙的操作,你需要在Xfile的设置文件set.ini中,找到Port_DataBasic=0,默认是0,不指定数据端口,在没有防火墙,或者windows平台,这是没有问题的,但是在linux下会导致列表失败,
我们这里建议你修改为例如8000,或者18000,21000等,不要超过62000,例如修改成
Port_DataBasic=8000
然后保存并重新启动Xfile,
然后在linux终端下,执行
sudo ufw allow
8000:9000/tcp
这个命令的意义是
开放8000到9000的tcp端口段
[Xfile的数据端口指定为8000,在8000到9000这1000个随机端口中进行分配,不会超过1000]
=========================================================
由于linux的目录格式和windows不同,在myshare.txt文件中的示范格式如下:
0:0*home1*/home/
0:0*download*/media/
格式:下载权限:上传权限*映射名*映射目录
注意映射目录,必须是绝对目录,例如windows中必须以盘符:
开始,而linux中必须以/开头,同理,在myaccount.ini中的备份目录也必须是绝对目录.
=========================================================
|