OpenEuler21版本部署NextCloud以及数据盘迁移

OpenEuler21部署NextCloud以及数据盘迁移

前提

服务器处于内网环境,由于数据迁移需要,进行源码方式部署,最终还是通过docker方式部署nextcloud15,解决mysql5旧数据的迁移问题。

所得

1、更加体会到了docker这种方式,在内网环境下的部署的便捷。

2、docker部署性能上也是非常不错的,服务器每天都在大量文件增删(大约20T总数据量),但并不影响不影响docker映射到服务器的文件同步。当时还有些担心数据量太大,性能不好,所以没考虑docker方式部署。

3、以下面源码方式部署,使得操作服务器更为熟练。

1 欧拉系统安装

preview

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2 openEuler安装图形界面Ukui

安装界面转:https://blog.csdn.net/xcjyxy2021/article/details/123342877

在这里插入图片描述

3 yum安装的npm包进行本地保存设置

在这里插入图片描述

#主要是更改yum.conf配置文件,找找自己文件位置
[root@Ban etc]# vi /etc/yum.conf

在这里插入图片描述

[main]
cachedir=/var/cache/yum
keepcache=1
gpgcheck=1
logfile=/var/log/yum.log
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False             

注意:yum缓存的不一定全部缓存了npm包,查看安装的包都有哪些,是否缓存全部,没有缓存全部就哪个没缓存,卸载单独安装缓存该npm包

查看命令
 rpm -qa|grep php

在这里插入图片描述

4 部署nextCloud

4.1构建LAMP环境基础

配置环境参考https://www.php.cn/php-weizijiaocheng-407708.html

4.1.1开启httpd,防火墙端口号

firewall-cmd --list-all-zones    #查看所有的zone信息
firewall-cmd --get-default-zone     #查看默认zone是哪一个
firewall-cmd --zone=internal --change-zone=p3p1  #临时修改接口p3p1所属的zone为internal
firewall-cmd --add-service=http    #暂时开放http
firewall-cmd --permanent --add-service=http  #永久开放http
firewall-cmd --zone=public --add-port=80/tcp --permanent  #在public中永久开放80端口
firewall-cmd --permanent --zone=public --remove-service=ssh   #从public zone中移除服务
firewall-cmd --reload   #重新加载配置

原文链接:https://blog.csdn.net/cctcc/article/details/68062142

以下为使用到的命令:

[root@localhost yum]# systemctl start httpd.service
[root@localhost yum]# systemctl enable httpd.service
[root@localhost yum]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[root@localhost yum]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
[root@localhost yum]# firewall-cmd --reload
success
[root@localhost yum]# systemctl status httpd.service

在这里插入图片描述

在这里插入图片描述

4.1.2开启MariaDB服务

#开启MariaDB服务,并设置系统启动时服务自动启动:
systemctl start mariadb.service
systemctl enable mariadb.service

#设置MySQL root帐户的密码:
mysql_secure_installation

4.1.3安装并测试php

在这里插入图片描述

4.2下载安装nextCloud

官方下载网址:https://nextcloud.com/install/

在这里插入图片描述

4.2.1创建nextCloud数据库

在这里插入图片描述

show databases;
use mysql;

MariaDB [mysql]> select user,host,plugin from mysql.user;
+-------------+-----------+-----------------------+
| User        | Host      | plugin                |
+-------------+-----------+-----------------------+
| mariadb.sys | localhost | mysql_native_password |
| root        | localhost | mysql_native_password |
| mysql       | localhost | mysql_native_password |
+-------------+-----------+-----------------------+
3 rows in set (0.002 sec)
# root  | localhost
# 说明该root用户只支持本地访问。Host字段更改为'%',允许远程访问。
MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [mysql]> FLUSH PRIVILEGES;
MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root123' WITH GRANT OPTION;
Query OK, 0 rows affected (0.003 sec)

MariaDB [mysql]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.002 sec)

MariaDB [mysql]> select user,host,plugin from mysql.user;
+-------------+-----------+-----------------------+
| User        | Host      | plugin                |
+-------------+-----------+-----------------------+
| mariadb.sys | localhost | mysql_native_password |
| root        | localhost | mysql_native_password |
| mysql       | localhost | mysql_native_password |
| root        | %         | mysql_native_password |
+-------------+-----------+-----------------------+
4 rows in set (0.001 sec)

