Перейти к основному содержанию

OwnCloud — установка на Ubuntu 20.04

Owncloud

OwnCloud — это свободное и открытое веб-приложение для синхронизации данных и совместной работы с файлами в стиле Dropbox. Замечательный инструмент для создания личного, семейного или корпоративного файлового хранилища.

Облачные хранилища данных сейчас широко распространены и используются повсеместно для корпоративных и личных нужд.

https://owncloud.com

Сегодня мы установим OwnCloud на Ubuntu 20.04. Версия Ubuntu выбрана просто, на официальном сайте есть подробная документация:

https://doc.owncloud.com/server/next/admin_manual/installation/manual_installation/server_prep_ubuntu_20.04.html

Официальные требования к установке:

  • Операционная система: Ubuntu 20.04 LTS
  • СУБД: MariaDB 10.5 1
  • Web сервер: Apache 2.4 с prefork и mod_php
  • PHP Runtime: 7.4

Виртуальная машина

Чтобы установить OwnCloud нам понадобится сервер. На гипервизоре ESXi 7 создаю виртуальную машину.

owncloud

Подробный отчёт писать не стал, благо есть инструкция по разворачиванию Ubuntu 20.04 на ESXi 6.7:

Установка Ubuntu Server 20.04 LTS на виртуальную машину VMware ESXi 6.7

По инструкции накатываю ОС Ubuntu 20.04.

owncloud

Подготовка к установке OwnCloud

Перед тем как перейти непосредственно к установке OwnCloud, нужно установить PHP 7.4 т необходимые пакеты:

sudo apt install php-fpm php-cgi

owncloud

sudo apt install php

owncloud

sudo apt install php-mysql php-mbstring php-intl php-redis php-imagick \
         php-igbinary php-gmp php-bcmath php-curl php-gd php-zip php-imap \
         php-ldap php-bz2 php-ssh2 php-phpseclib php-common php-json php-xml

owncloud

sudo apt install php-dev libsmbclient-dev php-pear

owncloud

Это ещё не всё, продолжаем.

sudo apt install smbclient

owncloud

В документации рекомендуется установка кеширующего сервера Redis, я, конечно, поставил, но потом не стал его использовать из-за странных блокировок при совместном доступе к файлам.

sudo apt install redis-server

owncloud

Архиватор понадобится.

sudo apt install unzip

owncloud

Без SSL никуда.

sudo apt install openssl

owncloud

Конечно же rsync.

sudo apt install rsync

owncloud

Для работы с изображениями imagemagick.

sudo apt install imagemagick

owncloud

Стандартная версия PEAR не подходит, смотрим текущую:

pear version

owncloud

PEAR VERSION: 1.10.9

Текущая версия 1.10.9, а нужна 1.10.13. Создаём временную папку:

sudo mkdir -p /tmp/pear/cache

owncloud

Обновляем PEAR:

sudo pear upgrade --force --alldeps http://pear.php.net/get/PEAR-1.10.13

owncloud

Чистим-обновляем:

sudo pear clear-cache
sudo pear update-channels

owncloud

Продолжаем обновлять:

sudo pear upgrade --force

owncloud

А потом... обновляем.

sudo pear upgrade-all

owncloud

Обновлять нечего, это хорошо. Мы добились успеха. Проверяем версию:

pear version

owncloud

PEAR VERSION: 1.10.13

Текущая версия 1.10.13.

Чистим кэш:

rm -r /tmp/pear/cache

owncloud

Расширения PHP

Список доступных расширений в /etc/php/7.4/mods-available.

cd /etc/php/7.4/mods-available
ll

Я не знаю какие вам могут понадобиться расширения, но если они понадобятся, до добавить их можно так:

sudo phpenmod php-ldap

А убрать так:

sudo phpdismod php-ldap

Настройка DNS и проверка доступности домена

Настраиваем сеть на виртуалке. У всех могут быть разные настройки. Я, к примеру, первоначальные настройки указал при установке сервера, но забыл указать свой локальный доменный DNS. Добавляю его в netplan:

owncloud

И в /etc/systemd/resolved.conf:

owncloud

И в /etc/nsswitch.conf:

owncloud

systemctl enable systemd-resolved

owncloud

У меня на сервере будет использоваться доменная аутентификация, проверяю доступность домена ilab.local.

host -t SRV _ldap._tcp.ilab.local

owncloud

Вижу один контроллер домена. Всё в порядке.

Проверяю доступность сетевых папок (у меня планируется использование внешних SMB хранилищ) на контроллере домена под доменным пользователем.

smbclient -L ilab-dc.ilab.local -U ilab.local/user1

Указываю пароль пользователя.

owncloud

Шара доступна.

База данных

В документации рекомендуют MariaDB в качестве сервера БД. Вынес установку в отдельную статью:

Установка MariaDB 10 на Ubuntu 20.04

После установки MariaDB нужно создать пользователя для OwnCloud:

sudo mysql --user=root
CREATE USER 'dbadmin'@'localhost' IDENTIFIED BY 'qwerty';
GRANT ALL PRIVILEGES ON *.* TO 'dbadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

