AWS:手把手教你如何部署企业级云存储网盘

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:吴金福网络

小提示:您能找到这篇{AWS:手把手教你如何部署企业级云存储网盘}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的AWS:手把手教你如何部署企业级云存储网盘内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">Nextcloud是一个开源的、功能强大的云存储网盘项目。它提供了一个安全和灵活的解决方案,允许用户共享一个或多个文件和目录,并与Nextcloud服务器同步。

部署演示

< ">我们会使用快速入门的“Ubuntu Server 18.04 LTS”系统镜像部署并运行Nextcloud,接着我们会配置NextCloud的LDAP应用程序以允许活动目录(Active Directory)的用户登陆并使用Nextcloud,并将用户的工作目录设置到Amazon EFS文件系统,同时挂载S3存储桶作为共享盘。本次部署需要准备的前提条件包括:

< ">-Amazon EC2实例

< ">-Ubuntu Server 18.04 LTS

< ">-Nextcloud

< ">-AWS Directory Service

< ">-Amazon EFS文件系统

< ">-S3存储桶

安装Nextcloud

< ">在AWS EC2控制台上点击启动实例,然后从快速入门中选择“Ubuntu Server 18.04 LTS”系统镜像,选择c5.large或更高配置的实例类型启动实例。实例启动后使用密钥登陆Ubuntu系统。

< ">步骤一:安装LAMP

sudo apt update

sudo apt-get install apache2 mariadb-server libapache2-mod-php7.2 php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring php7.2-intl php-imagick php7.2-xml php7.2-ldap php7.2-zip

< ">安装完成后,检查服务是否已经启动和启用了自动启动。

systemctl status apache2

systemctl status mariadb

systemctl is-enabled apache2

systemctl is-enabled mariadb

< ">注意:如果没有启动或者没有启用自动启动,使用下面的命令启动并启用自动启动。

sudo systemctl start apache2

sudo systemctl start mariadb

sudo systemctl enable apache2

sudo systemctl enable mariadb

步骤二:安装MariaDB

sudo mysql_secure_installation

< ">回答提示问题:

< ">为root输入当前密码(默认是没有,回车即可)

< ">Enter current password for root(enter for none):

< ">是否设置root密码(建议设置一个复杂的安全密码)

< ">Set root 橱柜宣传海报password?[Y/n]y

< ">是否删除匿名用户

< ">Remove anonymous users?[Y/n]y

< ">是否禁止远程登陆

< ">Disallow root login remotely?[Y/n]y

< ">是否删除自带的test测试数据库

< ">Remove test database and access to it?[Y/n]y

< ">是否重新加载权限表

< ">Reload privilege tables now?[Y/n]y

< ">步骤三:配置Nextcloud数据库

< ">确保数据库完成安装之后,登陆数据库:

sudo mysql-u root-p

< ">运行以下sql命令,请注意使用您的密码替换以下命令中的“PASSWORD”。

MariaDB [(none)]> CREATE DATABASE nextcloud; 

MariaDB [(none)]> CRE滴滴危机公关评价ATE USER ncadmin@localhost IDENTIFIED BY 'PASSWORD'; 

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.*  TO ncadmin@localhost IDENTIFIED BY 'PASSWORD'; 

MariaDB [(none)]> FLUSH PRIVILEGES; 

MariaDB [(none)]> EXIT;

步骤四:配置Nextcloud

< ">从Nextcloud官方网站下载最新版本的Nextcloud:

sudo wget-c https://download.nextcloud.com/server/releases/nextcloud-20.0.1.zip

< ">解压并复制到web服务器的根目录下,并设置所有权:

sudo unzip nextcloud-18.0.0.zip

sudo cp-r nextcloud/var/www/html/

sudo chown-R www-data:www-data/var/www/html/nextcloud

< ">为Nextcloud创建一个Apache配置文件:

sudo cat <<EOF > /etc/apache2/sites-available/nextcloud.conf

Alias /nextcloud "/var/www/html/nextcloud/"


<Directory /var/www/html/nextcloud/>

  Require all granted

  Options FollowSymlinks MultiViews

  AllowOverride All


 <IfModule mod_dav.c>

  Dav off

 </IfModule>


 SetEnv HOME /var/www//html/nextcloud

 SetEnv HTTP_HOME /var/www/html/nextcloud

