ownCloud — платформа обмена файлами и совместной работы с открытым исходным кодом, предназначенная для централизованного хранения персонального контента, в том числе документов и изображений. Платформа позволяет полностью контролировать контент и его безопасность, не полагаясь на такие сторонние службы хостинга, как Dropbox.
В этом обучающем руководстве мы научимся устанавливать и настраивать экземпляр ownCloud на сервере Ubuntu 18.04.
Чтобы выполнить перечисленные в настоящем руководстве шаги, вам потребуется следующее:
sudo
и настроить базовый брандмауэр в соответствии с указаниями руководства Начальная настройка сервера Ubuntu 18.04.Пакет сервера 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
Мы установим на сервер все, что нам потребуется, а затем сможем закончить настройку и начать использование службы.
Установленный нами пакет 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
:
<VirtualHost *:80>
. . .
DocumentRoot /var/www/owncloud
. . .
</VirtualHost>
Сохраните файл и закройте его после завершения. Завершите эту процедуру для каждого из файлов, ссылающихся на ваше доменное имя (или на IP-адрес, если у вашего сервера нет доменного имени).
Закончив редактирование, проверьте синтаксис файлов Apache и убедитесь, что в конфигурации отсутствуют заметные опечатки:
- sudo apache2ctl configtest
OutputSyntax OK
В зависимости от вашей конфигурации вы можете увидеть предупреждение относительно настройки параметра ServerName
как глобального. Если в конце страницы результатов отображается надпись Syntax OK
, вы можете игнорировать это предупреждение. Если вы видите дополнительные ошибки, проверьте отредактированные файлы на наличие ошибок.
Если файлы прошли проверку синтаксиса, перезапустите службу Apache для активации изменений:
- sudo systemctl reload apache2
Теперь Apache должен выводить ваши файлы ownCloud с вашего сервера.
Прежде чем перейти к настройке веб-конфигурации, нам нужно настроить базу данных. В процессе настройки веб-конфигурации нам нужно указать имя базы данных, имя пользователя базы данных и пароль для базы данных. Все это необходимо ownCloud для подключения к базе данных MySQL и управления своими данными.
Для начала войдите в базу данных как администратор MySQL:
- sudo mysql
Если вы задали использование пароля для учетной записи MySQL root
, используйте следующий синтаксис:
- mysql -u root -p
Создайте выделенную базу данных для ownCloud. Для удобства мы присвоим базе данных имя owncloud
:
- CREATE DATABASE owncloud;
Примечание. Каждый оператор MySQL должен заканчиваться точкой с запятой (;). Обязательно проверьте это, если у вас возникнут проблемы.
Затем создайте отдельную учетную запись пользователя MySQL для управления созданной базой данных. Создание баз данных и учетных записей с одной функцией является хорошей идеей с точки зрения управления и безопасности. Выберите предпочитаемое имя пользователя. Для целей этого обучающего модуля мы решили использовать имя owncloud
.
- GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'owncloud_database_password';
Предупреждение. Обязательно введите реальный пароль там, где в команде стоит: owncloud_database_password
С назначенным пользователем доступом к базе данных выполните операцию очистки привилегий, чтобы работающему экземпляру MySQL было известно о недавнем назначении привилегий:
- FLUSH PRIVILEGES;
Теперь вы можете закрыть сеанс MySQL с помощью следующей команды:
- exit
Мы установили сервер ownCloud и настроили базу данных. Теперь можно переходить к настройке приложения ownCloud.
Чтобы открыть веб-интерфейс ownCloud, введите в браузере следующий адрес:
https://server_domain_or_IP
Примечание. Если вы используете самоподписанный сертификат SSL, вы можете увидеть предупреждение безопасности, поскольку этот сертификат не подписан доверенным центром сертификации, указанным в браузере. Такое предупреждение нормально, и его следует ожидать. Нажмите соответствующую кнопку или ссылку для перехода на страницу администрирования ownCloud.
В вашем браузере должна открыться страница веб-конфигурации ownCloud.
Создайте учетную запись администратора, выбрав имя пользователя и пароль. Для целей безопасности не рекомендуется использовать имя пользователя admin или другие похожие имена:
Оставьте параметр Data folder без изменений и прокрутите страницу до раздела конфигурации базы данных.
Укажите имя базы данных, имя пользователя базы данных и пароль для доступа к базе данных, которые вы создали на предыдущем шаге. Если вы использовали параметры из этого руководства, именем базы данных и именем пользователя будет owncloud
. Оставьте localhost
в качестве хоста базы данных:
Нажмите кнопку Finish setup (Завершить настройку), чтобы завершить настройку конфигурации ownCloud с использованием указанной вами информации. Вы перейдете на экран входа в систему, где вам нужно будет ввести новые учетные данные:
При первом входе в систему откроется экран, где вы сможете загрузить приложения для синхронизации файлов на различных устройствах. Вы можете загрузить и настроить их сейчас или позднее. Завершив этот шаг, нажмите x в правом верхнем углу экрана заставки, чтобы перейти к главному интерфейсу:
Здесь вы можете создавать файлы или выгружать их в свое персональное облако.
ownCloud позволяет воспроизводить возможности популярных сторонних облачных сервисов хранения файлов. Контентом можно делиться с другими пользователями или делать его общедоступным через публичные URL. Преимущество ownCloud заключается в том, что вы контролируете место хранения данных и управляете им без использования сторонних услуг.
Изучите интерфейс и установите плагины из магазина приложений ownCloud, если вам требуются дополнительные возможности.
Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.
Sign up