Nextcloud es una plataforma de colaboración de contenido segura y de código abierto basada en PHP. Se utiliza para compartir y sincronizar archivos. El usuario puede compartir la cantidad de archivos y carpetas de sus computadoras locales y sincronizar con el servidor Nextcloud.
Antes de proceder a instalar Nextcloud, su sistema ubuntu debe tener instalada la pila LAMP (Linux, Apache, MySQL /MariaDB, PHP). Los siguientes son los pasos para instalar Nextcloud en Ubuntu.
Instalar Apache:
- Ejecute el siguiente comando para instalar el servidor Apache en Ubuntu.
# sudo apt update # sudo apt install apache2
- Después de instalar Apache, inicie y habilite el servicio Apache en el arranque.
# sudo systemctl start apache2.service # sudo systemctl enable apache2.service
Debería poder acceder a la página predeterminada de Apache con la dirección IP del servidor ahora.
Instalar MariaDB:
- MariaDB es un servidor de base de datos de código abierto. Presione el siguiente comando para instalar MariaDB.
# sudo apt-get install mariadb-server mariadb-client
- Después de instalar MariaDB, inicie y habilite el servicio MariaDB en el arranque.
# sudo systemctl start mariadb.service # sudo systemctl enable mariadb.service
- Configuraremos MariaDB una vez que esté instalado. Ejecute el siguiente comando para asegurar MariaDB.
# sudo mysql_secure_installation
Enter current password for root (enter for none): Just press the Enter Set root password? [Y/n]: Y New password: Enter password Re-enter new password: Repeat password Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
- Reinicie el servidor MariaDB.
# sudo systemctl restart mariadb.service
Instalar PHP:
- Para instalar php 7.2, ejecute el siguiente comando
# sudo apt install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-gmp php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip
- Después de instalar PHP 7.2, presione el siguiente comando para abrir el archivo de configuración predeterminado de php para Apache.
# sudo nano /etc/php/7.2/apache2/php.ini
- Haga los siguientes cambios en su archivo php.ini.
file_uploads = On allow_url_fopen = On short_open_tag = On memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = America/Chicago
- Reinicie el servicio Apache nuevamente.
# sudo systemctl restart apache2.service
- Verificaremos todas las funciones instaladas agregando una página de información de php en su código.
# sudo nano /var/www/html/phpinfo.php
- Ingrese el siguiente código en la página phpinfo.php.
php phpinfo( ); ?
- Guarde su archivo y abra la página phpinfo con ipaddress/phpinfo.php en su navegador.
Crear base de datos de NextCloud
- Primero, cree una base de datos en blanco. Inicie sesión en la base de datos MariaDB.
# sudo mysql -u root -p
- Cree una base de datos llamada nextcloud_db;
# CREATE DATABASE nextcloud_db;
- Cree un usuario para la base de datos nextcloud_db.
CREATE USER 'nextcloud_user'@'localhost' IDENTIFIED BY 'your_password'; ;
- Otorgar todos los privilegios para nextcloud_user a la base de datos nextcloud_db.
#GRANT ALL ON nextcloud_db.* TO 'nextcloud_user'@'localhost' IDENTIFIED BY 'user_password' WITH GRANT OPTION;
- Guarde los cambios con el siguiente comando.
# FLUSH PRIVILEGES; # EXIT;
Descargar la última versión de Nextcloud:
- Antes de instalar Nextcloud, necesitaremos instalar curl y composer en el servidor. Puede hacerlo con el siguiente comando.
# sudo apt install curl git # curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
- Descargue Nextcloud de Github usando el siguiente comando. Lo descargaremos en el directorio raíz de apache.
# cd /var/www/html # sudo git clone --branch stable13 https://github.com/nextcloud/server.git nextcloud # cd /var/www/html/nextcloud # sudo composer install # sudo git submodule update --init
- Establezca el permiso para la carpeta como se indica a continuación.
# sudo chown -R www-data:www-data /var/www/html/nextcloud/ # sudo chmod -R 755 /var/www/html/nextcloud/
Configurar el servicio Apache
- Ahora, necesitaremos configurar Apache para Nextcloud. Cree un archivo llamado nextcloud.conf y agregue el contenido a continuación.
# sudo nano /etc/apache2/sites-available/nextcloud.conf
ServerAdmin [email protected] DocumentRoot /var/www/html/nextcloud/ ServerName yourdomain.com ServerAlias yourdomain.com Alias /nextcloud "/var/www/html/nextcloud/" Options +FollowSymlinks AllowOverride All Require all granted Dav off SetEnv HOME /var/www/html/nextcloud SetEnv HTTP_HOME /var/www/html/nextcloud ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
- Guardar y salir del archivo.
- Habilite NextCloud y el módulo de reescritura.
- Como hemos configurado el virtualhost, necesitaremos habilitarlo con el siguiente comando.
sudo a2ensite nextcloud.conf sudo a2enmod rewrite sudo a2enmod headers sudo a2enmod env sudo a2enmod dir sudo a2enmod mime
- Finalmente, reinicie Apache.
# sudo systemctl restart apache2.service
- Nuestra configuración ya está completa. Verifiquemos si accede a su nombre de dominio en un navegador que haya agregado en nextcloud.conf
- Establezca el nombre de usuario, la contraseña, la carpeta de datos y el nombre de usuario de la base de datos de Nextcloud, el nombre de la base de datos. Finalmente, haga clic en el botón Finalizar.
- Aquí está. Tenemos Nextcloud Dashboard como se muestra en la imagen de abajo.
Eso es todo. Hemos terminado con la instalación de Nextcloud.