</Directory>

EOF

< ">启用新的配置和模块:

sudo a2ensite nextcloud.conf

sudo a2enmod rewrite

sudo a2enmod headers

sudo a2enmod env

sudo a2enmod dir

sudo a2enmod mime

< ">重新启动Apache2服务,使更改生效:

sudo systemctl restart apache2

< ">步骤五:通过图形向导完成Nextcloud的安装

< ">在开始配置之前,我们还需要将TCP端口80的入站规则添加到安全组,并将该安全组与实例相关联。如果使用HTTPS,还需要将TCP端口443的入站规则添加到安全组。

< ">打开浏览器,指向以下地址:http://IP/nextcloud/

< ">安装向导加载后,创建一个Nextcloud管理员帐户。输入用户名和密码,并配置数据库。

< ">安装完成后,您将看到以下窗口。单击将出现在蓝色窗口右侧的向前箭头继续并按照提示进行操作。

< ">然后在下一个窗口中,单击Start Using Nextcloud开始使用。

< ">步骤六:配置S3存储桶为外部存储

< ">Amazon S3提供99.999999999%的持久性,提供了一个高度扩展、高持久性和高可用的分布式数据存储服务。Nextcloud完全兼容S3的API接口,可以很容易地将S3存储桶挂载为外部存储。在开始配置之前,我们需要创建一个S3存储桶和一个可以编程方式访问该存储桶的IAM用户。如果使用已经存在的S3存储桶和IAM用户,可以跳到Nextcloud配置外部存储。

< ">登陆S3控制台,创建一个存储桶。

< ">登陆IAM控制台,从访问管理菜单中单击策略,创建策略。

< ">JSON内容如下,请将nextcloud更改为您的存储桶名字。

{

    "Version": "2012-10-17",



    "Statement": [

        {

            "Effect": "Allow",

            "Action": "s3:*",

            "Resource": [

                "arn:aws-cn:s3:::nextcloud",

                "arn:aws-cn:s3:::nextcloud/*"



            ]

        }

    ]

}

< ">从访问管理菜单中单击用户,添加用户。

< ">附加刚刚创建的策略

< ">下载密钥文件

< ">点击右上角的Admin用户图标,选择Apps

< ">点击搜索框图标,搜索“External storage support“,在单击External storage support的Enable按钮启用

< ">启用后,点击Admin用户图标,选择Settings

< ">单击左边Administration菜单下的External storages

< ">下图是配置宁夏区域S3存储桶的示例。如果是配置海外区域的S3存储桶。

< ">宁夏区域S3的主机名是s3.cn-northwest-1.amazonaws.com.cn

< ">北京区域S3的主机名是s3.cn-north-1.amazonaws.com.cn

< ">配置完成后,单击左上方的文件夹图标,选择“All files”,可以看到我们刚刚配置的S3存储桶。

< ">步骤七:配置LDAP

< ">在配置LDAP之前,我们需要创建一个活动目录。如果使用已经存在的活动目录,可以跳到Nextcloud配置LDAP。

< ">创建活动目录,如下图:

< ">回到Nextcloud控制台,和上面的步骤一样,点击右上角的Admin用户图标,选择Apps,搜索LDAP并启用。

< ">启用LDAP后,点击Admin用户图标,选择Settings,单击左边Administration菜单下的“LDAP/AD integration”。

< ">具体配置详见Nextcloud的LDAP配置文档。我们根据活动目录的信息填写配置,单击“Test Base DN”测试配置是否正确。

< ">注意:Server地址为活动目录的DNS地址,端口为389。

< ">选择允许登陆Nextcloud的用户组。在AWS托管的活动目录里,新创建的用户默认会分配到组“Domain Users”。可单击下方的“Verify settings and count users”查找该用户组的成员数。

< ">配置登陆方式。如果希望使用AD用户的邮箱地址登陆,则可以勾选“LDAP/AD Email Address”如下图。可在下方的“Test Loginname”输入AD用户名验证。

< ">最后,默认情况下,在Nextcloud上不会有LDAP组。我们选择活动目录的默认用户组“Domain Users”在Nextcloud可用。