# 创建nextcloud存储的数据库
create database nextcloud;

4.2.2拷贝NextCloud并创建data目录赋予权限

#以下是我的步骤,html文件夹可删除,自己建,赋予权限很重要!
[root@localhost html]# cp /root/桌面/nextCloud/* /var/www/html/
[root@localhost html]# mkdir /var/www/html/data
[root@localhost nextCloud]# chown apache:apache -R /var/www/html/
[root@localhost nextCloud]# chown apache:apache -R /var/www/html/data/
#  setenforce 0很重要
# 表示 设置SELinux 成为permissive模式 临时关闭selinux防火墙
# 永久关闭:输入命令vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后保存退出
[root@localhost nextCloud]# setenforce 0
[root@localhost nextCloud]# systemctl start httpd.service

5 离线npm包方式部署NextCloud

[root@localhost yum]# yum localinstall -y ./httpd/*    //批量安装离线npm包

查看缓存的npm是否都在文件中,有个tree命令,更方便,需要安装tree

#安装命令
yum -y install tree

在这里插入图片描述

使用yum离线批量安装npm,会自动解析依赖关系,但由于服务器处于非联网状态下,这里yum安装会联网加载yum源,这里解决方式两种:。

1、设置本地yum源,加载
2、sudo rpm -ivh httpd/*  # 批量本地安装rpm包,这里解析依赖,准备好安装过程中需要的所有库文件和源文件。 
原则上,少什么联网下什么。

在这里插入图片描述

# 开启Apache服务,并设置系统启动时服务自动启动:
[root@localhost yum]# systemctl start httpd.service
[root@localhost yum]# systemctl enable httpd.service
#为了能够从外部访问Web服务器,必须在防火墙中打开HTTP(80)和HTTPS(443)端口。
#CentOS上的默认防火墙是firewalld,可以使用firewalld-cmd命令进行配置。
[root@localhost yum]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[root@localhost yum]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
[root@localhost yum]# firewall-cmd --reload
success
[root@localhost yum]# systemctl status httpd.service

# 开启MariaDB服务,并设置系统启动时服务自动启动:
systemctl start mariadb.service
systemctl enable mariadb.service

# 设置MySQL root帐户的密码:
mysql_secure_installation

# 安装好php后,要重启Apache服务
systemctl restart httpd.service

[root@localhost html]# cp /root/桌面/nextCloud/* /var/www/html/
[root@localhost html]# mkdir /var/www/html/data
[root@localhost nextCloud]# chown apache:apache -R /var/www/html/
[root@localhost nextCloud]# chown apache:apache -R /var/www/html/data/
#  setenforce 0很重要
# 表示 设置SELinux 成为permissive模式 临时关闭selinux防火墙
# 永久关闭:
输入命令vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后保存退出
[root@localhost nextCloud]# setenforce 0
[root@localhost nextCloud]# systemctl start httpd.service

6 NextCloud网盘数据迁移

主要思路:
1、将原迁移网盘的Mangdb数据库的数据库表导出,文件缓存的文件夹data复制保存。
2、在另一台虚拟机或者服务器上部署好nextCloud,创建一个新的管理员账户登录进入,之后可以用退出,用数据库中原先存储的账户登录方可看到原来的数据,可以再删除刚刚创建的管理员账户。
3、在另一台虚拟机上运行正常的nextCloud上导入原迁移的数据库表与合并两个data文件夹

6.1 数据库导出

#导出dbname数据库,导出文件为mydb.sql(注:不用登录数据库,直接命令行输入,然后输入数据库密码)
mysqldump dbname > nextcloud.sql -u root -p

#导入数据库表 (登录数据库后进行 注:没有;结尾)
source /root/桌面/mydb.sql            

在这里插入图片描述

# 重启下httpd
 systemctl restart httpd.service

6.2 最终完成

在这里插入图片描述

在这里插入图片描述

本博客基于m2w创作。版权声明:除特殊说明,博客文章均为Banqc原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。Serving and Reaching Out © 2022 by Banqc is licensed under CC BY-SA 4.0
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