Как разместить сервер общего доступа к файлам с Pydio в Ubuntu 14.04

Вступление

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

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

цели

В этой статье мы рассмотрим простую установку Pydio, которая хорошо работает даже без мощного оборудования. Как и многие проекты с открытым исходным кодом корпоративного уровня, Pydio имеет версию для сообщества и корпоративную версию. Мы будем устанавливать версию для сообщества.

Что касается нашего программного стека, мы будем использовать Postfix для поддержки по электронной почте; по умолчанию PHP не может отправлять электронные письма. Если вам нужно более легкое решение, вы можете установить + ssmtp +, но в этой настройке используется Postfix, поскольку для его поддержки требуется минимальное количество настроек. Обратите внимание, что поддержка по электронной почте не требуется, но она делает вещи намного проще; без этого Pydio не сможет отправлять электронные письма для сброса пароля или приветственные письма.

Мы также будем придерживаться Apache в качестве нашего веб-сервера (для простоты) и базы данных SQLite (вместо MySQL для меньшего количества движущихся частей). Эта настройка хороша, если группа, использующая Pydio, невелика или не передает большое количество данных на сервер одновременно. Однако, если вам нужно что-то с большей мощностью, в заключении приводятся некоторые рекомендации о том, как улучшить производительность.

Предпосылки

Чтобы следовать этому руководству, вам понадобится:

Мы также установим SSL-сертификаты для вашего домена, используя Let Encrypt. Вы будете следовать https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-14-04 в этом руководстве «Зашифруем по Apache»] , но чтобы упростить настройку, мы не будем настраивать ее до тех пор, пока Pydio не будет установлен на шаге 3.

Если вы хотите узнать больше о том, как работают сертификаты SSL / TLS, прочитайте https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and -csrs [эта статья об основах OpenSSL].

Шаг 1 - Установка Pydio

На этом шаге мы установим зависимости Pydio и сам Pydio.

Сначала обновите индекс вашего пакета.

sudo apt-get update

Теперь установите PHP.

sudo apt-get install php5 libapache2-mod-php5

Затем нам нужно скачать файл Pydio tar и распаковать его на нашем веб-сервере. Загрузка Pydio размещена на SourceForge. Вы можете нажать, чтобы найти зеркало, наиболее близкое к вашему географическому расположению, или вы можете просто использовать ссылку ниже, чтобы использовать зеркало Великобритании.

На момент публикации Pydio находится на версии 6.2.2. Возможно, вы захотите проверить, обновлен ли Pydio, и, если это так, получить последнюю версию из SourceForge.

Загрузите файл Pydio tar в свой домашний каталог.

wget -P ~/

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

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

Затем переместите его в расположение по умолчанию для веб-сайтов на сервере Ubuntu, + / var / www +.

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

Как только каталог будет создан, нам нужно изменить его разрешения, чтобы Apache мог хранить данные и обновлять файлы конфигурации.

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

Шаг 2 - Настройка модулей PHP

С Pydio на месте, нам нужно установить и настроить несколько зависимостей для правильной работы Pydio. На этом шаге мы внесем много изменений, и нам будет предложено перезапускать Apache после каждого шага. Вы можете сделать это, если хотите, но здесь мы подождем до самого конца всех настроек и перезапустим Apache один раз.

Во-первых, мы установим и включим дополнительные модули PHP, которые нам нужны.

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

Один из этих модулей PHP, + mcrypt +, не включен по умолчанию. Мы можем включить его с помощью + phpenmod +.

sudo php5enmod mcrypt

Помимо установки и включения некоторых модулей PHP, нам необходимо включить модуль Apache + a2enmod +, иначе клиент синхронизации не будет работать.

sudo a2enmod rewrite

Теперь, когда PHP полностью установлен, нам нужно внести несколько изменений в файл + php.ini +. Есть три строки, которые необходимо обновить. Используя предпочитаемый вами редактор, например + nano +, отредактируйте файл + php.ini.

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

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

