Tutorial

Установка и настройка ownCloud в Ubuntu 18.04

Published on January 24, 2020
Русский
Установка и настройка ownCloud в Ubuntu 18.04

Введение

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:

  1. 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.

  1. 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 для добавления дополнительных функций. Обновите индекс локальных пакетов и установите все необходимое с помощью следующей команды:

  1. sudo apt update
  2. 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-адресу вашего сервера, чтобы определить, какие файлы нужно отредактировать с помощью следующих нескольких команд:

  1. 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:

  1. 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 и убедитесь, что в конфигурации отсутствуют заметные опечатки:

  1. sudo apache2ctl configtest
Output
Syntax OK

В зависимости от вашей конфигурации вы можете увидеть предупреждение относительно настройки параметра ServerName как глобального. Если в конце страницы результатов отображается надпись Syntax OK, вы можете игнорировать это предупреждение. Если вы видите дополнительные ошибки, проверьте отредактированные файлы на наличие ошибок.

Если файлы прошли проверку синтаксиса, перезапустите службу Apache для активации изменений:

  1. sudo systemctl reload apache2

Теперь Apache должен выводить ваши файлы ownCloud с вашего сервера.

Шаг 3 — Настройка базы данных MySQL

Прежде чем перейти к настройке веб-конфигурации, нам нужно настроить базу данных. В процессе настройки веб-конфигурации нам нужно указать имя базы данных, имя пользователя базы данных и пароль для базы данных. Все это необходимо ownCloud для подключения к базе данных MySQL и управления своими данными.

Для начала войдите в базу данных как администратор MySQL:

  1. sudo mysql

Если вы задали использование пароля для учетной записи MySQL root, используйте следующий синтаксис:

  1. mysql -u root -p

Создайте выделенную базу данных для ownCloud. Для удобства мы присвоим базе данных имя owncloud:

  1. CREATE DATABASE owncloud;

Примечание. Каждый оператор MySQL должен заканчиваться точкой с запятой (;). Обязательно проверьте это, если у вас возникнут проблемы.

Затем создайте отдельную учетную запись пользователя MySQL для управления созданной базой данных. Создание баз данных и учетных записей с одной функцией является хорошей идеей с точки зрения управления и безопасности. Выберите предпочитаемое имя пользователя. Для целей этого обучающего модуля мы решили использовать имя owncloud.

  1. GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'owncloud_database_password';

Предупреждение. Обязательно введите реальный пароль там, где в команде стоит: owncloud_database_password

С назначенным пользователем доступом к базе данных выполните операцию очистки привилегий, чтобы работающему экземпляру MySQL было известно о недавнем назначении привилегий:

  1. FLUSH PRIVILEGES;

Теперь вы можете закрыть сеанс MySQL с помощью следующей команды:

  1. exit

Мы установили сервер ownCloud и настроили базу данных. Теперь можно переходить к настройке приложения ownCloud.

Шаг 4 — Настройка конфигурации ownCloud

Чтобы открыть веб-интерфейс ownCloud, введите в браузере следующий адрес:

https://server_domain_or_IP

Примечание. Если вы используете самоподписанный сертификат SSL, вы можете увидеть предупреждение безопасности, поскольку этот сертификат не подписан доверенным центром сертификации, указанным в браузере. Такое предупреждение нормально, и его следует ожидать. Нажмите соответствующую кнопку или ссылку для перехода на страницу администрирования ownCloud.

В вашем браузере должна открыться страница веб-конфигурации ownCloud.

Создайте учетную запись администратора, выбрав имя пользователя и пароль. Для целей безопасности не рекомендуется использовать имя пользователя admin или другие похожие имена:

Учетная запись администратора ownCloud

Оставьте параметр Data folder без изменений и прокрутите страницу до раздела конфигурации базы данных.

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

Конфигурация базы данных ownCloud

Нажмите кнопку Finish setup (Завершить настройку), чтобы завершить настройку конфигурации ownCloud с использованием указанной вами информации. Вы перейдете на экран входа в систему, где вам нужно будет ввести новые учетные данные:

Экран входа в систему ownCloud

При первом входе в систему откроется экран, где вы сможете загрузить приложения для синхронизации файлов на различных устройствах. Вы можете загрузить и настроить их сейчас или позднее. Завершив этот шаг, нажмите x в правом верхнем углу экрана заставки, чтобы перейти к главному интерфейсу:

Главный интерфейс ownCloud

Здесь вы можете создавать файлы или выгружать их в свое персональное облако.

Заключение

ownCloud позволяет воспроизводить возможности популярных сторонних облачных сервисов хранения файлов. Контентом можно делиться с другими пользователями или делать его общедоступным через публичные URL. Преимущество ownCloud заключается в том, что вы контролируете место хранения данных и управляете им без использования сторонних услуг.

Изучите интерфейс и установите плагины из магазина приложений ownCloud, если вам требуются дополнительные возможности.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors


Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel