admin 管理员组

文章数量: 887021


2024年3月6日发(作者:linux常用命令man)

使用Open Media Vault和NextCloud构建家庭私有云

说明

最近一直在研究nas系统,试了好多,目前家里是seafile,不过家里用文件被打碎了太麻烦,在centos上弄nextcloud也不是很方便,因为我linux属于小白,然后想到了有OpenMediaVault,这个系统是基于debian内核搞的,自带的功能很强大了,还有很多插件,原来2.X的版本里面有集成了owncloud插件,不过现在3.X的版本owncloud插件没集成进去,不过看到能自己安装,所以来测试下这个系统。另外由于他的开发人员原来也是开发freenas的所以他自己直接有web管理界面,里面开samba,做软raid都很方便,

官网:/

我准备弄个8G的u盘,安装系统,然后另外在插4块硬盘做软raid,保存自己需要的数据。

实验步骤:安装OMV系统,开通samba,安装OMV插件,安装nextcloud

安装OMV系统

我们先创建这样一台虚拟机

这个是测试而已,实际使用请大家自己搞台电脑出来,像我是4块2T做radi5你预算少可以准备2块硬盘,做个raid1,这样资料安全有保证

进行安装

选择中文安装,放心不像Ubuntu16.04安装的时候用中文还会报错,这个中文挺稳定的

大陆就选中国吧

开始加载安装组件

主机名我就用默认了

这里也默认了

输入系统底层的密码,不是web界面的密码

读取时间

系统装到8G的U盘里

开始安装系统,安装到一半会卡住,别急等一会就好

设置镜像

我就选163了,随便你

中间有一步是配置代理,我手快了没截图就按回车了,不过我想家里应该没人吃饱了去用代理上网吧

安装grub引导

放sda中,因为这个就是u盘

安装完成重启

安装完成后,我们可以在机器界面上看到已经有ip地址192.168.2.120下面一行显示登陆网页用户名admin密码openmediavault。后面就全部用网页来管理了。

配置OMV系统

我们登陆OMV,输入密码就可以进入主界面

这里就是主界面,很干净方便

更新系统

我们打开更新管理,先更新下系统,打下补丁,以后有更新都在这里可以看到

等更新完成后就可以点击关闭,更新过程中无法关闭

安装插件

插件使用第三方的源,也是他们官方认证的

/joomla//guides

我们登陆网站在下面有deb包,我们下载后上传到插件页面安装下就能看到其他的插件

上传插件

安装

安装完成后,会自动刷新页面,就会发现插件多了很多

设置系统时间

我们在时间和日期中设置下时区,然后保存下,让时间自动从网络同步

常规设置

在这个设置中,我们可以修改OMV的web端口,网页超时时间,默认5分钟太短了,我设置了长一点

硬盘管理

S.M.A.R.T.

开始SMART,这样硬盘出问题能自动检测

这里可以看到硬盘的型号序列号,如果那块硬盘有问题,找起来也方便

RAID管理

我们进入RAID管理,然后选下4块盘,设置下RADI5,名字叫MD0

linux下面都是用md这个来命名的,所以我也这么叫了

创建完成后会进行初始化,下面有初始化的百分比,等初始化完成后在创建文件结构。

文件系统

我们进入文件系统,选择创建,选下我们刚才创建的RAID,然后输下名字继续叫MD0,然后文件系统叫EXT4

选是后会提示你,要被格式化了

这时文件系统还是不能用的,我们要选择下挂载

挂载完成

设置SAMBA共享

我家里的NAS我准备建立一个SAMBA的用户,我自己用,然后共享文件3个一个叫NAS,包括NextCloud都装在里面,这样我可以方便的直接上去管理,然后一个叫Download的文件夹,脱机下载插件下载的文件就放里面,然后一个叫Software,我自己的软件都在里面,其他包括我老婆都不用SAMBA,都用NextCloud上面,我尽量让自己的NextCloud上保存的都是轻量级的文件,大容量的就放在SAMBA上。

你自己想如何设置还是每个人不同的,不用照我的来。

建立用户

我们先建立一个用户,用于SAMBA共享

建立共享文件夹

对每个文件夹添加下用户权限

设置SAMBA

我们开启下SAMBA,不知道的选项就不用改了

添加共享文件夹

设置好后我发现访问共享不行,然后重启了下服务器ok了,都能看到了,可能是因为我是虚拟机的关系,我朋友直接设置好就可以使用了。我们可以进去然后新建下文件,看看权限是否正确

安装NextCloud

由于NextCloud没加入OMV 3的官方插件列表中,我们只能手动来了,哎好疼苦

建立SSL证书

OMV自带了证书功能,所以我们直接使用自带的创建一个证书即可,我直接创建了25年的,这样就不会过期了

创建完成

安装Nginx插件

我们在插件中搜索nginx,然后安装下

安装完成我们就能在服务中看到Nginx

添加池

我们加个池,然后用户名和组选择下,我就用我一开始创建的那个samba的wang这个用户了

在扩展选项中添加下面的内容

env[PATH] = /usr/local/bin:/usr/bin:/bin

添加服务器

