Настройка сервера совместного доступа к файлам Pydio на Ubuntu 14.04

Published by 1 Comment

Вместе с популярностью облачных технологий растёт и необходимость хранить данные удалённо. Сегодня пользователи загружают самые различные файлы – от изображений и музыкальных дорожек до конфиденциальных документов – на серверы, которыми они не могут управлять. Если же вы предпочитаете иметь доступ к управлению сервером, на котором хранятся ваши данные, вы можете установить Dropbox-подобное хранилище при помощи Pydio (ранее AjaXplorer).

Pydio предоставляет множество стандартных функций сервисов синхронизации файлов: веб-интерфейс, родные клиенты для Mac, Windows и Linux, мобильные клиенты для iOS и Android, а также возможность обмениваться файлами с другими пользователями Pydio.

Данное руководство поможет установить Pydio. Как и многие другие открытые проекты корпоративного класса, Pydio имеет Community Edition и Enterprise Edition. В руководстве используется Community Edition: его лицензия является бесплатной для команд, в которых менее 10 пользователей.

Для поддержки почты используется Postfix. По умолчанию PHP не может отправлять сообщения электронной почты. В качестве более лёгкой альтернативы можно установить SSMTP. Но в этом руководстве используется сервер Postfix, поскольку он почти не требует тонкой настройки для взаимодействия с PHP. Обратите внимание: настройка поддержки электронной почты необязательна, но это во многом упростит работу; без электронной почты Pydio не сможет отправлять сообщения для восстановления пароля или приветственные письма.

В качестве веб-сервера используется Apache, в качестве СУБД — SQLite (вместо MySQL). Также в руководстве вы найдёте советы по оптимизации производительности сервера.

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

Требования

  • Сервер Ubuntu 14.04.
  • Пользователь с доступом к команде sudo.
  • FQDN.
  • Предустановленный почтовый сервер Postfix (инструкции можно найти здесь). Во время настройки выберите Internet Site, а в поле System mail name укажите доменное имя (например, example.com).
  • SSL-сертификат от Let’s Encrypt. Чтобы получить такой сертификат, выполните это руководство после полной установки Pydio (сначала выполните первые три раздела текущего руководства).

1: Установка Pydio

Установите Pydio и зависимости программы.

Обновите индекс пакетов:

sudo apt-get update

Установите PHP:

sudo apt-get install php5 libapache2-mod-php5

Теперь загрузите архив Pydio и распакуйте его. Загрузить пакет можно с SourceForge.

На данный момент последней версией Pydio является 6.2.2. В случае необходимости отредактируйте ссылку.

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

wget -P ~/ http://vorboss.dl.sourceforge.net/project/ajaxplorer/pydio/stable-channel/6.2.2/pydio-core-6.2.2.tar.gz

Распакуйте архив:

tar -xvzf ~/pydio-core-6.2.2.tar.gz

Переместите его в специально предназначенный для сайтов каталог (в Ubuntu это /var/www):

sudo mv ~/pydio-core-6.2.2 /var/www/pydio

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

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

2: Модули PHP

После установки Pydio нужно установить несколько зависимостей, необходимых для корректной работы сервера синхронизации файлов.

Примечание: После установки всех модулей нужно перезапустить Apache.

Установите и включите модули PHP:

sudo apt-get install php5-mcrypt php5-gd php5-sqlite

Один из этих модулей, mcrypt, не включается по умолчанию. Чтобы включить его, используйте phpenmod:

sudo php5enmod mcrypt

После этого включите модуль Apache a2enmod, иначе клиент синхронизации не будет работать.

sudo a2enmod rewrite

Теперь нужно внести несколько поправок в php.ini. В этом файле нужно обновить три строки. Откройте php.ini в текстовом редакторе:

sudo nano /etc/php5/apache2/php.ini

Найдите строку output_buffering = 4096 и измените 4096 на Off.

; Default Value: Off
; Development Value: 4096
; Production Value: 4096
; http://php.net/output-buffering
output_buffering = Off

Найдите upload_max_filesize = 2M. Увеличьте значение этого параметра:

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 1G

Затем найдите строку post_max_size = 8M. Значение этой строки должно совпадать со значением upload_max_filesize (или превышать его). Если вы предполагаете, что сервер будет одновременно использоваться несколькими пользователями, которые будут загружать большие объёмы данных, установите большее значение.

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 1G

Сохраните и закройте /etc/php5/apache2/php.ini (этот файл веб-сервера Apache). Теперь откройте /etc/php5/cli/php.ini (файл командной строки).

Внесите в него аналогичные изменения, сохраните и закройте файл.

3: Настройка Apache

Теперь нужно отредактировать настройки Apache.

Создайте и откройте файл pydio.conf в текстовом редакторе:

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

Вставьте в файл копию конфигурационного файла 000-default (закомментированные строки можно опустить) и добавьте несколько специальных блоков для Pydio (document root и логи):

<VirtualHost *:80>
ServerAdmin 8host@your_server_ip
ServerName your_server_ip
DocumentRoot /var/www/pydio
ErrorLog ${APACHE_LOG_DIR}/pydio-error.log
CustomLog ${APACHE_LOG_DIR}/pydio-access.log combined
<Directory /var/www/pydio/>
AllowOverride All
</Directory>
</VirtualHost>

Рассмотрим параметры подробнее:

  • <VirtualHost *:80>: определяет виртуальный хост по умолчанию и порт (в данном случае – 80).
  • ServerAdmin: адрес электронной почты, на который веб-сервер Apache сможет отправлять предупреждения.
  • ServerName: домен или IP-адрес для сервера Pydio. Если сначала вы указали IP-адрес, а потом решили заменить его доменом, можете просто изменить значение директивы. Также можно оставить IP-адрес в ServerName, а доменное имя указать в ServerAlias.
  • DocumentRoot: каталог, в котором хранятся файлы сайта, обслуживаемые Apache.
  • ErrorLog и CustomLog: логи Apache.

Вставьте параметры в файл, а затем сохраните и закройте его. Отключите конфигурационный Apache файл по умолчанию:

sudo a2dissite 000-default

Включите новый файл:

sudo a2ensite pydio

В требованиях был указан сертификат Let’s Encrypt, необходимый для поддержки шифрования SSL/TLS. Такой сертификат позволяет защитить конфиденциальные данные от злоумышленников, которые могут перехватить пакеты. Сервис Let’s Encrypt предоставляет автоматическую настройку Apache для поддержки сертификата. Во время настройки Apache пропустите настройку SSL, и скрипт Let’s Encrypt сделает всё сам.

Теперь откройте руководство «Создание сертификата Let’s Encrypt для Apache в Ubuntu 14.04». не забудьте заменить условное доменное имя своим доменом. В качестве виртуального хоста выберите файл pydio.conf. Чтобы защитить все соединения, выберите Secure — Make all requests redirect to secure HTTPS access.

После этого перезапустите Apache:

sudo service apache2 restart

4: Настройка PHP для поддержки почты

Теперь нужно настроить Postfix. Этот почтовый сервер должен быть доступен только для локальных приложений.

Откройте конфигурационный файл Postfix, /etc/postfix/main.cf:

sudo nano /etc/postfix/main.cf

Найдите строку inet_interfaces и замените all значением localhost.

. . .
recipient_delimiter = +
inet_interfaces = localhost
inet_protocols = all
. . .

Перезапустите Postfix:

sudo service postfix restart

5: Завершение установки Pydio

Пакет Pydio установлен; теперь нужно закончить установку сервиса в браузере. Откройте:

https://example.com

На экране появится страница Pydio Diagnostic Tool. В верхней части страницы будет предупреждение Server charset encoding. Сейчас его можно исправить. Если это единственное предупреждение, и остальные компоненты в порядке, нажмите кнопку CLICK HERE TO CONTINUE TO PYDIO.

Нажмите Start Wizard >. На экране появится страница Main options. Заполните предложенные поля:

  • Application Title: название приложения (то же, что и в строке заголовка браузера).
  • Welcome Message: сообщение, которое будет отображаться в форме для регистрации.
  • Administrator Login: имя пользователя администратора.
  • Admin Display Name: имя администратора, видимое другими пользователями.
  • Adminstrator Password: пароль администратора.

На следующей странице (Database Connexion) появятся настройки БД. В выпадающем меню Database выберите Sqlite 3. Не изменяйте файл, в котором будет храниться БД. Кликните Test Connection, чтобы убедиться, что подключение работает. В конце страницы появится зелёная отметка, если соединение установлено успешно. Чтобы продолжить, нажмите >>.

На странице Advanced Options большинство опций установлено автоматически. Просто убедитесь, что они установлены правильно. Затем настройте поддержку почты.

  • В выпадающем меню Enable emails выберите Yes.
  • В Php Mailer выберите Mail.
  • Введите почтовый адрес  администратора в Administrator Email.

Чтобы проверить работу почты, нажмите Try sending an email with the configured data.

Чтобы завершить установку, нажмите Install Pydio.

6: Использование Pydio

Теперь сервис Pydio установлен. На экране появится форма входа и сообщение, введённое вовремя настройки. Введите учётные данные администратора, чтобы войти.

Слева вы увидите две опции: Common Files и My Files. Это так называемые рабочие пространства – папки, в которых можно хранить файлы. В My Files вы можете хранить персональные файлы, а в Common Files – файлы, предназначенные для совместного использования.

Pydio позволяет создавать другие рабочие пространства.

При помощи веб-интерфейса Pydio можно скачивать, загружать и систематизировать файлы, обмениваться данными и расшаривать их. Также для этого можно использовать родной клиент. Вы можете скачать настольные клиенты для Mac/Win/Linux, для iOS и Android.

Установив клиент для синхронизации, запустите Pydio Sync и следуйте инструкциям мастера настройки синхронизации.

Если вы используете самоподписанный сертификат вместо Let’s Encrypt, программа выдаст ошибку сертификата. Чтобы устранить её, выберите Trust SSL Certificate и нажмите Connect.

В отличие от большинства сервисов синхронизации файлов, Pydio позволяет настраивать синхронизацию каждой папки индивидуально.

Заключение

Pydio позволяет управлять данными при помощи веб-интерфейса, родных настольных клиентов и мобильных платформ. Однако кроме простого хранения и синхронизации файлов Pydio имеет ещё много полезных функций, получить которые можно с помощью плагинов.

Чтобы оптимизировать производительность Pydio:

  • Используйте БД MySQL или PostgreSQL вместо Sqlite.
  • Настройте Nginx вместо Apache.
  • Обновите сервер, чтобы получить больше RAM и CPU.
  • Включите синхронизацию WebDAV.
Tags: , , , , ,

1 комментарий

  • Евгений:

    Добавьте пожалуйста ещё небольшую статью по маунту различных шар. А то так и не получилось подключить smb\cifs шару виндовой DFS.

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

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


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>