Главная >> Программы >> Установка OwnCloud в Ubuntu

Установка OwnCloud в Ubuntu

Сегодня практически каждый пользуется облачными файловыми хранилищами, такими, как Dropbox, Google Drive, OneDrive, Яндекс Диск и др. Прежде всего в них привлекает возможность синхронизации файлов между устройствами, обмена ими с другими пользователями, а также наличие удобных веб-интерфейсов и для взаимодействия с этими сервисами.

OwnСloud, несмотря на громкое название, вряд ли можно назвать облачным сервисом, однако многими из вышеперечисленных возможностей онлайн-хранилищ он таки обладает. Это веб-приложение для синхронизации данных и предоставления общего доступа к файлам. Доступ к нему возможен, как из веб, так и с помощью приложений-клиентов, доступных для ОС Windows, Linux, OS X, iOS и Android. Далее мы рассмотрим как выполняется установка OwnCloud в Ubuntu 20.04.


Содержание статьи

Установка OwnCloud в Ubuntu в Docker

Самый простой способ установить OwnCloud — воспользоваться готовым образом Docker, размещённым в официальном репозитории приложения.

Шаг 1. Установка Docker

Для того, чтобы установить Docker, необходимо выполнить две команды:

sudo apt update

sudo apt install docker.io

Подробнее про установку Docker читайте в отдельной статье.

Шаг 2. Запуск контейнера OwnCloud

Выполните следующую команду:

sudo docker run -it -d --restart=always -p 80:80 owncloud

Шаг 3. Вход в OwnCloud

Когда Docker завершит разворачивание образа, откройте браузер и введите IP-адрес компьютера, на котором вы установили OwnCloud (в данном случае это 127.0.0.1):

Для того, чтобы завершить установку OwnCloud, необходимо создать учётную запись пользователя и задать пароль.

Значение параметра Настройка базы данныхSQLite (по умолчанию). Опционально можно указать путь к каталогу, где будут храниться файлы. Подтвердите выполненные изменения настроек. После того, как введёте заданные логин и пароль, загрузится веб-интерфейс приложения:

OwnCloud готов к работе.

Установка OwnCloud вручную в Ubuntu 

Далее будет рассмотрен вариант пошаговой установки OwnCloud в связке с Apache2 и MariaDB.

Шаг 1. Настройка репозитория

На момент написания статьи в стандартных репозиториях Ubuntu 20.04 не было всех необходимых модулей PHP, поэтому необходимо установить дополнительный. Выполните поочерёдно следующие команды:

cd /etc/apt/sources.list.d

echo "deb [arch=amd64] http://ppa.launchpad.net/ondrej/php/ubuntu $(lsb_release -cs) main" |sudo tee php.list

sudo apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com:443 4F4EA0AAE5267A6C

Шаг 2. Установка Apache2 и PHP

Если вы выполнили шаг 1, то необходимо обновить списки пакетов из добавленного репозитория, выполните:

sudo apt update

Затем установите следующие программы и компоненты:

sudo apt install apache2 libapache2-mod-php openssl php-imagick php-common php-curl php-gd php-imap php-intl php-json php-ldap php-mbstring php-mysql php-pgsql php-smbclient php-ssh2 php-sqlite3 php-xml php-zip

Шаг 3. Запуск Apache2

Запустите Apache2 и добавьте его сервис в автозагрузку системы:

sudo systemctl start apache2
sudo systemctl enable apache2

Шаг 4. Установка MariaDB

Для установки MariaDB выполните следующую команду:

sudo apt install mariadb-server

Далее необходимо сделать предварительную настройку MariaDB — создать пароль для root, удалить тестовую базу данных, отключить доступ анонимным пользователям, отключить удалённый вход для root. Выполните команду:

sudo mysql_secure_installation

Шаг 5. Создание базы данных

Войдите в консоль администрирования MariaDB используя пароль для root созданный в шаге 4:

sudo mysql -u root -p

Создайте базу данных командой:

CREATE DATABASE owncloud;

Здесь owncloud —в данном случае имя базы данных. Создайте пользователя и дайте ему права на вашу базу данных:

 

GRANT ALL ON owncloud.* TO 'losst'@'localhost' IDENTIFIED BY 'password';

Здесь owncloud – имя базы данных, losst — имя пользователя БД, password — ваш пароль для пользователя БД. Обновите привилегии пользователей MariaDB и выйдите из консоли администрирования:

FLUSH PRIVILEGES;

EXIT;

Шаг 6. Загрузка Owncloud

Вернитесь в свою домашнюю директорию:

cd /home/ubuntu

Проверить актуальную на сегодняшний день версию Owncloud можно на официальном сайте. На момент написания статьи последняя версия была owncloud-10.5.0, скачайте её:

wget https://download.owncloud.org/community/owncloud-10.5.0.zip

Шаг 6. Установка Owncloud

Распакуйте скачанный архив программы в указанный каталог:

sudo unzip owncloud-10.5.0.zip -d /var/www/

Смените пользователя и права на каталоги и файлы Owncloud:

sudo chown -R www-data:www-data /var/www/owncloud/

sudo chmod -R 755 /var/www/owncloud/

Шаг 7. Настройка Apache

Необходимо создать конфигурационный файл для веб-сервера, это можно сделать командой:

sudo nano /etc/apache2/conf-available/owncloud.conf

Вставьте этот текст в ваш конфигурационный файл:

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>

Шаг 8. Модули Apache2

Для корректной работы Owncloud необходимо включить следующие модули (выполните поочерёдно команды):

sudo a2enconf owncloud
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

Затем перезапустите сервис Apache2:

sudo systemctl restart apache2

Шаг 9. Настройка Owncloud

Откройте в веб-браузере страницу:

http://сервер-IP/ownlcloud

Здесь сервер-IPIP-адрес вашего сервера Owncloud. В моём примере это

Шаг 9. Финальная настройка Owncloud в Ubuntu 20.04

Откройте в веб-браузере страницу:

http://сервер-IP/ownlcloud

Здесь сервер-IPIP-адрес вашего сервера Owncloud. В моём примере это http://127.0.0.1/owncloud:

В поле Create an admin account введите имя администратора и пароль Owncloud. В поле Data folder можно указать место, где будут размещаться файлы пользователей. В разделе Configure the database, нужно указать данные доступа к Mysql/MariaDB.

Далее, в строках ниже, нужно ввести имя пользователя БД, его пароль и имя созданной базы данных. В данном примере это — lost, password, owncloud. Имя хоста MariaDB оставьте по умолчанию localhost. После того как вы впишите все необходимые данные, нажмите кнопку Finish setup.

Появится окно с предложением ввести логин и пароль пользователя Owncloud. Авторизуйтесь и войдите в Owncloud. Если все сделано верно, вы должны увидеть следующее окно:

Выводы

В этой статье рассмотрены два варианта установки OwnCloud в Ubuntu 20.04. Они вполне подойдут для создания персонального файлового хранилища или для обеспечения нужд небольшой коммерческой организации. Стоит знать, что облачный сервис нуждается ещё и в некотором конфигурировании в зависимости от количества пользователей в организации и объёма используемой информации.

