Pesquisa de site

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.

Artigos relacionados: