Сегодня практически каждый пользуется облачными файловыми хранилищами, такими, как 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
Создайте базу данных командой:
Здесь owncloud —в данном случае имя базы данных. Создайте пользователя и дайте ему права на вашу базу данных:
Здесь owncloud – имя базы данных, losst — имя пользователя БД, password — ваш пароль для пользователя БД. Обновите привилегии пользователей MariaDB и выйдите из консоли администрирования:
Шаг 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
Вставьте этот текст в ваш конфигурационный файл:
Шаг 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
Откройте в веб-браузере страницу:
Здесь сервер-IP — IP-адрес вашего сервера Owncloud. В моём примере это
Шаг 9. Финальная настройка Owncloud в Ubuntu 20.04
Откройте в веб-браузере страницу:
Здесь сервер-IP — IP-адрес вашего сервера 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. Они вполне подойдут для создания персонального файлового хранилища или для обеспечения нужд небольшой коммерческой организации. Стоит знать, что облачный сервис нуждается ещё и в некотором конфигурировании в зависимости от количества пользователей в организации и объёма используемой информации.
Обратите внимание. Проект разделился и появился NEXTCLOUD
Установка зависимостей:
apt-get install php7.0 libapache2-mod-php7.0 php7.0-mbstring php7.0-curl php7.0-zip php7.0-gd php7.0-mysql php7.0-mcrypt
Приветствую,
не плохо было-бы указать что база mysql должна быть в кодировке utf8-general
Не совсем так. Разработчики рекомендуют - "utf8mb4". https://github.com/owncloud/core/wiki/ownCloud-10.0-Features
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
Ошибка такая https://www.dropbox.com/s/9xlhscqelaguqx6/error.jpg?dl=0
Скорее всего необходимо обновить PHP )
Он там 7.0.8 )))
Модули PHP были установлены, но они все еще перечислены как недостающие?
Пожалуйста, попросите вашего администратора перезапустить веб-сервер.
Вот такую ошибку выдает. Убунту 16,04 облако 9.1.1. что делать? Помогите! Первый раз этим занимаюсь. И еще... как, после правки пхп.ини сохранить изменения. Пишет нет прав.
Нужно редактировать с правами суперпользователя, например sudo nano /etc/файл
Спасибо за подсказку! Каким то чудом установилось все. С горем пополам включил 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"
ServerName cloud.owncloud.com
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
No name, написал как бы все верно, но это не работает, увы...
Народ, хелп! Ubuntu 16.04 mysql-server не стартует из коробки, после установки, никто не сталкивался?
sudo tasksel install lamp-server
tasksel: программа apt-get завершилась неудачно (100)
спасибо/ очень популярно и доступно) все работает
Установил, спасибо! Надо тестировать! Ошибки ждать) и пытаться их исправить, а то пока всё красиво и просто))) Настораживает)
Спасибо автору за статью.
Есть вопрос. Если, к примеру, установить Убунту на виртуалку (VMWare) под Windows поверх OwnCloud (по инструкции из данной статьи), то можно ли расшарить папку(~и) с раздела NTFS физического, а не виртуального диска? И как организовать аудит? Ну, чтобы знать кто, что, и когда создал/ удалил/ переименновал?!
Также, как квоты устанавливать?
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
Возникают такие ошибки:
https://imgur.com/dfgn2rL.png
как можно исправить?
Alex это не от версии ОС зависит, а от СУБД (MYSQL, MariaDB, etc) и версии СУБД .
Пётр а как вам помочь если вы делали не по инструкции?
VTOTORO apt-get - моветон.
И да в 20 версии обратите внимание какая версия php ставится по умолчанию даже из стандартных репо.
Артур установите необходимые модули php
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
--
по поводу ошибки: Транзакционная блокировка файлов должна быть настроена на использование блокировок в памяти, а не в базе данных, как установлено по умолчанию.(установлен по 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',
),
....
..
На шаге 9, получил, что некоторые модули не установлены. До установил.
Но не все.
https://disk.yandex.ru/i/gysYA3gljIac_A