Добрый день, сегодня я расскажу о безопасном хранении данных. Это тема назревала давно, так как я не доверяю сервисам типа Dropbox, в связи с тем, что мои данные храняться на чужом сервере и не понятно кто к ним имеет доступ.
И так приступим к установке. Я взял чисто установленный сервер Ubuntu 14.04. Так как ownCloud убрали из стандартных репозиториев нам надо добавить репозиторий http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_14.04/ сделать это легко, открываем файл:
sudo nano /etc/apt/sources.list.d/owncloud.list
И прописываем в него deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_14.04/ /
Теперь обновляем список репозиториев:
sudo apt-get update
Устанавливаем сам ownCloud, вместе с ним так же установятся все необходимые пакеты.
Во время установки необходимо задать пароль для mysql
После того как все пакеты будут установлены, нам необходимо обезопасить наше хранилище и сделать к нему доступ только по HTTPS с использованием сертификатов. Для этого мы создаем папку с сертификатами:
sudo mkdir /etc/apache2/ssl
cd /etc/apache2/ssl
Теперь создадим ключ rsa.
sudo openssl genrsa -out owncloud.key 2048
Я использую 2048 бит, можете использовать и больше. Я считаю, что 2048 бит вполне достаточно. Теперь подпишем этим ключем наш новый сертификат.
sudo openssl req -x509 -new -key owncloud.key -days 365 -out owncloud.crt
Я поставил срок жизни сертификата в 1 год (365 дней), можете установить любое количество дней. Сертификат можно выкладывать в открытый доступ, а вот ключ надо хранить как зеницу ока!!! Заполняем данные сертификата.
Теперь необходимо настроить apache на HTTPS. Для этого открываем файл /etc/apache2/sites-available/default-ssl.conf
sudo nano /etc/apache2/sites-available/default-ssl.conf
В нём меняем e-mail, дописываем в него после строки SSLEngine on стороку SSLProtocol all -SSLv2 тем самым отключаем устаревший протокол. И меняем два параметра на:
SSLCertificateFile /etc/apache2/ssl/owncloud.crt #Путь к сертификату SSLCertificateKeyFile /etc/apache2/ssl/owncloud.key №Путь к ключу
Теперь с помощью утилит a2enmod и a2ensite говорим apache что надо использовать SSL
sudo a2enmod default-ssl
sudo a2ensite default-ssl
Перезапускаем apache командой:
sudo services apache restart
Заходим на нашес сервер https://НашСервер/owncloud подтверждаем безопасность открытия данной страницы, так как мы знаем что это наш сервер и его сертификат безопасен. И видим окно логина, задаем имя пользователя и пароль администратора. Настоятельно рекомендую использовать эти учетные данные только для администрирования сервера.
Теперь нам надо сказать ownCloud чтоб он использовал только HTTPS. В правом верхнем углу нажимаем на имя учетной записи и жмем "Администрирование", пролистываем почти в самый низ до пункта "Безопасность" и ставим там галочку "Принудить к HTTPS". Все готово, теперь создаем пользователей и можно пользоваться своим собственным хранилищем.