INSTALAR NEXTCLOUD UBUNTU-SERVER CON ZIP OFICIAL (latest.zip)
Instala Apache, PHP y MySQL:
sudo apt update
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql php-gd php-json php-xml php-curl php-zip php-mbstring php-bcmath unzip -y
Configura la base de datos:
sudo mysql
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'password123';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Descarga Nextcloud:
wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip
sudo mv nextcloud /var/www/html/
sudo chown -R www-data:www-data /var/www/html/nextcloud
Crea archivo de configuración en Apache:
sudo nano /etc/apache2/sites-available/nextcloud.conf
ServerAdmin admin@localhost
DocumentRoot /var/www/html/nextcloud
ServerName localhost.local
Require all granted
AllowOverride All
Options +FollowSymlinks
ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
Activa el sitio y módulos necesarios:
sudo a2ensite nextcloud.conf
sudo a2enmod rewrite headers env dir mime
sudo systemctl reload apache2
Abre el navegador y escribe http://IP_DEL_SERVIDOR/nextcloud
BACKUP nextcloud
sudo -E -u www-data php occ maintenance:mode --on
rsync -Aavx nextcloud/ nextcloud-dirbkp_`date +"%Y%m%d"`/
mysqldump --single-transaction --no-tablespaces -h [server] -u [username] -p[password] [db_name] > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
mysqldump --single-transaction --default-character-set=utf8mb4 -h [server] -u [username] -p[password] [db_name] > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
sudo -E -u www-data php occ maintenance:mode --off
RESTORE nextcloud
rsync -Aax nextcloud-dirbkp/ nextcloud/
mysql -h [server] -u [username] -p[password] -e "DROP DATABASE nextcloud"
mysql -h [server] -u [username] -p[password] -e "CREATE DATABASE nextcloud"
utf8
mysql -h [server] -u [username] -p[password] -e "DROP DATABASE nextcloud"
mysql -h [server] -u [username] -p[password] -e "CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci"
mysql -h [server] -u [username] -p[password] [db_name] < nextcloud-sqlbkp.bak
Copiar archivos del servidor ubuntu a nextcloud
sudo cp -R /ruta/de/tus/archivos/* /var/www/html/nextcloud/data//files/Destino/
sudo -u www-data php /var/www/html/nextcloud/occ files:scan --path="/files/Destino"
Nota para o siguiente: Ha funcionado sin crear directorio destino ni dar permisos.
No copies archivos cuando el usuario esté accediendo a Nextcloud; podrías corromper datos.
Asegúrate de que el directorio de destino (Destino) exista previamente, o créalo con:
mkdir /var/www/nextcloud/data//files/Destino
chown -R www-data:www-data /var/www/nextcloud/data//files/Destino
Eliminar bloqueos base de datos de Nextcloud
Nextcloud a veces deja bloqueos en la base de datos que impiden operaciones de archivos.
sudo mysql -u root -p
Selecciona base datos Nextcloud
USE nextcloud;
DELETE FROM oc_file_locks WHERE 1;
EXIT;
---------------------------------------
INSTALACION SNAP
sudo snap install nextcloud
1. BACKUP-RESTORE USANDO SNAP SAVE-RESTORE
https://github.com/nextcloud-snap/nextcloud-snap/wiki/Backup-and-Restore
Backup.
stop Nextcloud snap sudo snap stop nextcloud
save Nextcloud snap sudo snap save nextcloud
start Nextcloud snap sudo snap start nextcloud
copy/move snapshot (*.zip) in /var/lib/snapd/snapshots to wherever
Restore
copy/move snapshot (*.zip) to /var/lib/snapd/snapshots
discover snapshot-id using snap saved
restore snapshot sudo snap restore
Deleting snap snapshots
Procedure
discover snapshot-id using snap saved
delete snapshot sudo snap forget
2. BACKUP-RESTORE USANDO NEXTCLOUD.EXPORT / NEXTCLOUD.IMPORT
https://github.com/nextcloud-snap/nextcloud-snap/wiki/How-to-backup-your-instance
Exportar/backup
nextcloud.export
Se guarda una carpeta con fecha y hora (ej:20190121-153921,) dentro de /var/snap/nextcloud/common/backups/.
Se puede crear un tar o tar.gz (comprimido)
sudo tar -czf 20190121-153921_nextcloud-backup.tar.gz /var/snap/nextcloud/common/backups/20190121-153921
Importar/restore
Extraer el archivo tar o tar.gz
sudo tar -xvf 20190121-153921_nextcloud-backup.tar.gz
Colocar la carpeta extraida (nombre fecha y hora) en:
/var/snap/nextcloud/common o /var/snap/nextcloud/current/
sudo nextcloud.import path/to/backup/dir.**
sudo mv 20190121-153921_nextcloud-backup.tar /var/snap/nextcloud/current/
sudo chown -R root:root /var/snap/nextcloud/current/20190121-153921/
Opciones:
-h: Display this help message
-a: Include the (non-default) apps
-b: Include the database
-c: Include the config
-d: Include the data (can be quite large)
Q. Can exporting specify the data directory?
A. Not directly, but you should be able to use a symlink. For example, creating a symlink from the data directory to /var/snap/nextcloud/common/nextcloud/data
Q. Can I somehow export/import my HTTPS certs?
A. Yes, everything related to them is stored in the /var/snap/nextcloud/current/certs directory, so copying it and preserving its permissions and owner works.
Borrar bloqueos de nextcloud instalado con docker
docker exec -it nextcloud_app php occ maintenance:mode --on
docker exec -it nextcloud_db mysql -u nextcloud -pnextcloudpass nextcloud -e "DELETE FROM oc_file_locks;"
docker exec -it nextcloud_app php occ maintenance:mode --off
docker compose restart