Como instalar o servidor de compartilhamento de arquivos Pydio Cells no Rocky Linux
Pydio é uma solução de armazenamento em nuvem gratuita, de código aberto e auto-hospedada que fornece um local central para colaborar e compartilhar arquivos interna ou externamente. Ele foi escrito em linguagem de programação HP e Ajax e é muito semelhante ao Google Drive e outros serviços de compartilhamento de arquivos online. Pydio fornece uma interface web baseada em ajax e permite conectar seu armazenamento existente, como SAN, SAMBA, CIFS, FTP, NFS, etc. Ele fornece um aplicativo cliente para Mac, Windows e Linux e clientes móveis para iOS e Android.
Neste post, mostraremos como instalar o Pydio no Rocky Linux 8.
Pré-requisitos
- Um servidor rodando Rocky Linux 8.
- Uma senha root é configurada no servidor.
Instalar e configurar o banco de dados MariaDB
Pydio usa um MariaDB como backend de banco de dados, portanto o MariaDB deve ser instalado e configurado. Primeiro, instale o servidor de banco de dados MariaDB usando o seguinte comando:
dnf install @mariadb -y
Após a instalação do MariaDB, inicie e habilite o serviço MariaDB com o seguinte comando:
systemctl start mariadb
systemctl enable mariadb
Em seguida, você precisará proteger a instalação do MariaDB e definir a senha root. Você pode fazer isso executando o seguinte script:
mysql_secure_installation
Responda a todas as perguntas conforme mostrado abaixo para proteger a instalação:
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
You already have a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] y
New password:
Re-enter new password:
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 com o seguinte comando:
mysql -u root -p
Depois de fazer login, crie um banco de dados e um usuário com o seguinte comando:
MariaDB [(none)]> CREATE DATABASE pydio;
MariaDB [(none)]> CREATE USER 'pydio'@'localhost' IDENTIFIED BY 'password';
A seguir, conceda todos os privilégios ao banco de dados Pydio com o seguinte comando:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON pydio.* to 'pydio'@'localhost';
Em seguida, libere os privilégios e saia do MariaDB com o seguinte comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Neste ponto, o MariaDB está instalado e configurado. Agora você pode prosseguir para a próxima etapa.
Instale o Pydio
Primeiro, crie um usuário dedicado para executar o Pydio com o seguinte comando:
useradd -m -s /bin/bash pydio
Em seguida, crie os diretórios necessários com o seguinte comando:
mkdir -p /opt/pydio/bin /var/cells/certs
Em seguida, defina a propriedade adequada em todos os diretórios com o seguinte comando:
chown -R pydio: /opt/pydio /var/cells
Em seguida, crie um arquivo de variável de ambiente:
nano /etc/profile.d/cells-env.sh
Adicione as seguintes linhas:
export CELLS_WORKING_DIR=/var/cells
export CADDYPATH=/var/cells/certs
Salve e feche o arquivo e ative a variável usando o seguinte comando:
source /etc/profile.d/cells-env.sh
Em seguida, defina a permissão adequada para o arquivo variável:
chmod 0755 /etc/profile.d/cells-env.sh
Em seguida, faça login como usuário Pydio e baixe a versão mais recente do Pydio com o seguinte comando:
su - pydio
wget https://download.pydio.com/latest/cells/release/{latest}/linux-amd64/pydio-cells-{latest}-linux-amd64.zip
Assim que o download for concluído, descompacte o arquivo baixado com o seguinte comando:
unzip -q pydio-cells-{latest}-linux-amd64.zip
Em seguida, mova o diretório extraído para /opt e defina a permissão adequada:
mv cells /opt/pydio/bin/cells
chmod a+x /opt/pydio/bin/cells
A seguir, saia do usuário Pydio com o seguinte comando:
exit
Em seguida, adicione permissões para vincular às portas HTTP padrão:
setcap 'cap_net_bind_service=+ep' /opt/pydio/bin/cells
A seguir, crie um link simbólico do binário Pydio com o seguinte comando:
ln -s /opt/pydio/bin/cells /usr/local/bin/cells
Por fim, verifique a versão do Pydio usando o seguinte comando:
cells version
Você obterá a seguinte saída:
Pydio Cells Home Edition
Version: 3.0.4
Built: 28 Jan 22 13:52 +0000
Git commit: c146b94067637b4c8724b4ba20a3a032a06f1bdd
OS/Arch: linux/amd64
Go version: go1.15.14
Configurar Pydio
Antes de configurar o Pydio, defina o ulimit com o seguinte comando:
ulimit -n 8192
Em seguida, faça login como usuário Pydio e configure o Pydio com o seguinte comando:
su - pydio
cells configure
Assim que o Pydio estiver configurado, você obterá a seguinte saída:
Welcome to Pydio Cells Home Edition installation
Pydio Cells Home Edition (v3.0.4) 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)
2022-02-04T03:36:55.085Z INFO pydio.gateway.rest Started
2022-02-04T03:36:55.263Z INFO pydio.rest.install Started
? Created a new local CA at "/var/cells/certs/rootCA.pem" ????
? Created a new certificate valid for the following names ???? - "127.0.0.1" - "45.58.45.164" - "localhost" - "localhost.localdomain" - "localhost4" - "localhost4.localdomain4"
? The certificate is at "/var/cells/certs/d31dbbeb557595f71dcfb67ffac0a86f.pem"
and the key at "/var/cells/certs/d31dbbeb557595f71dcfb67ffac0a86f-key.pem"
???? 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.
???? If you are developing locally, you may install the RootCA in your system trust store to see a green light in your browser!
???? 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'
[DEV NOTICE] Registered directive 'pydioproxy' before 'proxy'
Activating privacy features... done.
https://0.0.0.0:8080
Installation Server is starting...
Listening to: 0.0.0.0:8080
2022-02-04T03:36:58.388Z INFO pydio.gateway.proxy Restarting proxy {"caddyfile": "\n\n0.0.0.0:8080 {\n\troot \"/var/cells/static/install\"\n\tproxy /install [::]:46687\n\n\t\n\ttls \"/var/cells/certs/d31dbbeb557595f71dcfb67ffac0a86f.pem\" \"/var/cells/certs/d31dbbeb557595f71dcfb67ffac0a86f-key.pem\"\n}\n\n\n\n\t "}
2022-02-04T03:36:58.890Z 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.
Acesse a interface da web do Pydio
Neste ponto, o Pydio é iniciado e escuta na porta 8080. Agora, abra seu navegador e acesse a interface web do Pydio usando a URL https://your-server-ip:8080. Você deverá ver a seguinte tela:
Clique no botão Avançar. Você deverá ver a tela de configuração do banco de dados:
Forneça os detalhes de configuração do seu banco de dados e clique no botão PRÓXIMO. Você deverá ver a tela de criação de usuário administrador:
Forneça seu usuário administrador, senha e clique no botão PRÓXIMO. Você deverá ver a seguinte tela:
Clique no botão INSTALAR AGORA para iniciar a instalação. Assim que a instalação for concluída, você verá a seguinte tela:
Clique no botão RECARREGAR. Você deverá ver a tela de login do Pydio:
Forneça seu nome de usuário e senha de administrador e clique em ENTER. Você deverá ver o painel do Pydio na seguinte tela:
Crie um arquivo de serviço Systemd para Pydio
Agora, volte para a interface da linha de comando e pressione CTRL+C para parar o servidor Pydio. Em seguida, execute o seguinte comando para sair do usuário Pydio.
exit
A seguir, é recomendado criar um arquivo de serviço systemd para gerenciar o serviço Pydio. Você pode criá-lo 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=/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
[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
Agora você 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: disabled)
Active: active (running) since Fri 2023-02-04 03:44:23 UTC; 6s ago
Docs: https://pydio.com
Main PID: 7889 (cells)
Tasks: 130 (limit: 23695)
Memory: 397.9M
CGroup: /system.slice/cells.service
??7889 /opt/pydio/bin/cells start
??7896 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.tasks$
??7900 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.gateway.websocket$
??7908 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.jobs$
??7916 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.search$
??7922 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.pydiod>
??7927 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.person>
??7933 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.cellsd>
??7937 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.versio>
??7957 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.thumbn>
??7959 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.objects.loc>
??7979 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.cells>
??7980 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.pydio>
??7988 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.versi>
??7995 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.thumb>
??8003 /opt/pydio/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.perso>
Feb 04 03:44:28 rockylinux cells[7889]: 2023-02-04T03:44:28.157Z INFO pydio.rest.acl Started
Feb 04 03:44:28 rockylinux cells[7889]: 2023-02-04T03:44:28.181Z INFO pydio.grpc.data.index Started
Feb 04 03:44:28 rockylinux cells[7889]: 2023-02-04T03:44:28.181Z INFO pydio.grpc.data.index Starting umbrella service py>
Feb 04 03:44:28 rockylinux cells[7889]: 2023-02-04T03:44:28.247Z INFO pydio.test.objects Started
Feb 04 03:44:28 rockylinux cells[7889]: 2023-02-04T03:44:28.771Z INFO pydio.grpc.data.index.cellsdata Warning: no privat>
Feb 04 03:44:28 rockylinux cells[7889]: 2023-02-04T03:44:28.803Z INFO pydio.grpc.data.index.personal Warning: no private>
Feb 04 03:44:29 rockylinux cells[7889]: 2023-02-04T03:44:29.002Z INFO pydio.grpc.data.index.thumbnails Warning: no priva>
Feb 04 03:44:29 rockylinux cells[7889]: 2023-02-04T03:44:29.036Z INFO pydio.grpc.data.index.versions Warning: no private>
Feb 04 03:44:29 rockylinux cells[7889]: 2023-02-04T03:44:29.230Z INFO pydio.grpc.data.index.pydiods1 Warning: no private>
Feb 04 03:44:29 rockylinux cells[7889]: 2023-02-04T03:44:29.286Z INFO pydio.gateway.proxy Restarting proxy {"cadd>
Você também pode verificar os logs do Pydio usando o seguinte comando:
tail -f /var/cells/logs/pydio.log
Conclusão
Parabéns! você instalou com sucesso o armazenamento em nuvem Pydio no Rocky Linux 8. Agora você pode fazer upload de arquivos e outros documentos no servidor Pydio e compartilhá-los com suas equipes e outros usuários. Sinta-se à vontade para me perguntar se tiver alguma dúvida.