Обновлен /etc/php5/apache2/php.ini

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

Затем найдите + upload_max_filesize = 2M + и измените + 2M + на любое большое число, например + 1G +. (М - сокращение от МБ и G - до ГБ.)

Обновлен /etc/php5/apache2/php.ini

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

Наконец, найдите + post_max_size = 8M + и измените его на тот же номер, что и + upload_max_filesize + или больше. Если вы думаете, что у вас будет несколько крупных загрузок одновременно или несколько пользователей будут использовать систему одновременно, вы можете выбрать большее число.

Обновлен /etc/php5/apache2/php.ini

; 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 =

Вы можете сохранить и закрыть + / etc / php5 / apache2 / php.ini. Это файл Apache + php.ini +; Затем откройте файл доступа к командной строке + php.ini + в + / etc / php5 / cli / php.ini +.

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

Сделайте те же три изменения в этом файле, что и выше, затем сохраните и закройте его.

Шаг 3 - Настройка Apache

На этом этапе мы настроим нашу конфигурацию Apache.

Сначала создайте и откройте новый файл с именем + pydio.conf + в своем любимом текстовом редакторе.

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

Следующая конфигурация Apache является копией файла конфигурации «+ 000-default +» с удаленными комментариями и несколькими дополнительными блоками, добавленными для этой конкретной установки Pydio, такими как корень документа и файлы журнала.

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

<VirtualHost *:80>
   ServerAdmin @
   ServerName
   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>

Прежде чем скопировать и вставить это в + pydio.conf +, давайте рассмотрим, что в нем:

  • + <VirtualHost *: 80> + определяет виртуальный хост, который позволяет размещать несколько сайтов на одном сервере. Эта строка специально определяет этот виртуальный хост как сайт по умолчанию на этом сервере, и он будет подключаться через порт 80.

  • + ServerAdmin + определяет адрес электронной почты, на который Apache отправляет ошибки, если обработка ошибок настроена таким образом.

  • + ServerName + - это DNS-имя сервера Pydio или IP-адрес вашего сервера. Если вы начинаете с IP-адреса и хотите изменить его позже, вы можете или можете оставить этот IP-адрес, но добавьте строку + ServerAlias ​​+ с новым DNS-именем; оба будут работать.

  • + DocumentRoot + - это место, где веб-сайт хранится в вашей капле, который необходим серверу Apache.

  • + ErrorLog + и + CustomLog + определяют, где сохранять журналы Apache. Эти параметры журнала могут быть довольно сложными, если вам нужна очень индивидуальная настройка ведения журнала, но эти значения по умолчанию будут работать для наших целей.

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

sudo a2dissite 000-default

Теперь включите два наших файла конфигурации.

sudo a2ensite pydio

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

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

Убедитесь, что вы выбрали + pydio.conf +, если вас спросили, какой виртуальный хост вы хотите выбрать. Поскольку мы хотим, чтобы наше соединение всегда было безопасным, обязательно выберите * Безопасный - перенаправлять все запросы на безопасный HTTPS-доступ *, когда запрашивает скрипт Let Encrypt.

Наконец, мы можем перезапустить Apache, чтобы наши изменения вступили в силу.

sudo service apache2 restart

Шаг 4 - Настройка поддержки PHP Mailer

Postfix должен быть установлен из предварительных условий. Далее, мы хотим сделать быстрое изменение, чтобы запретить использование чего-либо, кроме локальных приложений.

Чтобы внести это изменение, нам нужно отредактировать файл конфигурации Postfix, + / etc / postfix / main.cf +.

sudo nano /etc/postfix/main.cf

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

/etc/postfix/main.cf

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

Теперь перезапустите сервис Postfix, чтобы активировать изменения.

sudo service postfix restart

Шаг 5 - Завершение установки Pydio

Pydio установлен; на этом шаге мы закончим настройку.

Посетите + https: // + в вашем любимом браузере. Первая страница, которую вы увидите, будет помечена * Pydio Diagnostic Tool *. В списке на этой странице верхним элементом является предупреждение о * кодировке серверной кодировки *. Мы исправим это через мгновение. Пока это единственное предупреждение, а остальные элементы * OK *, нажмите кнопку * НАЖМИТЕ ЗДЕСЬ, чтобы ПРОДОЛЖИТЬ PYDIO *.

При появлении запроса нажмите кнопку * Start Wizard> *. На первой странице * Основные параметры * заполните поля:

  • * Заголовок приложения *, который отображается в строке заголовка браузера.

  • * Приветственное сообщение *, которое видно на экране входа

  • * Вход администратора *, логин администратора

  • * Admin Display Name *, как это звучит

  • * Пароль администратора *

Когда все это будет заполнено, нажмите красную кнопку * >> * в правом нижнем углу.

изображение: https: //assets.digitalocean.com/articles/pydio/H6sSWHv.png [Основные параметры установщика Pydio]

На второй странице * Database Connexion * выберите * Sqlite 3 * в раскрывающемся меню * Database *. Не изменяйте строку файла, где будет храниться база данных SQLite. Нажмите кнопку * Test Connection *, чтобы убедиться, что все работает. Вы должны увидеть зеленое поле в нижней части экрана, если тест пройден успешно. Затем продолжите, нажав на кнопку * >> *.

На третьем этапе для * Дополнительные параметры *, большинство вещей будут обнаружены автоматически, поэтому вам просто нужно подтвердить, что они верны. Единственное, что нам нужно сделать, это включить поддержку по электронной почте.

  • Для * Включить электронную почту * выберите * Да * из выпадающего меню

  • Для * Php Mailer * выберите * Почта *

  • Введите адрес электронной почты для * электронной почты администратора *

Вы можете нажать кнопку * Попробуйте отправить электронное письмо с настроенными данными *, чтобы убедиться, что все работает.

Наконец, завершите установку, нажав кнопку * Install Pydio *.

Шаг 6 - Использование Pydio

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

После входа в систему слева мы увидим два параметра: * Общие файлы * и * Мои файлы *. Эти две опции называются workspaces, которые по сути являются общими файлами или папками, в которых вы можете хранить файлы. * Мои файлы * только для вас, а * Общие файлы * - это общая папка для всех пользователей в этой установке Pydio.

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

Хотя веб-интерфейс полезен, и вы можете загружать, загружать, упорядочивать и делиться своими данными, вы, вероятно, загрузите свои файлы в Pydio напрямую через собственный клиент. Вы можете скачать desktop клиенты здесь (Mac / Win / Linux), https://itunes.apple.com/fr/app / pydio / id709275884 [клиент iOS здесь] и Android клиент здесь.

С установленным клиентом синхронизации запустите Pydio Sync и следуйте указаниям мастера, чтобы он синхронизировал нашу первую рабочую область локально.

изображение: https: //assets.digitalocean.com/articles/pydio/uljFNvX.png [Мастер синхронизации Pydio]

Если вы решите использовать самозаверяющий сертификат (вместо Let’s Encrypt), вы получите ошибку о сертификате. В этом случае установите флажок * Trust SSL Certificate * внизу, который появляется после предупреждения, а затем снова нажмите кнопку * Connect *.

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

Заключение

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

Если вы обнаружите, что производительность Pydio в этой настройке слишком мала для вашего варианта использования, вот несколько советов по ее улучшению:

  • Соедините Pydio с бэкэндом MySQL или PostgreSQL вместо Sqlite.

  • Используйте Nginx в качестве веб-сервера вместо Apache.

  • Обновите свой сервер, чтобы иметь больше оперативной памяти и процессора

  • Вы даже можете enable доступ к WebDAV на своем сервере для синхронизации приложений сторонних производителей, которые поддерживают WebDAV.

Related