29 комментариев к “Установка OwnCloud в Ubuntu”

  1. Bugs encoding Russian Cyrillic letters when downloading zip files through the web interface, owncloud 9.1. The description of fixes encoding problems
    Облако 9.1 версии, краказяблы при скачивании. Описание устранения проблемы.

    to correct the problem with the coding we need to make changes to the file
    / var / www / owncloud / lib / private / Streamer.php
    Line 66
    Original: $this->streamerInstance->addEmptyDir($rootDir);
    Change: $this->streamerInstance->addEmptyDir(iconv("utf-8", "cp866", $rootDir));
    Line 69
    Original: $this->addFileFromStream($fh, $internalDir . $filename, $filesize);
    Change: $this->addFileFromStream($fh, iconv("utf-8", "cp866", $internalDir.$filename), $filesize);

    My Server configuration:
    Operating system: Ubuntu 16.04.01 TLS
    Web server: apache
    Database: mysql
    PHP version: 7
    ownCloud version: 9.1
    kalinkin_43@mail.ru

    Ответить
  2. Модули PHP были установлены, но они все еще перечислены как недостающие?

    Пожалуйста, попросите вашего администратора перезапустить веб-сервер.

    Вот такую ошибку выдает. Убунту 16,04 облако 9.1.1. что делать? Помогите! Первый раз этим занимаюсь. И еще... как, после правки пхп.ини сохранить изменения. Пишет нет прав.

    Ответить
      • Спасибо за подсказку! Каким то чудом установилось все. С горем пополам включил HTTPS. Теперь в админ панели висят два предупреждения!
        Предупреждения безопасности и установки
        Ваш каталог данных и ваши файлы возможно доступны из Интернета. Файл .htaccess не работает. Мы настоятельно рекомендуем Вам настроить веб сервер таким образом, чтобы каталог данных не был больше доступен или переместить каталог данных за пределы корня веб сервера.
        Заголовок HTTP "Strict-Transport-Security" должен быть настроен как минимум на "15552000" секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим подсказкам по безопасности.
        Помогите победить!

        Ответить
        • когда я рыл ответы на этот вопрос про hsts то доходил даже до того что нужно купить у google штуку с названием google for work. забил на это. https есть и есть.. снифф программой логин пароль не видны.. и еще.прочти внимательно: для УЛУЧШЕНИЯ безопасности... предполагается что твой https это как бы уже хорошо, но с hsts ты будешь вообще крут..

          Ответить
          • Нужно включить модуль апача Headers, симлинк из папки modules-available в modules-enabled, затем в конфиг сайта mysite.conf внутри директивы добавить: Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

  3. Спасибо автору за статью.
    Есть вопрос. Если, к примеру, установить Убунту на виртуалку (VMWare) под Windows поверх OwnCloud (по инструкции из данной статьи), то можно ли расшарить папку(~и) с раздела NTFS физического, а не виртуального диска? И как организовать аудит? Ну, чтобы знать кто, что, и когда создал/ удалил/ переименновал?!
    Также, как квоты устанавливать?

    Ответить
  4. mysql> CREATE DATABASE owncloud;
    mysql> GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY '_password_';
    mysql> FLUSH PRIVILEGES;
    mysql> quit

    не катит на 20.04

    надо
    mysql> CREATE USER 'owncloud'@'localhost' IDENTIFIED BY '_password_';
    mysql> GRANT ALL PRIVILEGES ON owncloud.* to 'owncloud'@'localhost' ;
    mysql> FLUSH PRIVILEGES;
    mysql> quit

    Ответить
  5. sudo nano /etc/apache2/conf-available/owncloud.conf
    --
    Alias /owncloud "/var/www/owncloud/"

    Options +FollowSymlinks
    AllowOverride All

    Dav off

    Header always add Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"

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

    --

    Ответить
  6. по поводу ошибки: Транзакционная блокировка файлов должна быть настроена на использование блокировок в памяти, а не в базе данных, как установлено по умолчанию.(установлен по https://doc.owncloud.org/server/10.5/admin_manual/configuration/server/caching_configuration.html#cache-directory-location )
    кусок с /var/www/owncloud/config/config.php
    ......
    ...... 1 =>
    array (
    'path' => '/var/www/owncloud/apps-external',
    'url' => '/apps-external',
    'writable' => true,
    ),
    ),
    'installed' => true,
    'memcache.local' => '\\OC\\Memcache\\APCu',
    'filelocking.enabled' => true,
    'memcache.locking' => '\\OC\\Memcache\\Redis',
    'redis' =>
    array (
    'host' => 'localhost',
    'port' => '6379',
    ),
    ....
    ..

    Ответить

Оставьте комментарий