Pydio — это бесплатное, с открытым исходным кодом, облачное приложение для обмена файлами. Оно написано на языке Golang и используется для обмена файлами с клиентом. Оно позволяет делиться различными документами, такими как файлы, изображения и видео, и получать к ним доступ из любого места с помощью мобильного приложения, настольного ПО или веб-браузера. У него есть нативные клиенты для Linux, Windows и macOS, а также мобильные клиенты для Android и iOS.
В этом руководстве я покажу вам, как установить приложение Pydio на Debian 11.
Предварительные условия
- Сервер под управлением Debian 11.
- На сервере настроен пароль root.
Установка и настройка MariaDB
Pydio использует MariaDB в качестве бэкенда базы данных, поэтому вам необходимо установить сервер базы данных MariaDB на ваш сервер. Вы можете установить его, выполнив следующую команду:
dnf install mariadb-server -y
После установки MariaDB защитите его, выполнив следующую команду:
mysql_secure_installation
Этот скрипт установит пароль root, удалит анонимных пользователей, запретит удаленный вход root и удалит тестовую базу данных, как показано ниже:
Set root password? [Y/n] n Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y
После того как MariaDB будет защищена, войдите в оболочку MariaDB:
mysql -u root -p
Войдя в систему, создайте базу данных и пользователя с помощью следующей команды:
CREATE DATABASE pydiodb; CREATE USER 'pydiodb'@'localhost' IDENTIFIED BY 'password';
Затем предоставьте все привилегии Pydio с помощью следующей команды:
GRANT ALL PRIVILEGES ON pydiodb.* to 'pydiouser'@'localhost';
Затем снимите привилегии и выйдите из оболочки MariaDB с помощью следующей команды:
FLUSH PRIVILEGES; EXIT;
Установите Pydio Cells
По умолчанию пакет Pydio не включен в репозиторий Debian 11. Поэтому вам придётся загрузить его с их официального сайта.
Вы можете загрузить последнюю версию ячеек Pydio, используя следующую команду:
distribId=cells wget -O /usr/bin/cells https://download.pydio.com/latest/${distribId}/release/{latest}/linux-amd64/${distribId}
После завершения загрузки установите исполняемые права на загруженный файл и привяжите его к HTTP-порту с помощью следующей команды:
chmod +x /usr/bin/cells setcap 'cap_net_bind_service=+ep' /usr/bin/cells
Далее проверьте версию ячеек Pydio с помощью следующей команды:
cells version
Вы получите следующий результат:
Warning: no private IP detected for binding broker. Will bind to 209.23.9.181, which may give public access to the broker. Pydio Cells Home Edition Version: 3.0.6 Built: 22 Mar 22 06:06 +0su - pydio cells configure000 Git commit: 2165523347d2b9860d9c86236b7a518456d9cef3 OS/Arch: linux/amd64 Go version: go1.15.14
Настройка ячеек Pydio
Далее вам нужно будет настроить Pydio Cells. Вы можете настроить их с помощью следующей команды:
cells configure
Вам будет предложено выбрать между режимом установки через браузер и через командную строку.
Welcome to Pydio Cells Home Edition installation Pydio Cells Home Edition (v3.0.3) will be configured to run on this machine. Make sure to prepare access and credentials to a MySQL 5.6+ (or MariaDB equivalent) server. Pick your installation mode when you are ready.
Выберите установку через браузер и нажмите клавишу Enter. После настройки Pydio Cells вы получите следующее сообщение:
Use the arrow keys to navigate: ↓ ↑ → ←
? Installation mode:
? Browser-based (requires a browser access)
Command line (performed in this terminal)
? Browser-based (requires a browser access)
2022-04-02T11:16:18.544Z INFO pydio.gateway.rest Started
2022-04-02T11:16:18.685Z INFO pydio.rest.install Started
2022-04-02T11:16:22.010Z INFO
Installation Server is starting...
Listening to: 0.0.0.0:8080
2022-04-02T11:16:22.366Z INFO ? Created a new local CA at "/root/.config/pydio/cells/certs/rootCA.pem" ????
2022-04-02T11:16:22.366Z INFO ? Created a new certificate valid for the following names ???? - "127.0.0.1" - "209.23.9.181" - "localhost"
2022-04-02T11:16:22.366Z INFO ? The certificate is at "/root/.config/pydio/cells/certs/e6de382e6f121a9072d77b25ba622a36.pem"
2022-04-02T11:16:22.366Z INFO and the key at "/root/.config/pydio/cells/certs/e6de382e6f121a9072d77b25ba622a36-key.pem"
2022-04-02T11:16:22.366Z INFO
2022-04-02T11:16:22.366Z INFO ???? If you are behind a reverse proxy, you can either install the RootCA on the proxy machine trust store, or configure your proxy to `insecure_skip_verify` for pointing to Cells.
2022-04-02T11:16:22.367Z INFO ???? If you are developing locally, you may install the RootCA in your system trust store to see a green light in your browser!
2022-04-02T11:16:22.367Z INFO ???? To easily install the RootCA in your trust store, use https://github.com/FiloSottile/mkcert. Set the $CAROOT environment variable to the rootCA folder then use 'mkcert -install'
2022-04-02T11:16:22.367Z INFO
2022-04-02T11:16:22.367Z INFO Activating privacy features... done.
2022-04-02T11:16:22.367Z INFO https://0.0.0.0:8080
2022-04-02T11:16:22.367Z INFO WARNING: File descriptor limit 1024 is too low for production servers. At least 8192 is recommended. Fix with "ulimit -n 8192".
2022-04-02T11:16:24.365Z INFO pydio.gateway.proxy Restarting proxy {"caddyfile": "\n\n0.0.0.0:8080 {\n\troot \"/root/.config/pydio/cells/static/install\"\n\tproxy /install [::]:38327\n\n\t\n\ttls \"/root/.config/pydio/cells/certs/e6de382e6f121a9072d77b25ba622a36.pem\" \"/root/.config/pydio/cells/certs/e6de382e6f121a9072d77b25ba622a36-key.pem\"\n}\n\n\n\n\t "}
2022-04-02T11:16:24.868Z INFO pydio.gateway.proxy Restart done
Opening URL https://0.0.0.0:8080 in your browser. Please copy/paste it if the browser is not on the same machine.
Доступ к мастеру веб-установки Pydio Cells
На этом этапе Pydio Cells запущен и прослушивает порт 8080. Вы можете получить доступ к нему, используя URL https://your-server-ip:8080. Вы должны увидеть страницу лицензионного соглашения Pydio Cells:

