• 云耀服务器L实例部署Nextcloud企业云盘系统|华为云云耀云服务器L实例评测使用体验


    NextCloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。我将通过华为云云耀服务器L实例CentOS 7.8、MariaDB、PHP 7、Nginx为环境部署Nextcloud。

    Nextcloud简介

    NextCloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。

    Nextcloud是一个网盘式文件管理系统,多用户权限管理,多客户端,使用简单。Nextcloud是owncloud的一个分支,由原创始人团队维护,是在owncloud被别的公司收购后,由创始人团队创立的新分支。

    就像 mysql和mariadb。Nextcloud完全开源,功能强大,能够自由更改主题,无限制增加用户,有一个完善的应用中心(在线office办公,pdf在线浏览,图片缩略图浏览等功能)

    image-20231015143744640

    1.1 部署华为云云耀服务器L实例

    1.1.1 云耀服务器L实例购买

    进入华为云官网: https://www.huaweicloud.com/

    进入控制台

    image-20231015145023861

    搜索云耀服务器HECS

    image-20231015145120416

    选择登录L实例控制台

    image-20231015145202811

    如果没有应用实例,则可以选择购买资源

    image-20231015145509267

    云耀服务器L实例在购买阶段相对于传统的华为云ECS服务器购买十分简单便捷

    关于区域选择,可以按照下面规则选择合适的区域

    • 地理位置就近原则。根据用户群所在位置,应就近选择区域以减少网络时延,提高访问速度。
    • 不同区域价格差异。不同区域的服务器价格可能会有所不同,因此需考虑预算和成本效益。
    • 备案考虑。根据所在的行业和业务需求,有些区域可能需要特定的备案或审批手续,应该提前了解和考虑。
    • 多产品同区域内网互通。如果需要将多个华为云产品部署在同一区域内,以便实现内网互通,可以提高访问速度和数据传输效率。

    由于NextCloud只支持linux操作系统,本次我选择的是Centos7.8版本

    关于实例规格选择,这要根据大家的实际业务需求和资金进行综合考虑

    综上考虑,我现在的区域为华北-北京四,系统镜像为Centos7.8,实例规格为2c-2G,先购买一个月

    image-20231015150608062

    大家也可以根据自己需求选择增配数据盘,主机安全,云备份等功能

    image-20231015151017186

    点击立即购买并支付费用,支付成功后回到云耀服务器L实例控制台等待机器创建成功。

    image-20231015151046647

    1.1.2 云耀服务器L实例初始化配置

    进入云耀服务器L实例控制台,可以看到我们购买的实例

    单击实例,进入控制界面

    image-20231015151247966

    在这里可以看到此服务器的一些基本信息

    image-20231015151331606

    首先需要重置密码

    image-20231015152052498

    对于我们是下个步骤安装nextCloud过程中需要开放一些端口,所以还需要配置安全组规则

    选择更改安全组,选择自己认为合适的安全组或者新建安全组规则

    image-20231015152240906

    image-20231015152332097

    1.1.3 远程登录云耀服务器L实例

    每个人的喜好不太一样,常用的shell登录终端有很多,这里我使用的是MobaXterm

    MobaXterm是一款强大的终端工具,它集成了SSH客户端、X服务器和Unix命令集工具箱。在Windows操作系统下,MobaXterm可以帮助用户轻松地连接并操作Linux服务器。

    MobaXterm具有以下特点:

    1. 集成了SSH客户端:MobaXterm通过内嵌SSH客户端,可以快速建立与Linux服务器的安全连接,实现远程登录和管理。
    2. 支持X服务器:MobaXterm集成了X服务器,可以在Windows上运行Unix/Linux环境,并支持图形界面应用程序。
    3. 提供Unix命令集:MobaXterm集成了Unix命令集(GNU/Cygwin),用户可以在Windows上运行大多数Linux命令,实现高效的终端操作。
    4. 多终端视窗:MobaXterm支持开启多个终端视窗,可以同时连接多个Linux服务器,并进行灵活的终端管理。
    5. 可扩展性强:MobaXterm可以通过集成插件来扩展功能,例如运行Gcc、Perl、Curl、Tcl/Tk/Expect等程序。
    6. 免费开源:MobaXterm分为免费开源版和收费专业版,用户可以免费使用开源版,并根据需求选择专业版以获得更多的功能和更好的技术支持。

    新建ssh登录,填写云耀服务器L实例的ip和用户名并输入密码

    image-20231015152615972

    登录成功

    image-20231015152717521

    2. 云耀服务器L实例中间件部署

    2.1 安装配置环境

    2.1.1 安装基本工具

    安装yum额外源、wget、unzip、gcc等基本工具

    yum -y install epel-release wget unzip gcc
    yum -y install libsmbclient libsmbclient-devel redis
    
    • 1
    • 2

    image-20231015152954960

    关闭SELinux,可先通过sestatus -v命令查看SELinux是否开启

    /usr/sbin/sestatus -v
    
    • 1

    修改/etc/selinux/config,将’SELINUX=enforcing’改为’SELINUX=disabled’,重启系统即可生效,或者本次可以使用’setenforce 0’临时关闭。

    image-20231015153012575

    2.1.2 安装MariaDB

    通过yum安装MariaDB

    yum -y install mariadb mariadb-server
    
    • 1

    image-20231015154947135

    开启、启动服务,运行管理工具

    systemctl enable mariadb.service
    systemctl start mariadb.service
    mysql_secure_installation
    
    • 1
    • 2
    • 3

    mysql_secure_installation的输入如下,牢记自己的数据库root密码

    S[root@hcss-ecs-51c9 ~]# mysql_secure_installation
    
    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
          SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
    
    In order to log into MariaDB to secure it, we'll need the current
    password for the root user.  If you've just installed MariaDB, and
    you haven't set the root password yet, the password will be blank,
    so you should just press enter here.
    
    Enter current password for root (enter for none):
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:                                                                                                           YES)
    Enter current password for root (enter for none):
    OK, successfully used password, moving on...
    
    Setting the root password ensures that nobody can log into the MariaDB
    root user without the proper authorisation.
    
    Set root password? [Y/n] Y
    New password:
    Re-enter new password:
    Password updated successfully!
    Reloading privilege tables..
     ... Success!
    
    
    By default, a MariaDB installation has an anonymous user, allowing anyone
    to log into MariaDB without having to have a user account created for
    them.  This is intended only for testing, and to make the installation
    go a bit smoother.  You should remove them before moving into a
    production environment.
    
    Remove anonymous users? [Y/n] Y
     ... Success!
    
    Normally, root should only be allowed to connect from 'localhost'.  This
    ensures that someone cannot guess at the root password from the network.
    
    Disallow root login remotely? [Y/n] Y
     ... Success!
    
    By default, MariaDB comes with a database named 'test' that anyone can
    access.  This is also intended only for testing, and should be removed
    before moving into a production environment.
    
    Remove test database and access to it? [Y/n] Y
     - Dropping test database...
     ... Success!
     - Removing privileges on test database...
     ... Success!
    
    Reloading the privilege tables will ensure that all changes made so far
    will take effect immediately.
    
    Reload privilege tables now? [Y/n] Y
     ... Success!
    
    Cleaning up...
    
    All done!  If you've completed all of the above steps, your MariaDB
    installation should now be secure.
    
    Thanks for using MariaDB!
    
    
    • 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
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64

    登录到mysql shell为Nextcloud创建用户和数据库。

    mysql -u root -p
    
    • 1

    image-20231015155140919验证root密码后,在mysql shell执行

    create database nextcloud_db;
    create user nextclouduser@localhost identified by 'nextclouduser@';
    grant all privileges on nextcloud_db.* to nextclouduser@localhost identified by 'nextclouduser@';
    flush privileges;
    exit
    
    • 1
    • 2
    • 3
    • 4
    • 5

    image-20231015155833935

    这样就创建了一个nextcloud_db数据库和nextclouduser用户,用户密码为’nextclouduser@’。

    2.1.3 安装Nginx

    通过yum安装Nginx

    yum -y install nginx
    mkdir /var/www
    chown -R nginx:nginx /var/www
    
    • 1
    • 2
    • 3

    image-20231015160031312

    开启、启动Nginx服务

    systemctl enable nginx.service
    systemctl start nginx.service
    
    • 1
    • 2

    image-20231015160049810

    使用nginx -s reload可以重载配置而不需要重启nginx

    开放防火墙HTTP、HTTPS端口

    firewall-cmd --permanent --add-service=http
    firewall-cmd --permanent --add-service=https
    systemctl restart firewalld
    
    • 1
    • 2
    • 3

    image-20231015160152857

    2.1.4 安装PHP

    添加PHP7-FPM webtatic仓库,安装php7主体以及nextcloud需要的一些模块。

    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    yum -y install php71w-fpm php71w-cli php71w-gd php71w-mcrypt php71w-mysql php71w-pear php71w-xml php71w-mbstring php71w-pdo php71w-json php71w-opcache php71w-pecl-apcu php71w-pecl-apcu-devel php71w-pecl-igbinary php71w-pecl-igbinary-devel php71w-pecl-imagick php71w-pecl-imagick-devel php71w-pecl-redis php71w-pecl-redis-devel
    vi /etc/php-fpm.d/www.conf
    
    • 1
    • 2
    • 3

    编辑/etc/php-fpm.d/www.conf

    ;修改user和group这两行,大概在8行左右
    user = nginx
    group = nginx;取消这几行的注释,大概在第370行左右
    env[HOSTNAME] = $HOSTNAME
    env[PATH] = /usr/local/bin:/usr/bin:/bin
    env[TMP] = /tmp
    env[TMPDIR] = /tmp
    env[TEMP] = /tmp
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    建立相关目录,修改相关目录权限

    mkdir -p /var/lib/php/session 
    chown -R nginx:nginx /var/lib/php/session/
    vi /etc/php.d/opcache.ini
    
    • 1
    • 2
    • 3

    image-20231015161628360

    修改/etc/php.d/opcache.ini,将以下行注释去掉,并修改为对应的配置值

    zend_extension=opcache.so
    opcache.enable=1
    opcache.enable_cli=1
    opcache.memory_consumption=128
    opcache.interned_strings_buffer=8
    opcache.max_accelerated_files=10000
    opcache.revalidate_freq=1
    opcache.save_comments=1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    安装smbclient扩展模块

    yum -y install libsmbclient libsmbclient-devel
    pecl install smbclient
    vi /etc/php.d/smbclient.ini
    
    • 1
    • 2
    • 3

    新建/etc/php.d/smbclient.ini,添加如下内容

    extension=smbclient.so
    
    • 1

    image-20231015161923181

    开启、启动php-fpm服务

    systemctl enable php-fpm.service
    systemctl start php-fpm.service
    
    • 1
    • 2

    image-20231015161945416

    3. 安装Nextcloud

    3.1 下载并解压到www目录

    wget https://download.nextcloud.com/server/releases/nextcloud-12.0.2.zip
    unzip nextcloud-12.0.2.zip
    mv nextcloud /var/www/
    chown -R nginx:nginx /var/www
    
    • 1
    • 2
    • 3
    • 4

    image-20231015162021468

    image-20231015164252164

    3.2 生成SSL证书

    mkdir -p /etc/nginx/cert/
    openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/nextcloud.crt -keyout /etc/nginx/cert/nextcloud.key
    chmod 700 /etc/nginx/cert
    chmod 600 /etc/nginx/cert/*
    
    • 1
    • 2
    • 3
    • 4

    image-20231015164409508

    3.3 在Nginx配置

    修改nginx服务配置文件/etc/nginx/nginx.conf为以下内容,将“yourname.domain”替换为自己的域名,修改client_max_body_size可以设置最大可上传的文件大小

    让Nginx重新载入配置

    nginx -s reload
    
    • 1

    3.4 初始化

    使用域名或者IP访问,就会出现初始设置页面,在这里设置Nextcloud管理员用户名和密码,然后选择使用的数据库为MySQL/MariaDB,填入之前设置数据库时的用户名(nextclouduser)、密码(nextclouduser@)、数据库名称(nextcloud_db),然后确认进行初始化后就可以使用了。

    3.5 添加信任域名

    Nextcloud本身的安全机制,会检查访问的域名,如果没有配置在信任域名中,会提示正在通过不信任的域名访问。

    Nextcloud初始化完毕后,会生成“/var/www/nextcloud/config/config.php”配置文件,里面的’trusted_domains’配置项为信任域名,初始化完毕后只有一项,为主机的IP地址。可以修改该配置项,添加绑定的域名

    'trusted_domains' => 
    array (0 => '120.46.35.208',1 => 'yourname.domain',
    ),
    
    • 1
    • 2
    • 3

    3.6 开启内存缓存

    开启内存缓存,可以提升响应速度。之前我们已经通过yum安装了redis服务,通过pecl安装了php的apcu、redis组件,下面先把redis设置为系统服务,再修改Nextcloud的配置。

    安装、配置redis服务,设置服务自启、启动服务

    yum -y install redis
    systemctl enable redis
    systemctl start redis
    
    • 1
    • 2
    • 3

    image-20231015164508750

    修改/var/www/nextcloud/config/config.php文件,在配置加入

    'memcache.local' => '\OC\Memcache\APCu',
    'memcache.locking' => '\OC\Memcache\Redis',
    'redis' => array('host' => 'localhost','port' => 6379,),
    
    • 1
    • 2
    • 3

    让Nginx重新载入配置

    nginx -s reload
    
    • 1

    4. NextCloud初始化

    4.1 NextCloud后台配置

    设置用户名和密码,点击安装,等待安装完成

    image-20231015170212709

    可以看到已经安装完成

    image-20231015170426755

    可以在仪表盘配置我们需要的功能

    1. 在管理页面右上角,点击“A”图标,会出现功能菜单。
    2. 在功能菜单中,可以找到个人设置和管理等选项,可以对NextCloud服务进行各种设置。
    3. 在个人设置中,可以编辑自己的信息,而在管理中,则可以对NextCloud服务的各种选项进行设置,比如安全性、文件同步、应用程序等。
    4. 在管理中,可以对用户进行管理,新建或者删除用户,为用户分配不同的权限,也可以对群组进行管理,新建或者删除群组,将用户加入到不同的群组中。
    5. 在特定的设置中,可以对NextCloud的界面、备份、日志等进行个性化的定制。

    image-20231015170618452

    至此,云耀服务器L实例部署Nextcloud私有云配置完成

    5. 总结

    本文介绍了如何部署华为云云耀服务器L实例,包括购买、初始化配置和远程登录。接着介绍了安装配置环境,包括基本工具、MariaDB、Nginx和PHP。之后讲解了下载并解压到www目录、生成SSL证书、在Nginx配置、初始化、添加信任域名和开启内存缓存等步骤。最后介绍了NextCloud后台配置,包括个人设置和管理,可以对NextCloud服务进行各种设置,包括安全性、文件同步、应用程序等。同时可以进行用户和群组管理,对NextCloud的界面、备份、日志等进行个性化定制。

  • 相关阅读:
    Linux服务器系统
    三、静态路由实验
    红外海洋目标检测实践,基于目标检测模型识别红外海洋目标
    第一个Shader程序
    C++ 类和对象(B)
    【C++ Primer Plus学习记录】指针——小结
    大数据可视化优势在哪
    AQS 为什么要使用双向链表?
    汇编语言大作业 - 多户型物业管理工具(结尾附源码)
    fisco Java-sdk 快速入门案例
  • 原文地址:https://blog.csdn.net/qq_43475285/article/details/133844918