Pull to refresh

Настройка облачного хранилища

В предыдущей статье "Настройка веб-сайта (Apache+PHP+MySQL+Wordpress)", мы установили на наш Raspberry Pi (или любой другой компьютер под управлением Linux Debian) веб-сервер и запустили на нем Wordpress.

Сегодня мы запустим наше собственное облачное хранилище. Если вы еще не знаете, кратко расскажу, что это такое.

На компьютеры, которыми вы пользуетесь, вы можете установить маленькую клиентскую программу, которая будет синхронизировать содержимое, например, папки «Мои документы». Изменив документ на работе и придя вечером домой, вы увидите уже измененный документ в вашем домашнем компьютере. Сможете закончить его редактирование дома, а уже придя на работу — увидеть ваш финальный текст на рабочем компьютере. Это не потребует от вас никаких лишних телодвижений, никаких USB-флешек на которую можно просто забыть скинуть результат из дома. Все происходит полностью автоматически. Еще пример использования, смартфон. Клиентской программе на мобилке, можно указать папку с фотографиями снятыми на камеру и она будет автоматом или если захотите, в ручном режиме, скидывать фото в ваше облако, а открыв папку «Мои документы» дома, вы можете просмотреть отснятый материал на большом экране, удалить неудачные кадры, отредактировать. И все эти изменения, также найдут отражение в вашем смартфоне. Пожно пойти дальше и настроить ваш ТВ на просмотр папки «Мои документы» и тогда фото и видео сделанные на смартфоне будут сразу доступны на экране вашего ТВ, без всяких проводов и заморочек с ручным копированием. Удобно? Однозначно — да! Даже если вы оказались вдали от своих компьютеров (в гостях, путешествии), вы всегда можете получить доступ к вашей информации хранящейся в папке «Мои документы» используя любой браузер, просто войдя в веб-интерфейс облака. Также, облако может дать вам готовую ссылку на выбранный файл и этой ссылкой вы можете поделиться с другом или опубликовать её в форуме. Причем к остальным вашим документам чужого доступа не будет. Более того, вы можете указать срок жизни ссылки к этому документу, по окончании которой никто посторонний не сможет её открыть. Можно синхронизировать ваши контакты на телефоне с вашим облаком, а не делиться этой личной информацией с дядьками из Apple или Google. Ну зачем им знать, кому вы звоните? Можно редактировать ваши документы прямо в браузере, не имея например, на планшете полноценного MS Word. Вообще, вариантов применения этой облачной технологии очень много и ограничивается только вашей фантазией и желанием её использовать.

Давайте установим наше личное, приватное облачное хранилище на базе системы ownCloud. Это будет такое-же хранилище, как например Dropbox, Box, Google drive или Яндекс.Диск. У него будет веб-интерфейс, и введя свой логин-пароль вы можете получить доступ к вашим данным в любом месте этой Вселенной.

Клиентскую программу под любые операционные системы и мобильные ОС в том числе (они все поддерживают русский язык), вы сможете скачать на официальном сайте программы.

Серверную часть мы сейчас установим. Итак, заходим в терминал Linux-а и далее:

Переходим в папку, где у нас установлен наш сайт

cd ../var/www

Устанавливаем необходимое ПО для работы ownCloud

apt-get install php5-gd curl libcurl3 php5-curl

Скачиваем архив с ownCloud. Актуальная версия программы может отличаться от приведенной в моей ссылке

wget download.owncloud.org/community/owncloud-8.0.4.tar.bz2

Разархивируем

tar xjvf owncloud-8.0.4.tar.bz2

Получаем отдельную папку, полный путь к которой /var/www/owncloud

Устанавливаем права на папку /var/www

chown -R www-data:www-data /var/www

Войти в веб-админку нашего облачного хранилища теперь можно по адресу localhost/owncloud При первом входе, регистрируем нашего первого пользователя, он-же будет и администратором облачного хранилища. Не буду рассказывать банальности, о том как в ней завести новых пользователей и раздать им лимиты на дисковое пространство — там все просто и все на русском языке.

