安装omv
下载镜像
macOS制作启动盘
1
2
3
4
5
| diskutil list
#确定是disk3
diskutil unmountDisk /dev/disk3
# 将镜像写入U盘
dd if=openmediavault.iso of=/dev/disk3
|
然后将U盘插入主机并调整开机引导选项,安装过程的提示都很显而易见。
安装完成后终端会显示IP
地址,直接在浏览器中输入相应的IP
就可以打开管理页面。默认用户名和密码在终端中也有显示。
默认用户名 admin
默认密码 openmediavault
安装插件
1
2
| # 安装Omg-extras
wget http://omv-extras.org/openmediavault-omvextrasorg_latest_all5.deb
|
按照以下步骤安装:插件->上传-〉弹出选择文件框选,选中文件并上传->选中openmediavault-omvextrasorg(点击方框打勾)->安装
安装docker
点击侧边栏OMV-Extras -> docker-〉安装
镜像加速
1
2
3
4
5
6
7
| ssh root@ip
vim /etc/systemd/system/multi-user.target.wants/docker.service
# ------
ExecStart=/usr/bin/dockerd --registry-mirror=https://docker.mirrors.ustc.edu.cn -H fd://
# http://hub-mirror.c.163.com/
# ------
systemctl daemon-reload 或者 service docker restart 或者reboot
|
安装硬盘
创建文件系统
挂载文件系统
启用SMB/CIFS
添加共享
使用Docker安装nextcloud
参考这篇文档不过我先拉取了一个portainer
镜像,然后基于此通过图形界面安装nextcloud
和 mariadb
数据库
mariadb
没有配置成功,直接使用了sqlite
遇到的问题
nextcloud通过不被信任的域名访问
vim path_to_nextcloud_html/config/config.php
1
2
3
4
5
| 'trusted_domains' =>
array (
0 => '192.168.1.140:8888',
1 => '域名',
),
|
OMV启用rc-local
起因是因为OMV
设置的静态IP
无效,每次开机都需要进入终端使用dhclient
命令去获取IP
,实在没办法了,就像写一个开机启动脚本在每次开机的时候去执行dhclient
命令。
Debian 10
默认禁用了rc-local
可以通过systemctl status rc-local
查看。
1
2
3
4
5
6
7
8
9
| vim /etc/rc.local
# --- 写入以下内容
#!/bin/bash
/usr/sbin/dhclient
echo "hello" > /root/log # 这行是为了重启后检查配置是否生效用的,配置好后可以删掉这一行。
exit 0
# --- end
chmod 755 /etc/rc.local
systemctl start rc-local
|
nextcloud 文件锁定
nextcloud
的data
目录还可以通过smb
访问,所以从nextcloud
上传了一个文件,又在smb
中把上传的文件给删除了。然后造成nextcloud
中显示有所上传的文件,删除的时候报错,重复上传的时候显示"文件被锁定了",删也删不掉。
google
了一下,都说先开启“维护模式”(maintenance:mode)
,然后进数据库删掉“锁定标记”,最后再关闭“维护模式“。但是实际部署时候的一些细节不一样,所以具体操作也不一样。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| # 首先登陆`portainer`,
# 找到nextcloud的contianer点击`Exec Console`
# `User`处填入`www-data`点击`Connect`
# 进入nextcloud的data所在目录
cd nextcloud/data/
# 查看以下php可执行程序的路径
which php
# /usr/local/bin/php 是我机器的响应
/usr/local/bin/php ./occ files:scan --all
/usr/local/bin/php ./occ files:cleanup
# 打开“维护模式”
/usr/local/bin/php ./occ maintenance:mode --on
# 然后ssh到omv上
apt update
apt install sqlite3
cd /srv/xxxx/nextcloud/data
sqlite3 nextcloud.db
# 在数据中执行
delete from oc_file_locks where 1
.exit # 退出数据库
# 关闭“维护模式”
# 还回到'portainer'的nextcloud container的console执行下边命令
/usr/local/bin/php ./occ maintenance:mode --off
# 最后重启一下nextcloud的container
|