ownCloud — это программный пакет для создания файловых хранилищ, подобных Google Drive и DropBox. Это бесплатное программное обеспечение с открытым исходным кодом, которое позволяет вам настроить собственное файловое хранилище на вашем сервере. ownCloud предлагает серверное приложение (основной компонент программного пакета ownCloud) и клиентские приложения, которые можно установить на различные операционные системы, такие как Linux, Windows, macOS, Android и iOS.
ownCloud в основном написано на PHP, JavaScript и Go. Оно позволяет легко синхронизировать события календаря, хранить архивы, изображения и файлы любых форматов. А также позволяет организовывать задачи, адресные книги и многое другое. ownCloud — это расширяемое приложение, которое позволяет устанавливать дополнительные приложения поверх него.
В этом руководстве мы покажем вам, как установить и настроить ownCloud на сервере Ubuntu 22.04. Здесь также рассматриваются некоторые основные аспекты установки и настройки стека LAMP (Linux, Apache2, MariaDB и PHP) на сервере Ubuntu.
Необходимые условия
Для этого руководства нам потребуются следующие условия:
- Сервер Ubuntu версии 22.04.
- Пользователь, не являющийся root, но имеющий права администратора root.
- Доменное имя, настроенное и разрешающееся на IP-адрес сервера.
Установка зависимостей
Перед началом установки ownCloud необходимо установить на сервер некоторые базовые пакеты-зависимости, в том числе такие, как openssl, redis-server, smbclient и т. д.
Сначала обновите репозиторий Ubuntu до последней версии с помощью команды apt , приведенную ниже.
sudo apt update
После этого установите пакеты зависимостей с помощью приведенной ниже команды.
sudo apt install smbclient redis-server unzip openssl rsync imagemagick
Введите Y для подтверждения установки и нажмите ENTER , чтобы начать. После завершения установки всех зависимостей перейдите к следующему шагу.

Установка PHP 7.4
Теперь вы будете устанавливать зависимости PHP для вашей установки ownCloud на сервере Ubuntu.
Последняя версия репозитория Ubuntu 22.04 предоставляет пакеты PHP 8.1. Однако для ownCloud вам понадобится PHP 7.4 вместо PHP 8.1. На данный момент ownCloud ещё не полностью поддерживает PHP 8.1.
Теперь вам предстоит установить PHP 7.4 из стороннего репозитория «ppa:ondrej/php» на последнюю версию сервера Ubuntu 22.04.
Выполните следующую команду, чтобы добавить репозиторий PPA для пакетов PHP. Эта команда также автоматически обновит и освежит ваш репозиторий Ubuntu.
sudo add-apt-repository ppa:ondrej/php -y
Затем выполните приведенную ниже команду apt, чтобы установить PHP 7.4 в вашей системе Ubuntu. Кроме того, следующая команда также установит некоторые пакеты PHP 8.1, но не беспокойтесь, так как вы сможете настроить версию PHP по умолчанию в Ubuntu.
sudo apt install php7.4 php7.4-intl php7.4-mysql php7.4-mbstring \ php7.4-imagick php7.4-igbinary php7.4-gmp php7.4-bcmath \ php7.4-curl php7.4-gd php7.4-zip php7.4-imap php7.4-ldap \ php7.4-bz2 php7.4-ssh2 php7.4-common php7.4-json \ php7.4-xml php7.4-dev php7.4-apcu php7.4-redis \ libsmbclient-dev php-pear php-phpseclib
Затем выполните следующую команду, чтобы настроить версию PHP по умолчанию в вашей системе.
sudo update-alternatives --config php
Введите номер версии PHP 7.4 и нажмите ENTER для подтверждения. В этом примере PHP 7.4 доступен под номером «2«.
Теперь проверьте версию PHP с помощью следующей команды. Вы увидите, что версия PHP по умолчанию изменена на PHP 7.4, как того требует установка ownCloud.
php --version

