LalaPodo
首页
技术博客
云原生学院
avatar
原文: https://www.lalapodo.com/lalapodoblog/4
AWS 上利用 EC2 和 S3 搭建免费私人网盘
网盘现在在我们日常中不可或缺。很多公司都为个人和企业提供网盘服务。但这些服务都有一些限制,比如下载速度,文件大小等等。如果想取消这些限制,就要付费。现在我们来自己搭建一个私人网盘。
这里我使用NextCloud进行搭建,它是一款基于php开发的开源网盘应用。
开始操作步骤:
1.创建 IAM 用户
请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域
顶部菜单导航到 IAM
单击添加用户该按钮以创建新的 IAM 用户
在添加用户部分,设置用户详细信息:
用户名:随喜好填写任意用户名
在选择AWS 访问类型部分,选择AWS 凭证类型为访问密钥 - 编程访问和密码
单击下一步设置权限:现在,您可以看到策略列表
单击直接附加现有策略,搜索AmazonS3FullAccess并选择它
现在点击下一页:标签按钮。无需更改
单击下一步:“审核"按钮查看选择是否有误,然后单击"创建用户”
现在您会得到访问密钥 ID和私有访问密钥,请保存好它
2.创建 EC2 实例
请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域。
顶部菜单导航到 EC2
左侧面板,单击实例,然后单击启动新实例。
(1)名称和标签:随意填写即可,这是实例的显示名称。
(2)应用程序和操作系统映像:选择Amazon Linux镜像Amazon Linux 2 AMI
(3)选择实例类型:t2.micro即可
(4)密钥对:选择账户中存在的密钥对或者新创建
(5)网络设置:勾选允许来自互联网的 HTTP/S 流量
(6)配置存储:保持默认即可
(7)最后启动实例
3.为 EC2 实例分配弹性IP
EC2左侧面板,单击弹性 IP,然后单击分配弹性 IP 地址按钮。
直接点击分配按钮即可。
最后点击刚刚分配的弹性IP将其附加至启动好的EC2实例。
请记下这个弹性IP地址,后面会使用它来访问网盘。
4.进入 EC2 实例安装NextCloud
左侧菜单回到EC2选项
选中刚刚创建的EC2实例点击连接,选择使用SSH客户端
根据操作步骤连接至EC2
输入以下命令开始安装步骤:
–
切换root用户
(1)sudo su
–
安装httpd 并配置启动
(2)yum install httpd -y
(3)systemctl start httpd
(4)systemctl enable httpd
–
安装php7 并安装相关依赖
(5)amazon-linux-extras install php7.4 -y
(6)yum install php php-curl php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring php-common php-json php-zip -y
–
安装玛丽亚DB 并配置启动
(7)yum install mariadb-server -y
(8)systemctl enable --now mariadb
–
进入玛丽亚DB 为NextCloud创建数据库
(9)mysql -u root -p
(10)CREATE DATABASE nextclouddb;
(11)EXIT;
–
下载最新版NextCloud并配置httpd 让其可供访问
(12)wget https://download.nextcloud.com/server/releases/latest.zip
(13)unzip latest.zip
(14)mv nextcloud /var/www/html
(15)mkdir -p /var/www/html/nextcloud/data
(16)chown -R apache:apache /var/www/html/nextcloud/
(17)vim /etc/httpd/conf.d/nextcloud.conf
(18)粘贴以下config配置 并保存退出
<VirtualHost *:80>
ServerName nextcloud.example.com
DocumentRoot /var/www/html/nextcloud
ErrorLog /var/www/html/nextcloud/error.log
CustomLog /var/www/html/nextcloud/requests.log combined
允许httpd访问文件/var/www/html/nextcloud/并重启服务
(19)chown -R apache:apache /var/www/html/nextcloud/
(20)chmod -R 755 /var/www
(21)rm -f /etc/httpd/conf.d/welcome.conf
(22)systemctl restart httpd
–
5.访问 EC2 实例公有IP完成NextCloud安装
用浏览器打开EC2的IP地址或域名,注意使用http协议
应该显示以下页面
输入任意用户名和密码以注册管理员账户
存储和数据库选项选择MySQL/MariaDB
数据库用户:root
数据库密码:留空
数据库名:nextclouddb
数据库主机:localhost:3306
最后点击安装即可。
等待安装完成。
推荐应用界面点击跳过。
即可来到NextCloud主界面。
6.配置S3存储桶为外部存储
目前为止,网盘已经搭建完成,现在使用的是免费的EBS作为网盘存储介质。
如果您需要更大的空间,更好的持久性,我们可以配置网盘利用S3作为外部存储。
点击右上角个人,选择应用,在已禁用的应用中找到External storage support,点击启用按钮。
点击右上角个人,选择管理设置,在管理选项中找到外部存储,点击增加外部存储,类型选择Amazon S3。
认证选项选择Access Key,配置选项Bucket填写存储桶名称(可以是已存在的或者新建存储桶)。
区域处填写S3存储桶所在区域。
下方Access Key和Secret Key填写IAM用户的访问密钥。
最后点击三个点图标保存一下即可。
7.验证外部S3存储。
顶部点击文件,选择外部存储,点击Amazon S3
现在可以看到S3存储桶内部的文件
现可以进行文件的上传和下载验证网盘已搭建成功。
–
LalaPodo
Copyright © 2023 - LalaPodo Education INC. All rights reserved.