openEuler系统安装与部署NextCloud及数据迁移
就是原数据库表加入到目前的部署正常的nextCloud之前,加载了原管理员账户的数据,而必须要创建一个用户,原先的管理员用户就不能创建了,,查看安装的包都有哪些,是否缓存全部,没有缓存全部就哪个没缓存,查看缓存的npm是否都在文件中,有个tree命令,更方便,最好创建一个新的nextCloud做数据迁移的位置前,先。,执行每个文件夹的安装,启动相关命令如下。1、将原迁移网盘的Mangdb数据库的。
欧拉系统部署NextCloud与常见部署问题解决以及数据盘迁移
一、欧拉系统安装
在这里插入图片描述
二、openEuler安装图形界面Ukui
安装界面转:https://blog.csdn.net/xcjyxy2021/article/details/123342877
三、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
四、部署nextCloud
4.1构建LAMP环境基础
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
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
五、离线npm包方式部署NextCloud(个人需要,正常联网状态搭建LAMP环境后,拷贝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
六、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.3最终完成
七、常见问题
1、配置目录无法写入
[root@localhost nextCloud]# systemctl start httpd.service
[root@localhost nextCloud]# chown apache:apache -R /var/www/html/
[root@localhost nextCloud]# chown apache:apache -R /var/www/html/data/
[root@localhost nextCloud]# setenforce 0
2、未知问题
部署成功之后
,过了一段时间打开变成如下:
[root@localhost httpd]# tail /var/log/httpd/error_log
最终解决
经过多次卸载更改httpd配置文件无效之后,
最终不是通过修改httpd解决,反而是重新删除nextCloud,拷贝重新赋予权限之后解决
,原因未知。
3、nextCloud数据迁移时问题
更多推荐
所有评论(0)