这里目录就选我前面创建的那个nas目录,端口可以看到我已经变成灰色了,因为我后面一部选择了onlyssl,只用ssl了不用普通的端口了,如果你不选只用ssl的话记得把这个端口改掉,80端口和omv的端口冲突了

开启SSL,然后端口可以自己修改下,我们上海电信好像都封掉正常的80和443端口的,证书就是前面创建的证书

开始php,然后池就选择NextCloud,添加个

扩展选项把下面的东西都黏贴进去

client_max_body_size 10G; # set max upload size

fastcgi_buffers 64 4K;

rewrite ^/caldav(.*)$ //caldav$1 redirect;

rewrite ^/carddav(.*)$ //carddav$1 redirect;

rewrite ^/webdav(.*)$ //webdav$1 redirect;

index ;

error_page 403 /core/templates/;

error_page 404 /core/templates/;

location = / {

allow all;

log_not_found off;

access_log off;

}

location ~ ^/(data|config|.ht|db_|README) {

deny all;

}

location / {

# The following 2 rules are only needed with webfinger

rewrite ^/.well-known/host-meta /?service=host-meta last;

rewrite ^/.well-known/ /?service=host-meta-json last;

rewrite ^/.well-known/carddav //carddav/ redirect;

rewrite ^/.well-known/caldav //caldav/ redirect;

rewrite ^(/core/doc/[^]+/)$ $1/;

try_files $uri $uri/ ;

}

location ~ ^(.+?.php)(/.*)?$ {

try_files $1 = 404;

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$1;

fastcgi_param PATH_INFO $2;

fastcgi_param HTTPS on;

fastcgi_pass $socket;

}

# Optional: set long EXPIRES header on static assets

location ~* ^.+.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {

expires 30d;

# Optional: Don't log access to assets

access_log off;

}

add_header Strict-Transport-Security "max-age=15768000; includeSubDomains;

preload;";

安装MySQL插件

NextCloud需要用到MySQL数据库,所以我们安装下MySQL的插件

安装完成后,启用下,然后下面的SQLmanagement也启用下,那个是网页管理数据库的功能,好了之后我们就可以点击重设边上的SHOW来网页管理数据库

重设MySQL密码

默认的MySQL用户名是root,密码为空,我们设置一个安全一点,点击resetpassword重设密码

然后我们点击show,然后输入用户名密码登陆数据库

创建nextcloud数据库

我们新建一个数据库专门用于nextcloud

创建完成

安装PHP插件

我们安装NextCloud时还需要几个php的插件,我们安装下

我们使用ssh工具,登陆下服务器,然后执行下面的命令

安装php5-gd模块:apt-get install php5-gd

安装php5-curl模块:apt-get install php5-curl

安装php-pclzip模块:apt-get install php-pclzip

下载并安装NextCloud

/server/releases/

我们直接下载nextcloud,然后解压,之后敲到我们前面SAMBA创建的那个nas的目录下

等待复制

输入nas的ip加上前面我设置的86端口,来进行安装

我是这个,你可以根据自己的来192.168.2.120:86/

输入你的信息包括数据库,和默认的管理员密码

安装完成

然后我们通过samba,可以看到下面的data路径里admin账户,files文件里面都是我们上传到nas上的文件,

不过需要说明的是,我们直接把文件放到这个目录下是不行的,在nextcloud界面看不到,只能通过nextcloud的网页上传上来才能看到,不过看到的文件就是原文件

下面看到我通过nextcloud网页上传了2个视频,在底层的文件里还是看到这2个原文件,这样如何我们以后要更换新的nas系统都可以直接敲出来放进去,这就是为什么我不选seafile的原因,家里用要打碎文件干嘛

安装apc插件

root@server:~# apt-get install php-apc

在NextCloud的配置文件中加入

'' => 'OCMemcacheAPCu',

重启 php-fpm:

root@server:~# /etc/init.d/php5-fpm restart

修复opcache错误

编辑/etc/php5/fpm/

添加

=1

_cli=1

ed_strings_buffer=8

_accelerated_files=10000

_consumption=128

_comments=1

date_freq=1

重启 php-fpm:

root@server:~# /etc/init.d/php5-fpm restart

经过以上设置我们的服务器后台就没有任何报错了,尼玛我研究了好久我靠

设置外网访问

我们需要在我们的路由器上设置下外网访问,这样才能让外部访问我们,就开放下86端口即可,这部我就不截图了,很简单的,而且每个路由器不同,懂的自然知道怎么加端口,不懂的我路由器和你不同我加了你也不知道怎么弄。

另外我们要修改下网站的代码,否则打开会有问题

我们打开nextcloud的config目录中的文件

我们要在哪个array中加入我们的域名,另外下面的https后面原来也是内网的ip地址,改成域名,这样外网访问过来就不会有问题了

当然请在自己的路由器上设置好ddns,这样外网都用域名访问就ok了

安装客户端

下面的页面中有app的下载地址,ios是收费的6块钱好像,其他不收费,我这里就测试下windowspc的客户端,手机我就不测试了

/install/#install-clients


本文标签: 安装 看到 插件 设置 文件