Теперь выполните следующую команду, чтобы установить версию инструментов PHP на 7.4.
sudo update-alternatives --set phar /usr/bin/phar7.4 sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.4 sudo update-alternatives --set phpize /usr/bin/phpize7.4 sudo update-alternatives --set php-config /usr/bin/php-config7.4
Далее вам также необходимо обновить PEAR до последней стабильной версии для ownCloud. На данный момент последней стабильной версией PEAR является v1.10.13, которую можно обновить вручную.
Создайте новый временный каталог /tmp/pear/cache с помощью следующей команды.
sudo mkdir -p /tmp/pear/cache
Обновите версию PEAR до 1.10.13 с помощью приведенной ниже команды pear.
sudo pear upgrade --force \ --alldeps http://pear.php.net/get/PEAR-1.10.13
Теперь запустите приведенные ниже команды pear, чтобы очистить кэш, обновить каналы и выполнить полное обновление.
sudo pear clear-cache sudo pear update-channels sudo pear upgrade --force sudo pear upgrade-all
После завершения процесса обновления проверьте версию PEAR с помощью следующей команды. Вы должны увидеть, что версия PEAR обновлена до v1.10.13.
pear version

Установка веб-сервера Apache2
Теперь пришло время установить веб-сервер Apache2 для ownCloud, что также включит модули, необходимые для ownCloud.
Установите веб-сервер Apache2 с помощью приведенной ниже команды apt.
sudo apt install libapache2-mod-php7.4 apache2
Введите Y , чтобы подтвердить установку, и нажмите ENTER , чтобы начать установку.
Теперь, после завершения установки, запустите приведенную ниже команду a2enmod, чтобы включить некоторые модули Apache2, необходимые для ownCloud.
sudo a2enmod rewrite env dir mime unique_id headers ssl

Перезапустите службу Apache2, чтобы применить новые изменения.
sudo systemctl restart apache2
Установка сервера MariaDB
После установки PHP 7.4 и веб-сервера Apache2 пришло время установить сервер MariaDB. По умолчанию ownCloud поддерживает несколько СУБД, таких как MySQL/MariaDB, SQLite, PostgreSQL и Oracle. Самый простой, бесплатный и рекомендуемый для развертывания ownCloud способ — использовать базу данных MySQL/MariaDB.
Запустите приведенную ниже команду apt, чтобы установить пакет сервера MariaDB.
sudo apt install mariadb-server
Введите Y для подтверждения установки и нажмите ENTER для запуска. Теперь начнется установка.

После завершения установки MariaDB выполните следующую команду, чтобы настроить и защитить развертывание MariaDB.
sudo mysql_secure_installation
Вам будет предложено ввести некоторые базовые настройки MariaDB, указанные ниже:
- Введите новый пароль root для MariaDB и повторите его.
- По желанию введите Y , чтобы переключить аутентификацию на аутентификацию unix_socket.
- Введите Y , чтобы удалить анонимного пользователя по умолчанию из развертывания сервера MariaDB.
- Введите Y , чтобы отключить удаленный вход для пользователя root MariaDB.
- Введите Y еще раз, чтобы удалить базу данных по умолчанию «test» из вашей системы MariaDB.
- Наконец, введите Y , чтобы перезагрузить все привилегии таблиц и применить новые изменения к серверу MariaDB.
После завершения развертывания сервера MariaDB выполните приведенную ниже команду mysql, чтобы войти в оболочку MariaDB.
mysql -u root -p
Выполните следующие запросы, чтобы создать новую базу данных MariaDB и пользователя для ownCloud. В этом примере пользователь и база данных будут называться «owncloud» с паролем «owncloudpass«.
CREATE DATABASE owncloud; CREATE USER IF NOT EXISTS 'owncloud'@'localhost' IDENTIFIED BY 'owncloudpass'; GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;

Теперь проверьте права пользователя MariaDB «owncloud» с помощью следующего запроса. Убедитесь, что пользователь «owncloud» имеет доступ и права к базе данных «owncloud».
SHOW GRANTS FOR 'owncloud'@'localhost';

