NAS | 把CentOS变成网络存储

2019 09 28, Sat

上次说到,被MBP的存储折磨爆的我配置了一个RAID。但是这个RAID还并不能为我所用。(摔)

所以我还需要配置一些网络服务,让这个RAID可以从其他地方被我的电脑手机访问到。

网络服务

FTP

推荐vsftp,可以直接在所有发行版的包管理器中安装。

https://wiki.archlinux.org/index.php/Very_Secure_FTP_Daemon

SFTP

openssh的标配,装了openssh-server就会带上。默认开启,不需要配置。

登陆和ssh一样。sftp guochao@192.168.1.1

Samba(Windows share)/NFS

Windows底下用着比较舒服。CentOS下面包名叫samba和nfs-utils

https://wiki.archlinux.org/index.php/samba https://wiki.archlinux.org/index.php/NFS

AFP(Apple Filing Protocol)

macOS下Finder弃用了上面的三个协议。所以还得装AFP服务。

Linux下面的开源实现叫netatalk。

https://wiki.archlinux.org/index.php/Netatalk

Avahi

为了支持TimeMachine备份,你还需要avahi daemon

Web

我们还可以在网页上打开目录,有Nginx加上xml就够了

安装

CentOS的nginx更新不是那么及时,建议使用nginx的官方源。

参考https://www.nginx.com/resources/wiki/start/topics/tutorials/install/

配置

默认的Nginx配置在 /etc/nginx 下,我们关注的比较多的包括 nginx.conf,以及 conf.d 中的 *.conf。

Nginx的默认全局配置项在/etc/nginx/nginx.conf,这里不用改什么。

有一个默认的站点配置在default.conf。默认情况下,只要域名没有匹配到都会用这个文件。我们可以把他删了。如果不删,那么我们就需要正确配置server name了。

我们给nginx加一个站点配置,放在/etc/nginx/conf.d/<你的IP>.conf。自己替换<路由的IP>和 <目录>这两个地方。

server {
    listen 80;
    server_name <路由的IP>;
    location / {
        alias <目录>;
        autoindex on;
    }
}

然后我们运行一下

sudo systemctl restart nginx

用浏览器打开路由的IP。你就会看到

更好看一些

可以用nginx autoindex的xml输出,然后用xslt转换成更好看的html

https://gist.github.com/jeffguorg/dd2af2cb9782f44ac46bbc135b8371e6