Vamos a explicar esta vez cómo instalar Joomla en CentOS 8 / CentOS Stream 8 paso a paso, de modo que al final de este tutorial puedas tener instalado este popular CMS sobre tu servidor o VPS CentOS sin tardar más de unos pocos minutos.
Tenemos adaptaciones de este tutorial para otras versiones de CentOS y otros sistemas operativos que podrás encontrar con la búsqueda de nuestro sitio.
Contenido
Antes de instalar Joomla en CentOS 8
Para poder completar esta guía de instalación de Joomla en CentOS 8 / CentOS Stream 8 tienes que satisfacer las siguientes condiciones mínimas:
- Una máquina CentOS 8 / CentOS Stream 8 actualizada.
- Un entorno o pila tipo LAMP, es decir, servicio web con PHP (recomendado 7.4 o superior) y bases de datos MariaDB/MySQL o PostgreSQL.
- Acceso a consola con un usuario con permisos de sudo o el propio root.
- Conexión a Internet.
Si aún no dispones del entorno necesario, echa un vistazo antes a nuestra guía de instalación LAMP en CentOS 8.
También necesitaremos algunas herramientas del sistema que obtendremos de los repositorios de CentOS 8, para lo que actualizamos las listas de paquetes:
~$ sudo yum update
E instalamos dichas herramientas:
~$ sudo yum install -y bzip2 policycoreutils-python-utils tar wget
Es posible integrar Joomla en el servidor web de CentOS 8 de múltiples formas, ya sea como página web principal, como parte de esa página principal o en un servidor virtual independiente. En esta guía, por brevedad, optaremos por instalar Joomla en CentOS 8 como parte del sitio web principal del servidor, pero todo el proceso es el mismo para cualquier otra opción. Asimismo, aunque la guía está realizada sobre un servicio HTTP estándar, lo ideal es trabajar con HTTPS.
Cómo descargar Joomla para CentOS 8
Al no existir paquetes en los repositorios de la distribución, tenemos que descargar Joomla para CentOS 8 desde el sitio oficial del proyecto:
Una vez en la página, accederemos al portal de descargas de Joomla siguiendo el enlace «Donwload Joomla!«, donde a su vez a través del enlace «Latest Release» encontraremos la última versión estable disponible:
Tenemos 3 posibilidades, ya que el paquete está disponible en formato .zip, en formato .tar.gz y en formato de máxima compresión .tar.zst.
En este ejemplo copiaremos el enlace del formato .gz y lo descargaremos desde consola con wget:
~$ wget -q https://downloads.joomla.org/cms/joomla5/5-1-0/Joomla_5-1-0-Stable-Full_Package.tar.gz
Cómo instalar Joomla en CentOS 8
Antes de poder instalar Joomla en CentOS 8 debemos realizar una lista de preparativos para que el instalador web posteriormente pueda funcionar sin problemas.
Archivos de instalación
Debemos preparar un directorio para Joomla según hayamos decidido integrar el CMS en el servicio web de CentOS 8, en este caso como parte del sitio web principal:
~$ sudo mkdir /var/www/html/joomla
Descomprimiremos Joomla en su ubicación final:
~$ zcat Joomla_5-1-0-Stable-Full_Package.tar.gz | sudo tar xz -C /var/www/html/joomla/
En caso de usar Apache como servidor web, activaremos un archivo .htaccess para Joomla a partir del archivo htacccess.txt existente:
~$ sudo mv /var/www/html/joomla/htaccess.txt /var/www/html/joomla/.htaccess
También crearemos un archivo .user.ini:
~$ sudo nano /var/www/html/joomla/.user.ini
Y añadimos esta directiva output_buffering:
output_buffering=0
Como Joomla necesita escribir en su propio directorio, cambiaremos el propietario del mismo al servidor web, que es quien lee y escribe:
~$ sudo chown -R apache: /var/www/html/joomla/
SELinux
En el caso de tener activado SELinux en CentOS 8, como suele ocurrir por defecto, habrá que definir un contexto de lectura/escritura para el servidor web sobre los archivos de Joomla, ya que no basta sólo con los permisos de escritura ordinarios:
~$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/joomla(/.*)?"
Una vez definido, aplicamos el nuevo contexto con el comando restorecon:
~$ sudo restorecon -R /var/www/html/joomla/
También debemos permitir las conexiones externas que el servidor web realizará para buscar actualizaciones de Joomla, instalar complementos, etc.:
~$ sudo setsebool -P httpd_can_network_connect on
PHP
Joomla requiere la instalación en CentOS 8 de algunas extensiones de PHP, como json, xml o zip:
~$ sudo yum install -y php-gd php-intl php-json php-pecl-zip php-xml
También es importante disponer de la extensión que conecte con el servicio de bases de datos que vayamos a usar, por ejemplo para PostgreSQL:
~$ sudo yum install -y php-pgsql
Y para MariaDB/MySQL:
~$ sudo yum install -y php-mysqli
Aplicamos los cambios recargando la configuración del servicio php-fpm:
~$ sudo systemctl reload php-fpm
Servicio web
En el caso de usar Apache, antes preparamos un archivo .htaccess para Joomla. Pero Apache ignora estos archivos en la ruta actual de instalación, por lo que crearemos una configuración especial para Joomla en la que estos archivos sean tenidos en cuenta:
~$ sudo nano /etc/httpd/conf.d/joomla.conf
El contenido es un bloque Directory referido al directorio de instalación de Joomla con una directiva AllowOverride que permite la carga de archivos .htaccess:
<Directory /var/www/html/joomla/> AllowOverride All </Directory>
Recargamos la configuración del servicio web para aplicar estos cambios:
~$ sudo systemctl reload httpd
Servicio de bases de datos
Como cualquier CMS complejo, Joomla se apoya sobre un servicio de bases de datos presente en CentOS 8. En este artículo prepararemos los dos tipos más usados en Joomla y CentOS 8.
MariaDB/MySQL
Podemos iniciar sesión con el cliente de consola mysql:
~$ sudo mysql
Si utilizas contraseña para root o algún otro usuario administrador, entonces conectamos así:
~$ mysql -u root -p
Creamos la base de datos:
> create database joomla_db charset utf8mb4 collate utf8mb4_unicode_ci;
Creamos el usuario:
> create user joomla_user@localhost identified by 'XXXXXXXX';
Y aplicamos los permisos necesarios al usuario sobre la base de datos:
> grant all privileges on joomla_db.* to joomla_user@localhost;
Ya podemos cerrar la conexión:
> exit
Estos datos los utilizaremos más adelante, durante la instalación.
PostgreSQL
Creamos un rol con contraseña:
~$ sudo -iu postgres createuser -P joomla
Y creamos la base de datos para Joomla asociada al rol anterior:
~$ sudo -iu postgres createdb joomla -O joomla
Cómo instalar Joomla en CentOS 8 vía web
Es el momento de iniciar el instalador web de Joomla en CentOS 8 a través de un navegador. Usaremos como URL la que hayamos establecido en la configuración del servidor web.
En este ejemplo basta con añadir la ruta /joomla a la dirección IP o dominio del servidor CentOS 8. Como esta máquina del ejemplo es accesible en el dominio centos8.local.lan, la URL http://centos8.local.lan/joomla es la que usaremos:
En la primera página del instalador web seleccionamos el idioma que usaremos durante la instalación y facilitamos un nombre para nuestro nuevo sitio Joomla.
A continuación creamos el usuario administrador del sitio.
Introducimos el nombre completo de usuario, el nombre para el inicio de sesión, la contraseña y la dirección de correo electrónico.
Seguimos con la conexión a la base de datos.
Seleccionamos el tipo de bases de datos con el que vamos a trabajar (en caso de que haya más de uno disponible) y proporcionaremos el usuario, la contraseña y el nombre de la base de datos tal y como los creamos anteriormente.
Tras unos instantes de actividad el instalador nos indica que Joomla ya está instalado.
En esta misma página se podrían mostrar requisitos opcionales que no se cumplen, aunque si has seguido los pasos anteriores no debería aparecer ningún aviso de este tipo.
Aunque la instalación ya ha terminado, seguramente quieras instalar idiomas adicionales, ya que el idioma elegido para el instalador web no se aplica al sitio Joomla.
Por tanto elegiremos la opción «Instalar idiomas adicionales«.
Se mostrará una lista con los idiomas disponibles. Puede que en alguna ocasión la traducción pertenezca a una revisión anterior de Joomla, pero se podría instalar igualmente.
Seleccionamos el idioma o idiomas que queramos añadir y continuamos con «Siguiente«.
Ahora podremos elegir el idioma predeterminado tanto para el panel de administración como para el sitio Joomla.
Hecho este ajuste continuamos siguiendo el enlace «Asignar el idioma predeterminado«.
Estos serían los últimos ajustes y sólo nos quedaría elegir entre visitar el sitio Joomla o el panel de administración.
En esta ocasión vamos a acceder al panel de administración siguiendo el enlace «Abrir la administración«.
Se abrirá una página de inicio de sesión:
Es importante guardar esta página en los marcadores del navegador o como consideres oportuno, ya que no existen enlaces desde el sitio Joomla.
Accederemos con los datos del usuario administrador que creamos durante la instalación y enseguida se abrirá la página del panel de control donde se nos mostrará un pequeño paseo de bienvenida por algunos aspectos del sistema:
Terminado el recorrido, tendremos algún aviso inicial a la vista, concretamente sobre la posibilidad de activar o no un plugin de recolección de estadísticas de uso:
Una vez cerrados los avisos queda ante nosotros el panel de administración.
Ya podemos empezar a trabajar en la creación de nuestro nuevo sitio Joomla y su comunidad, pero eso excede del alcance de esta guía…
Conclusión
Ahora ya sabes cómo instalar Joomla en CentOS 8 y ya puedes montar tu comunidad y contenidos sobre tu servidor o VPS en cuestión de minutos.
Si tienes dudas o preguntas, alguna sugerencia, etc. puedes dejar un comentario.
¡Apoya este sitio!
Y si gracias a esta guía de instalación de Joomla en CentOS 8 has conseguido hacer funcionar este CMS en tu sistema, quizás quieras agradecérnoslo con una mínima aportación para el mantenimiento de este sitio y creación de más tutoriales de CentOS 8 o Joomla.
Puedes ayudarnos dejando 1 $ de propina con PayPal:
O, si te sientes especialmente agradecido, puedes invitarnos a un café:
¡Gracias!
Actualizado a la versión 5.1.0.
Actualizado a la versión 4.1.4.