< ">用户工作目录的命名规则默认是根据LDAP的用户属性创建,如果是迁移或者升级后设置失效,可以运行以下命令强制启用命名规则:

sudo-u www-data php/var/www/html/nextcloud/occ config:app:set user_ldap enforce_home_folder_naming_rule–value=”true”

< ">我们还可以运行以下命令设置LDAP的同步间隔,间隔以秒为单位,例如设置为一天,即86400秒。

sudo-u www-data php/var/www/html/nextcloud/occ config:app:set user_ldap updateAttributesInterval--value=86400

< ">注意,除了LDAP APP外,Nextcloud还有非常丰富的APP,例如draw.io流程图绘制应用、WebMail插件RainLoop、开源办公onlyoffice应用等等。

< ">步骤八:配置域名

< ">Nextcloud安装后,默认信任的域名只有IP地址,如果希望通过域名连接Nextcloud,需要添加信任域名,运行如下命令:

sudo-u www-data php/var/www/html/nextcloud/occ config:system:set trust软文推广应用说明ed_domains 1--value=nextcloud.example.com

< ">或者修改配置文件/var/www/html/nextcloud/config/config.php中的array变量

< ">步骤九:配置EFS

< ">从上面步骤的截图我们看到'datadirectory'=&gt;'/var/www/html/nextcloud/data',这是Nextcloud的默认配置,用户的工作目录均放在路径/var/www/html/nextcloud/data,为了更好的持久性和可扩展性,建议将所有用户的工作目录放在可扩展的、弹性原生云NFS文件系统Amazon Elastic File System。这样一来,我们可以实现多台主备服务器同时挂载EFS,提高可用性。

< ">创建EFS文件系统。

< ">通过SSH登陆Nextcloud服务器,挂载EFS,然后运行以下命令修改datadirectory的路径:

< ">进入维护模式:

sudo-u www-data php/var/www/html/nextcloud/occ maintenance:mode--on

< ">拷贝现有文件到EFS,假设EFS挂载在/efs:

cp-a/var/www/html/nextcloud/data/./efs

chown-R www-data:www-data/efs

< ">修改datadirectory参数:

sudo-u www-data php/var/www/html/nextcloud/occ config:system:set datadirectory--value="/efs"--update-only

< ">退出维护模式:

sudo-u www-data php/var/www/html/nextcloud/occ maintenance:mode–off

< ">注意,您也可以直接进入维护模式之后,将EFS挂载到/var/www/html/nextcloud/data,这样就不需要更改目录路径。

< ">步骤十:登陆Nextcloud客户端

< ">Nextcloud支持Windows、Mac、Android、iOS、Linux等各种平台的客户端。下载安装后,打开客户端,选择login。

< ">输入nextcloud的IP地址或者域名,http://Server_IP/nextcloud/

< ">注意,演示使用的是HTTP。

< ">单击Next,将跳转到浏览器,单击Log in,登陆并授权。

< ">设置同步。

< ">打开软件,选择Settings并设置同步S3存储桶。

< ">打开Nextcloud云盘,即可看到用户自己的工作目录(存放在EFS,仅自己可见),还有作为共享盘的S3存储桶(所有成员可见)。



< ">总结

< ">在本次演示中,考虑到仅在VPC内使用,所以没有配置SSL,若是在生产环境中使用,建议配置SSL证书,使用HTTPS连接。Nextcloud是一款开源免费的云存储网盘项目。除了上述的安装方式,还支持Docker快速安装,配合AWS S3和EFS服务,我们可以快速地构建企业级的云存储网盘,从而实现跨平台跨设备的文件同步、共享、版本控制和团队协作等功能。

AWS:手把手教你如何部署企业级云存储网盘

上一篇:破51项纪录的背后:华为云擎天架构调度求解引擎
下一篇:如何提升你的店铺流量?给跨境卖家的Shopify SE


版权声明:以上主题为“AWS:手把手教你如何部署企业级云存储网盘"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    AWS:手把手教你如何部署企业级云存储网盘
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“AWS:手把手教你如何部署企业级云存储网盘”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通AWS:手把手教你如何部署企业级云存储网盘的相关事宜。

关键词:AWS:手把手教你如何部署

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号