En esta ocasión vamos a ver cómo instalar Joomla en CentOS 7 paso a paso, un CMS muy popular con muchas posibilidades a la hora de crear contenidos y gestionar comunidades. Al final de esta guía dispondrás de Joomla funcionando perfectamente en tu servidor o VPS CentOS.
Dispones de adaptaciones de este tutorial para otras versiones de CentOS y otras distribuciones que puedes encontrar con el buscador de nuestro sitio.
Contenido
Antes de instalar Joomla en CentOS 7
Si quieres seguir esta guía de instalación de Joomla en CentOS 7 deberías partir de unos requisitos mínimos:
- Un sistema CentOS 7 actualizado.
- Una pila tipo LAMP, es decir, servidor web con PHP (recomendado 7.4 ó superior) y motor de bases de datos.
- Acceso a línea de comandos con root o un usuario con privilegios de sudo.
- Conexión a Internet.
En este tutorial de instalación de Joomla en CentOS 7 utilizamos Apache como servidor web y MariaDB como servicio de bases de datos. Puedes consultar la guía de instalación LAMP en CentOS 7 si aún no tienes este tipo de pila instalada en tu sistema.
También se necesitan algunas herramientas de línea de comandos que podemos obtener desde los repositorios del sistema, por lo que los actualizamos:
~$ sudo yum update
E instalamos los paquetes correspondientes:
~$ sudo yum install -y bzip2 policycoreutils-python wget
Cómo descargar Joomla para CentOS 7
Vamos a descargar Joomla para CentOS 7 desde la web oficial, ya que no existen paquetes en los repositorios de la distribución.
Accediendo a la zona de descargas se nos ofrece un paquete en formato .zip y en inglés. Pero en la sección Latest Release correspondiente al último lanzamiento tendremos más alternativas:
En esta guía elegiremos el formato .tar.bz2, pero también dispones del formato .tar.gz y del formato .zip.
Puedes descargar el paquete desde el navegador si lo estás usando en el sistema CentOS 7 en el que vas a realizar la instalación. En este ejemplo copiaremos el enlace y relizaremos la descarga desde consola con el comando wget:
~$ wget -q https://downloads.joomla.org/cms/joomla4/4-1-3/Joomla_4-1-3-Stable-Full_Package.tar.bz2
Ya tenemos el paquete, pasemos a la instalación.
Cómo instalar Joomla en CentOS 7
Para instalar Joomla en CentOS 7, teniendo en cuenta que se trata de una aplicación web debemos tener claro cómo queremos integrarla en el servicio web. Puede ser la página por defecto de nuestro servidor o VPS CentOS 7, podría formar parte de esta misma página o podríamos configurarlo como un servidor virtual adicional.
Por simplicidad, en esta guía Joomla será una sección de la página por defecto, instalándola en la ruta joomla/ colgando de la página inicial.
Preparación de la carpeta de Joomla
La web por defecto se encuentra en /var/www/html/, así que será ahí donde prepararemos una carpeta para Joomla:
~$ sudo mkdir /var/www/html/joomla
Y a continuación descomprimimos el paquete que hemos descargado:
~$ sudo tar xf Joomla_4-1-3-Stable-Full_Package.tar.bz2 -C /var/www/html/joomla/
En la carpeta de Joomla existe un archivo htaccess.txt destinado a incorporar configuraciones adicionales para Apache. Debemos renombrarlo como .htaccess para que pueda realizar ese cometido:
~$ sudo mv /var/www/html/joomla/htaccess.txt /var/www/html/joomla/.htaccess
Por otro lado, Joomla debe poder escribir en su directorio de instalación, a través del servidor web. Una forma de permitir esto es cambiar el propietario de la carpeta asignando el usuario con que corre el servicio web (apache en el caso de Apache):
~$ sudo chown -R apache: /var/www/html/joomla/
SELinux
Si tienes activo SELinux en tu sistema CentOS 7, no bastará con dar permisos de escritura, ya que la política para los archivos web de la página por defecto es de sólo lectura.
Tendremos que crear un contexto de lectura/escritura con semanage:
~$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/joomla(/.*)?"
Y aplicamos los cambios con restorecon:
~$ sudo restorecon -R /var/www/html/joomla/
Preparación de PHP
Dependiendo de qué versión y desde qué fuente tengas instalado este lenguaje, puede que algunos módulos estén presentes o no en tu sistema. Vale la pena asegurarse de tener los módulos imprescindibles instalados, como son xml o zip:
~$ sudo yum -y install php-gd php-intl php-xml php-zip
Preparación del servidor web
Hemos preparado un archivo .htaccess en la carpeta de Joomla para dar instrucciones al servidor web. Sin embargo, la configuración por defecto del servidor ignora estos archivos.
Para que el servidor web los tenga en cuenta, crearemos un archivo de configuración para Joomla:
~$ sudo nano /etc/httpd/conf.d/joomla.conf
Añadimos un bloque Directory para el directorio de la aplicación con una directiva AllowOverride que activará la lectura de los archivos .htaccess:
<Directory /var/www/html/joomla> AllowOverride All php_value output_buffering "0" </Directory>
Aprovechamos también para añadir un ajuste requerido de PHP.
Guardados los cambios, hay que recargar la configuración del servidor web para que los cambios entren en vigor:
~$ sudo systemctl reload httpd
Preparación de la base de datos
Joomla necesita su propia base de datos y un usuario para manejarla. Por ello conectaremos al servicio de bases de datos con el cliente mysql y el usuario administrador con el que trabajemos habitualmente:
~$ mysql -u root -p
En primer lugar creamos la base de datos:
> create database joomla_db charset utf8mb4 collate utf8mb4_unicode_ci;
Y a continuación creamos el usuario que la administrará. Para MariaDB o MySQL 5.x:
> create user joomla_user@localhost identified by 'XXXXXXXX';
Para MySQL 8 nos aseguramos de usar el plugin de autenticación correcto:
> create user joomla_user@localhost identified with mysql_native_password by 'XXXXXXXX';
Sea como sea, daremos permisos al usuario sobre la base:
> grant all privileges on joomla_db.* to joomla_user@localhost;
Sólo queda salir del cliente:
> exit
Guarda estos datos a mano porque los necesitaremos para proporcionárselos al instalador.
Instalación de Joomla en CentOS 7 vía web
Para iniciar la instalación de Joomla en CentOS 7 vía web necesitaremos acceder a nuestro servidor desde un navegador, indicando la URL correspondiente.
En este ejemplo el servidor CentOS 7 es accesible desde el dominio centos7.local.lan, así que teniendo en cuenta la ruta en la que hemos instalado Joomla, una URL de acceso podría ser http://centos7.local.lan/joomla, aunque también se podría construir una URL con la dirección IP.
En primer lugar hemos de seleccionar el idioma del instalador web y proporcionar un nombre para el nuevo sitio Joomla.
A continuación crearemos el superusuario de Joomla:
Introduciremos el nombre completo del usuario administrador, el nombre para el inicio de sesión, la contraseña y la dirección de correo-e.
Hecho esto lo siguiente será introducir los datos de conexión al servicio de bases de datos:
Introducimos el usuario, su contraseña y el nombre de la base de datos que creamos anteriormente y continuamos.
El instalador nos informará de que Joomla ya se encuentra instalado. Es posible que en esta misma página se muestren avisos sobre requisitos opcionales que no cumple el servidor CentOS 7, pero si has seguido los pasos anteriores no debería aparecer ninguno.
Parece que ya hemos instalado Joomla en nuestro sistema CentOS 7, pero aún queda algún paso extra, y es que seguramente querrás elegir un idioma adicional, ya que sólo se instala el sitio en inglés. Por tanto seguiremos el enlace «Instalar idiomas adicionales«:
Seleccionaremos los idiomas que nos interesen, pulsaremos «Siguiente» cuando hayamos terminado, y se nos mostrará la configuración multiidioma:
Configuraremos el idioma predeterminado tanto para el panel de administración como para el sitio Joomla, ya que por defecto sigue estando seleccionado el inglés.
Hecho esto regresaremos a la pantalla de finalización de la instalación mediante el enlace «Asignar el idioma predeterminado«.
Ya sólo nos queda elegir si visitar el sitio Joomla o el panel de administración:
En este caso vamos a entrar en la zona de administración siguiendo el enlace «Completar y abrir la administración» y se nos mostrará la pantalla de login:
Es interesante guardar la URL en los marcadores del navegador o donde consideres necesario, ya que desde el sitio Joomla no se ofrece acceso al panel de control.
Introducimos las credenciales del admnistrador, tal como configuramos al inicio de la instalación, y entraremos en el panel de control:
Si usas una versión de PHP anterior a la 7.4 se mostrará un aviso instándote a la actulización a dicha versión o superior cuanto antes.
Por otro lado, un aviso nos ofrecerá la posibilidad de decidir si enviamos o no estadísticas anónimas de uso.
Recuerda que en Joomla no se puede acceder al área de administración desde la página de inicio, aunque entres con tu ususario administrador. Hay que entrar a través de la ruta administrator/, es decir, siguiendo con nuestro ejemplo sería http://centos7.local.lan/joomla/administrator/
Y estamos listos para empezar a trabajar, pero eso ya es cosa tuya, ¡nuestra misión ha terminado!
Conclusión
Ahora ya sabes cómo instalar Joomla en CentOS 7, una instalación que puede ser más laboriosa que en otros sistemas debido a la seguridad extendida de SELinux pero que, siguiendo los pasos adecuados, llegará a buen puerto.
Ya estarás listo para crear una comunidad de usuarios y contenido alojados en tu servidor o VPS CentOS 7.
¡Apoya este sitio!
¿Te ha servido tanto esta guía de instalación de Joomla en CentOS 7 que quieres agradecérnoslo? ¡Perfecto! Cualquier mínima contribución al mantenimiento de este sitio y creación de nuevas guías y tutoriales es bienvenida, y puedes hacerlo dejando 1 $ de propina en PayPal:
O, si te sientes especialmente agradecido, invitándonos a un café:
¡Gracias!
Actualizado a la versión 4.1.3.