Если вы блоггер, имеете веб-сайт с портфолио, ИЛИ владеете малым бизнесом, ИЛИ в процессе создания своего стартапа, вы, должно быть, мечтали хранить свои большие медиафайлы и сценарии в облаке. В конце концов, мы все знаем силу медиаактивов, не так ли? Hubspot заявляет, что к концу 2017 года видеоконтент будет составлять 74% всего интернет-трафика.

Но подождите, это требует приличных денег, а вы не можете себе этого позволить. Что ж, это была история несколько недель назад, когда Amazon Web Services и движок приложений Google были единственными вариантами, которые взимали единовременную плату за свои услуги.

Но Digital Ocean снова пришла нам на помощь со своим недавно запущенным хранилищем объектов под названием Spaces. Он похож на хранилище Amazon S3, но намного дешевле, а цены довольно просты.

Digital Ocean предлагает 250 ГБ дискового пространства и 1 ТБ исходящей пропускной способности за 5 долларов США, при этом они не взимают плату за каждый запрос. Такой же объем дискового пространства и пропускной способности в Amazon Web Services стоит около 95 долларов, за запросы GET / PUT будет взиматься дополнительная плата. Взгляните на скриншоты ежемесячной сметы Amazon ниже.

До сих пор все выглядит как кусок пирога, поскольку вы получаете свое хранилище очень дешево, к тому же у Digital Ocean есть очень простые учебные пособия с чрезвычайно процветающим сообществом! Нет, вещи не идеальны, как кажется, это очень новая функция DO, им еще предстоит развернуть все свои учебные пособия, члены сообщества только начали пачкать руки, а их документация поддерживает только два языка - python и иди.

Если вы разработчик Python или Go, то это будет совсем несложно, но очень высоки шансы, что вы разработчик PHP, поскольку W3Techs указали в своей статье от ноября 2017 года: «PHP используется на 82,9%. всех веб-сайтов, чей серверный язык программирования нам известен ».

Эта статья проведет вас через процесс сохранения вашего первого файла в Spaces Bucket с помощью PHP, даже если вы не знаете, как написать «Hello World!» на нем или на любом другом языке.

Уловка упоминается в официальной документации по пространствам Digital Ocean.

API Spaces призван обеспечить взаимодействие с API Amazon AWS S3.

Что это обозначает? Погодите, это не ракетостроение. Это просто означает, что любой существующий PHP-класс или библиотека, которые могут взаимодействовать с Amazon AWS, будут совместимы с API Spaces Digital Ocean. Итак, теперь, когда мы знаем, с чего начать, следуйте вместе со мной этим простым шагам.

# Step1: Создайте свое пространство

Войдите в свою учетную запись Digital Ocean и нажмите зеленую кнопку «Создать» в правом верхнем углу. Затем выберите «Пробелы» в раскрывающемся меню.

Выберите уникальное имя для своего пространства. Spaces доступен только в регионе NYC3 (на данный момент), поэтому вам не нужно ничего выбирать. Вы не хотите, чтобы кто-либо еще сохранял файлы в ваших пространствах, поэтому не меняйте значение по умолчанию «Личное» в разделе «Управление доступом», хотя вы можете выбрать «Публичный» в зависимости от вашего варианта использования.

Да, я знаю, что вам интересно, что такое «Бесплатно до 30 декабря» в разделе цен. Не волнуйтесь, мы вернемся к нему в конце этой статьи. На данный момент просто нажмите кнопку «создать пространство», и ваше пространство будет создано, как вы можете видеть на скриншоте ниже.

# Step2: используйте класс PHP, написанный для операций с объектами Amazon s3.

Помните, мы недавно обсуждали, что Digital Ocean Spaces полностью совместим с классами AWS PHP. Таким образом, любой репозиторий GitHub, имеющий дело с объектными операциями Amazon AWS, можно использовать для хранения файлов в Spaces.

В этом руководстве мы будем использовать PHP-класс Amazon-S3 Донована Шёнкнехта. URL-адрес репозитория - https://github.com/tpyo/amazon-s3-php-class, и особая благодарность г-ну Шёнкнехту за написание такого чистого класса php.

# Step3 Из терминала DO git клонировать репозиторий

В разделе «Капли» выберите каплю, которую вы хотите использовать в качестве сервера PHP, и щелкните «Консоль доступа» в раскрывающемся списке «Дополнительно». Появится черная командная строка.

Авторизуйтесь в своей дропле, введя логин и пароль. Я не буду показывать вам этот шаг, поскольку он очень конфиденциальный. Далее вам нужно войти в корневую папку сервера Apache

cd / var / www / html

и клонируйте репозиторий GitHub в корневую папку. Просто введите команду, указанную ниже, и ваша работа будет выполнена.

git clone https://github.com/tpyo/amazon-s3-php-class

Ваша консоль должна выглядеть примерно так.

# Step4 Изменение основного файла обработки S3.php (поделиться изображением)

Главное, что нам нужно здесь изменить, - это конечная точка. Откройте файл S3.php с помощью редактора nano или vim:

vim Amazon-s3-php-класс / S3.php

or

нано амазонка-s3-php-класс / S3.php

Перейдите к строке № 94 и замените это:

общедоступный статический $ endpoint = ‘s3.amazonaws.com’;

с этим:

общедоступный статический $ endpoint = ‘nyc3.digitaloceanspaces.com’;

Перейдите к строке 203 и замените это:

$ endpoint = ‘s3.amazonaws.com’

с этим:

$ endpoint = ‘nyc3.digitaloceanspaces.com’

Не забудьте сохранить файл!

# Шаг 5: Создание ключа доступа и секретного ключа

Чтобы взаимодействовать с вашим недавно созданным пространством, вам нужно держать под рукой ключ доступа и секретный ключ. Для этого вам нужно нажать кнопку «Управление ключами» на странице Spaces.

Чтобы получить доступ к ключу доступа и секретному ключу, вам нужно будет нажать кнопку «Создать новый ключ», как показано на изображении ниже.

Дайте вашему ключу уникальное имя, так как это поможет вам в будущем различать отдельные пробелы, используя отдельные ключи. Затем нажмите кнопку «Сгенерировать ключ».

Он сгенерирует ваш доступ и секретный ключ. По соображениям безопасности я скрыл свой ключ доступа и секретный ключ, но вы найдете свои вновь сгенерированные ключи именно в этих выделенных местах страницы. Теперь вы должны скопировать их как можно раньше в безопасное место, так как это понадобится нам для выполнения следующего шага, и Digital Ocean не будет показывать вам ваши токены до тех пор, пока это может нанести ущерб вашей безопасности.

# Step6: Использование ключа доступа и секретного ключа на странице php простого загрузчика файлов

Вышеупомянутый репозиторий поставляется со встроенным примером загрузчика файлов. Откройте файл example-form.php с помощью редактора nano или vim:

vim амазон-s3-php-класс / пример-форма.php

or

нано амазонка-s3-php-класс / пример-форма.php

Здесь нужно изменить четыре вещи.

Изменение1:

Замените части «изменить это» в номерах строк. 11 и 12 с ключом доступа и секретными ключами соответственно.

Change2:

Измените $ bucket (в строке № 26) именем созданного пространства, в моем случае это «mynewspace1».

Change3:

На картинке выше вы можете видеть, что для «Content-Type» по умолчанию установлено значение «application / octet-stream» в строке №. 34, но эта конфигурация заставит браузер загружать файл всякий раз, когда вы попытаетесь получить к нему доступ. Но мы не хотим, чтобы это произошло, и поэтому мы изменим это на что-то другое. Поскольку в этой демонстрации мы используем файл изображения, мы изменим его на png. Изображение ниже демонстрирует изменение.

Change4:

Наконец, нам нужно изменить $ uploadURL в строке 50. Замените «.s3.amazonaws.com /» на «.nyc3.digitaloceanspaces.com /».

# Step7: Тестирование настройки путем загрузки файла в наш Space

Скрестим пальцы, давайте проверим, работает он или нет.

Откройте свой любимый браузер и перейдите к файлу example-form.php. Ваш URL-адрес должен быть примерно таким:

Если у вас есть настройка домена:

Www.yoursite.com/amazon-s3-php-class/example-form.php

или если у вас нет домена:

капелькиpublicipaddress / amazon-s3-php-class / example-form.php

Страница должна выглядеть примерно так:

Если вы следовали вместе со мной до этого момента, вы сможете загрузить файл в свое пространство. Идите вперед, выберите файл и нажмите кнопку загрузки. Вуаля! Вы должны увидеть такую ​​страницу:

Перейдите к своим пространствам, нажмите «mynewspace1», и вы увидите папку «myfiles». Щелкните «myfiles», и ваш загруженный файл должен быть виден вам. В моем случае я загрузил «gp_5.gif».

Поздравляю! Вы только что сохранили свой первый файл в новом хранилище объектов Digital Ocean Spaces с помощью класса php!

Заключение

В этом мире очень мало вещей, которые продаются без ценника. Этот php-класс также бесплатный, и я должен признать, что DO вполне доступен, но многие другие библиотеки могут стоить целое состояние. В начале пути к стартапу нам нужно быть очень осторожными, особенно с тем, как мы используем наш капитал.

Мы также находимся в самом начале пути к запуску. Вы можете проверить нас на странице https://www.shufflup.org - Отслеживайте курс покупки, курс продажи и возможности арбитража для всех бирж и криптовалют.

# Дополнение:

Теперь по поводу пункта «Бесплатно до 30 декабря». Digital Ocean позволяет нам бесплатно опробовать их пространства для хранения объектов в течение двух месяцев. Бесплатное использование включает 250 ГБ хранилища и 1 ТБ исходящей передачи данных в месяц.

Не забудьте подписаться на Shufflup, чтобы узнавать больше о таких бесплатных вещах в разных социальных сетях.

Следите за новостями в Twitter: @shufflup

Если вам нужна помощь по этой статье, оставьте комментарий или напишите мне по адресу [email protected], и я свяжусь с вами как можно скорее.