Raid+Lvm+NextCloud搭建网盘平台

Raid+Lvm+NextCloud搭建网盘平台流程

一、使用vmware创建一个centos虚拟机;

  1. 在VMware中添加两块新的硬盘;
  2. 可以重启虚拟机,也可以使用命令动态扫描。使你的虚拟机识别到新添加的硬盘;
for i in /sys/class/scsi_host/host*/scan;do echo "- - -" >$i;done

二、创建raid0

1、安装mdadm软件;
yum -y install mdadm
2、创建raid0实例;
mdadm -C /dev/md0 -ayes -n2 -l0 /dev/sdb /dev/sdc

/dev/mdo ---> raid0实例的位置;
/dev/sdb ---> 新添加磁盘b的位置;
/dev/sdc ---> 新添加磁盘c的位置;
3、查看raid0信息;
mdadm -D /dev/md0
4、创建md0的配置文件;
mdadm -Ds >> /etc/mdadm.conf

查看:
cat /etc/mdadm.conf

三、创建LVM逻辑卷管理

PV ---> VG ---> LV

1、在刚刚创建的raid0的基础上,创建物理机(PV);
pvcreate /dev/md0

查看:
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/md0          lvm2 ---  <39.97g <39.97g
2、创建卷组(VG);
vgcreate vg0 /dev/md0


vg0 ---> 为vg的存放位置;
/dev/md0 ---> 为刚刚创建的pv

查看:
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  centos   1   3   0 wz--n- <39.51g  4.00m
  vg0      1   0   0 wz--n-  39.96g 39.96g
3、创建逻辑卷(LV);
lvcreate -n lv_nextcloud -L 15G vg0

 -n lv_nextcloud  ---> 创建逻辑卷的名字;
-L 1G ---> 大小为15G,可按需求自定义大小;

查看创建的逻辑卷路径:

ls /dev/vg0

移除刚刚创建的逻辑卷的话,要先把文件系统的挂载去掉,然后执行:
lvremove /dev/vg01/lv01
4、格式化刚刚创建的逻辑卷,进行文件系统的挂载;
mkfs.xfs /dev/vg0/lv_nextcloud

文件系统挂载:
1、文件一个文件夹,作为挂载点:
mkdir /var/nextcloud

2、将逻辑卷进行挂载:
mount /dev/vg0/lv_nextcloud /var/nextcloud
5、将文件系统的挂载,做自动化挂载;
进入自动挂载的配置文件:

vim /etc/fstab

配置文件:
/dev/vg0/lv_nextcloud(lv逻辑卷设备名)   /var/nextcloud(挂载点)  xfs(文件系统类型)     defaults        0 0

四、将apache的安装根目录,改为lvm逻辑卷的挂载点;

  1. 修改apache的根目录为LVM逻辑卷的挂载目录;
vim /etc/httpd/conf/httpd.conf

修改:
DocumentRoot "/var/nextcloud"
<Directory "/var/nextcloud">

/var/nextcloud为lvm逻辑卷挂载目录的路径

五、安装NxtecCloud

1、安装apache;
yum -y install httpd

启动:
systemctl enable --now httpd

检查服务正常启动:
netstat -antup | grep httpd

注:如果没有netstat的话,安装--->  yum -y install net-tools
2、安装php

bao.tar.gz

因为yum安装的版本太低,我们需要指定包进行下载,更新yum源:

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

再次查看yum源中的PHP的情况

yum list | grep php
  
安装PHP7.2版本

yum install php72w
3、安装MySQL;
下载mysql包:(如果没有wget工具的话,请安装--->yum -y install wget)

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

加入yum源

yum -y install mysql57-community-release-el7-10.noarch.rpm   


执行安装mysql程序
yum install mysql-community-server
4、安装MySQL报错的处理方案;
报错原因:公钥尚未安装;

安装公钥:
rpm --import http://repo.mysql.com/RPM-GPG-KEY-mysql-2022

然后再次执行安装命令;
5、运行MySQL,登录
运行MySQL:
systemctl enable --now mysqld

检查服务正常启动
netstat -antup | grep mysqld


登录:
地址:/var/log/mysqld.log 在这个日志中搜索“password”就可以找到密码了:
grep "password" /var/log/mysqld.log

登录:
mysql -u root -p
6、修改MySQL的root账户密码:
1、因为MySQL的密码策略,我们可以先简化密码策略:
1.1、设置密码的验证强度等级,为LOW;
set global validate_password_policy=LOW;
1.2 设置密码长度为 6
set global validate_password_length=6;

2、修改root账户的密码,为123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
7、开启mysql远程连接,默认是没有开启的需要重新建立账户来完成远程连接;
创建用户:qlp 就是你要创建的用户名;123456是密码
CREATE USER 'qlp'@'%' IDENTIFIED BY '123456';

授权:
GRANT ALL PRIVILEGES ON *.* TO 'qlp'@'%' WITH GRANT OPTION;

刷新权限表:
FLUSH PRIVILEGES;
8、针对数据库进行安全设置;
mysql_secure_installation

##输两次密码,按6次Y就可以了;
9、创建nextcloud需要的数据库;
#创建数据库,名为:nextcloud
CREATE DATABASE nextcloud;

#给用户nextcloud全部权限
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'192.168.249.100' IDENTIFIED BY '123456';

#刷新权限
FLUSH PRIVILEGES;
10、安装php-mysql;
yum -y install php72w-mysqlnd.x86_64
11、测试apache
在/var/nextcloud下面书写php的指针文件页
vim phpinfo.php
<?php
    phpinfo();

?>

重启httpd --->systemctl restart httpd 
测试访问---> http://192.168.249.199/phpinfo.php

出现下面页面表示没有问题;

12、下载nextcloud
#进入/var/nextcloud
cd /var/nextcloud

下载nextcloud包
wget https://download.nextcloud.com/server/releases/nextcloud-20.0.0.zip --no-check-certificate

因为这个包。比较难下载。我们已下载好,可直接上传

解压 unzip nextcloud-20.0.0.zip

#修改nextcloud的权限
chown apache:apache -R /var/nextcloud
13、下载nextcloud相关的依赖包;
yum -y install php72w-gd.x86_64
yum -y install php72w-mbstring.x86_64
yum -y install php72w-xml.x86_64

六、可能出现的报错

  • 更迁数据可能出现的报错;****(报错:您的数据目录无效 请确定在根目录下有一个名为".ocdata"的文件)
解决方案:

1、检查 Nextcloud 配置文件: 打开 Nextcloud 的配置文件 config.php,位于 Nextcloud 安装目录的 config/config.php 子目录中。确保 datadirectory 参数指向了正确的数据目录路径。

2、给LVM逻辑卷的挂载点进行授权:
chmod  777 nextcloud
chown apache:apache -R nextcloud

3、创建 .ocdata 文件:
touch /var/nextcloud/.ocdata
注意:/var/nextcloud 替换为LVM挂载点的实际路径。
posted @ 2024-04-08 09:28  Honey-pot  阅读(131)  评论(0)    收藏  举报