Como atualizar um servidor Nextcloud para a versão 10
Contents
A versão 10 do Nextcloud, lançada há 3 dias, promete algumas novidades interessantes, pelo que não podia deixar de a testar! Estes foram os passos que segui para atualizar o meu servidor Nextcloud.
Descarregar a atualização
Descarregar os arquivos da aplicação (nextcloud-10.0.0.tar.bz2
), de verificação de integridade (nextcloud-10.0.0.tar.bz2.md5
) e de verificação de autenticidade (nextcloud-10.0.0.tar.bz2.asc
):
root@server:~# wget https://download.nextcloud.com/server/releases/nextcloud-10.0.0.tar.bz2 https://download.nextcloud.com/server/releases/nextcloud-10.0.0.tar.bz2.md5 https://download.nextcloud.com/server/releases/nextcloud-10.0.0.tar.bz2.asc
Verificar a integridade do arquivo
root@server:~# md5sum -c nextcloud-10.0.0.tar.bz2.md5
nextcloud-10.0.0.tar.bz2: OK
Verificar a autenticidade do arquivo
Descarregar chave do pública do nextcloud:
root@server:~# wget https://nextcloud.com/nextcloud.asc
Importar a chave do pública do nextcloud para o nosso keyring
:
root@server:~# gpg --import nextcloud.asc
trustdb created
gpg: key A724937A: public key "Nextcloud Security <security@nextcloud.com>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
Verificar a assinatura do arquivo:
root@server:~# gpg --verify nextcloud-10.0.0.tar.bz2.asc
gpg: assuming signed data in `nextcloud-10.0.0.tar.bz2'
gpg: Signature made Thu Aug 25 05:07:06 2016 WEST using RSA key ID A724937A
gpg: Good signature from "Nextcloud Security <security@nextcloud.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2880 6A87 8AE4 23A2 8372 792E D758 99B9 A724 937A
Descompactar o arquivo:
root@server:~# tar xjf nextcloud-10.0.0.tar.bz2
Atualizar o servidor
Preparar a atualização
Gerar uma lista das apps instaladas, para referência futura:
root@server:~# sudo -u www-data php /var/www/nextcloud/occ app:list
Colocar o nextcloud em modo de manutenção:
root@server:~# sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
Maintenance mode enabled
Parar o servidor web:
root@server:~# systemctl stop nginx
Instalar a nova versão
Renomear a pasta da instalação antiga do nextcloud:
root@server:~# mv /var/www/nextcloud /var/www/nextcloud.old
Mover a pasta com a nova versão para a localização anterior:
root@server:~# mv nextcloud /var/www/
Verificar o conteúdo de /var/www
:
root@server:~# ls -alF /var/www/
total 28
drwxr-xr-x 7 root root 4096 Aug 27 11:10 ./
drwxr-xr-x 12 root root 4096 Mar 6 10:58 ../
#[...]
drwxr-xr-x 14 nobody nogroup 4096 Aug 25 05:01 nextcloud/
drwxr-x--- 14 root www-data 4096 Jul 20 00:16 nextcloud.old/
Configurar a aplicação
Copiar a configuração antiga para a nova instalação:
root@server:~# cp /var/www/nextcloud.old/config/config.php /var/www/nextcloud/config/
Como mantenho a pasta de dados fora da instalação do nextcloud, basta criar uma ligação simbólica para a nova instalação:
root@server:~# ln -sf /home/nextcloud/data /var/www/nextcloud/data
Alterar temporariamente as permissões da pasta nextcloud
para facilitar o processo de atualização:
root@server:~# chown -R www-data:www-data /var/www/nextcloud
Reiniciar o servidor web:
root@server:~# systemctl start nginx
Atualizar a instalação
Lançar o processo de atualização do nextcloud:
root@server:~# sudo -u www-data php /var/www/nextcloud/occ upgrade
Este processo poderá levar algum tempo, dependendo do tamanho da base de dados, da quantidade de ficheiros e do desempenho do sistema:
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Set log level to debug
Checking whether the database schema can be updated (this can take a long time depending on the database size)
Done
27/27 [============================] 100%
# [...]
No final, uma mensagem assinala se a atualização correu bem ou se ocorreu algum erro:
# [...]
Starting code integrity check...
Finished code integrity check
Update successful
Maintenance mode is kept active
Reset log level
Desativar o modo de manutenção:
root@server:~# sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off
Nextcloud is in maintenance mode - no app have been loaded
Maintenance mode disabled
Definir permissões de segurança
Por fim, corrigir as permissões da pasta nextcloud
para garantir a segurança da instalação, seguindo as instruções disponíveis aqui.
Verificar a atualização
E pronto, agora é só abrir o browser e apontar para a URL do servidor nextcloud. Possivelmente será necessário instalar e/ou ativar algumas apps, mas tudo deverá funcionar na perfeição.
Referências
Author Fernando Ribeiro
LastMod 2016-08-27