Установка и настройка OwnCloud на Raspberry Pi, Orange Pi, Banana Pi и т.п.

OwnCloud — это универсальное решение для создания облачного хранилища. OwnCloud позволяет обмениваться файлами через простой в использовании веб-интерфейс, аналогичный OneDrive от Microsoft и Google Drive.

OwnCloud бесплатное программное обеспечение с открытым исходным кодом, его легко настроить, он имеет отличный графический интерфейс и доступен для мобильных устройств, а также для веб-клиентов и клиентов для настольных компьютеров. Для дальнейшей настройки доступно множество дополнений. Например, режим просмотра изображений в галерее, встроенный аудио/видео плеер, веб-редактор Office и др..

OwnCloud в качестве сервера облачного хранилища — отличная возможность, особенно для тех, кто хотел бы использовать OwnCloud на Raspberry Pi (или любом другом устройстве ARM). Он использует PHP-скрипты для доступа к базам данных SQLite, MySQL или PostgreSQL, установленных на сервере, и работает в операционных системах Windows и Linux. Вы также можете использовать настольную версию, которая включает в себя установку клиента OwnCloud на вашем оборудовании, но для Raspberry Pi версия сервера гораздо более производительная.

Почему Raspberry Pi, Orange Pi или Banana Pi для OwnCloud?

Одноплатные компьютеры типа Raspberry Pi, Orange Pi, Banana Pi и т.п. — это небольшие, но мощные мини-компьютерные устройства. Размеры этих мини-компьютеров немного больше, чем у кредитной карты, а у некоторых даже меньше. Стоимость большинства из них составляет менее 40 долларов США.

Упомянутые выше качества делают мини-компьютер идеальным устройством для управления собственным облачным хранилищем с помощью OwnCloud.

Какую модель выбрать, зависит от ваших потребностей. Если скорость передачи данных не принципиальна, тогда можно взять любую плату с интерфейсом SATA: Orange Pi Plus 2Orange Pi PlusBanana Pi M3 — тут используется преобразователь SATA-USB. Но через USB можно подключить и внешний флеш накопитель или жёсткий диск. В таком случае можете посмотреть на результаты Тестирования 10 мини-ПК 2018 на youtube, тут очень хороший человек сделал комплексное тестирование 10 экземпляров и вы сможете выбрать оптимальную плату, но только НЕ Orange Pi PC, Orange Pi Lite или Orange Pi ONE — скорость USB неадекватно маленькая.

Если вам нужен мини-компьютер с полноценной поддержкой SATA интерфейса, можете использовать: Banana PI W2Banana Pi M2 BerryBanana PI M1 и Banana PI M1 Plus. Однако последние два двухъядерные и уже морально устарели. Самый оптимальный вариант — это Banana Pi M2 Berry.

Для этой статьи было выбрано:

Подготовка к установке OwnCloud — установка LAMP

Инструкцию по установке можно найти на странице Установка и настройка LAMP на Raspberry Pi, Banana Pi и Orange Pi под Ubuntu 16.04.

Если у вас Apache, MySQL и PHP уже установлены, тогда пропустите этот шаг и приступите сразу к OwnCloud (см. ниже). Установить компоненты LAMP (Linux, Apache, MySQL, PHP) можно и отдельно.

И так, для начала нужно обновить ОС:

sudo apt-get update && sudo apt-get upgrade

Теперь, когда мы устанавливаем сервер Apache, мы хотим убедиться, что он загружается и включается каждый раз при загрузке Raspberry Pi, Orange Pi или Banana Pi. Итак, во-первых, мы устанавливаем с:

sudo apt-get install apache2 -y

Наш следующий шаг — убедиться, что apache2 загружается и включается при загрузке вашего Pi:

sudo systemctl start apache2

и

sudo systemctl enable apache2

На этом этапе наш сервер готов к работе.
Проверка apache2

Дальше нам нужно установить SQL сервер, PHP и необходимые PHP библиотеки:

  • libapache2-mod-php7.0
  • php7.0-gd
  • php7.0-json
  • php7.0-mysql
  • php7.0-curl
  • php7.0-intl
  • php7.0-mcrypt
  • php-imagick
  • php7.0-zip
  • php7.0-xml
  • php7.0-mbstring

Я буду использовать MariaDB Server и PHP7.0.

Требования к БД:

  • MySQL или MariaDB 5.5+;
  • Oracle 11g;
  • PostgreSQL 9 (версии 10 и выше, пока не поддерживаются);
  • SQLite.

Требования к PHP:

  • PHP5.6;
  • PHP7.0;
  • PHP7.1;
  • PHP7.2.

Собираем всё это в одну большую команду, копируем и вставим в терминал:

apt install -y mariadb-server libapache2-mod-php7.0 \
php7.0-gd php7.0-json php7.0-mysql php7.0-curl \
php7.0-intl php7.0-mcrypt php-imagick \
php7.0-zip php7.0-xml php7.0-mbstring

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

Внимание! Если возникает следующая ошибка:

root@bananapim3:~# apt install -y apache2 mariadb-server libapache2-mod-php7.0 \
> php7.0-gd php7.0-json php7.0-mysql php7.0-curl \
> php7.0-intl php7.0-mcrypt php-imagick \
> php7.0-zip php7.0-xml php7.0-mbstring
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libapache2-mod-php7.0
E: Couldn't find any package by glob 'libapache2-mod-php7.0'
E: Couldn't find any package by regex 'libapache2-mod-php7.0'
E: Unable to locate package php7.0-gd
E: Couldn't find any package by glob 'php7.0-gd'
E: Couldn't find any package by regex 'php7.0-gd'
E: Unable to locate package php7.0-json
E: Couldn't find any package by glob 'php7.0-json'
E: Couldn't find any package by regex 'php7.0-json'
E: Unable to locate package php7.0-mysql
E: Couldn't find any package by glob 'php7.0-mysql'
E: Couldn't find any package by regex 'php7.0-mysql'
E: Unable to locate package php7.0-curl
E: Couldn't find any package by glob 'php7.0-curl'
E: Couldn't find any package by regex 'php7.0-curl'
E: Unable to locate package php7.0-intl
E: Couldn't find any package by glob 'php7.0-intl'
E: Couldn't find any package by regex 'php7.0-intl'
E: Unable to locate package php7.0-mcrypt
E: Couldn't find any package by glob 'php7.0-mcrypt'
E: Couldn't find any package by regex 'php7.0-mcrypt'
E: Unable to locate package php7.0-zip
E: Couldn't find any package by glob 'php7.0-zip'
E: Couldn't find any package by regex 'php7.0-zip'
E: Unable to locate package php7.0-xml
E: Couldn't find any package by glob 'php7.0-xml'
E: Couldn't find any package by regex 'php7.0-xml'
E: Unable to locate package php7.0-mbstring
E: Couldn't find any package by glob 'php7.0-mbstring'
E: Couldn't find any package by regex 'php7.0-mbstring'
root@bananapim3:~#

Значит нужно добавить ondrej/php в PPA, потому что PHP 7 не доступен для Ubuntu Trusty в стандартных репозиториях Ubuntu.

sudo apt-add-repository ppa:ondrej/php
sudo apt-get update

После этого попробуйте перезапустить предыдущую команду.

Установка OwnCloud 10

После завершения установки LAMP можно перейти к установке OwnCloud 10. Последнюю версию можно найти на официальном сайте https://owncloud.org/download/, на данный момент доступна версия 10.1.0.

Начальные шаги установки

В терминале:

cd /tmp

Это переключит нас в папку tmp, так как мы только хотим иметь эти файлы для настройки облака! Затем:

wget https://download.owncloud.org/community/owncloud-10.1.0.tar.bz2

После завершения, нам нужно извлечь файлы:

tar -xvf owncloud-10.1.0.tar.bz2

и измените разрешения:

chown -R www-data:www-data owncloud

В результате создается каталог под названием owncloud, который нам нужно переместить в каталог html (в конце концов, это веб-служба …):

mv owncloud /var/www/html/

Как только это закончится, мы выходим из каталога tmp:

cd

Настройка веб-сервера Apache

Итак, теперь, когда первоначальная установка для OwnCloud была завершена, мы можем приступить к созданию некоторых настроек для Apache. Во-первых, введите это в терминал:

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

Мы будем настроить виртуальный хост в Apache для OwnCloud. Вставьте следующее:

Alias /owncloud "/var/www/html/owncloud/"

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

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

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

</Directory>

Затем выходим, нажимая «Control» и букву «X» на клавиатуре, затем Y и Enter. Если вам будет предложено подтвердить изменение, просто нажмите Enter еще раз.

Последняя небольшая часть для этого — создать символическую ссылку, набрав:

ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf

Теперь по большей части сервер Apache запущен и работает. Однако мы собираемся проверить, включены ли различные модули для него. После каждой из этих команд нужно будет перезапустить Apache, чтобы изменения вступили в силу, но можно и в конце, пока не введете каждую из следующих команд:

a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime

Наконец перезапустите Apache:

sudo systemctl restart apache2

Создание базы данных MySQL и пользователя

Чтобы войти в MySQL, в терминале используйте следующую команду:

mysql -u root -p

После чего нужно будет ввести пароль.

Во-первых, создаём базу данных:

create database owncloud;

Примечание: здесь синтаксис немного отличается от команд терминала, каждая строка заканчивается точкой с запятой!

Далее создаем логин и пароль:

create user USERNAME@localhost identified by 'PASSWORD';

Вы можете указать ИМЯ ПОЛЬЗОВАТЕЛЯ USERNAME и ПАРОЛЬ PASSWORD как угодно (в пределах разумного), просто не делайте их такими же, как имя пользователя и пароль Pi.

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

grant all privileges on owncloud.* to USERNAME@localhost identified by 'PASSWORD';

Теперь мы просто сбросим настройки, чтобы они действовали, набрав:

flush privileges;

И, наконец, нужно выйти обратно к главному терминалу, набрав:

exit;

Окончательная настройка через веб-браузер

ВАЖНО! Выполните этот шаг только в том случае, если вы не планируете получать доступ к облачному хранилищу вне вашей личной домашней / рабочей сети и если вы не хотите подключать внешний жесткий диск.

Чтобы убедиться, что OwnCloud работает, я подключился к нему с другого компьютера по следующему адресу:

http://192.168.100.17/owncloud/

если вы хотите использовать браузер PI, тогда можно использовать localhost:

http://localhost/owncloud/

Если вы не знаете IP адрес, его можно узнать с помощью:

sudo ifconfig

Как узнать IP адрес Raspberry Pi, Orange Pi, Banana Pi на LinuxВо-первых, необходимо создать учетную запись администратора. Это то, что вы будете использовать для входа в OwnCloud в будущем с предпочитаемого вами устройства.

Напоминание: не используйте одно и то же имя пользователя и пароль для всего, что вы уже использовали в этой настройке!

Расположение папки с данными (Data Folder) уже будет заполнено:

/var/www/html/owncloud/data

но можно указать путь на HDD или USB накопитель, что вы подключили и хотите использовать.

Детали базы данных MySQL — это то, что вы сделали выше:

  • Username: USERNAME
  • Password: PASSWORD
  • Database: owncloud
  • Server: localhost

Установка и настройка OwnCloud на Raspberry Pi, Orange Pi, Banana Pi - Страница настройки

ЗАКЛЮЧИТЕЛЬНОЕ ПРЕДУПРЕЖДЕНИЕ. Не нажимайте на Finish setup, чтобы завершить настройку, если вам необходимо установить жесткий диск и / или хотите, чтобы он был доступен из вашей внутренней сети.

