Cómo configurar Textpattern CMS en CentOS 8
Textpattern es un sistema de gestión de contenidos PHP gratuito y de código abierto. Es bastante ligero, rápido y fácil de usar, a la vez que proporciona una personalización decente a través de temas y plugins. En esta guía, instalaremos Textpattern en un sistema CentOS 8 fresco.
Requisitos
- Un sistema CentOS 8 nuevo en el que tengas acceso al usuario root o a cualquier usuario con privilegios sudo.
- Un nombre de dominio registrado que apunte a tu servidor.
Si has iniciado sesión como usuario sudo, cambia a root para esta configuración:
sudo su -
Establece la variable de entorno $VISUAL a un editor de texto de tu preferencia. Por ejemplo, para utilizar nano:
echo "export VISUAL=nano" >> ~/.bash_profile . ~/.bash_profile
Paso 1: Instalación del software necesario
Primero, actualiza tu sistema:
dnf update -y
A continuación, instala wget, tar, Apache, PHP, las extensiones de PHP necesarias, MariaDB y las utilidades para gestionar SELinux:
dnf install -y wget tar httpd mariadb-server php php-xml php-mysqli php-json php-mbstring php-zip php-zlib policycoreutils-python-utils
Asegúrate de que los servicios Apache y MariaDB están habilitados y en funcionamiento:
systemctl enable --now httpd.service mariadb.service
Como los repositorios de CentOS 8 no incluyen certbot, utilizaremos un script, certbot-auto, para instalarlo. Descarga e instala certbot-auto como se indica a continuación:
wget https://dl.eff.org/certbot-auto mv certbot-auto /usr/local/bin/certbot-auto chmod 0755 /usr/local/bin/certbot-auto
A continuación, utiliza el siguiente comando para instalar certbot:
certbot-auto --install-only
Introduce ‘y’ cuando te lo pida dnf para instalar las dependencias.
Reinicia el servicio de Apache:
systemctl restart httpd.service
Paso 2: Instalación de Textpattern CMS
Copia el enlace de descarga (en formato .tar.gz) de la última versión de Textpattern desde sus Releases en Github y descárgalo en tu servidor con wget de la siguiente manera:
wget https://github.com/textpattern/textpattern/releases/download/4.7.3/textpattern-4.7.3.tar.gz
A continuación, descomprime el archivo y mueve su contenido al directorio raíz de la web:
tar -xzf textpattern*.tar.gz rm -f textpattern*.tar.gz mv textpattern* /var/www/html/textpattern
Para que Textpattern funcione correctamente, necesita acceso de escritura a ciertos directorios. Para conceder ese acceso, dale al usuario del sistema Apache la propiedad de todo el directorio:
chown -R apache:apache /var/www/html/textpattern
Y utiliza los siguientes comandos para etiquetar la estructura de directorios con los contextos SELinux adecuados:
semanage fcontext -a -t httpd_sys_content_t "/var/www/html/textpattern(/.*)?" semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/textpattern/themes(/.*)?" semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/textpattern/images(/.*)?" semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/textpattern/files(/.*)?" restorecon -Rv /var/www/html
Paso 3: Configuración de la base de datos
Comienza ejecutando el script mysql_secure_installation para realizar las mejoras básicas de seguridad:
mysql_secure_installation
Responde a las preguntas como se muestra a continuación y asegúrate de elegir una contraseña segura para el usuario root:
Enter current password for root (enter for none):Set root password? [Y/n] y New password: your_password Re-enter new password: your_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
A continuación, crearemos una base de datos y un usuario que utilizará Textpattern. Accede al shell de MySQL con:
mysql -u root -p
Introduce tu contraseña de root, y luego ejecuta las siguientes sentencias. Asegúrate de sustituir textpattern_user_password por una contraseña adecuada.
MariaDB [(none)]> CREATE DATABASE textpattern_db; MariaDB [(none)]> CREATE USER textpattern_user IDENTIFIED BY 'textpattern_user_password'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON textpattern_db.* TO textpattern_user; MariaDB [(none)]> \q
Paso 4: Configuración de Apache
En primer lugar, habilita el tráfico HTTP y HTTPS a través del cortafuegos del host:
firewall-cmd --add-service http --add-service https --permanent firewall-cmd --reload
A continuación, crea un nuevo host virtual para tu sitio Textpattern:
$VISUAL /etc/httpd/conf.d/textpattern.conf
E introduce la siguiente configuración, sustituyendo tu_dominio por tu nombre de dominio.
<VirtualHost *:80>
DocumentRoot "/var/www/html/textpattern"
ServerName your_domain
<Directory "/">
AllowOverride All
</Directory>
</VirtualHost>
Guarda y sal, y luego carga la nueva configuración:
systemctl reload httpd.service
Para obtener un certificado SSL para tu dominio y configurar Apache para que utilice HTTPS, emite el siguiente comando:
certbot-auto --apache -d "your_domain" -m "[email protected]" --redirect
Este comando realizará una serie de tareas:
- Obtener un certificado para tu dominio (guardado en /etc/letsencrypt/your_domain/).
- Crea un archivo de configuración de Apache llamado textpattern-le-ssl.conf.
- Edita textpattern . conf para redirigir todas las peticiones HTTP a HTTPS.
Paso 5: Configuración de Textpattern CMS
Tu instalación de Textpattern debería ser ahora accesible, pero aún no está configurada. Accede a https://your_domain/textpattern/setup/ para iniciar el instalador web. Después de elegir un idioma, introduce los detalles de la base de datos:
- Nombre de usuario de MySQL: textpattern_user
- Contraseña de MySQL: Introduce la contraseña elegida para textpattern_user durante el paso 2.
- Servidor MySQL: localhost
- Base de datos MySQL: textpattern_db
- Prefijo de la tabla: deja este campo en blanco
El instalador comprobará las credenciales de la base de datos que has introducido antes de generar la configuración correspondiente. Crea el archivo necesario:
$VISUAL /var/www/html/textpattern/textpattern/config.php
Pega la configuración generada, guarda el archivo y sal. Pasa al siguiente paso del instalador web, donde se te pedirá que introduzcas la información de la cuenta de administrador del CMS y la configuración del sitio. Una vez hecho esto, elimina el directorio de configuración:
rm -rf /var/www/html/textpattern/textpattern/setup
Tu sitio Textpattern ya está listo para ser utilizado.