Joomla es una de las plataformas de sistema de administración de contenido (CMS) de código abierto más popular y ampliamente compatible en el mundo que se puede usar para crear, organizar, administrar y publicar contenido para sitios web, blogs, intranets y aplicaciones móviles. Está escrito en PHP, utiliza técnicas de programación orientada a objetos y almacena datos en MySQL o PostgreSQL. Joomla viene con más de 10.000 complementos para personalizar su funcionalidad. Joomla es de código abierto, lo que significa que cualquiera puede instalar Joomla y personalizarlo según sus necesidades. Más del 3 por ciento del sitio web se ejecuta en Joomla en todo el mundo.
Aquí aprenderemos cómo instalar y configurar Joomla en Debian 9.
Requisitos
- Un servidor que ejecuta Debian 9.
- Una dirección IP estática 192.168.0.145 configurada en su servidor
- Un usuario no root con configuración de privilegios sudo en su servidor
1 Primeros pasos
Antes de comenzar, es necesario actualizar su sistema con la última versión estable. Puede hacerlo ejecutando el siguiente comando:
sudo apt-get update -y
sudo apt-get upgrade -y
Una vez que su sistema esté actualizado, reinícielo e inicie sesión con el usuario sudo.
2 Instalación de Apache
Se requiere un servidor web Apache para instalar Joomla. puede instalar Apache con el siguiente comando:
sudo apt-get install apache2 libapache2-mod-php7.0 -y
Una vez que Apache esté instalado, inicie el servicio de Apache y habilítelo para que se inicie en el momento del arranque con el siguiente comando:
sudo systemctl start apache2
sudo systemctl enable apache2
3 Instalación de PHP7
De forma predeterminada, PHP7 está disponible en el repositorio de Debian 9, por lo que puede instalar fácilmente PHP7 con todas las bibliotecas necesarias con el siguiente comando:
sudo apt-get install php7.0 php7.0-cli php7.0-mcrypt php7.0-intl php7.0-mysql php7.0-curl php7.0-gd php7.0-soap php7.0-xml php7.0-zip php7.0-readline php7.0-opcache php7.0-json php7.0-gd -y
Una vez que se complete la instalación, deberá realizar algunos cambios en el archivo php.ini. Puedes hacer esto con el siguiente comando:
sudo nano /etc/php/7.0/apache2/php.ini
Realice los siguientes cambios:
memory_limit = 256M upload_max_filesize = 32M post_max_size = 32M date.timezone = Asia/Kolkata
Guarde y cierre el archivo una vez que haya terminado, luego puede proceder a instalar y configurar el servidor de base de datos.
4 Instalación y configuración de MariaDB
Aquí, usaremos MariaDB para fines de base de datos. Puede instalar MariaDB con el siguiente comando:
sudo apt-get install mariadb-server -y
Después de instalar MariaDB, inicie el servicio MariaDB y habilítelo para que se inicie en el momento del arranque con el siguiente comando:
sudo systemctl start mysql
sudo systemctl enable mysql
De forma predeterminada, la instalación de MariaDB no está protegida, por lo que deberá protegerla primero. Puede asegurarlo ejecutando el script mysql_secure_installation como se muestra a continuación:
sudo mysql_secure_installation
Responda todas las preguntas como se muestra a continuación:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have a root password set, so you can safely answer 'n'. Change the root password? [Y/n] n ... skipping. By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] Y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] Y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] Y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Una vez que MariaDB esté protegido, deberá crear una base de datos para Joomla.
Primero, inicie sesión en el shell de MariaDB con el siguiente comando:
mysql -u root -p
Ingrese su contraseña raíz cuando se le solicite, luego cree una base de datos para Joomla con el siguiente comando:
MariaDB [(none)]> CREATE DATABASE joomla_db;
A continuación, cree un usuario para Joomla y establezca una contraseña con el siguiente comando:
MariaDB [(none)]> CREATE USER [email protected];
MariaDB [(none)]> SET PASSWORD FOR 'joomla'@'localhost' = PASSWORD("password");
A continuación, deberá otorgar privilegios a joomla_db con el siguiente comando:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON joomla_db.* TO 'joomla'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
A continuación, elimine los privilegios con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
Finalmente, salga del shell de MariaDB con el siguiente comando:
MariaDB [(none)]> exit;
Una vez que haya terminado, puede continuar con el siguiente paso.
5 Instalando Joomla
Apache, PHP y MariaDB están instalados y configurados. Ahora, es el momento de instalar Joomla. Para instalar Joomla, deberá descargar la última versión de Joomla. Puedes descargarlo desde el repositorio de Git con el siguiente comando:
wget https://github.com/joomla/joomla-cms/releases/download/3.7.3-rc1/Joomla_3.7.3-rc1-Release_Candidate-Full_Package.tar.gz
Una vez que se haya descargado Joomla, extraiga el archivo descargado en el directorio raíz web de Apache con el siguiente comando:
sudo mkdir /var/www/html/joomla
sudo tar -xvzf Joomla_3.7.3-rc1-Release_Candidate-Full_Package.tar.gz -C /var/www/html/joomla
A continuación, cambie la propiedad del directorio joomla y otórguele el permiso adecuado con el siguiente comando:
sudo chown -R www-data:www-data /var/www/html/joomla
sudo chmod -R 750 /var/www/html/joomla
A continuación, deberá crear un archivo Apache virtualhost para Joomla. Puede hacer esto creando el archivo joomla.conf dentro del directorio /etc/apache2/sites-available/:
sudo nano /etc/apache2/sites-available/joomla.conf
Agregue las siguientes líneas:
<VirtualHost *:80> ServerAdmin [email protected] DirectoryIndex index.php DocumentRoot /var/www/html/joomla ServerName 192.168.0.145 ServerAlias www.yourdomain.com <Directory /var/www/html/joomla> Options FollowSymLinks AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/joomla-error_log CustomLog /var/log/apache2/joomla-access_log common </VirtualHost>
Guarde y cierre el archivo cuando haya terminado.
A continuación, deberá deshabilitar el archivo de host virtual predeterminado y habilitar el archivo de host virtual de Joomla. Puedes hacer esto con el siguiente comando:
sudo a2dissite 000-default
sudo a2ensite joomla
Finalmente, vuelva a cargar el servicio Apache para aplicar estos cambios con el siguiente comando:
sudo systemctl restart apache2
6 Accediendo a Joomla
Antes de acceder a la interfaz web de Joomla, deberá permitir el servicio HTTP a través del cortafuegos UFW.
Por defecto, UFW está deshabilitado en su sistema, por lo que debe habilitarlo primero. Puede habilitarlo con el siguiente comando:
sudo ufw enable
Una vez que el firewall UFW está habilitado, puede habilitar el servicio HTTP ejecutando el siguiente comando:
sudo ufw allow http
Ahora puede comprobar el estado del cortafuegos UFW ejecutando el siguiente comando:
sudo ufw status
A continuación, abra su navegador web y escriba la URL http://192.168.0.145 o http://sudominio.com, debería ver la siguiente página:
Aquí, complete todos los detalles como Nombre del sitio, Correo electrónico del administrador, Nombre de usuario del administrador y Contraseña, luego haga clic en el botón Siguiente, debería ver la siguiente página:
Aquí, complete todos los detalles de la base de datos, como Nombre de host, Nombre de usuario de la base de datos, Contraseña, Nombre de la base de datos y Prefijo de la tabla, luego haga clic en el botón Siguiente, debería ver la siguiente página:
Aquí, confirme todas las configuraciones y haga clic en el botón Instalar. Una vez que Joomla se haya instalado correctamente, debería ver la siguiente página:
Ahora, haga clic en el botón Administrador, debería ver la página de inicio de sesión de Joomla en la siguiente imagen:
Proporcione sus credenciales de administrador y haga clic en el botón Iniciar sesión, debería ver el Panel de control de Joomla en la siguiente imagen:
¡Felicidades! ha instalado con éxito Joomla en Debian 9.