Proxmox VE + OpenMediaVault + NextCloud
最近在考虑在PVE上使用开源云盘,开源NAS,整合成一个完整的解决方案,目标是可以在生产系统上使用。结合桌面云,提供云盘和NAS功能,统一用户账号,就能提供一个完整的解决方案,还是比较有价值的。
总体思路:
1、在PVE上创建OMV虚拟机(OpenMediaVault)
2、将PVE上的NFS盘提供给OMV作为存储资源池;
3、在PVE上安装nextcloud (LAMP结构)
一、安装OMV
首先,下载OMV安装镜像,下载地址:
https://nchc.dl.sourceforge.net/project/openmediavault/5.3.9/openmediavault_5.3.9-amd64.iso
安装过程和安装debian系统差不多,OMV的底层就是debian系统;
安装完成后,直接使用IP地址就可以登陆。
web初始账号密码是:admin/openmediavault
OMV中可以集成提供docker,需要安装OMV-Extra 。
安装OMV-Extra可以参考: https://www.jianshu.com/p/4a0aa7e48515
另外,OMV还提供很多插件,提供相应的增强功能。
本来打算直接使用docker安装NextCloud,但是在安装过程中才想到,生产系统,NextCloud还是独立安装会比较好一些,虽然会慢一点,但是后面的稳定性以及后面的故障定位和维护都比较靠谱。
登陆后的界面:
二、安装NextCloud
参考官网的安装手册:
https://docs.nextcloud.com/server/stable/admin_manual/installation/
NextCloud是安装在LAMP(linux+apache+Mysql+PHP)环境中的应用程序,所以需要准备LAMP环境,对操作系统没有要求。我这里选择安装ubuntu,我安装的时候最新版本是ubuntu20(https://mirrors.nju.edu.cn/ubuntu-releases/20.04/ubuntu-20.04-live-server-amd64.iso)
为了好记,设置ubuntu操作系统用户名密码: nextcloud/nextcloud
安装完成之后,要求重启:
手工安装:
本想通过snap的方式进行安装,但是由于强国网络的原因安装过程碰到一些问题,果断放弃。最后采用最原始和可靠的方法,手工安装!
手工安装,参考:
https://docs.nextcloud.com/server/stable/admin_manual/installation/example_ubuntu.html
注意ubuntu20对应的php默认版本是7.4 :apt-get install apache2 mariadb-server libapache2-mod-php7.4apt-get install php7.4-gd php7.4-json php7.4-mysql php7.4-curl php7.4-mbstringapt-get install php7.4-intl php-imagick php7.4-xml php7.4-zip
安装完成之后,检查apache2、php和maridb是否安装正常:
1、检查apache2: systemctl status apache2
2、检查mariadb:systemctl status mariadb3、检查php:php -m
下载nextcloud软件包:nextcloud-18.0.4.zip ,下载地址是:
https://download.nextcloud.com/server/releases/nextcloud-18.0.4.zip
下载完成之后上传到服务器/var/www/目录上,解压:
cd /var/www && unzip nextcloud-18.0.4.zip
配置apache,以下内容,参考:
https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html
# vi /etc/apache2/sites-available/nextcloud.confAlias /nextcloud '/var/www/nextcloud/'<Directory /var/www/nextcloud/> Require all granted AllowOverride All Options FollowSymLinks MultiViews Satisfy Any <IfModule mod_dav.c> Dav off </IfModule></Directory>root@nextcloud:/var/www# a2ensite nextcloud.confEnabling site nextcloud.To activate the new configuration, you need to run: systemctl reload apache2root@nextcloud:/var/www# systemctl reload apache2root@nextcloud:/var/www# a2enmod rewriteEnabling module rewrite.To activate the new configuration, you need to run: systemctl restart apache2root@nextcloud:/var/www# systemctl reload apache2root@nextcloud:/var/www# root@nextcloud:/var/www# a2enmod headersEnabling module headers.To activate the new configuration, you need to run: systemctl restart apache2root@nextcloud:/var/www# a2enmod envModule env already enabledroot@nextcloud:/var/www# a2enmod dirModule dir already enabledroot@nextcloud:/var/www# a2enmod mimeModule mime already enabledroot@nextcloud:/var/www# # chown -R www-data:www-data /var/www/nextcloud/# systemctl restart apache2
接下来,就可以看到NextCloud的初始化安装界面了:
初始化安装nextcloud:
创建数据库:
create database nextcloud character set utf8; create user nextcloud@localhost identified by 'nextcloud'; grant all privileges on nextcloud.* to nextcloud@localhost identified by 'nextcloud'; flush privileges; exit;
将数据库相关信息填入:
输入管理员账号密码admin/admin:
最后点击“完成”,系统开始初始化安装:
过了几分钟,完成:
有100个自定义的应用,比较厉害,可以点进去看看。
后面可以根据需要,自己再慢慢研究。
安装windows桌面客户端:
客户端程序下载地址:
https://download.nextcloud.com/desktop/releases/Windows/latest
首次运行客户端,需要设置服务端地址:
http://192.168.170.140/nextcloud
输入上面这个地址之后,会弹出浏览器,以admin账号登陆鉴权,鉴权确认后,客户端后面就可以正常使用了。
客户端 上需要添加同步文件夹,这里我在G盘新建“云盘”目录,并作为本地文件夹的同步目录,这样,会自动同步nextcloud服务端的相应目录文件内容到本地。
在同步状态下,对“云盘”目录下文件的任何操作,都会同步到nextcloud服务器端。
安装nextcloud Talk
https://apps.nextcloud.com/apps/spreed
找到相应版本的nextcloud talk版本,比如我的nextcloud版本是18,对应的就是8.0.9版本:
下载下来的文件名称是: spreed-8.0.9.tar.gz
将这个文件上传到nextcloud服务器的apps目录: /var/www/nextcloud/apps/ ,并解压
tar xzvf spreed-8.0.9.tar.gz
在目录 /var/www/nextcloud/中执行:
sudo -u www-data php occ app:install spreed
sudo -u www-data php occ app:enable spreed
安装手机客户端:
安卓nextcloud客户端下载:
https://f-droid.org/zh_Hans/packages/com.nextcloud.client/
安卓nextcloud talk客户端下载:
https://f-droid.org/en/packages/com.nextcloud.talk2/
苹果手机可以直接在APP store里面下载安装,直接搜索: nextcloud ,可以找到nextcloud和nextcloud talk
幕后花絮:
安装ubuntu20的时候,发现ubuntu居然可以选择各种snap安装,其中就包括NextCloud的snap安装。
本来想使用snap来安装和管理nextcloud。熟悉一下snap的简单用法:
参考官网教程:https://snapcraft.io/docs/getting-started
snap list #列出软件包
snap find nextcloud #查找nextcloud
snap install nextcloud #安装nextcloud,默认的channel是stable
snap install --channel=edge nextcloud #指定channel
snap info nextcloud #查看nextcloud信息
由于强国网络的原因,访问不了snap相关的安装源,在执行:snap install nextcloud 命令的时候提示网络错误,果断放弃。
曾考虑过在debian10上安装NextCloud, debian10的下载地址:
https://cdimage.debian.org/debian-cd/current/amd64/bt-dvd/
参考的相关网站:
安装OMV-Extra: https://www.jianshu.com/p/4a0aa7e48515
安装nextcloud:https://docs.nextcloud.com/server/18/admin_manual/installation/installation_wizard.html
你的开源 NAS 系统: https://zhuanlan.zhihu.com/p/138254689
OpenMediaVault:https://www.openmediavault.org/ OMV
搭建家庭 NAS 服务器有什么好方案? https://www.zhihu.com/question/21359049
nextcloud官网: https://nextcloud.com/
seafile官网:https://www.seafile.com/home/
LDAP+nextcloud: https://www.orgleaf.com/2839.html