Pydio Cells – это платформа для совместного использования документов и сотрудничества с открытым исходным кодом для вашей организации. Она позволяет обмениваться документами и файлами в рамках всей организации и дает вам полный контроль над средой совместного использования документов.
Pydio Cells отличается высокой производительностью, может обрабатывать файлы огромных размеров и обеспечивает расширенную автоматизацию рабочего процесса.
В этом руководстве мы покажем вам, как установить Pydio Cells на сервер Alma Linux 9. Вы будете устанавливать Pydio Cells с сервером баз данных MariaDB и веб-сервером Httpd.
Установка зависимостей
Перед установкой Pydio Cells вам необходимо установить зависимости на ваш сервер Alma Linux. К ним относятся репозиторий EPEL, сервер базы данных MariaDB, веб-сервер Httpd и некоторые системные инструменты, такие как wget и nano.
Сначала запустите команду ‘dnf‘ команда ниже, чтобы добавить репозиторий EPEL, а также установить сервер MariDB и веб-сервер Httpd. Вход ‘Y‘, чтобы подтвердить установку.
sudo dnf install epel-release mariadb-server httpd wget nano
После завершения установки запустите команду ‘systemctl‘ команда ниже, чтобы запустить, включить и проверить ‘httpd‘ служба. Вы увидите символ ‘httpd‘ служба запущена и включена.
sudo systemctl enable --now httpd sudo systemctl status httpd
Теперь выполните следующую команду, чтобы запустить и включить ‘mariadb‘ служба. Затем проверьте его, чтобы убедиться, что служба запущена.
sudo systemctl enable --now mariadb sudo systemctl status mariadb
В следующем выводе видно, что сервер MariaDB запущен и включен.
Наконец, запустите команду ‘firewall-cmd‘ команда ниже, чтобы открыть оба ‘http‘ и ‘https‘ порты в вашей системе. Затем перезагрузите правила firewalld, чтобы применить изменения.
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
Настройка сервера MariaDB
После установки зависимостей вам нужно защитить установку сервера MariaDB и создать новую базу данных и пользователя для установки сервера Pydio Cells. Вы будете защищать MariaDB с помощью ‘mariadb-secure-installation‘, а затем создайте новую базу данных и пользователя с помощью команды ‘mariadb‘ клиент.
Чтобы обезопасить установку сервера MariaDB, выполните команду ‘mariadb-secure-installation‘ команда ниже.
sudo mariadb-secure-installation
В процессе вам будет предложено ввести следующие конфигурации:
- Переключить локальную аутентификацию на unix_socket? Введите n.
- Установите новый пароль корня MariaDB. Введите y для подтверждения, затем введите новый пароль для развертывания сервера MariaDB.
- Удалить анонимного пользователя? Введите y для подтверждения.
- Удалить тест базы данных по умолчанию из развертывания? Введите y для подтверждения.
- Запретить вход в систему MariaDB root при удаленных подключениях? Введите y для подтверждения.
- Перезагрузите привилегии таблицы и примените изменения. Введите y и нажмите ENTER.
Теперь, когда сервер MariaDB защищен, вы создадите новую базу данных и пользователя для установки Pydio Cells.
Войдите на сервер MariaDB под именем ‘mariadb‘ команда ниже. Введите пароль корня MariaDB, когда появится запрос.
sudo mariadb -u root -p
Выполните следующие запросы для создания новой базы данных ‘ячейки‘, и новый пользователь ‘pydio‘, с паролем ‘p4ssw0rd’. Вы можете настроить детали базы данных по своему усмотрению.
CREATE DATABASE cells; CREATE USER 'pydio'@'localhost' IDENTIFIED BY 'p4ssw0rd'; GRANT ALL PRIVILEGES ON cells.* to 'pydio'@'localhost'; FLUSH PRIVILEGES;
Теперь проверьте привилегии для пользователя ‘pydio‘, чтобы обеспечить разрешение и привилегии для базы данных ‘ячейки‘.
SHOW GRANTS FOR 'pydio'@'localhost';
Ниже показано, что база данных ‘ячейки‘ доступны через ‘pydio‘ пользователь.
Введите ‘quit’, чтобы выйти из сервера MariaDB.
Загрузка ячеек Pydio
Когда база данных MariaDB настроена, вы готовы загрузить Pydio Cells. В этом разделе вы настроите пользователя ‘pydio’, загрузите Pydio Cells, настроите каталог установки и переменные окружения, а также разрешите Pydio Cells работать на привилегированных портах.
Создайте нового пользователя и группу ‘pydio‘ с помощью следующей команды.
sudo useradd -m -s /bin/bash pydio
Создайте новые каталоги ‘/opt/pydio/bin‘ и ‘/var/cells‘ с помощью приведенной ниже команды. А затем измените права собственности на обе директории на пользователя ‘pydio‘.
sudo mkdir -p /opt/pydio/bin /var/cells sudo chown -R pydio:pydio /opt/pydio/bin /var/cells
Теперь создайте новый env-файл ‘/etc/profile.d/cells-env.sh‘ с помощью ‘nano‘ редактор.
sudo nano /etc/profile.d/cells-env.sh
Введите следующий скрипт, чтобы установить переменные окружения для Pydio Cells. Обязательно измените ‘CELLS_EXTRERNAL‘ адрес, чтобы он соответствовал доменному имени вашей установки Pydio.
export CELLS_WORKING_DIR=/var/cells export CELLS_BIND=127.0.0.1:8080 export CELLS_EXTERNAL=https://cells.local
После этого сохраните и выйдите из файла.
Теперь выполните приведенную ниже команду, чтобы создать файл env ‘/etc/profile.d/cells-env.sh‘ исполняемый файл.
sudo chmod +x /etc/profile.d/cells-env.sh
Затем выполните приведенную ниже команду, чтобы загрузить бинарный файл Pydio Cells для Linux на ‘/opt/pydio/bin/cells‘.
export distribId=cells wget -O /opt/pydio/bin/cells https://download.pydio.com/latest/${distribId}/release/{latest}/linux-amd64/${distribId}
После загрузки выполните следующую команду, чтобы создать ‘ячейки‘ исполняемый двоичный файл и разрешите ему связываться с привилегированными портами.
sudo chmod a+x /opt/pydio/bin/cells sudo setcap 'cap_net_bind_service=+ep' /opt/pydio/bin/cells sudo ln -s /opt/pydio/bin/cells /usr/local/bin/cells
Теперь войдите в систему под именем пользователя ‘pydio‘ со следующим:
su - pydio
Проверьте переменные окружения для Pydio Cells с помощью следующего – Убедитесь, что вывод совпадает с выводом в env-файле ‘/etc/profile.d/cells-env.sh‘.
echo $CELLS_WORKING_DIR echo $CELLS_BIND echo $CELLS_EXTERNAL
Наконец, проверьте ‘cells’ версия с командой ниже.
cells version
В следующем выводе видно, что версия Pydio Cells.
Установка Pydio Cells через командную строку
Сейчас вы начнете устанавливать Pydio Cells из командной строки. С помощью команды ‘cells‘, вам предстоит установить Pydio Cells с базой данных MariaDB, задать пользователя и пароль администратора, а также указать место хранения пользовательских данных.
Для начала выполните приведенную ниже команду для настройки установки Pydio Cells из терминала.
cells configure --cli
Теперь вам будут предложены следующие конфигурации:
- Подключение к базе данных: выберите через TCP, затем введите данные о хосте, порте, пользователе и пароле вашей базы данных MariaDB.
- Конфигурация MongoDB: Введите n для нет.
- Конфигурация административного пользователя: введите пользователя и пароль администратора для Pydio Cells.
- Место хранения по умолчанию: нажмите ENTER, чтобы использовать значение по умолчанию и продолжить.
После завершения процесса вы увидите следующее сообщение:
Настройка служебного файла systemd для Pydio Cells
Из предыдущего шага вы можете запустить Pydio Cells с помощью команды ‘cells start’. Чтобы сделать это проще, вместо этого вы будете использовать systemd ‘systemctl’ для управления службой Pydio Cells. Итак, сейчас вы создадите новый служебный файл systemd.
Создайте новый файл ‘/etc/systemd/system/cells.service’ с помощью редактора ‘nano’.
sudo nano /etc/systemd/system/cells.service
Вставьте приведенную ниже конфигурацию для запуска Pydio Cells в качестве службы systemd. Обязательно замените ‘CELLS_EXTERNAL’ на ваше доменное имя.
[Unit] Description=Pydio Cells Documentation=https://pydio.com Wants=network-online.target After=network-online.target AssertFileIsExecutable=/opt/pydio/bin/cells
[Service]
User=pydio
Group=pydio
PermissionsStartOnly=true
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/opt/pydio/bin/cells start
Restart=on-failure
StandardOutput=journal
StandardError=inherit
LimitNOFILE=65536
TimeoutStopSec=5
KillSignal=INT
SendSIGKILL=yes
SuccessExitStatus=0
WorkingDirectory=/home/pydio
# Add environment variables
Environment=CELLS_WORKING_DIR=/var/cells
Environment=CELLS_BIND=127.0.0.1:8080
Environment=CELLS_EXTERNAL=https://cells.local
[Install]
WantedBy=multi-user.target
Сохраните файл и выйдите из редактора.
Теперь выполните приведенную ниже команду, чтобы перезагрузить менеджер systemd.
sudo systemctl daemon-reload
Наконец, выполните команду ‘systemctl‘ команда ниже, чтобы запустить, включить и проверить ‘ячейки‘ сервис.
sudo systemctl enable --now cells sudo systemctl status cells
В этом выводе вы можете увидеть ‘ячейки‘ служба работает в фоновом режиме как служба systemd.
Настройка Httpd в качестве обратного прокси-сервера
На данный момент Pydio Cells запущен на вашем сервере Alma Linux на порту ‘8080’. Чтобы сделать его доступным с клиента, вы создадите файл виртуального хоста Httpd в качестве обратного прокси для сервера Pydio Cells. Вы также сгенерируете SSL/TLS сертификаты от Letsencrypt для защиты передачи данных между клиентом и сервером Pydio Cells.
Сначала запустите команду ‘dnf‘ команда ниже для установки ‘certbot’ в вашей системе.
sudo dnf install certbot -y
Теперь создайте новую фиктивную корневую веб-директорию и измените право собственности на ‘apache‘ пользователь.
sudo mkdir -p /var/www/html/cells/public_html sudo chown -R apache:apache /var/www/html/cells/public_html
Запустите программу ‘certbot‘ команда ниже, чтобы сгенерировать SSL/TLS сертификаты для Pydio Cells. Не забудьте изменить адрес электронной почты и доменное имя на свои данные.
sudo certbot certonly --agree-tos --email [email protected] --no-eff-email --webroot -w /var/www/html/cells/public_html -d cells.local
Далее создайте новую конфигурацию виртуального хоста Httpd ‘/etc/httpd/conf.d/pydio.conf‘ с ‘nano‘ редактор.
sudo nano /etc/httpd/conf.d/pydio.conf
Вставьте приведенную ниже конфигурацию и не забудьте изменить ‘ServerName‘ с именем вашего домена.
ServerName cells.local
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{SERVER_NAME} =cells.local
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
ServerName cells.local
AllowEncodedSlashes On
RewriteEngine On
# be aware of this
# Allow reverse proxy via self-signed certificates
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
## The order of the directives matters.
# If Cells is not running with https, consider using ws instead of wss
ProxyPassMatch “/ws/(.*)” wss://localhost:8080/ws/$1 nocanon
## This rewrite condition is required if using Cells-Sync
# RewriteCond %{HTTP:Content-Type} =application/grpc [NC]
# RewriteRule /(.*) h2://localhost:8080/$1 [P,L]
ProxyPass “/” “https://127.0.0.1:8080/”
ProxyPassReverse “/” “https://127.0.0.1:8080/”
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined
SSLCertificateFile /etc/letsencrypt/live/cells.local/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cells.local/privkey.pem
#Include /etc/letsencrypt/options-ssl-apache.conf
Сохраните файл и выйдите из редактора после завершения работы.
Теперь запустите программу ‘apachectl‘ команда ниже, чтобы проверить синтаксис Apache. Если вы правильно настроили Apache, вы увидите вывод ‘Синтаксис в порядке‘.
sudo apachectl configtest
Наконец, выполните приведенную ниже команду ‘systemctl’, чтобы перезапустить ‘httpd‘ веб-сервера и примените изменения. На этом установка Pydio Cells должна быть завершена и доступна.
sudo systemctl restart httpd
Доступ к ячейкам Pydio
Откройте веб-браузер и зайдите на доменное имя вашей установки Pydio Cells, например https://cells.local. Если установка прошла успешно, вы увидите страницу входа в Pydio Cells.
Введите пользователя и пароль администратора для входа в систему.
Если у вас есть правильные учетные данные, вы увидите панель пользователя Pydio Cells, как показано ниже.
Теперь вы можете попробовать загрузить файлы с вашего локального компьютера на сервер Pydio Cells. На следующем скриншоте я загрузил файлы на Pydio Cells и добился успеха.
Заключение
Поздравляем! Вы завершили установку Pydio Cells на сервер Alma Linux 9. Вы запустили Pydio Cells с сервером базы данных MariaDB и веб-сервером Httpd. Кроме того, вы обеспечили безопасность установки Pydio Cells с помощью HTTPS через Certbot и Letsencrypt.