Как установить ownCloud в Ubuntu 22.04

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 по умолчанию

Теперь выполните следующую команду, чтобы установить версию инструментов 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

проверить версию PEAR

Установка веб-сервера 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

Перезапустите службу 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 для запуска. Теперь начнется установка.

install mariadb

После завершения установки 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;

create database and user owncloud

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

SHOW GRANTS FOR 'owncloud'@'localhost';

проверить права пользователя owncloud

Скачать исходный код 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

загрузка и проверка owncloud

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"

install owncloud

Далее вам также необходимо отредактировать конфигурацию 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. Это означает, что вы успешно установили ownCloud на свой сервер Ubuntu.

Панель управления ownCloud

Настройка производительности 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *