You are here: Home » Инструкции » Установка ownCloud в Arch Linux / BlackArch

Установка ownCloud в Arch Linux / BlackArch

Когда хотят кратко охарактеризовать ownCloud, то говорят это как DropBox, но на своём сервере. Более знакомые с работой программы сравнивают её с Google диском: есть возможность редактировать документы и другие схожие функции. На самом деле, ownCloud - это очень мощный комбайн с большим количеством разных дополнительных приложений, в том числе с органайзером, менеджером контактов, управления закладками инструментами для совместного доступа и обратной связи, галереей, редактором документов. Можно перечислять и перечислять: кроме веб-приложений от авторов ownCloud, есть и сторонние расширения. Имеются готовые инструменты шифрования. Кроме богатых внутренних возможностей, имеются разнообразные инструменты для внешней интеграции.

В общем, ownCloud – это замечательный представитель облачных технологий. Но в отличии от других многочисленных предложений, ownCloud размещается на жёстком диске, который находится только под вашим контролем. На основе ownCloud можно организовать домашний файловый сервер или среду совместной деятельности для группы совместно работающих.

Кстати, имеются клиенты для популярных настольных и мобильных систем.

Абсолютно всё это с отрытым исходным кодом и бесплатно.

Установка сервера ownCloud

Начать нужно с того, что нужен сам сервер. Предположим, что он у вас уже есть или вы тренируетесь на локалхосте. Если сервера нет, то рекомендую этот – туда можно установить Arch Linux и эта инструкция обязательно приведёт вас к успеху в установке ownCloud.

У вас уже должен быть установлен веб-сервер. Если это не так, то воспользуйтесь инструкцией «Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP7 и phpMyAdmin) в Arch Linux / BlackArch».

После того, как веб-сервер установлен и настроен, ставим пакеты сервера ownCloud и необходимые дополнительные программы:

sudo pacman -S owncloud owncloud-app-bookmarks owncloud-app-calendar owncloud-app-contacts owncloud-app-documents owncloud-app-gallery php-intl exiv2 php-imap

Кстати, здесь не затрагивается установка клиентской части ownCloud – предполагается, что с этим может любой справится самостоятельно. На всякий случай, если вы не знаете имя пакета:

sudo pacman -S owncloud-client

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

Настройка сервера ownCloud

Откройте файл /etc/php/php.ini

sudo vim /etc/php/php.ini

Найдите там строки и раскомментируйте их

;extension=bz2.so
;extension=curl.so
;extension=exif.so
;extension=gd.so
;extension=iconv.so
;extension=intl.so
;extension=xmlrpc.so
;extension=zip.so

Должно получиться так:

extension=bz2.so
extension=curl.so
extension=exif.so
extension=gd.so
extension=iconv.so
extension=intl.so
extension=xmlrpc.so
extension=zip.so

Скопируйте конфигурационный файл:

sudo cp /etc/webapps/owncloud/apache.example.conf /etc/httpd/conf/extra/owncloud.conf

Добавьте в файл /etc/httpd/conf/httpd.conf

sudo vim /etc/httpd/conf/httpd.conf

Следующую строку:

Include conf/extra/owncloud.conf

Перезапустите сервер и проверьте его работоспособность:

sudo systemctl restart httpd.service
sudo systemctl status httpd.service

Создайте базу данных и пользователя, присвойте пользователя соответствующие привилегии:

mysql -u root -p
CREATE DATABASE owncloud;
CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'пароль';
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
\q

Здесь мы создали базу данных owncloud и пользователя owncloud. Вместо слова «пароль» вам нужно придумать и ввести свой пароль.

Сделаем владельцем соответствующей директории веб-сервер:

sudo chown -R http:http /usr/share/webapps/owncloud

Теперь зайдите в браузере по адресу http://localhost/owncloud/ (вместо localhost укажите имя вашего хоста или IP адрес, если вы делаете установку на реальный сервер), придумайте и введите в открывшемся окне имя и пароль для администратора, а также введите название базы данных, пользователя БД и пароль.

Улучшение производительности ownCloud: настройка APCu и OPCache

Это необязательно – всё и так работает, но при переходе в административную панель у вас постоянно будут уведомления с этой рекомендацией. В любом случае, это должно положительно казаться на производительность.

Установите пакет:

pacman -S php-apcu

Откройте файл /etc/php/conf.d/apcu.ini:

vim /etc/php/conf.d/apcu.ini

И раскомментируйте там строку:

extension=apcu.so

Откройте файл /etc/php/php.ini:

vim /etc/php/php.ini

И раскомментируйте там строку:

zend_extension=opcache.so

Теперь в файле /etc/webapps/owncloud/config/config.php:

vim /etc/webapps/owncloud/config/config.php

добавьте параметр

'memcache.local' => '\OC\Memcache\APCu',

Перезапустите сервер и проверьте его работоспособность:

sudo systemctl restart httpd.service
sudo systemctl status httpd.service

The "Strict-Transport-Security" HTTP header is not configured to at least "15768000" seconds

Если в панели администрирования у вас появляется уведомление:

The "Strict-Transport-Security" HTTP header is not configured to at least "15768000" seconds. For enhanced security we recommend enabling HSTS as described in our security tips.

То отредактируйте файл настроек виртуального хоста, используемого для ssl шифрования К примеру, у меня это файл /etc/httpd/conf/sites-enabled/suipbiz-ssl.conf (у вас точно другой):

vim /etc/httpd/conf/sites-enabled/suipbiz-ssl.conf

И добавьте туда строки:

<IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>

13 комментариев

  1. Квест прошел. 
    А nextCloud аналогично проходится? 🙂

    • Приветствую! nextCloud нужно ставить из AUR. Давно хочу написать про AUR, заодно, в качестве примера можно как раз поставить nextCloud или вынести в отдельную статью.

      Постараюсь в течение недели-двух найти время на это и сделать.

      • AUR  я умею. 🙂
        Если что я тут обитаю http://archlinux.clan.su
        Пишу и прохожу свои чужие квесты, заимствую интересное найденное.

      • Вопрос такой. Все файлы пользователй облака на сервере хранятся в БД. БД настраивается на каталог /var/lib/mysql который на системном разделе. У меня планируется что сервер будет иметь рейд массив с зеркалированием. Его я буду монтировать в домашний каталог админа или куда посоветуете, чтобы потом на него же указать развертывание БД облака.

        • Файлы хранятся в каталогах /usr/share/webapps/owncloud/data/Имя_Пользователя/files

          Или вы что-то другое имеете ввиду?

          Что касается балансировки нагрузки, работы под большой нагрузкой – то в этом я не специалист, что-то дельное сказать не могу.

          • Я думал файлы как БЛОБы в самой БД хранятся.
            Но все равно получается что каталог /usr/share/webapps/owncloud/data/Имя_Пользователя/
            надо выносить на другой физический диск. у меня /usr это системный SSD диск, а само хранилище будет на HDD.

  2. Не показано как запустить ownCloud на https

    • Нужно настроить Apache на работу с HTTPS ( https://blackarch.ru/?p=469 ). Если бы были ещё какие-то нюансы, я бы здесь написал, насколько я помню, специальная настройка ownCloud не требуется.

  3. Создаю пользователя qq, создаю группу users.
    Вхожу этим пользователем, и на веб-интерфейсе нет кнопки + "Добавить файл", у админа она есть. 
    Не понятно….

    • Почти наверняка это связано с недостатком прав на какую-то папку внутри /usr/share/webapps/owncloud . Посмотрите, кому и какой группе она и её подпапки принадлежат. Попробуйте выполнить команду:

      sudo chown -R http:http /usr/share/webapps/owncloud

       

      • Выяснилось что браузер Internet Explorer 11 у пользователя вот так отображает его учетку в Облаке. С нормального браузера все ок. 🙂

  4. ownCloud клиент не сохраняет пароль если закрыть и открыть его. Ругается на недоступность kwalletd. Не встречалось такое?
    Стоит kdesvn который поставил kwallet, он пароль в репо сохраняет.

    • удалил kwallet, оставил libgnome-keyring. пароль стало сохранять.

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

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