Como instalar o compartilhamento de arquivos Pydio Cells no Rocky Linux 9
Pydio Cells é uma plataforma de colaboração e compartilhamento de documentos de código aberto para sua organização. Ele permite que você compartilhe documentos e arquivos em toda a sua organização e oferece controle total do seu ambiente de compartilhamento de documentos. As células Pydio têm desempenho rápido, podem lidar com grandes tamanhos de transferência de arquivos e fornecer automação avançada de fluxo de trabalho.
Neste guia, mostraremos como instalar Pydio Cells no servidor Rocky Linux 9 com servidor MariaDB e servidor web Apache ou httpd. Você também protegerá sua instalação com SSL/TLS da Letsencrypt.
Pré-requisitos
Antes de começar, certifique-se de ter:
- Um servidor Rocky Linux 9.
- Um usuário não root com privilégios sudo.
- Um nome de domínio apontado para um endereço IP de servidor.
- SELinux com status permissivo.
Instalando Dependências
Células Pydio é uma plataforma de colaboração e compartilhamento de documentos que você pode executar com um servidor web Apache e um servidor MariaDB. Então, primeiro, você instalará e iniciará o Apache e o MariaDB em sua máquina Rocky Linux.
Para começar, instale o repositório EPEL e, em seguida, instale o servidor MariaDB e o servidor web Apache com o seguinte comando. Além disso, você instalará o certbot para gerar certificados SSL/TLS.
sudo dnf install epel-release
sudo dnf install mariadb-server httpd certbot wget
Insira Y para confirmar a instalação.
Após a conclusão da instalação, inicie e habilite o serviço httpd com o comando abaixo.
sudo systemctl start httpd
sudo systemctl enable httpd
Em seguida, verifique o serviço httpd para garantir que o serviço esteja em execução e ativado.
sudo systemctl status httpd
Como você pode ver abaixo, o serviço httpd está em execução.
Em seguida, inicie e habilite o servidor mariadb usando o seguinte comando.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Por último, verifique o serviço mariadb com o comando abaixo para garantir que está funcionando.
sudo systemctl status mariadb
Abaixo você pode ver que o serviço mariadb também está em execução.
Configurando o Firewalld
Por padrão, o firewalld está ativo no Rocky Linux. Portanto, agora você deve abrir os serviços HTTP e HTTPS no firewalld e permitir o acesso ao seu servidor web httpd.
Execute o comando abaixo para abrir o serviço HTTP e HTTPS no firewalld. Em seguida, recarregue o firewalld para aplicar suas alterações.
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload
Agora verifique o status do firewalld usando o comando abaixo. Certifique-se de que os serviços HTTP e HTTPS sejam adicionados ao firewalld.
sudo firewall-cmd --list-all
Configurando o servidor MariaDB
Por padrão, o servidor MariaDB vem sem autenticação por senha. Para proteger e configurar a senha, você pode utilizar o utilitário mariadb-secure-installation. Depois disso, você também precisa criar um novo banco de dados e usuário para a instalação do Pydio Cells.
Para proteger a instalação do servidor MariaDB, execute o comando abaixo.
sudo mariadb-secure-installation
Assim que o comando for executado, você será solicitado com algumas das configurações do MariaDB abaixo:
- Mudar a autenticação local para unix_socket? Entrada n.
- Configurar a nova senha root do MariaDB? Insira y para confirmar e digite a nova senha para a implantação do servidor MariaDB.
- Remover usuário anônimo? Insira y para confirmar.
- Remover o teste de banco de dados padrão da implantação? Insira y para confirmar.
- Proibir login root do MariaDB em conexões remotas? Insira y para confirmar.
- Recarregar os privilégios da tabela e aplicar as alterações? Insira y e pressione ENTER.
Agora que você protegeu o MariaDB e configurou a senha root, prossiga para criar um novo banco de dados e usuário para Pydio Cells.
Faça login no servidor MariaDB com o comando abaixo. Digite sua senha root do MariaDB quando solicitado.
sudo mariadb -u root -p
Execute as consultas a seguir para criar um novo banco de dados MariaDB e usuário para células Pydio. Neste exemplo, você criará novas células de banco de dados com o usuário pydio. Além disso, certifique-se de alterar a seguinte senha pela sua.
CREATE DATABASE cells;
CREATE USER 'pydio'@'localhost' IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON cells.* to 'pydio'@'localhost';
FLUSH PRIVILEGES;
Em seguida, execute a seguinte consulta para verificar os privilégios do usuário pydio. Certifique-se de que o usuário pydio possa acessar as células do banco de dados.
SHOW GRANTS FOR 'pydio'@'localhost';
Por último, digite quit para sair do servidor MariaDB.
Adicionando usuário Pydio
Nesta seção, você criará um novo usuário Linux que será usado para executar Pydio Cells. Isso também carregará algumas variáveis de ambiente globais para Pydio.
Para criar um novo usuário pydio, execute o seguinte comando.
sudo useradd -m -s /bin/bash pydio
Agora execute o seguinte comando para criar os diretórios necessários /opt/pydio/bin e /var/cells que serão usados pelas células Pydio.
sudo mkdir -p /opt/pydio/bin /var/cells
sudo chown -R pydio: /opt/pydio /var/cells
Crie um novo script de perfil bash /etc/profile.d/cells-env.sh e torne-o executável usando o comando abaixo. Este arquivo será carregado automaticamente pelos usuários.
sudo touch /etc/profile.d/cells-env.sh
sudo chmod +x /etc/profile.d/cells-env.sh
Abra o /etc/profile.d/cells-env.sh usando o comando do editor nano.
sudo nano /etc/profile.d/cells-env.sh
Adicione a seguinte configuração para criar variáveis de ambiente para células Pydio.
export CELLS_WORKING_DIR=/var/cells
export CELLS_BIND=127.0.0.1:8080
export CELLS_EXTERNAL=https://cells.hwdomain.io
Quando terminar, salve e saia do arquivo.
Abaixo estão variáveis de ambiente detalhadas para células Pydio:
- CELLS_WORKING_DIR: o diretório de trabalho padrão do Pydio.
- CELLS_BIND: onde o Pydio Cells estará rodando. Neste exemplo, o Pydio será executado em 127.0.0.1:8080.
- CELLS_EXTERNAL: um nome de domínio externo que o cliente pode visitar para acessar a instalação do Pydio Cells.
Baixando células Pydio
Agora que você instalou e configurou dependências, crie também um novo usuário para Pydio. Agora você pode baixar o Pydio para o seu sistema Rocky Linux.
Baixe e instale Pydio Cells em /opt/pydio/bin/cells usando o seguinte comando. As células Pydio são um programa binário único que você pode instalar no caminho binário.
export distribId=cells
wget -O /opt/pydio/bin/cells https://download.pydio.com/latest/${distribId}/release/{latest}/linux-amd64/${distribId}
Depois de baixado, torne-o executável com o comando abaixo.
chmod a+x /opt/pydio/bin/cells
Agora execute o comando abaixo para permitir que o programa /opt/pydio/bin/cells seja vinculado e executado na porta privilegiada. Em seguida, crie um link simbólico de células Pydio para o caminho do bin do sistema.
sudo setcap 'cap_net_bind_service=+ep' /opt/pydio/bin/cells
sudo ln -s /opt/pydio/bin/cells /usr/local/bin/cells
Em seguida, faça login como usuário pydio e verifique as variáveis de ambiente disponíveis com o seguinte comando. Certifique-se de que cada variável de ambiente esteja apontada para o valor adequado, como no arquivo /etc/profile.d/cells-env.sh.
su - pydio
echo $CELLS_WORKING_DIR
echo $CELLS_BIND
echo $CELLS_EXTERNAL
Por último, você pode verificar a versão do Pydio Cells com o comando abaixo.
cells version
Conforme mostrado abaixo, o Pydio Cells 4.3.5 está instalado em seu sistema Rocky Linux.
Instalando células Pydio via linha de comando
Agora que baixou o Pydio Cells, você pode continuar a configurar a instalação do Pydio Cells por meio da linha de comando. Dessa forma, você pode instalar facilmente o Pydio a partir do seu terminal.
Execute o comando de células abaixo para configurar a instalação do Pydio Cells por meio da linha de comando.
cells configure --cli
Agora você será questionado sobre algumas configurações abaixo:
- Conexão de banco de dados: selecione via TCP e insira os detalhes do host, porta, usuário e senha do banco de dados MariaDB.
- Configuração do MongoDB: Insira n para não.
- Configuração do usuário administrativo: insira seu usuário administrador e senha para células Pydio.
- Local de armazenamento padrão: pressione ENTER para usar o padrão e continuar.
Depois de tudo configurado, a instalação deverá ser iniciada. Quando terminar, você deverá obter uma saída 'Instalação concluída'.
Executando células Pydio como serviço Systemd
Nesta seção, você criará um novo arquivo de serviço systemd que será usado para executar células Pydio. Com isso, você pode gerenciar facilmente células Pydio por meio do utilitário de comando systemctl.
Crie um novo arquivo de serviço systemd /etc/systemd/system/cells.service usando o seguinte comando do editor nano.
sudo nano /etc/systemd/system/cells.service
Adicione a configuração abaixo para configurar o Pydio Cells como um serviço systemd. Você também pode ver que o Pydio estará sendo executado dentro do usuário pydio e certifique-se de ajustar as variáveis de ambiente com suas configurações.
[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.hwdomain.io
[Install]
WantedBy=multi-user.target
Quando terminar, salve e saia do arquivo.
Agora execute o comando abaixo para recarregar o gerenciador systemd.
sudo systemctl daemon-reload
Em seguida, inicie e habilite o serviço de células com o seguinte comando.
sudo systemctl start cells
sudo systemctl enable cells
Por último, verifique o status do serviço das células usando o comando abaixo. Você deve colocar o serviço de células em execução em seu sistema.
sudo systemctl status cells
Configurando o proxy reverso httpd
Agora que o Pydio Cells está em execução, você precisará criar uma nova configuração httpd que será usada como proxy reverso. Além disso, você precisa gerar um certificado SSL/TLS para proteger sua instalação.
Primeiro, crie um novo diretório /var/www/html/cells/public_html usando o comando abaixo.
sudo mkdir -p /var/www/html/cells/public_html
sudo chown -R apache:apache /var/www/html/cells/public_html
Gere certificados SSL/TLS usando o comando certbot abaixo. Certifique-se de alterar o endereço de e-mail e o nome de domínio de destino da instalação do Pydio Cells.
sudo certbot certonly --agree-tos --email [email --no-eff-email --webroot -w /var/www/html/cells/public_html -d cells.hwdomain.io
Assim que o processo for concluído, crie um novo arquivo de host virtual httpd /etc/httpd/conf.d/cells.conf usando o seguinte comando do editor nano.
sudo nano /etc/httpd/conf.d/cells.conf
Insira a seguinte configuração e certifique-se de alterar o nome de domínio com sua instalação de destino.
<VirtualHost *:80>
ServerName cells.hwdomain.io
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{SERVER_NAME} =cells.hwdomain.io
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
ServerName cells.hwdomain.io
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.hwdomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cells.hwdomain.io/privkey.pem
#Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
Quando terminar, salve o arquivo e saia.
Agora, execute o comando abaixo para verificar sua sintaxe httpd. Em seguida, reinicie o serviço httpd para aplicar suas alterações.
sudo apachectl configtest
sudo systemctl restart httpd
Se você tiver a sintaxe httpd adequada, deverá ver uma saída Syntax OK.
Por último, inicie seu navegador e visite o nome de domínio Pydio Cells, como https://ceels.hwdomain.io/. Se a instalação for bem-sucedida, você deverá ver a página de login do Pydio Cells.
Insira seu usuário administrador e senha que você criou e clique em ENTER.
Uma vez logado, você deverá obter o painel do usuário do Pydio Cells como o seguinte:
Conclusão
Parabéns! Agora você instalou com sucesso o Pydio Cells no servidor Rocky Linux 9. Você instalou Pydio Cells com o servidor de banco de dados MariaDB e proxy reverso httpd. Além disso, você protegeu sua instalação com certificados SSL/TLS da Letsencrypt.