Введение
ownCloud — платформа обмена файлами и совместной работы с открытым исходным кодом, предназначенная для централизованного хранения персонального контента, в том числе документов и изображений. Платформа позволяет полностью контролировать контент и его безопасность, не полагаясь на такие сторонние службы хостинга, как Dropbox.
В этом обучающем руководстве мы научимся устанавливать и настраивать экземпляр ownCloud на сервере Ubuntu 18.04.
Предварительные требования
Чтобы выполнить перечисленные в настоящем руководстве шаги, вам потребуется следующее:
- Пользователь sudo и брандмауэр на вашем сервере. Вы можете создать пользователя с привилегиями
sudo
и настроить базовый брандмауэр в соответствии с указаниями руководства Начальная настройка сервера Ubuntu 18.04. - Стек LAMP. Для работы ownCloud требуются веб-сервер, база данных и PHP. Установка на сервер стека LAMP (Linux, Apache, MySQL и PHP) позволяет удовлетворить все эти требования. Воспользуйтесь этим руководством для установки и настройки данного программного обеспечения.
- Сертификат SSL. Настройка сертификата зависит от того, присвоено ли вашему серверу доменное имя.
- Если у вас есть доменное имя…, самым простым способом защиты вашего сайта будет использование Let’s Encrypt, который предоставляет бесплатные доверенные сертификаты. Воспользуйтесь нашим Руководством по Let’s Encrypt для Apache для выполнения настройки.
- Если у вас нет домена… и вы просто используете данную конфигурацию для тестирования или в личных целях, вы можете использовать самоподписанный сертификат. Данный способ обеспечивает аналогичный тип шифрования, но без подтверждения домена. Следуйте указаниям руководства по настройке самоподписанного сертификата SSL для Apache, чтобы выполнить настройку.
Шаг 1 — Установка ownCloud
Пакет сервера ownCloud отсутствует в репозиториях Ubuntu по умолчанию. Однако для распространения ownCloud имеется собственный репозиторий, который мы можем добавить на наш сервер.
Для начала загрузите ключ релиза с помощью команды curl
и импортируйте его с помощью утилиты apt-key
, используя команду add
:
- curl https://download.owncloud.org/download/repositories/10.0/Ubuntu_18.04/Release.key | sudo apt-key add -
Файл Release.key содержит открытый ключ PGP, который apt
использует для проверки подлинности пакета ownCloud.
Помимо импорта ключа вам нужно будет создать файл owncloud.list
в директории sources.list.d
для apt
. В этом файле будет содержаться адрес репозитория ownCloud.
- echo 'deb http://download.owncloud.org/download/repositories/10.0/Ubuntu_18.04/ /' | sudo tee /etc/apt/sources.list.d/owncloud.list
Сейчас мы можем использовать диспетчер пакетов для поиска и установки ownCloud. Вместе с основным пакетом мы установим несколько дополнительных библиотек PHP, которые используются ownCloud для добавления дополнительных функций. Обновите индекс локальных пакетов и установите все необходимое с помощью следующей команды:
- sudo apt update
- sudo apt install php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip owncloud-files
Мы установим на сервер все, что нам потребуется, а затем сможем закончить настройку и начать использование службы.
Шаг 2 — Настройка корневого каталога документов
Установленный нами пакет ownCloud копирует веб-файлы в директорию /var/www/owncloud
на сервере. Конфигурация виртуального хоста Apache настроена для выдачи файлов из другой директории. Нам нужно изменить параметр DocumentRoot
в нашей конфигурации, чтобы он указывал на новую директорию.
Чтобы определить, какие файлы виртуального хоста ссылаются на ваше доменное имя или IP-адрес, нужно использовать утилиту apache2ctl
с опцией DUMP_VHOSTS
. Отфильтруйте результаты по доменному имени или IP-адресу вашего сервера, чтобы определить, какие файлы нужно отредактировать с помощью следующих нескольких команд:
- sudo apache2ctl -t -D DUMP_VHOSTS | grep server_domain_or_IP
Результаты будут выглядеть примерно так:
Output
*:443 server_domain_or_IP (/etc/apache2/sites-enabled/server_domain_or_IP-le-ssl.conf:2)
port 80 namevhost server_domain_or_IP (/etc/apache2/sites-enabled/server_domain_or_IP.conf:1)
В скобках показаны все файлы, ссылающиеся на доменное имя или IP-адрес, которые мы будем использовать для доступа к ownCloud. Это те файлы, которые вам нужно отредактировать.
Откройте каждый из совпадающих файлов в текстовом редакторе с привилегиями sudo
:
- sudo nano /etc/apache2/sites-enabled/server_domain_or_IP.conf
Найдите в каждом из файлов директиву DocumentRoot
. Измените эту строку так, чтобы она указывала на директорию /var/www/owncloud
:
Example DocumentRoot edit
<VirtualHost *:80>
. . .
DocumentRoot /var/www/owncloud
. . .
</VirtualHost>
Сохраните файл и закройте его после завершения. Завершите эту процедуру для каждого из файлов, ссылающихся на ваше доменное имя (или на IP-адрес, если у вашего сервера нет доменного имени).
Закончив редактирование, проверьте синтаксис файлов Apache и убедитесь, что в конфигурации отсутствуют заметные опечатки:
- sudo apache2ctl configtest
Output
Syntax OK
В зависимости от вашей конфигурации вы можете увидеть предупреждение относительно настройки параметра ServerName
как глобального. Если в конце страницы результатов отображается надпись Syntax OK
, вы можете игнорировать это предупреждение. Если вы видите дополнительные ошибки, проверьте отредактированные файлы на наличие ошибок.
Если файлы прошли проверку синтаксиса, перезапустите службу Apache для активации изменений:
- sudo systemctl reload apache2
Теперь Apache должен выводить ваши файлы ownCloud с вашего сервера.
Шаг 3 — Настройка базы данных MySQL
Прежде чем перейти к настройке веб-конфигурации, нам нужно настроить базу данных. В процессе настройки веб-конфигурации нам нужно указать имя базы данных, имя пользователя базы данных и пароль для базы данных. Все это необходимо ownCloud для подключения к базе данных MySQL и управления своими данными.
Для начала войдите в базу данных как администратор MySQL:
Если вы задали использование пароля для учетной записи MySQL root
, используйте следующий синтаксис:
Создайте выделенную базу данных для ownCloud. Для удобства мы присвоим базе данных имя owncloud
:
- CREATE DATABASE owncloud;
Примечание. Каждый оператор MySQL должен заканчиваться точкой с запятой (;). Обязательно проверьте это, если у вас возникнут проблемы.
Затем создайте отдельную учетную запись пользователя MySQL для управления созданной базой данных. Создание баз данных и учетных записей с одной функцией является хорошей идеей с точки зрения управления и безопасности. Выберите предпочитаемое имя пользователя. Для целей этого обучающего модуля мы решили использовать имя owncloud
.
- GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'owncloud_database_password';
Предупреждение. Обязательно введите реальный пароль там, где в команде стоит: owncloud_database_password
С назначенным пользователем доступом к базе данных выполните операцию очистки привилегий, чтобы работающему экземпляру MySQL было известно о недавнем назначении привилегий:
Теперь вы можете закрыть сеанс MySQL с помощью следующей команды:
Мы установили сервер ownCloud и настроили базу данных. Теперь можно переходить к настройке приложения ownCloud.
Шаг 4 — Настройка конфигурации ownCloud
Чтобы открыть веб-интерфейс ownCloud, введите в браузере следующий адрес:
https://server_domain_or_IP
Примечание. Если вы используете самоподписанный сертификат SSL, вы можете увидеть предупреждение безопасности, поскольку этот сертификат не подписан доверенным центром сертификации, указанным в браузере. Такое предупреждение нормально, и его следует ожидать. Нажмите соответствующую кнопку или ссылку для перехода на страницу администрирования ownCloud.
В вашем браузере должна открыться страница веб-конфигурации ownCloud.
Создайте учетную запись администратора, выбрав имя пользователя и пароль. Для целей безопасности не рекомендуется использовать имя пользователя admin или другие похожие имена:
Оставьте параметр Data folder без изменений и прокрутите страницу до раздела конфигурации базы данных.
Укажите имя базы данных, имя пользователя базы данных и пароль для доступа к базе данных, которые вы создали на предыдущем шаге. Если вы использовали параметры из этого руководства, именем базы данных и именем пользователя будет owncloud
. Оставьте localhost
в качестве хоста базы данных:
Нажмите кнопку Finish setup (Завершить настройку), чтобы завершить настройку конфигурации ownCloud с использованием указанной вами информации. Вы перейдете на экран входа в систему, где вам нужно будет ввести новые учетные данные:
При первом входе в систему откроется экран, где вы сможете загрузить приложения для синхронизации файлов на различных устройствах. Вы можете загрузить и настроить их сейчас или позднее. Завершив этот шаг, нажмите x в правом верхнем углу экрана заставки, чтобы перейти к главному интерфейсу:
Здесь вы можете создавать файлы или выгружать их в свое персональное облако.
Заключение
ownCloud позволяет воспроизводить возможности популярных сторонних облачных сервисов хранения файлов. Контентом можно делиться с другими пользователями или делать его общедоступным через публичные URL. Преимущество ownCloud заключается в том, что вы контролируете место хранения данных и управляете им без использования сторонних услуг.
Изучите интерфейс и установите плагины из магазина приложений ownCloud, если вам требуются дополнительные возможности.