当前位置:   article > 正文

Docker搭建nextcloud应用及迁移_nextcloud迁移

nextcloud迁移


环境准备:docker(本次搭建版本为 24.0.7)
Docker-compose(版本:v2.22.0)
1、创建Docker Compose文件:
在你的项目目录中创建一个名为docker-compose.yml的文件,并添加以下内容:

  1. version: '2'
  2. volumes:
  3.   nextcloud:
  4.   db:
  5. services:
  6.   db:
  7.     image: mariadb:10.6
  8.     restart: always
  9.     command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
  10.     volumes:
  11.       - /home/zkah/nextcloud/db:/var/lib/mysql //这里用相对路径可能会出bug,最好使用绝对路径
  12.     environment:
  13.       - MYSQL_ROOT_PASSWORD=your_password
  14.       - MYSQL_PASSWORD=your_password
  15.       - MYSQL_DATABASE=your_database
  16.       - MYSQL_USER=your_name
  17.   app:
  18.     image: nextcloud
  19.     restart: always
  20.     ports:
  21.       - 6000:80  //可根据服务器内端口占据情况更改,6000端口是保留端口不能用
  22.     links:
  23.       - db
  24.     volumes:
  25.       - /home/zkah/nextcloud/nextcloud:/var/www/html  //这里用相对路径可能会出bug,最好使用绝对路径
  26.     environment:
  27.       - MYSQL_PASSWORD=your_password
  28.       - MYSQL_DATABASE=your_database
  29.       - MYSQL_USER=your_name
  30.       - MYSQL_HOST=db


2、启动Docker容器

打开终端,导航到存放docker-compose.yml文件的目录,然后运行以下命令:
 

docker-compose up -d


这会下载并启动Nextcloud和MariaDB容器。
3、访问Nextcloud:
打开浏览器,访问 http://localhost:6000。在第一次访问时,你需要设置管理员账户和密码。
## 问题一:网站无法访问
原因一:防火墙的端口策略未放开,打开防火墙(sudo ufw allow 80

## 原因二:局域网内可能不能访问,可修改config.php文件
通常此配置文件在/home/zkah/nextcloud/nextcloud/config路径下,
通常情况下此文件的权限属于root,需要更改,否则更改之后数据无法写入

  1. <?php
  2. $CONFIG = array (
  3.   'htaccess.RewriteBase' => '/',
  4.   'memcache.local' => '\\OC\\Memcache\\APCu',
  5.   'apps_paths' =>
  6.   array (
  7.     0 =>
  8.     array (
  9.       'path' => '/var/www/html/apps',
  10.       'url' => '/apps',
  11.       'writable' => false,
  12.     ),
  13.     1 =>
  14.     array (
  15.       'path' => '/var/www/html/custom_apps',
  16.       'url' => '/custom_apps',
  17.       'writable' => true,
  18.     ),
  19.   ),
  20.   'upgrade.disable-web' => true,
  21.   'instanceid' => 'oc41wr1ir13z',
  22.   'passwordsalt' => 'mmgKQ9LnSe1ihCWVXQd6+++vwPW5l5',
  23.   'secret' => 'Fhzxg3ppD4OcNxcDwTSRlwJujK9NaUA2sH3ckHSjUxJ4jFla',
  24.   'trusted_domains' =>
  25.   array (
  26.     0 => '192.168.1.123:6000',//这里填写访问的地址
  27.   ),
  28.   'datadirectory' => '/var/www/html/data',
  29.   'dbtype' => 'mysql',
  30.   'version' => '28.0.1.1',
  31.   'overwrite.cli.url' => 'http://192.168.1.123:6000', //这里填写访问的地址
  32.   'dbname' => 'your_name',
  33.   'dbhost' => 'db',
  34.   'dbport' => '',
  35.   'dbtableprefix' => 'oc_',
  36.   'mysql.utf8mb4' => true,
  37.   'dbuser' => 'user',
  38.   'dbpassword' => 'passwd',
  39.   'installed' => true,
  40.   'appstoreenabled' => true,
  41.   'appstoreurl' => 'https://www.orcy.net/ncapps/v2/',
  42. );
  1. #另一种修改方式(不进入此目录修改)
  2. vim config.php
  3. //写入更改后的内容
  4. docker scp /path/to/your/local/config.php CONTAINER_ID:/var/www/html/config/config.php
  5. # 将 /path/to/your/local/config.php 替换为修改后的文件路径,CONTAINER_ID 替换为 Nextcloud 容器的 ID。您可以使用 docker ps 命令查看运行中的容器及其 ID。
  6. docker ps //查看对应docker id
  7. #修改权限
  8. Sudo  chown  www-data:www-data /path/to/your/local/config.php/config.php  
  9. Chmod 740 /path/to/your/local/config.php/config.php
  10. docker-compose restart app //重启docker 容器


## 问题三:nextcloud应用商城无法访问的情况,此两行为应用商店加速服务
 

  1. 'appstoreenabled' => true,
  2.  'appstoreurl' => 'https://www.orcy.net/ncapps/v1/',

# 问题四:若是还是不能访问,可关闭服务(进入docker-compose.yml所在的文件夹)

  1. docker-compose down //关闭
  2. docker-compose up -d //开启


4、通常在nextcloud的创建用户界面会选择数据库,将docker-compose.yml文件中所创建的数据库用户和密码填入其中就行。

数据迁移
步骤1:备份数据
1、备份 Nextcloud 数据目录:

tar czf nextcloud_data_backup.tar.gz -C /path/to/your/local/nextcloud .


2、备份数据库

docker exec -i nextcloud_db_1 mysqldump -u dbuser -pyou_passwd dbname > nextcloud_db_backup.sql


步骤2:传输备份文件到新服务器
将上述备份文件传输到新服务器,例如使用 scp 或其他文件传输工具。
步骤3:在新服务器上准备 Nextcloud
1、在新服务器上安装 Docker 和 Docker Compose:
根据新服务器的操作系统,安装 Docker 和 Docker Compose。
2、创建新的目录用于 Nextcloud 数据和数据库:

mkdir -p /path/to/your/local/nextcloud /path/to/your/local/db


步骤4:编辑新的 docker-compose.yml 文件(可于迁移之前的一样,之后就没有创建账户这一步填写数据库密码和之前一样就行)
步骤5:在新服务器上启动 Nextcloud
在新服务器上运行以下命令以启动 Nextcloud:

docker-compose up -d


步骤6:导入备份数据
1、将数据目录导入:

tar xzf nextcloud_data_backup.tar.gz -C /path/to/your/local/nextcloud


2、将数据库导入:

docker exec -i new_nextcloud_db_1 mysql -u dbuser -pyou_passwd dbname < nextcloud_db_backup.sql


步骤7:验证和测试
在浏览器中访问新服务器的 Nextcloud 实例,确保能够登录,并且用户数据和应用程序都可用。

问题五:不联网之后,点击应用界面一直转圈圈
解决方法:
禁用或修改设置检查: 在 config/config.php 中,你可以尝试禁用互联网连接检查。在配置中添加以下行:

  1. 'appstoreenabled' => false,
  2. 'appstoreurl' => '',
  3. 'check_for_working_internet_connection' => false,


这将禁用应用商店和互联网连接检查。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/910716
推荐阅读
相关标签
  

闽ICP备14008679号