Guia de tecnologias

Instalar ownCloud no Rocky Linux: guia completo

9 min read Tutoriais Atualizado 22 Oct 2025
Instalar ownCloud no Rocky Linux — Guia completo
Instalar ownCloud no Rocky Linux — Guia completo

Intenção principal e variações de busca

  • Instalar ownCloud no Rocky Linux
  • Configurar ownCloud com LAMP
  • Deploy ownCloud PHP 7.4 Rocky Linux
  • ownCloud SELinux configuração
  • ownCloud SSL Let’s Encrypt

O que é ownCloud (em uma linha)

ownCloud é uma solução open-source de hospedagem de arquivos que permite montar um serviço semelhante ao Google Drive/Dropbox no seu próprio servidor.

Por que seguir este guia

Este tutorial combina passos práticos e recomendações de produção: traz a pilha completa (LAMP), caching com Redis, proteção SELinux, regras de firewall e cron. Também apresenta alternativas, verificação pós-instalação e resolução de problemas comuns.

Sumário deste artigo

  • Pré-requisitos
  • Instalar dependências básicas (EPEL, Redis v6)
  • Instalar PHP 7.4 via REMI e extensões necessárias
  • Instalar Apache/httpd e configurar Firewalld
  • Instalar e proteger MariaDB; criar banco owncloud
  • Baixar e verificar o código-fonte do ownCloud
  • Configurar virtual host Apache e SSL
  • Ajustes SELinux necessários
  • Instalação via navegador e configuração inicial
  • Agendar cron e checagens finais
  • Segurança adicional, alternativas e troubleshooting
  • Checklist e critérios de aceitação

Pré-requisitos

Antes de começar, confirme isto:

  • Rocky Linux 8.x com acesso SSH e privilégios sudo (ou root). Este guia usa o servidor com hostname owncloud-server e IP de exemplo 192.168.5.100. Ajuste para seu ambiente.
  • Usuário não-root com sudo ou root direto.
  • Um domínio ou subdomínio apontando para o IP do servidor (ex.: howtoforge.local). Para produção, use um domínio público válido.
  • Conectividade de rede para baixar pacotes e certificados (Let’s Encrypt).

Importante: os exemplos de comando usam valores de demonstração (senhas e domínios). Troque por valores fortes e personalizados no seu ambiente.

Mapa rápido de decisões (escolha de componentes)

flowchart TD
  A[Começo] --> B{Servidor com recursos limitados?}
  B -- Sim --> C[Use PHP-FPM + Nginx para menor overhead]
  B -- Não --> D[Apache/httpd é aceitável e simples]
  C --> E{Banco de dados}
  D --> E
  E -- Alta escala --> F[PostgreSQL ou MariaDB com tuning]
  E -- Baixa escala --> G[MariaDB padrão]
  F --> H[Configurar replicação/backup]
  G --> H
  H --> I[Instalação ownCloud]

Instalar dependências básicas

  1. Habilitar repositório EPEL:
sudo dnf install epel-release

Quando solicitado, digite y e ENTER.

instalar epel

  1. Habilitar módulo Redis v6 (recomendado para ownCloud):
sudo dnf module reset redis
sudo dnf module enable redis:6

Quando solicitado, digite y e ENTER.

ativar redis v6

  1. Instalar pacotes básicos necessários:
sudo dnf install libsmbclient redis unzip libzip bzip2 openssl rsync ImageMagick

Di gite y quando solicitado.

instalar dependências

  1. Habilitar e iniciar o serviço Redis:
sudo systemctl enable redis
sudo systemctl start redis
sudo systemctl status redis

Você deve ver o serviço em execução e habilitado para iniciar no boot.

verificar redis

Nota: ownCloud se beneficia de um cache de chave-valor (Redis) para sessão e locking; usar Redis evita problemas de cache e bloqueio em ambiente concorrente.

Instalar PHP 7.4 e extensões (via REMI)

Por compatibilidade com a versão do ownCloud tratada neste guia, instale PHP 7.4 (algumas versões do ownCloud ainda não estão compatíveis com PHP 8). Usaremos o repositório REMI.

Adicionar REMI e utilitários:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Enable o módulo remi-7.4:

sudo dnf module reset php
sudo dnf module enable php:remi-7.4

adicionar remi

Instalar PHP 7.4 com todas as extensões recomendadas:

sudo dnf install --enablerepo=remi php php-intl php-mysql php-mbstring \
  php-imagick php-igbinary php-gmp php-bcmath \
  php-curl php-gd php-zip php-imap php-ldap \
  php-bz2 php-ssh2 php-common php-json \
  php-xml php-devel php-apcu php-redis \
  php-smbclient php-pear php-phpseclib

Confirme com y quando solicitado.

instalar php 7.4

Verifique a versão do PHP:

php --version

Você deverá ver PHP 7.4.

verificar php

Dica: revisite php.ini para ajustar memory_limit, max_execution_time e upload_max_filesize conforme uso.

Instalar Apache/httpd

ownCloud pode rodar em Apache ou Nginx. Neste guia usamos Apache/httpd.

Instale o httpd e mod_ssl:

sudo dnf install httpd httpd-devel httpd-tools mod_ssl

Inicie e habilite o serviço:

sudo systemctl enable httpd
sudo systemctl start httpd
sudo systemctl status httpd

instalar httpd

Configurar Firewalld (abrir HTTP/HTTPS):

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-services

Verifique acesso externo ao servidor na porta 80/443.

configurar firewalld

Criar arquivo info.php para validar PHP+Apache:

cat <
EOF

Acesse http://SEU_IP/info.php para conferir as configurações do PHP.

phpinfo

Instalar e configurar MariaDB

ownCloud funciona com MariaDB/MySQL e PostgreSQL. Para produção, recomendamos MariaDB/MySQL ou PostgreSQL (mais robusto que SQLite).

Instalar MariaDB:

sudo dnf install mariadb-server
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo systemctl status mariadb

instalar mariadb

Executar mysql_secure_installation para proteger o servidor:

sudo mysql_secure_installation

Responda às perguntas conforme indicado (sugestões):

  • Switch auth method for root? n
  • Change root password? y (defina senha forte)
  • Disallow root remote login? y
  • Remove anonymous users? y
  • Remove test database? y
  • Reload privilege tables? y

Depois, criar banco de dados e usuário para ownCloud:

sudo mysql -u root -p
CREATE DATABASE owncloud;
CREATE USER IF NOT EXISTS 'owncloud'@'localhost' IDENTIFIED BY 'owncloudpass';
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
SHOW GRANTS FOR 'owncloud'@'localhost';
quit

Altere ‘owncloudpass’ para uma senha segura. Verifique privilégios.

criar db e usuario

Baixar e verificar o código-fonte do ownCloud

Mover para /var/www e baixar o tarball oficial:

cd /var/www
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2.sha256

Verificar a integridade com SHA256:

sudo sha256sum -c owncloud-complete-latest.tar.bz2.sha256 < owncloud-complete-latest.tar.bz2

Se o arquivo estiver válido, proceda à extração:

sudo tar -xvjf owncloud-complete-latest.tar.bz2
sudo chown -R apache:apache /var/www/owncloud

A extração criará /var/www/owncloud como diretório de instalação.

Configurar Virtual Host do Apache e SSL

Crie /etc/httpd/conf.d/owncloud.conf e adicione a configuração (ajuste ServerName, paths de certificados):

sudo nano /etc/httpd/conf.d/owncloud.conf

Cole a configuração (ajuste howtoforge.local para seu domínio):


  ServerName howtoforge.local
  Redirect permanent / https://howtoforge.local/



  ServerName howtoforge.local
  DocumentRoot /var/www

  Protocols h2 http:/1.1

  
    Redirect permanent / https://howtoforge.local/
  

  ErrorLog /var/log/httpd/howtoforge.local-error.log
  CustomLog /var/log/httpd/howtoforge.local-access.log combined

  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/howtoforge.local/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/howtoforge.local/privkey.pem

  SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384

  SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
  SSLCompression off

  Header always set Strict-Transport-Security "max-age=63072000"

  Alias /owncloud "/var/www/owncloud/"

  
    Options +FollowSymlinks
    AllowOverride All

    
    Dav off
    

    SetEnv HOME /var/www/owncloud
    SetEnv HTTP_HOME /var/www/owncloud

  

Verifique sintaxe e reinicie o httpd:

sudo apachectl configtest
sudo systemctl restart httpd

configurar httpd

Para gerar certificados Let’s Encrypt, use Certbot (instalar via dnf/epel) e emitir: certbot –apache -d seu-dominio.

Ajustes SELinux para ownCloud

Se SELinux estiver em modo enforcing, é necessário etiquetar os diretórios e permitir conexões de rede do httpd.

Instale ferramentas de gestão SELinux:

sudo dnf install policycoreutils-python-utils

Etiquetas recomendadas:

sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/data(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/config(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/apps(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/apps-external(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/.htaccess'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/.user.ini'

sudo restorecon -Rv '/var/www/owncloud/'

Permissões booleanas para httpd:

sudo setsebool -P httpd_can_network_connect_db on
sudo setsebool httpd_unified on
sudo setsebool -P httpd_can_connect_ldap on
sudo setsebool -P httpd_can_network_connect on
sudo setsebool -P httpd_can_network_memcache on
sudo setsebool -P httpd_can_sendmail on
sudo setsebool -P httpd_use_cifs on
sudo setsebool -P httpd_use_fusefs on
sudo setsebool -P httpd_use_gpg on

Esses ajustes permitem que o Apache acesse o banco, memcached/redis, e montagens CIFS/FUSE quando necessário.

configurar selinux

Processo de instalação via navegador (UI do ownCloud)

Abra no navegador: https://seu-dominio/owncloud/

Na página de instalação:

  • Crie o usuário admin e senha.
  • Em “Armazenamento e banco de dados”, selecione MySQL/MariaDB e informe host (localhost), nome do banco (owncloud), usuário (owncloud) e a senha definida.
  • Clique em Finish setup.

instalar owncloud

Efetue login com o admin criado.

página de login owncloud

No painel do usuário, você pode criar pastas e enviar arquivos.

dashboard owncloud

Exemplo de criação de pasta e upload:

upload e criar pasta

Configurar cron para tarefas em background

Recomendado: usar cron para jobs periódicos do ownCloud.

Testar o backend de tarefas:

sudo -u apache /var/www/owncloud/occ background:cron

Adicionar crontab para o usuário apache:

sudo crontab -u apache -e

Adicionar a linha (executa a cada 15 minutos):

*/15 * * * * /usr/bin/php -f /var/www/owncloud/occ system:cron

Salve e saia.

configurar cron

No painel do ownCloud: Settings → General → Security and setup warnings deve indicar “All checks passed”.

verificação final

Boas práticas e hardening (segurança)

  • SSL: use HTTPS com certificados válidos (Let’s Encrypt ou CA corporativa). HSTS habilitado é recomendado.
  • Permissões de arquivos: o diretório data deve ser gravável apenas pelo usuário do servidor web (apache) e protegido contra leitura pública.
  • Backups: faça backups regulares do diretório data e do banco de dados. Teste restaurações.
  • Atualizações: mantenha PHP, Apache, MariaDB e ownCloud atualizados. Planeje janelas de manutenção.
  • Monitoramento: configure alertas para uso de disco, CPU e latência do banco de dados.
  • Rate limiting e firewall: proteja endpoints administrativos e APIs com regras de firewall e, se possível, WAF.

Compatibilidade, alternativas e quando escolher outra pilha

  • Nginx + PHP-FPM: recomendado para alta concorrência e menor uso de memória. Substitua httpd por nginx e ajuste fastcgi.
  • PostgreSQL: escolha para cenários que demandam extensões avançadas ou quando já existe expertise em Postgres.
  • PHP 8+: algumas versões do ownCloud ainda não têm compatibilidade total; verifique a matriz de compatibilidade da versão específica que pretende instalar.

Tabela rápida de escolha:

  • Pequeno ambiente (<20 usuários): Apache + MariaDB é suficiente.
  • Médio a grande (>50 usuários, uso intensivo): Nginx + PHP-FPM + MariaDB/PostgreSQL + Redis para cache.

Troubleshooting comum

  • Erro 500 após instalação: verifique logs /var/log/httpd/error_log e os logs do ownCloud em /var/www/owncloud/data/owncloud.log. Verifique permissões e SELinux (ause getenforce).
  • Permissões de arquivos: se ownCloud não grava, corrija owner/group para apache:apache e aplique semanage/restorecon.
  • Mensagem de compatibilidade PHP: confirme php –version e extensões necessárias (php-gd, php-mbstring, php-xml etc.).
  • Certbot falhou: verifique se porta 80 está liberada e não há redirects que impeçam o challenge HTTP.

Checklist de aceitação (Kriterien de aceitação)

  1. Acesso via HTTPS para https://SEU_DOMÍNIO/owncloud/ retorna a página de login.
  2. Painel de ‘Security and setup warnings’ mostra “All checks passed”.
  3. Cron executa sem erros (logs do ownCloud não mostram warnings de tarefas em background).
  4. Backup automático agendado para banco e diretório data.
  5. SELinux em modo enforcing com as etiquetas aplicadas e sem AVC denials persistentes.
  6. Testes de upload/download: arquivos pequenos e grandes (até limite configurado) funcionam.
  7. Performance básica aceitável com 10–50 usuários simultâneos (dependendo de hardware).

Lista de verificação operacional (Role-based)

Administrador de sistema:

  • Verificar backups diários do banco e data.
  • Aplicar atualizações de segurança semanalmente.
  • Monitorar logs e alertas de disco.

Administrador de aplicação:

  • Confirmar integrações (LDAP/AD) se aplicável.
  • Validar políticas de retenção e quotas de usuário.

Segurança/Compliance:

  • Validar criptografia em trânsito e em repouso (se aplicável).
  • Revisar controles de acesso e MFA para contas administrativas.

Casos de teste / Critérios de aceitação (mínimos)

  • CT-01: Login com usuário admin criado — resultado esperado: redireciona para dashboard.
  • CT-02: Upload de arquivo de 10 MB — resultado: upload completo e download sem corrupção.
  • CT-03: Criação de pasta e permissão compartilhada — resultado: usuário convidado acessa arquivo compartilhado.
  • CT-04: Execução do cron manual e verificação de execução (ocorrências no owncloud.log).

Riscos e mitigação (qualitativo)

  • Risco: Perda de dados por falta de backup — Mitigação: agendar backups automatizados e testar restauração.
  • Risco: Exposição de dados por configuração TLS fraca — Mitigação: configurar cipher suites modernos, HSTS e renovar certificados.
  • Risco: Falhas por atualizações incompatíveis de PHP — Mitigação: testar atualizações em ambiente staging antes de produção.

Notas sobre privacidade e conformidade (GDPR)

Se você armazenar dados pessoais, avalie:

  • Localização física do servidor (jurisdição).
  • Políticas de retenção e exclusão de dados.
  • Logs de acesso e anonimização quando necessário.
  • Contratos e termos com provedores de infraestrutura.

Exemplo rápido de playbook de recuperação (rollback)

  1. Isolar o serviço (colocar em modo manutenção via occ: sudo -u apache php /var/www/owncloud/occ maintenance:mode –on).
  2. Restaurar backup do banco para um ponto válido.
  3. Restaurar diretório data a partir do backup correspondente.
  4. Validar integridade e desativar modo manutenção.

Glossário (1 linha cada)

  • LAMP: Linux, Apache, MySQL/MariaDB, PHP — pilha tradicional para aplicações web.
  • SELinux: Mecanismo de controle de acesso obrigatório no kernel para segurança reforçada.
  • Redis: Armazenamento em memória para cache e locks, usado para melhorar performance.
  • Certbot: Cliente ACME para emitir certificados Let’s Encrypt.

Conclusão

Você instalou e configurou o ownCloud no Rocky Linux com LAMP, Redis, SELinux e SSL. Também adicionamos cron, testes básicos, checklist de aceitação e dicas de segurança. A partir daqui você pode integrar serviços (LDAP, storage externo), habilitar sincronização de clientes e dimensionar conforme o uso.

Resumo final: mantenha backups, atualize componentes em ambiente de teste antes de produção e monitore recursos e logs para garantir disponibilidade.

Recursos adicionais e próximos passos sugeridos

  • Integrar ownCloud com LDAP/Active Directory para autenticação centralizada.
  • Montar armazenamento externo (S3, NFS, CIFS) para escalabilidade.
  • Implementar replicação/cluster do banco para alta disponibilidade.
  • Testar migração para PHP 8 quando a versão do ownCloud suportar oficialmente.

Important: Se alguma etapa falhar, revise logs (Apache, PHP, MariaDB e ownCloud) e confirme permissões e SELinux. Para incidentes críticos, coloque a instância em modo manutenção e realize a restauração a partir do backup testado anteriormente.

Autor
Edição

Materiais semelhantes

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE