Как установить и настроить сервер ownCloud

Фотография настольного компьютера на белом фоне.

OwnCloud — это мощное решение для личного хранения данных на базе веб-технологий для Linux. Оно работает, преобразуя стандартный стек программного обеспечения Linux-Apache-MySQL-PHP (LAMP) в интерактивное веб-приложение, к которому вы можете получить доступ из любого места.

В этой статье мы покажем вам процесс установки сервера ownCloud на Ubuntu 22.04. Более того, мы также покажем вам, как вы можете обеспечить его безопасность, включив поддержку SSL. Обратите внимание, что вы также можете установить ownCloud на Windows.

Содержание

  • Почему стоит использовать ownCloud?
  • Установка ownCloud
  • Создание обратного прокси Nginx
  • Получение SSL-сертификата для ownCloud
  • Часто задаваемые вопросы

Совет: не хотите устанавливать собственное облачное хранилище? Ознакомьтесь с этими провайдерами облачного хранилища и узнайте, какой из них лучше всего подходит для вас.

Почему стоит использовать ownCloud?

Главное преимущество использования ownCloud заключается в том, что он полагается только на традиционный стек веб-хостинга. В результате возможно запустить экземпляр ownCloud на почти любой установке Linux с всего лишь 512 МБ ОЗУ.

Скриншот экрана по умолчанию ownCloud.

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

Скриншот страницы ownCloud на GitHub.

Наконец, ownCloud также предоставляет свой собственный специализированный клиент, аналогичный Google Drive. Вы можете легко получить доступ к файлам внутри вашего личного облачного хранилища в вашем файловом менеджере.

Скриншот настольного клиента ownCloud.

Совет: не фанат ownCloud? Ознакомьтесь с NextCloud и узнайте, как он сравнивается с ownCloud!

Установка ownCloud

Инструкции ниже демонстрируют установку сервера ownCloud на Ubuntu 22.04. Шаги будут аналогичны на других версиях Ubuntu или дистрибутивах Linux.

  1. Первый шаг в установке ownCloud — убедиться, что ваша машина имеет полное доменное имя. Это позволит серверу правильно перенаправлять любые запросы к нему:
sudo hostnamectl set-hostname "your-domain-name"

Терминал, показывающий имя хоста демонстрационного сервера.

  1. Настройте домен (или поддомен), чтобы он указывал на IP-адрес вашего сервера. Для этого перейдите на сайт вашего регистратора и добавьте запись “A” с IPv4-адресом вашей машины.

Скриншот DNS-записи для демонстрационного сервера.

  1. После этого обновите всю вашу систему:
sudo apt update  
sudo apt upgrade

Установка Docker и Docker Compose

  1. Установите ключ стороннего репозитория проекта Docker:
sudoinstall-m 0755 -d/etc/apt/keyrings  
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg  
sudochmod a+r /etc/apt/keyrings/docker.gpg
  1. Создайте новый файл репозитория apt для Docker в “ /etc/apt/sources.list.d/:”
sudonano/etc/apt/sources.list.d/docker.list
  1. Вставьте следующую строку кода в ваш новый файл “docker.list”:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
  1. Сохраните файл (используя сочетание клавиш Ctrl + O) и выйдите из текстового редактора.

Терминал, показывающий информацию о репозитории Docker для Ubuntu.

  1. Обновите репозиторий apt вашей системы с помощью следующей команды:
sudo apt update
  1. Установите Docker вместе с его необходимыми утилитами с помощью следующей команды:
sudo apt installwget openssl docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

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

Подготовка системы для контейнера ownCloud

  1. Создайте новый каталог для файлов Docker вашего сервера:
mkdir ./owncloud-server  
cd ./owncloud-server

К сведению: Узнайте, как вы можете создать высокопроизводительную платформу веб-хостинга, построив стек LOMP сегодня.

  1. Скачайте шаблон Docker Compose ownCloud с сайта разработчиков:
wget https://raw.githubusercontent.com/owncloud/docs-server/master/modules/admin_manual/examples/installation/docker/docker-compose.yml
  1. Создайте файл окружения Docker внутри папки вашего контейнера Docker:
nano ./.env
  1. Добавьте основные переменные окружения, которые вы хотите использовать для вашего экземпляра ownCloud. Вот пример шаблона:
OWNCLOUD_VERSION=10.12  
OWNCLOUD_DOMAIN=YOUR-DOMAIN-NAME  
OWNCLOUD_TRUSTED_DOMAINS=localhost,YOUR-DOMAIN-NAME  
ADMIN_USERNAME=YOUR-ADMIN-USERNAME-HERE  
ADMIN_PASSWORD=YOUR-ADMIN-PASSWORD-HERE  
HTTP_PORT=8080

Вам нужно изменить “your-domain-name” на ваше собственное доменное имя. Также имя пользователя и пароль администратора относятся к администратору входа в OwnCloud, а не к учетной записи системного администратора.

Терминал, показывающий простой файл переменных окружения Docker Compose для ownCloud.

Примечание: Вы можете сгенерировать безопасный пароль, используя файл устройства вашей системы “/dev/urandom”: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 64 | head -n 1.

  1. Сохраните ваш файл “.env” и выйдите.

  2. Запустите Docker Compose в каталоге контейнера:

docker compose up -d

Терминал, показывающий процесс сборки контейнера Docker для ownCloud.

Создание обратного прокси Nginx

На данный момент у вас уже есть частично работающая установка ownCloud. Чтобы она могла принимать соединения, вам нужно создать обратный прокси, который свяжет ваш внутренний экземпляр с внешним веб-сервером.

  1. Установите веб-сервер Nginx с помощью apt:
sudo apt install nginx
  1. Создайте файл конфигурации сайта для вашего обратного прокси ownCloud:
sudonano/etc/nginx/sites-available/owncloud
  1. Напишите блок обратного прокси, который слушает на порту 80. Вот простой шаблон кода, который я изменил, чтобы он работал с поддоменом моего сервера:
server {  
    listen 80;  
    listen [::]:80;  
  
    root /var/www/html;  
    server_name owncloud.myvpsserver.top;  
  
    location /{  
        proxy_set_header   X-Forwarded-For $remote_addr;  
        proxy_set_header   Host $http_host;  
        proxy_pass         http://localhost:8080;  
}  
}
  1. После этого создайте символическую ссылку для вашего нового файла сайта:
sudoln-s/etc/nginx/sites-available/owncloud /etc/nginx/sites-enabled/owncloud
  1. Проверьте вашу конфигурацию Nginx. Если все в порядке, перезапустите Nginx, чтобы изменения вступили в силу.
sudo nginx -t
sudo systemctl reload nginx

Получение SSL-сертификата для ownCloud

Хотя возможно использовать ownCloud через HTTP, это может быть крайне небезопасно, так как все соединения, которые вы устанавливаете с ним, не зашифрованы. Один из способов решить эту проблему — включить SSL для вашего сервера ownCloud.

  1. Обновите установку snapd вашей системы:
sudo snap install core  
sudo snap refresh core
  1. Установите пакет certbot snap:
sudo snap install--classic certbot
  1. Создайте символическую ссылку с вашим пакетом certbot snap и бинарным путем вашей системы:
sudoln-s/snap/bin/certbot /usr/bin/certbot
  1. Зарегистрируйте вашу новую установку certbot в Электронной Фронтовой Ассоциации:
sudo certbot register --agree-tos--email [email protected]
  1. Запустите команду certbot для домена (или поддомена) вашего сервера:
sudo certbot --nginx-d owncloud.myvpsserver.top

Терминал, показывающий автоматический процесс выдачи SSL-сертификата certbot для Nginx.

  1. После завершения вы можете ввести ваше доменное имя в браузере, и ваша новая страница входа ownCloud должна появиться.

Скриншот, показывающий работающий экземпляр ownCloud, работающий через SSL.

Полезно знать: Узнайте, как данные шифруются в интернете через SSL, создав свой собственный самоподписанный сертификат.

Часто задаваемые вопросы

Можно ли добавить обычного пользователя в ownCloud?

Да. Чтобы добавить нового пользователя, перейдите в свою учетную запись администратора ownCloud и нажмите на имя администратора в правом верхнем углу страницы. Затем нажмите кнопку “Пользователи”, чтобы открыть текущий список пользователей сервера. Там вы можете добавить нового пользователя, указав имя пользователя и адрес электронной почты.

Кредит изображения: Quaritsch Photography через Unsplash (фон) и Wikimedia Commons (логотип). Все изменения и скриншоты сделаны Рамсесом Редом.