Наш ownCloud уже работает, но пока использует незащищенный тип соединения http.

Давайте включим в веб-сервере Apache2 использование защищенного соединения https. Для доступа по https используется система сертификатов и ключей. Мы создадим самоподписанный сертификат нашего сайта.

Для создания ключа и сертификата вводим команду:

openssl req -new -x509 -days 30 -keyout server.key -out server.pem

На вопрос «Enter PEM pass phrase:» отвечаем паролем, подтверждаем и запоминаем его. На все последующие вопросы отвечаем произвольно, можно просто щелкать по клавише Enter соглашаясь с предложенными вариантами, и только на вопрос «Common Name (eg, YOUR name) []:» отвечаем именем сайта, для которого создаем сертификат, например “мойсуперсайт.ru”

После ответа на все вопросы, в директории должны появиться два новых файла — server.pem и server.key (ключ и сертификат, соответственно).

Чтобы использовать сгенерированный ключ нужно знать пароль введенный нами, и Apache будет спрашивать его у нас при каждой загрузке, нам лишние вопросы не к чему, делаем как проще пользоваться. Поэтому снимаем пароль с ключа:

cp server.key{,.orig}
openssl rsa -in server.key.orig -out server.key
rm server.key.orig


Скопируем их в /etc/ssl и назначим файлу ключа права чтения только администратору:

sudo cp server.pem /etc/ssl/certs/
sudo cp server.key /etc/ssl/private/
sudo chmod 0600 /etc/ssl/private/server.key


Теперь настроим Apache2. Для начала необходимо активировать mod_ssl:

sudo a2enmod ssl

А затем включить настройки HTTPS сайта по умолчанию:

sudo a2ensite default-ssl

Теперь необходимо отредактировать файл с настройками HTTPS сайта по умолчанию, указав в нём пути к вашим сертификатам. Сам файл называется /etc/apache2/sites-enabled/default-ssl (или default-ssl.conf).

В этом файле рекомендуется после директивы

SSLEngine on

добавить строчку

SSLProtocol all -SSLv2

дабы запретить использование устаревшего протокола SSLv2.

Дальше вам необходимо отредактировать параметры, ответственные за сертификаты.

# Публичный сертификат сервера
SSLCertificateFile /etc/ssl/certs/server.pem
# Приватный ключ сервера
SSLCertificateKeyFile /etc/ssl/private/server.key


Теперь осталось просто перезапустить Apache. Отдаем привычную команду:

sudo service apache2 restart

И если все параметры указаны верно, ваши сайты станут доступны еще и в защищенном HTTPS.

На компьютере теперь можно установить клиентскую программу, указать адрес нашего облачного хранилища как вашсайт.ru/owncloud, указать имя-пароль. Подтвердить, что ваш самоподписанный сертификат является надежным и указать папку, которая будет автоматически синхронизироваться. По умолчанию, клиентская программа предложит для этого отдельную папку, но вы можете указать любую на свой выбор.

Также наши файлы в облаке доступны вам по протоколу WebDAV (Web Distributed Authoring and Versioning) — набор расширений и дополнений к протоколу HTTP, поддерживающих совместную работу пользователей над редактированием файлов и управление файлами на удаленных веб-серверах. Применяется в качестве сетевой файловой системы, эффективной для работы в Интернет и способной обрабатывать файлы (чтение, запись). Этим удобно пользоваться для доступа к вашим файлам, если вы не хотите использовать веб-интерфейс облака и на устройстве не установлена клиентская программа. Например, для доступа к файлам в привычном виде со смартфона из мобильного файлового менеджера. В системе Android, я использую бесплатный файловый менеджер "ES Проводник", на вкладке «Сеть» нажимаю кнопку «Создать» и выбираю тип подключения «WebDAV». В качестве сервера к которому подключаемся, указываем наш адрес: нашсайт.ru/owncloud/remote.php/webdav порт указываем 443, имя и пароль от учетки в owncloud. Сохраняем. Все. Теперь в любое время вы можете открыть ваши файлы в облаке, как если бы они были записаны у вас в телефоне на карте памяти.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.