En esta ocasión explicamos cómo instalar Nextcloud en FreeBSD 12 paso a paso, una magnífica alternativa para crear tu propio servicio de nube de archivos sobre tu servidor o VPS FreeBSD, tanto para red local como para Internet.
Contenido
Antes de instalar Nextcloud en FreeBSD 12
En caso de que quieras completar esta guía de instalación de Nextcloud en FreeBSD 12, deberías satisfacer todos los siguientes requerimientos:
- Un sistema FreeBSD 12 actualizado.
- Una pila tipo FAMP (servidor web con PHP y bases de datos).
- El paquete ca_root_nss.
- Acceso a consola con root o un usuario con permisos de sudo.
- Conexión a Internet.
Si aún no dispones del entorno necesario, es posible que te interese nuestra guía de instalación FAMP en FreeBSD 12. Puedes integrar Nextcloud en el servidor web de FreeBSD 12 como el sitio web principal del sistema, como parte del sitio principal o en su propio servidor virtual; y en cualquier caso con seguridad HTTPS. Por brevedad, en esta guía Nextcloud se integra como parte del sitio principal sobre HTTP estándar.
Cómo descargar Nextcloud en FreeBSD 12
Vamos a descargar Nextcloud para FreeBSD 12 desde la página oficial del proyecto, ya que los paquetes de esta aplicación disponibles en los repositorios del sistema están algo anticuados.
Desplegando la opción «Get Nextcloud» podremos seleccionar «Server packages«, donde desplegando la opción «Details and download options» podremos elegir entre el paquete en formato .tar.bz2 o .zip.
Si estás navegando en el sistema FreeBSD 12 en el que vas a realizar la instalación puedes descargar el paquete que prefieras directamente desde el navegador.
En este ejemplo copiamos el enlace del paquete en formato .tar.bz2 y lo descargamos desde consola mediante el comando fetch:
~$ fetch https://download.nextcloud.com/server/releases/nextcloud-19.0.1.tar.bz2
Cómo instalar Nextcloud en FreeBSD 12
Para poder instalar Nextcloud en FreeBSD 12 es necesario completar previamente una serie de pasos necesarios que se detallan a continuación.
Archivos de Nextcloud
Descomprimiremos el paquete que acabamos de descargar en su ubicación definitiva, según hayamos decidido integrar Nextcloud en el servidor web de FreeBSD 12.
~$ sudo tar -xf nextcloud-19.0.1.tar.bz2 -C /usr/local/www/apache24/data/
Nextcloud debe poder escribir en su propio directorio, así que cambiaremos su propietario por el usuario con el que corre el servidor web (www para Apache en FreeBSD 12):
~$ sudo chown -R www:www /usr/local/www/apache24/data/nextcloud/
Extensiones de PHP
Nextcloud requiere la instalación en FreeBSD 12 de una serie de extensiones de PHP, en este ejemplo trabajamos sobre PHP 7.4, pero si tienes otra versión sólo hay que cambiar 74 por 7x en el nombre de los paquetes.
Instalamos las extensiones necesarias:
~$ sudo pkg install -y php74-{bcmath,ctype,curl,dom,fileinfo,filter,gd,gmp,iconv,pecl-imagick,intl,json,mbstring,opcache,openssl,pecl-apcu,posix,session,simplexml,xml,xmlreader,xmlwriter,zip,zlib}
En el caso de usar PHP 7.3:
~$ sudo pkg install -y php73-{bcmath,ctype,curl,fileinfo,filter,gd,gmp,hash,iconv,pecl-imagick,intl,json,mbstring,opcache,openssl,pecl-apcu,posix,session,simplexml,xml,xmlreader,xmlwriter,zip,zlib}
Dependiendo del tipo de almacenamiento, puedes elegir entre MariaDB/MySQL, PostgreSQL o SQLite, cuyas extensiones son php7x-pdo_mysql, php7x-pdo_pgsql y php7x-pdo_sqlite respectivamente.
Instala aquella extensión relacionada con el motor de bases de datos de tu sistema FreeBSD 12, por ejemplo, para MariaDB/MySQL:
~$ sudo pkg install -y php7x-pdo_mysql
O para PostgreSQL:
~$ sudo pkg install -y php7x-pdo_pgsql
Al terminar la instalación recargamos la configuración del servidor web:
~$ sudo service apache24 reload
Servidor web
Nextcloud utiliza el módulo Rewrite de Apache, así que debemos asegurarnos de que esté cargado en la configuración del servidor web:
~$ sudo nano /usr/local/etc/apache24/httpd.conf
Buscaremos esta línea:
... #LoadModule rewrite_module libexec/apache24/mod_rewrite.so ...
Eliminamos el carácter # inicial para que Apache cargue el módulo:
... LoadModule rewrite_module libexec/apache24/mod_rewrite.so ...
Guardamos los cambios y cerramos el archivo.
Por otro lado es importante que se puedan usar los archivos .htaccess de Nextcloud, para lo que crearemos una configuración especial:
~$ sudo nano /usr/local/etc/apache24/Includes/nextcloud.conf
La siguiente configuración permitirá que Apache cargue las instrucciones de los archivos .htaccess de Nextcloud:
<Directory /usr/local/www/apache24/data/nextcloud> AllowOverride all php_value memory_limit "512M" </Directory>
Además, podemos aprovechar esta misma configuración para ajustar algunos valores de PHP.
Guardados los cambios, reiniciamos el servicio para activar todas estas configuraciones:
~$ sudo service apache24 restart
Base de datos
Nextcloud se apoya en una base de datos del servicio que tengamos instalado en FreeBSD 12. En este tutorial veremos cómo preparar los motores de bases de datos más usados.
MariaDB/MySQL
Conectaremos con el cliente de consola mysql para preparar lo que necesitamos:
~$ mysql -u root -p
Creamos la base de datos:
> create database nextcloud charset utf8mb4 collate utf8mb4_unicode_ci;
En MariaDB y MySQL 5 creamos el usuario con la siguiente sentencia:
> create user nextcloud@localhost identified by 'XXXXXXXX';
Mientras que para MySQL 8 lo creamos teniendo en cuenta el plugin de conexión adecuado:
> create user nextcloud@localhost identified with mysql_native_password by 'XXXXXXXX';
Y damos los permisos necesarios al usuario:
> grant all privileges on nextcloud.* to nextcloud@localhost;
Finalmente salimos del cliente mysql:
> exit
PostgreSQL
Creamos un rol con contraseña:
~$ sudo -u postgres createuser -P nextcloud
Y creamos la base de datos, asociándola al nuevo rol:
~$ sudo -u postgres createdb nextcloud -O nextcloud
Intalación vía web
Es el momento de finalizar la instalación a través del instalador web. Accedemos desde un navegador indicando la URL que hayamos configurado para Nextcloud.
En este ejemplo en que Nextcloud es parte de la página principal de FreeBSD 12, añadimos la ruta /nextcloud al dominio o dirección IP del servidor:
Se presenta un formulario para crear el usuario administrador, donde introduciremos un nombre y una contraseña.
A continuación se muestran las opciones del sistema de bases de datos.
Según el soporte instalado para bases de datos habrá más o menos opciones disponibles. Desplegaremos, si es el caso, las opciones de bases de datos para seleccionar el sistema que nos interese e introducimos los datos de conexión a la base de datos.
También puedes decidir si quieres instalar o no las aplicaciones recomendadas de Nextcloud.
Al terminar seguimos el enlace «Completar la instalación«.
El proceso de instalación e inicialización de Nextcloud tomará unos instantes, para terminar y pasar directamente a la página principal de la cuenta del administrador, donde se mostrará un carrusel informativo:
Terminado el carrusel queda despejada la pantalla principal, donde veremos los datos de muestra con que comienza cualquier cuenta de Nextcloud:
Ya está todo listo para cargar archivos, crear directorios, etc.
Además, el servicio queda preparado para conectar desde cualquier dispositvo vía navegador o instalando un cliente de Nextcloud que puedes descargar desde la misma página de descargas en la que obtuvimos el paquete del servidor.
Post-instalación de Nextcloud en FreeBSD 12
Una vez instalada la aplicación y ya funcionando, conviene hacer ciertas tareas de post-instalación que quedan pendientes.
Si instalaste la extensión APCu hay que activarla manualmente editando el archivo de configuración de Nextcloud:
~$ sudo nano /usr/local/www/apache24/data/nextcloud/config/config.php
Al final del archivo, justo antes del paréntesis de cierre, añadimos esta línea:
... 'memcache.local' => '\OC\Memcache\APCu', );
Nada más guardar los cambios y cerrar el archivo, la caché de datos estará funcionando.
Servicio Cron
Crearemos una tarea programada para ejecutar los trabajos en segundo plano de Nextcloud con mayor rendimiento:
~$ sudo nano /etc/cron.d/nextcloud
La configuración será la siguiente línea:
*/5 * * * * www /usr/local/bin/php /usr/local/www/apache24/data/nextcloud/cron.php
Una vez guardados los cambios, los trabajos en segundo plano se ejecutarán regularmente cada 5 minutos.
Conclusión
Así de fácil es instalar Nextcloud en FreeBSD 12, en cuestión de instantes tendrás funcionando tu propio servicio de nube de archivos tanto en red local como a través de Internet. Y fácilmente accesible, gracias a la gran variedad de clientes de Nextcloud para diversos dispositivos.
Si tienes dudas, preguntas, alguna sugerencia, propuesta de mejora o correción del artículo, puedes dejar un comentario.
¡Apoya este sitio!
¿Ya tienes lista tu nube de archivos personal gracias a esta guía de instalación de Nextcloud en FreeBSD 12? Si es así y te apetece mostrar tu agradecimiento, cualquier mínima aportación ayuda al mantenimiento de este sitio y creación de más tutoriales de FreeBSD 12 o Nextcloud, y puedes hacerlo invitándonos a un café:
O también puedes dejar 1 $ de propina en PayPal:
¡Gracias!