Como instalar o servidor de compartilhamento de arquivos Pydio Cells no Ubuntu 22.04
Pydio Cells, também conhecido como Pydio, é um aplicativo de código aberto para compartilhamento e sincronização de arquivos escrito na linguagem Golang. É executado em um servidor ou nuvem e usado para compartilhar arquivos com o cliente. É uma ferramenta de colaboração e compartilhamento de documentos auto-hospedada que permite compartilhar e acessar vários documentos, como arquivos, imagens e vídeos, de qualquer lugar usando um aplicativo móvel, software de desktop ou navegador da web. Oferece clientes nativos para Linux, Windows e macOS, e clientes móveis para Android e iOS.
Este guia explicará como instalar o aplicativo de compartilhamento de arquivos Pydio no Ubuntu 22.04.
Pré-requisitos
- Um servidor executando Ubuntu 22.04.
- Uma senha root é configurada no servidor.
Instalar e configurar o MariaDB
Pydio usa MariaDB para armazenar seus dados, então você deve instalar o servidor de banco de dados MariaDB em seu servidor. Você pode instalá-lo executando o seguinte comando:
apt install mariadb-server -y
depois de instalar o servidor MariaDB, você pode proteger a instalação do MariaDB usando o seguinte comando:
mysql_secure_installation
Este script definirá uma senha root, removerá usuários anônimos, proibirá o login root remotamente e removerá o banco de dados de teste conforme mostrado abaixo:
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
Em seguida, faça login no MariaDB como usuário root:
mysql -u root -p
Depois de logado, crie um banco de dados e um usuário com o seguinte comando:
CREATE DATABASE pydiodb;
CREATE USER 'pydiodb'@'localhost' IDENTIFIED BY 'password';
A seguir, conceda todos os privilégios ao Pydio com o seguinte comando:
GRANT ALL PRIVILEGES ON pydiodb.* to 'pydiouser'@'localhost';
Em seguida, libere os privilégios e saia do shell MariaDB com o seguinte comando:
FLUSH PRIVILEGES;
EXIT;
Instale células Pydio no Ubuntu 22.04
Por padrão, o pacote Pydio não está disponível no repositório Ubuntu 22.04. Portanto, você precisará baixá-lo do site oficial.
Você pode baixar a versão mais recente das células Pydio usando o seguinte comando:
distribId=cells
wget -O /usr/bin/cells https://download.pydio.com/latest/${distribId}/release/{latest}/linux-amd64/${distribId}
Assim que o download for concluído, defina a permissão adequada no arquivo baixado e vincule-o à porta HTTP usando o seguinte comando:
chmod +x /usr/bin/cells
setcap 'cap_net_bind_service=+ep' /usr/bin/cells
A seguir, verifique a versão das células Pydio usando o seguinte comando:
cells version
Você obterá a seguinte saída:
Pydio Cells Home Edition
Version: 4.0.5
Built: 01 Dec 22 04:24 +0000
Git commit: 406762a4b5bff7b60189291ad4ee16c69a94ecd7
OS/Arch: linux/amd64
Go version: go1.19.3
Configurar células Pydio
A seguir, configure as células Pydio usando o seguinte comando:
cells configure
Você será solicitado a selecionar os diferentes tipos de instalação.
Welcome to Pydio Cells Home Edition installation
Pydio Cells Home Edition (v4.0.5) 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.
? Browser-based (requires a browser access)
Selecione a instalação baseada em navegador e pressione a tecla Enter. Depois que as células Pydio estiverem configuradas, você obterá a seguinte saída:
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)
Installation Server is starting...
Listening to: https://0.0.0.0:8080
2022-12-13T05:43:12.641Z INFO pydio.rest.config starting {"service": "pydio.rest.config", "hook router to": "/a/config"}
2022-12-13T05:43:12.659Z INFO pydio.rest.install starting {"service": "pydio.rest.install", "hook router to": "/a/install"}
Open a browser window to: [https://0.0.0.0:8080]
2022-12-13T05:43:14.741Z INFO pydio.server.caddy ? Created a new local CA at "rootCA.pem" ????
2022-12-13T05:43:14.858Z INFO pydio.server.caddy ? Created a new certificate valid for the following names ????
2022-12-13T05:43:14.858Z INFO pydio.server.caddy - "127.0.0.1"
2022-12-13T05:43:14.858Z INFO pydio.server.caddy - "139.84.138.121"
2022-12-13T05:43:14.859Z INFO pydio.server.caddy - "localhost"
2022-12-13T05:43:14.859Z INFO pydio.server.caddy ? The certificate is at "5b92168f4e3239411477f1f5f42539f4.pem"
and the key at "5b92168f4e3239411477f1f5f42539f4-key.pem"
2022-12-13T05:43:14.859Z INFO pydio.server.caddy
2022-12-13T05:43:14.859Z INFO pydio.server.caddy
2022-12-13T05:43:14.859Z INFO pydio.server.caddy ???? 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-12-13T05:43:14.860Z INFO pydio.server.caddy ???? If you are developing locally, you may install the RootCA in your system trust store to see a green light in your browser!
2022-12-13T05:43:14.860Z INFO pydio.server.caddy ???? 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-12-13T05:43:14.860Z INFO pydio.server.caddy
2022-12-13T05:43:14.862Z WARN pydio.server.caddy admin - admin endpoint disabled
2022-12-13T05:43:14.862Z INFO pydio.server.caddy tls.cache.maintenance - started background certificate maintenance{"cache": "0xc0002bdab0"}
2022-12-13T05:43:14.863Z INFO pydio.rest.install ready
2022-12-13T05:43:14.864Z INFO pydio.web.install ready
2022-12-13T05:43:14.865Z INFO pydio.rest.config ready
2022-12-13T05:43:14.865Z WARN pydio.server.caddy tls - stapling OCSP{"error": "no OCSP stapling for [localhost 127.0.0.1 139.84.138.121]: no OCSP server specified in certificate"}
2022-12-13T05:43:14.865Z WARN pydio.server.caddy http - automatic HTTP->HTTPS redirects are disabled{"server_name": "srv0"}
2022-12-13T05:43:14.866Z INFO pydio.server.caddy autosaved config (load with --resume flag) - {"file": "/root/.config/pydio/cells/caddy/autosave.json"}
2022-12-13T05:43:14.866Z INFO pydio.server.caddy tls - cleaning storage unit{"description": "FileStorage:/root/.config/pydio/cells/caddy"}
2022-12-13T05:43:14.866Z INFO pydio.server.caddy tls - finished cleaning storage units
Neste ponto, o Pydio Cells está instalado e configurado. Agora você pode prosseguir para a próxima etapa.
Acesse a interface da web das células Pydio
Agora você pode acessar as células Pydio usando o URL https://your-server-ip:8080. Você deverá ver a página do contrato de licença das células Pydio:
Concorde com o contrato de licença e clique no botão PRÓXIMO. Você deverá ver a página de configuração do banco de dados.
Forneça a configuração do seu banco de dados e clique no botão PRÓXIMO. Você deverá ver a página de criação de usuário administrador:
Forneça seu nome de usuário e senha de administrador e clique no botão PRÓXIMO. Você deverá ver a seguinte página:
Agora, clique no botão INSTALAR AGORA. Você deverá ver a página de login do Pydio Cells:
Forneça seu nome de usuário e senha de administrador e clique no botão ENTER. Você deverá ver o painel do Pydio na seguinte página:
Criar arquivo de serviço Systemd para células Pydio
Em seguida, você precisará criar um arquivo de serviço systemd para gerenciar o serviço Pydio. Primeiro, pressione CTRL+C para interromper o serviço Pydio e crie um arquivo de serviço systemd com o seguinte comando:
nano /etc/systemd/system/cells.service
Adicione as seguintes linhas:
[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
Salve e feche o arquivo e recarregue o daemon systemd para aplicar as alterações:
systemctl daemon-reload
Em seguida, inicie e habilite o serviço Pydio com o seguinte comando:
systemctl enable cells
systemctl start cells
Você também pode verificar o status do Pydio com o seguinte comando:
systemctl status cells
Você obterá a seguinte saída:
? cells.service - Pydio Cells
Loaded: loaded (/etc/systemd/system/cells.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2022-12-13 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>
Dec 13 12:34:29 ubuntu2204 cells[25764]: 2022-12-13T11:34:29.294Z INFO pydio.test.objects Started
Dec 13 12:34:29 ubuntu2204 cells[25764]: 2022-12-13T11:34:29.307Z INFO pydio.gateway.grpc Activating self-signed configura>
Dec 13 12:34:29 ubuntu2204 cells[25764]: 2022-12-13T11:34:29.308Z INFO pydio.gateway.grpc Started
Dec 13 12:34:30 ubuntu2204 cells[25764]: 2022-12-13T11:34:30.191Z INFO pydio.grpc.data.index.pydiods1 Warning: no private >
Dec 13 12:34:30 ubuntu2204 cells[25764]: 2022-12-13T11:34:30.194Z INFO pydio.grpc.data.index.personal Warning: no private >
Dec 13 12:34:30 ubuntu2204 cells[25764]: 2022-12-13T11:34:30.195Z INFO pydio.grpc.data.index.cellsdata Warning: no private>
Dec 13 12:34:30 ubuntu2204 cells[25764]: 2022-12-13T11:34:30.204Z INFO pydio.grpc.data.index.thumbnails Warning: no privat>
Dec 13 12:34:30 ubuntu2204 cells[25764]: 2022-12-13T11:34:30.212Z INFO pydio.grpc.data.index.versions Warning: no private >
Dec 13 12:34:30 ubuntu2204 cells[25764]: 2022-12-13T11:34:30.326Z INFO pydio.gateway.proxy Restarting proxy {"caddy>
Agora você pode acessar o painel do Pydio Cells usando a URL https://your-server-ip:8080
Conclusão
Parabéns! você instalou e configurou Pydio Cells com sucesso no Ubuntu 22.04. Agora você pode implantar Pydio Cells em seu próprio servidor, fazer upload de seus arquivos, documentos e imagens do painel do Pydio e acessá-los de qualquer dispositivo móvel ou navegador da web. Sinta-se à vontade para me perguntar se tiver alguma dúvida.