owncloud

Создаю пользователя dbadmin с паролем qwerty и даю ему полные права на все базы. Подразумевается, что никаких баз кроме OwnCloud на этом сервере не будет.

Apache

В качестве web сервера в документации рекомендуют Apache. Ну пусть будет, устанавливаем.

sudo apt install libapache2-mod-php apache2

owncloud

Создаём конфигурационный файл для OwnCloud.

cd /etc/apache2/sites-available
touch owncloud.conf

owncloud

Внутри я пишу что-то вроде:

alias /owncloud "/var/www/owncloud"

<Directory /var/www/owncloud>
  Options +FollowSymlinks
  AllowOverride All

 <IfModule mod_dav.c>
  Dav off
 </IfModule>
</Directory>

owncloud

В документации есть более правильный скрипт для создания конфигурационного файла:

FILE="/etc/apache2/sites-available/owncloud.conf"
cat <<EOM >$FILE
<VirtualHost *:80>
# uncommment the line below if variable was set
#ServerName $my_domain
DirectoryIndex index.php index.html
DocumentRoot /var/www/owncloud
<Directory /var/www/owncloud>
  Options +FollowSymlinks -Indexes
  AllowOverride All
  Require all granted

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud
</Directory>
</VirtualHost>
EOM

Включаем:

a2ensite owncloud.conf
systemctl reload apache2

owncloud

Конфигурационный файл появляется в /etc/apache2/sites-enabled.

owncloud

Можно отключить лишнюю конфигурацию:

a2dissite 000-default

Подключаем модули Apache:

sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
sudo a2enmod unique_id
systemctl restart apache2

owncloud

Установка OwnCloud

Теперь можно установить OwnCloud. Есть несколько способов установки, я воспользуюсь установкой с помощью скриптов.

Качаю пакет в /tmp.

cd /tmp
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2 

owncloud

Качается последняя версия OwnCloud. Если нужна другая, то ссылки можно найти здесь:

https://owncloud.com/download-server/

owncloud

В папке /opt/owncloud создаю два скрипта. Примеры здесь:

https://doc.owncloud.com/server/10.10/admin_manual/installation/manual_installation/script_guided_install.html

Модифицирую скрипт instance.sh под свою установку.

  • ocname — название директории с файлами owncloud (по умолчанию owncloud)
  • ocroot — путь к ocname, обычно /var/www (без завершаюзего слеша, по умолчанию /var/www)
  • linkroot — путь к папке с прилинкованными данными и внешними приложениями apps-external (по умолчанию /mnt/owncloud_data). Вы должны подготовить папку заранее и назначить права r/w пользователю web сервера.
  • htuser — пользователь web сервера (по умолчанию www-data)
  • htgroup — группа web сервера (по умолчанию www-data)
  • rootuser — пользователь root (по умолчанию root)
 
instance.sh

owncloud_prep.sh не редактируем.

 
owncloud_prep.sh

Запускаем instance.sh.

Скрипт начинает задавать вопросы.

Do you want to secure your .htaccess files post installing/upgrade (y/N)? N
Do you want to install a new instance (y/N)? y

owncloud

Do you want to upgrade an existing installation (y/N)? N
Use links for data and apps-external directories (Y/n)? Y
Do you want to chmod/chown these links (y/N)? Y
Please specify the tar file to extract with full path:

Указываю полный путь к архиву: /tmp/owncloud-complete-latest.tar.bz2

owncloud

Установка завершена. Дальнейшие настройки нужно проводить в браузере.

owncloud

Внимательно читаем вопросы мастера, отвечаем. В процессе будет создана база данных и учётная запись администратора OwnCloud.

Затем настраиваем конфигурационный файл owncloud, нужно ознакомиться с документацией. Настраиваем https, сертификаты, доменное имя. Разбираемся с тем как накатить свой скин. Устанавливаем дополнительные пакеты из магазина, там есть и бесплатные. Настраиваем LDAP аутентификацию, если нужно. Вникаем в тонкости установки и настройки внешних хранилищ. Всё это не в рамках данной статьи.

owncloud

Онлайн-курс по устройству компьютерных сетей

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Реклама ИП «Скоромнов Дмитрий Анатольевич» ИНН 331403723315

 

Похожие материалы

Supermicro — изменение разделов RAID Intel Rapid Storage

В моём сервере Supermicro под систему собран RAID1. Пришла задача - увеличить раздел boot на этом зеркале. Зеркало собрано встроенными средствами Intel Rapid Storage. Проблема возникла, когда я попытался загрузиться в Hiren's BootCD и разбить зеркало с помощью gparted. Упс, отдельные диски зеркала увиделись, а само зеркало — нет.

Проблема с SNMP на серверах HPE Proliant Gen9

Столкнулся с неизлечимой проблемой на серверах HP Proliant. Через случайный промежуток времени (от нескольких минут до нескольких дней) служба SNMP в ILO сервера зависает. Это происходит на серверах, которые активно мониторятся через SNMP. 

Теги