Este guia detalha o processo de atualização offline do Nextcloud de uma versão antiga (17.0.1) para uma versão mais recente (23.0.0), quando a atualização online não é viável.
Preparativos e Considerações
- Backup: É crucial fazer backup do banco de dados e dos arquivos do Nextcloud antes de iniciar o processo. Embora o autor original tenha optado por não fazer backup do banco de dados por considerá-lo menos crítico para seu caso de uso (principalmente armazenamento de arquivos e sincronização), é altamente recomendado, especialmente se o histórico de versões de arquivos for importante.
- Download da Nova Versão: Baixe o pacote da versão mais recente do Nextcloud (neste caso, 23.0.0) do site oficial: nextcloud.com/install/
Procedimento de Atualização
-
Parar o Servidor Web
Interrompa o serviço do servidor web (por exemplo, Apache ou Nginx) para evitar acesso durante a atualização.
sudo systemctl stop httpdSe houver tarefas agendadas (cron jobs) configuradas para o Nextcloud, elas também devem ser desativadas temporariamente.
-
Backup dos Arquivos da Versão Antiga
Renomeie o diretório existente da instalação do Nextcloud para criar um backup. Isso preserva a configuração e os dados originais.
mv /var/www/html/nextcloud /var/www/html/nextcloud-old -
Upload e Extração dos Novos Arquivos
Faça o upload do arquivo ZIP da nova versão do Nextcloud para o servidor e extraia-o no diretório onde a instância anterior estava localizada.
# Exemplo de movimentação e extração mv nextcloud-23.0.0.zip /tmp/ cd /var/www/html/ unzip /tmp/nextcloud-23.0.0.zip -d . chown -R apache:apache nextcloud # Ajuste o usuário e grupo conforme seu servidor rm /tmp/nextcloud-23.0.0.zip -
Restauração da Configuração e Dados
Copie o arquivo de configuração e o diretório de dados da versão antiga para a nova instalação. Se você instalou aplicativos adicionais, mova-os também.
# Copiar configuração cp -a /var/www/html/nextcloud-old/config/config.php /var/www/html/nextcloud/config/ # Mover diretório de dados (se aplicável e se não foi copiado previamente) mv /var/www/html/nextcloud-old/data /var/www/html/nextcloud/ # Mover aplicativos de terceiros (se houver) # mv /var/www/html/nextcloud-old/apps/onlyoffice /var/www/html/nextcloud/apps/Ajuste as permissões dos arquivos e diretórios da nova instalação.
find /var/www/html/nextcloud/ -type d -exec chmod 750 {} \; find /var/www/html/nextcloud/ -type f -exec chmod 640 {} \; -
Iniciar o Servidor Web
Reinicie o serviço do servidor web para que as alterações entrem em vigor.
sudo systemctl restart httpd -
Acessar a Interface Web e Lidar com Erros Iniciais
Ao acessar a interface web do Nextcloud, você pode encontrar um erro indicando a necessidade de uma versão mais recente do PHP (por exemplo, "This version of Nextcloud requires at least PHP 7.3").
-
Atualização do PHP
Se a versão do PHP instalada for muito antiga, atualize-a. O procedimento pode variar dependendo da distribuição Linux. Para CentOS 7, por exemplo, pode envolver a adição de repositórios como EPEL e Remi, e a instalação do PHP 7.3.
# Adicionar repositórios (exemplo para CentOS 7) rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm # Habilitar o repositório correto (pode exigir edição de arquivos .repo) # Exemplo de instalação via yum após habilitar o repositório correto yum -y upgrade php* # Instala/atualiza pacotes PHP disponíveis systemctl restart php-fpmReinicie o servidor web e o serviço PHP-FPM após a atualização do PHP.
-
Forçar a Atualização (se necessário)
Em alguns casos, o Nextcloud pode impedir a atualização se houver grandes saltos de versão. Para contornar isso, você pode editar o arquivo
lib/private/Updater.phpna sua instalação do Nextcloud e comentar as linhas que verificam as versões permitidas para atualização.// Localize e comente as seguintes linhas no arquivo lib/private/Updater.php // if (!$this->isUpgradePossible($installedVersion, $currentVersion, $allowedPreviousVersions)) { // throw new \Exception('Updates between multiple major versions and downgrades are unsupported.'); // }Após comentar essas linhas, acesse a interface web do Nextcloud novamente. O sistema deve permitir que você prossiga com a atualização.
-
Conclusão da Atualização
Após o processo, a interface web do Nextcloud deve indicar que a atulaização foi concluída com sucesso.