Согласитесь с лицензионным соглашением и нажмите на кнопку NEXT кнопку. Вы увидите страницу конфигурации базы данных.

Укажите конфигурацию вашей базы данных и нажмите на кнопку NEXT кнопку. Вы увидите страницу создания пользователя-администратора:

Введите свое имя пользователя admin, пароль и нажмите на кнопку NEXT кнопку. Вы увидите следующую страницу:

Теперь нажмите на кнопку УСТАНОВИТЬ СЕЙЧАС кнопку. Вы увидите страницу входа в Pydio Cells:

Введите имя пользователя, пароль администратора и нажмите на кнопку ENTER кнопку. Вы должны увидеть панель Pydio на следующей странице:

Создание Systemd Service Fiel для ячеек Pydio
Далее вам нужно будет создать файл службы systemd для управления службой Pydio. Сначала нажмите CTRL+C, чтобы остановить службу Pydio, а затем создайте файл службы systemd с помощью следующей команды:
nano /etc/systemd/system/cells.service
Добавьте следующие строки:
[Unit] Description=Pydio Cells Documentation=https://pydio.com Wants=network-online.target After=network-online.target AssertFileIsExecutable=/usr/bin/cells [Service] User=root Group=root PermissionsStartOnly=true AmbientCapabilities=CAP_NET_BIND_SERVICE ExecStart=/usr/bin/cells start Restart=on-failure StandardOutput=journal StandardError=inherit LimitNOFILE=65536 TimeoutStopSec=5 KillSignal=INT SendSIGKILL=yes SuccessExitStatus=0 WorkingDirectory=/root [Install] WantedBy=multi-user.target
Сохраните и закройте файл, затем перезагрузите демон systemd, чтобы применить изменения:
systemctl daemon-reload
Далее запустите и включите службу Pydio с помощью следующей команды:
systemctl enable cells systemctl start cells
Вы также можете проверить состояние Pydio с помощью следующей команды:
systemctl status cells
Вы получите следующий результат:
? cells.service - Pydio Cells
Loaded: loaded (/etc/systemd/system/cells.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2022-04-02 11:34:24 UTC; 6s ago
Docs: https://pydio.com
Main PID: 25764 (cells)
Tasks: 119 (limit: 2341)
Memory: 421.6M
CPU: 4.114s
CGroup: /system.slice/cells.service
??25764 /usr/bin/cells start
??25769 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.jobs$
??25775 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.search$
??25781 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.gateway.websocket$
??25783 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.pydiods1$
??25787 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.personal$
??25790 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.cellsdata$
??25802 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.versions$
??25805 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.thumbnail>
??25816 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.tasks$
??25819 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.objects.local1$
??25847 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.pydiods1$
??25848 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.personal$
??25849 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.cellsdat>
??25850 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.versions$
??25851 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.thumbnai>
Apr 02 11:34:29 debian11 cells[25764]: 2022-04-02T11:34:29.294Z INFO pydio.test.objects Started
Apr 02 11:34:29 debian11 cells[25764]: 2022-04-02T11:34:29.307Z INFO pydio.gateway.grpc Activating self-signed configura>
Apr 02 11:34:29 debian11 cells[25764]: 2022-04-02T11:34:29.308Z INFO pydio.gateway.grpc Started
Apr 02 11:34:30 debian11 cells[25764]: 2022-04-02T11:34:30.191Z INFO pydio.grpc.data.index.pydiods1 Warning: no private >
Apr 02 11:34:30 debian11 cells[25764]: 2022-04-02T11:34:30.194Z INFO pydio.grpc.data.index.personal Warning: no private >
Apr 02 11:34:30 debian11 cells[25764]: 2022-04-02T11:34:30.195Z INFO pydio.grpc.data.index.cellsdata Warning: no private>
Apr 02 11:34:30 debian11 cells[25764]: 2022-04-02T11:34:30.204Z INFO pydio.grpc.data.index.thumbnails Warning: no privat>
Apr 02 11:34:30 debian11 cells[25764]: 2022-04-02T11:34:30.212Z INFO pydio.grpc.data.index.versions Warning: no private >
Apr 02 11:34:30 debian11 cells[25764]: 2022-04-02T11:34:30.326Z INFO pydio.gateway.proxy Restarting proxy {"caddy>