Скачать исходный код OwnCloud
На этом этапе вы завершили базовую настройку стека LAMP (Linux, Apache2, MariaDB и PHP) для установки ownCloud. Теперь вам необходимо загрузить исходный код ownCloud в вашу систему.
Сначала перейдите в каталог /var/www/ с помощью следующей команды.
cd /var/www/
Теперь загрузите последнюю версию исходного кода ownCloud и файл контрольной суммы для проверки с помощью приведенной ниже команды wget. Вы увидите новый файл «owncloud-complete-latest.tar.bz2» для исходного кода ownCloud и «owncloud-complete-latest.tar.bz2.sha256» для файла контрольной суммы.
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2 wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2.sha256
Затем запустите проверку с помощью команды sha256sum, приведенной ниже. Если проверка пройдет успешно, вы увидите сообщение о выводе, например: «OK«.
sudo sha256sum -c owncloud-complete-latest.tar.bz2.sha256

After that, extract the ownCloud source code using the below command. And you should see a new directory named «owncloud«, which will be used as the DocumentRoot/WebRoot directory for your ownCloud installation «/var/www/owncloud«.
tar -xf owncloud-complete-latest.tar.bz2
Наконец, измените владельца каталога «owncloud» на «www-data» с помощью следующей команды.
sudo chown -R www-data:www-data owncloud
Настройка виртуального хоста Apache2 для ownCloud
Теперь вы настроите виртуальный хост Apache2 для ownCloud. В этом примере мы будем использовать доменное имя «owncloud.local» для установки ownCloud с включенным безопасным HTTPS/SSL поверх веб-сервера Apache2.
Создайте новый файл виртуального хоста «/etc/apache2/sites-available/owncloud.conf» с помощью редактора nano.
sudo nano /etc/apache2/sites-available/owncloud.conf
Добавьте в файл следующую конфигурацию Apache2. Также не забудьте заменить доменное имя и путь к SSL-сертификатам на данные вашей конфигурации. С этой конфигурацией ваша установка ownCloud будет доступна по URL-адресу «/owncloud» (т. е. https://owncloud.local/owncloud)
ServerName owncloud.local ServerAlias www.owncloud.local Redirect permanent / https://owncloud.local/
ServerName owncloud.local
DocumentRoot /var/www
ServerAlias www.owncloud.local
Protocols h2 http:/1.1
Redirect permanent / https://owncloud.local/
ErrorLog ${APACHE_LOG_DIR}/owncloud.local-error.log
CustomLog ${APACHE_LOG_DIR}/owncloud.local-access.log combined
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/owncloud.local/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/owncloud.local/privkey.pem
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCompression off
Header always set Strict-Transport-Security «max-age=63072000»
Alias /owncloud «/var/www/owncloud/»
Options +FollowSymlinks
AllowOverride All
Dav off
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
Теперь, когда вы закончили, сохраните и закройте файл.
Далее активируйте конфигурацию виртуального хоста «owncloud.conf» с помощью приведенной ниже команды.
sudo a2ensite owncloud.conf
Проверьте и подтвердите конфигурацию Apache2 с помощью приведенной ниже команды. Если ваша конфигурация верна, вы увидите сообщение типа «Синтаксис: OK».
sudo apachectl configtest
Наконец, выполните приведенную ниже команду, чтобы перезапустить веб-сервер Apache2 и применить новую конфигурацию виртуального хоста «owncloud.conf». Теперь вы готовы запустить мастер установки ownCloud из веб-браузера, но при желании вы также можете запустить мастер установки ownCloud из командной строки.
sudo systemctl restart apache2
Запуск мастера установки ownCloud
Чтобы завершить установку ownCloud, вам необходимо зайти в мастер установки ownCloud и настроить базу данных данных и администратора для ownCloud. Это можно сделать двумя разными способами: с помощью веб-браузера или с помощью командной строки с терминального сервера.
В этом примере вы получите доступ к мастеру установки ownCloud через командную строку с терминального сервера.
Смените рабочий каталог на каталог DocumentRoot ownCloud «/var/www/owncloud«.
cd /var/www/owncloud
Теперь выполните следующую команду, чтобы завершить установку ownCloud. Обязательно измените данные базы данных, а также имя и пароль нового администратора. Когда все будет готово, на экране терминала появится сообщение типа «ownCloud успешно установлен» на экране терминала.
sudo -u www-data /var/www/owncloud/occ maintenance:install \ --database "mysql" \ --database-name "owncloud" \ --database-user "owncloud"\ --database-pass "owncloudpass" \ --admin-user "admin" \ --admin-pass "adminpassowncloud"

Далее вам также необходимо отредактировать конфигурацию ownCloud «/var/www/owncloud/config/config.php» с помощью редактора nano.
sudo nano /var/www/owncloud/config/config.php
Добавьте домен установки ownCloud в конфигурацию «trusted_domains» как показано ниже. В этом примере доменное имя установки ownCloud — «owncloud.local».
'trusted_domains' => array ( 0 => 'localhost', 1 => 'owncloud.local', ),
По завершении сохраните и закройте файл.
Затем откройте веб-браузер и введите доменное имя вашей установки ownCloud (т. е. https://owncloud.local/owncloud/) в адресной строке. Теперь вы должны увидеть страницу входа в ownCloud.
Введите имя пользователя admin и пароль для вашей установки ownCloud и нажмите «Вход».

Если ваше имя пользователя и пароль верны, вы увидите панель управления ownCloud. Это означает, что вы успешно установили ownCloud на свой сервер Ubuntu.

Настройка производительности ownCloud
На данный момент ownCloud запущен и работает. Однако для повышения производительности необходимо выполнить некоторые дополнительные настройки. Теперь вы настроите фоновые задания для ownCloud с помощью cron и настроите систему кэширования с помощью Redis.
Выполните следующую команду, чтобы изменить фоновое задание ownCloud на «cron«.
sudo -u www-data /var/www/owncloud/occ background:cron
Далее создайте новую конфигурацию cron для ownCloud с помощью приведенной ниже команды. Если в вашей системе отсутствует редактор по умолчанию, вам будет предложено выбрать редактор, который вы хотите использовать.
sudo crontab -u www-data -e
Выберите редактор, который хотите использовать, и добавьте конфигурацию cron, как показано ниже.
*/15 * * * * /usr/bin/php -f /var/www/owncloud/occ system:cron
Сохраните и закройте файл, когда закончите.
Далее, чтобы настроить систему кэширования для ownCloud, вам нужно будет изменить конфигурационный файл ownCloud config.php.
Отредактируйте файл «/var/www/owncloud/config/config.php» с помощью редактора nano.
sudo nano /var/www/owncloud/config/config.php
Теперь добавьте в файл следующую конфигурацию.
.... ....
‘filelocking.enabled’ => true,
‘memcache.local’ => ‘\OC\Memcache\APCu’,
‘memcache.locking’ => ‘\OC\Memcache\Redis’,
‘redis’ => [
‘host’ => ‘localhost’,
‘port’ => 6379,
],
….
….
);
Сохраните и закройте файл, когда закончите.
Чтобы проверить настройки, перейдите в меню «Администратор > Настройки» на панели управления ownCloud.
Перейдите в меню «Общие» в левой части экрана и проверьте раздел «Предупреждения о безопасности и настройках». Если вы увидите сообщение типа «Все проверки пройдены», значит установка и настройка ownCloud выполнены правильно и завершены. Но если появилось предупреждение, вы должны увидеть подробную информацию о конфигурации, включающую ссылки с рекомендациями по устранению этого предупреждения.
Заключение
Поздравляем! Вы успешно установили ownCloud на Ubuntu 22.04 с помощью стека LAMP. Вы также изучили основную команду «occ» для мастера установки ownCloud. И, наконец, вы настроили некоторые параметры производительности для вашей установки ownCloud, переключив фоновую задачу по умолчанию с Ajax на Cron и настроив систему кэширования с Redis в ownCloud.