Облако под столом

Простая задача — резервное копирование информации с нескольких компьютеров по сети на один накопитель — как?

Множество готовых коробочных вариантов как программных, так и аппаратных, к примеру NAS Synology или Western Digital, но сегодня задача стоит сделать все с минимальными затратами денежных средств, а готовые решения стоят денег. Самое простое в этой ситуации — это взять компьютер, поставить в него жестки диск побольше, а лучше пару в зеркальной записи. Особое внимание придется уделить операционной системе, поскольку от нее зависят все возможности накопителя.

MS Windows — проще некуда, все в привычном виде, права, пользователи, общие доступы и т.д., одно маленькое но — продукт стоит денег, а пользоваться ворованным не хорошо.

Linux + Samba — бесплатно, надежно, не дружелюбно, не презентабельно, пользователя туда не пустишь, короче вариант на любителя или айтишника, но никак обычным пользователям не подходит.

Linux FreeNAS, ClearOS и прочие сборки оказались не очень удобными, хотя FreeNAS и отвечает всем запросам, но используемая ZFS как-то отпугивает.

Lunix + ownCloud — это решение подошло полностью! OwnCloud — собственное облако — удобно, просто, красиво, понятно!

OwnCloud изначально работает как Яндекс диск, Skydrive и прочие облачные диски, т.е. каждому пользователю отводится пространство под его данные и тот уже его забивает через web интерфейс, программу-клиента и т.п. Помимо хранения файлов есть возможность синхронизировать почту, календари, заметки и т.п., приложение IOS, Android, MAC. Подробнее лучше читайте на официальном сайте http://owncloud.org/features/. Нам же сейчас важно то, что ownCloud предоставляет доступ к хранилищу через WebDAV. Поставляемый клиент создает синхронизируемую папку на компьютере, т.е. все, что бы мы туда не положили, будет закачено на сервер, это удобно при работе с файлами, но при резервном копировании такой вариант не подходит, поскольку копия данных хранится и у нас на компьютере, а это избыточно и занимает лишнее место.

Тогда на помощь к нам приходит как раз тот самый WebDAV. Посредством программы NetDrive http://www.netdrive.net/, мы можем подключить папку пользователя на накопителе в виде жесткого диска компьютера, тогда система резервного копирования может складывать копии именно на самом накопителе, чего нам и нужно. Хочу отметить, что NetDrive штука платная, но только для больших объемов, в частности в бесплатном режиме она позволяет автоматически подключать 1 диск, чего вполне достаточно.

Таким образом мы получаем не только резервное копирование, но и прекрасное решение для обмена файлами, синхронизации информации, хранения документов. Кстати, обладателям белого IP все эти «вкусности» доступны будут из любой точки света, где есть доступ в интернет. Администраторам тоже система будет более приятной, поскольку она работает на обычном linux, той версии и сборки, что мы захотим, параллельно на сервере может крутиться все, что угодно — IP телефония, сайты, виртуализация, почтовый сервер…

Собственно и все! Ах, да, в системник поставили два жестких диска 1Tb Western Digital WD10EFRX Caviar Red, SATA III.

Решение тестировалось на Ubuntu 12.10, i5, 1ГБ ОЗУ.

Еще может быть полезным информация по настройке https в Apache, поскольку ownCloud требует безопасных соединений.

Веб-сервер Apache полностью поддерживает работу по HTTPS. Для того, чтобы активировать поддержку HTTPS на уже установленном Apache необходимо выполнить следующее.

Создание ключа и ssl-сертификата

Использование самоподписанных сертификатов хоть и защищает от пассивного прослушивания, тем не менее не гарантирует клиентам, что сервер является именно тем сервером, который им нужен. Преймуществом самоподписанных сертификатов является их бесплатность. Сертификат, подписанных компанией-сертификатором (Certificate authority) стоит денег.

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

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

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

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

Чтобы использовать сгенерированный ключ нужно знать пароль введенный нами, и 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

Настройка Apache

Для начала необходимо активировать 

mod_ssl

:

sudo a2enmod ssl

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

sudo a2ensite default-ssl

Теперь необходимо отредактировать файл с настройками HTTPS сайта по умолчанию, указав в нём пути к вашим сертификатам. Сам файл называется 

/etc/apache2/sites-enabled/default-ssl

 (или 

/etc/apache2/sites-enabled/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.

 

Протокол HTTPS работает по 443 порту, поэтому если сервер находится за шлюзом, то необходимо на нём пробросить данный порт.

 

Перенаправление HTTP запросов на HTTPS

Если вы хотите запретить использование HTTP, то самым разумным будет перенаправлять все HTTP запросы к страницам на их HTTPS адрес. Чтобы добиться этого можно, например, организовать перенаправление с помощью 

mod_rewrite

. Для этого сначала необходимо его активировать:

sudo a2enmod rewrite
sudo service apache2 restart

Затем изменить файл 

/etc/apache2/sites-enabled/000-default

, отвечающий за виртуальный хост по умолчанию для HTTP запросов. В этот файл надо добавить внутрь блока

<VirtualHost *:80>
...
</VirtualHost>

строчки:

        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

При этом все настройки директорий можно удалить, поскольку по HTTP на ваши сайты всё равно будет не попасть.

Всё, теперь ещё раз перезапустите Apache и убедитесь, что при заходе по HTTP вы автоматически перенаправляетесь на HTTPS страницу.

Абонентское обслуживание и услуги приходящего системного администратора в Быково, Удельная, Жуковский, Родники.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *