Поиск по сайту:

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


На этой странице

  1. Предпосылки
  2. Установка зависимостей
  3. Установка PHP 7.4
  4. Установка веб-сервера Apache2
  5. Установка сервера MariaDB
  6. Загрузить исходный код OwnCloud
  7. Настройка виртуального хоста Apache2 для ownCloud
  8. Запуск мастера установки ownCloud
  9. Настройка производительности ownCloud
  10. Заключение

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 Server 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

Теперь запустите команды груши ниже, чтобы очистить кеш, обновить каналы и обновить все.

sudo pear clear-cache
sudo pear update-channels
sudo pear upgrade --force
sudo pear upgrade-all

После завершения процесса обновления проверьте версию груши с помощью следующей команды. И вы должны увидеть, что версия PEAR обновлена до версии 1.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 ниже:

  • Введите новый корневой пароль MariaDB и повторите.
  • При необходимости введите Y, чтобы переключить аутентификацию на аутентификацию unix_socket.
  • Введите Y, чтобы удалить анонимного пользователя по умолчанию из развертывания сервера MariaDB.
  • Введите Y, чтобы отключить удаленный вход для привилегированного пользователя 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.sha25. 6\ для файла контрольной суммы.

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. Если проверка прошла успешно, вы увидите выходное сообщение, такое как «ОК».

sudo sha256sum -c owncloud-complete-latest.tar.bz2.sha256 < owncloud-complete-latest.tar.bz2

После этого извлеките исходный код ownCloud с помощью приведенной ниже команды. Вы должны увидеть новый каталог с именем \owncloud\, который будет использоваться в качестве каталога DocumentRoot/WebRoot для установки ownCloud \/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. В этом примере мы будем использовать доменное имя \hwdomain.io\ для установки 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://hwdomain.io/owncloud).

<VirtualHost *:80>
  ServerName hwdomain.io
  ServerAlias www.hwdomain.io
  Redirect permanent / https://hwdomain.io/
</VirtualHost>

<VirtualHost *:443>
  ServerName hwdomain.io
  DocumentRoot /var/www
  ServerAlias www.hwdomain.io

  Protocols h2 http:/1.1

  <If "%{HTTP_HOST} == 'www.hwdomain.io'">
    Redirect permanent / https://hwdomain.io/
  </If>
 
  ErrorLog ${APACHE_LOG_DIR}/hwdomain.io-error.log
  CustomLog ${APACHE_LOG_DIR}/hwdomain.io-access.log combined

  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/hwdomain.io/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/hwdomain.io/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/"

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

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

    SetEnv HOME /var/www/owncloud
    SetEnv HTTP_HOME /var/www/owncloud

  </Directory>
 
</VirtualHost>

Теперь сохраните и закройте файл, когда закончите.

Затем активируйте конфигурацию виртуального хоста \owncloud.conf\ с помощью приведенной ниже команды.

sudo a2ensite owncloud.conf

Проверьте и проверьте конфигурацию Apache2, используя приведенную ниже команду. Если ваша конфигурация правильная, вы увидите выходное сообщение, такое как «Синтаксис: ОК».

sudo apachectl configtest

Наконец, выполните приведенную ниже команду, чтобы перезапустить веб-сервер Apache2 и применить новую конфигурацию виртуального хоста \owncloud.conf\. Теперь вы готовы запустить мастер установки ownCloud из веб-браузера, но при желании вы также можете запустить мастер установки ownCloud из командной строки.

sudo systemctl restart apache2

Запуск мастера установки ownCloud

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

В этом примере вы получите доступ к мастеру установки ownCloud через командную строку с терминального сервера.

Измените рабочий каталог на каталог ownCloud DocumentRoot \/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 — \hwdomain.io\.

  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => 'hwdomain.io',
  ),

Сохраните и закройте файл, когда закончите.

Затем откройте веб-браузер и введите доменное имя вашей установки ownCloud (например, https://hwdomain.io/owncloud/) в адресной строке. И теперь вы должны увидеть страницу входа в ownCloud.

Введите имя администратора и пароль для установки 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

Теперь добавьте следующую конфигурацию в файл.

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