После того, как вы нажмете «Завершить настройку» (Finish Setup), произойдет пауза, пока программное обеспечение завершит настройку, после чего вы сможете войти в систему, используя данные своей учетной записи администратора и использовать свое хранилище так, как вы хотите, в своей домашней / офисной сети! Процесс настройки может занять некоторое время — от нескольких минут до десятков. После чего вы сможете войти в облако.

Установка и настройка OwnCloud на Raspberry Pi, Orange Pi, Banana Pi - Страница входа

После входа нас встречает вот такая страница:
Установка и настройка OwnCloud на Raspberry Pi, Orange Pi, Banana Pi - Первый вход
Установка и настройка OwnCloud на Raspberry Pi, Orange Pi, Banana Pi - Первый вход и содержание

Отсюда вы можете копировать и вставлять файлы, создавать каталоги, создавать пользователей и готовить файлы и каталоги для обмена с друзьями или деловыми партнерами. Для получения подробной информации обо всех функциях OwnCloud см. OwnCloud UserManual.pdf, который уже находится в вашем основном каталоге.

Для проверки создал папку, загрузил несколько файлов и проверил их наличие:
Установка и настройка OwnCloud на Raspberry Pi, Orange Pi, Banana Pi - Загрузка файлов
Установка и настройка OwnCloud на Raspberry Pi, Orange Pi, Banana Pi - Проверка файлов

Альтернативы OwnCloud

Nimbus cloud

Nimbus cloud (https://cloudnimbus.org) — это программное обеспечение сервера хранения данных с открытым исходным кодом, предназначенное для работы на внешнем жестком диске и устройствах Raspberry Pi. Nimbus — это простое, недорогое, простое в использовании программное обеспечение для обмена файлами для хранения, обмена и потоковой передачи файлов в любом месте.

Nextcloud

Nextcloud (https://nextcloud.com) — еще один сервер облачного хранилища с открытым исходным кодом, очень похожий на OwnCloud. По сравнению с OwnCloud, Nextcloud предлагает новые функции, такие как возможности мониторинга, полнотекстовый поиск (full-text search) и аутентификация с помощью Kerberos.

Материалы

Creating my own cloud server with Raspberry Pi 3
Unable to locate package php7.0
OwnCloud on Raspberry Pi

Похожие записи

Комментарии 7

  • пишу команду:
    sudo apt-add-repository ppa:ondrej/php
    вылезает ошибка:
    sudo: apt-add-repository: command not found
    что мне делать?
    делаю на малине 3в+

    • Самый простой способ исправить эту ошибку — установить пакет, который содержит нужную нам программу. Он есть в официальных репозиториях большинства дистрибутивов, основанных на Debian. Для его установки достаточно выполнить:

      sudo apt install software-properties-common

      https://losst.ru/oshibka-add-apt-repository-command-not-found

      • установил,
        теперь какая-то другая хрень)))
        pi@raspberrypi:~ $ sudo apt-add-repository ppa:ondrej/php
        Traceback (most recent call last):
        File «/usr/bin/apt-add-repository», line 95, in
        sp = SoftwareProperties(options=options)
        File «/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py», line 103, in __init__
        self.sourceslist = SourcesList()
        File «/usr/lib/python3/dist-packages/aptsources/sourceslist.py», line 273, in __init__
        self.matcher = SourceEntryMatcher(matcherPath)
        File «/usr/lib/python3/dist-packages/aptsources/sourceslist.py», line 457, in __init__
        dist = DistInfo(f, base_dir=matcherPath)
        File «/usr/lib/python3/dist-packages/aptsources/distinfo.py», line 261, in __init__
        component.set_description(_(value))
        UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 0: invalid continuation byte

  • Добрый день. Такая проблема, делаю всё по мануалу, но нет подключения – пишет, что:
    Can’t write into config directory!
    This can usually be fixed by giving the webserver write access to the config directory.
    Что делать?

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

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