Instala WordPress en CentOS 8

  • Primer paso es contar con un entorno tipo LAMP (servicio web con PHP y bases de datos) en nuestro servidor con CentOs 8.

Tenemos que descargar WordPress para CentOS 8 desde la página oficial, ya que la instalación manual es el método más aconsejable, teniendo en cuenta la frecuencia de actualizaciones de este CMS.

Puedes descargar directamente desde el navegador, pero en este caso copiaré el enlace al paquete .tar.gz para descargarlo desde consola mediante el comando wget:

  • ~$ wget https://es.wordpress.org/latest-es_ES.tar.gz

Para instalar WordPress en CentOS 8 tendremos que realizar una serie de tareas previas.

Base de datos

WordPress necesita una base de datos propia del servicio que tengamos instalado en CentOS 8, ya sea MySQL o MariaDB, así que debemos crear tanto la base como el usuario que la manejará. Podemos hacer esta tarea con el cliente mysql:

  • ~$ mysql -u root -p

En primer lugar crearemos la base de datos:

  • > create database wordpress collate utf8mb4_general_ci character set utf8mb4;

Y a continuación creamos el usuario que manejará la base de datos. Si usas MySQL 8 con el plugin de autenticación caching_sha2_password por defecto, usa esta sentencia:

  • > create user wordpress@localhost identified with mysql_native_password by 'XXXXXXXX';

Es importante tener en cuenta este detalle porque WordPress no es capaz de usar el plugin caching_sha2_password, y hay que crear el nuevo usuario con el plugin estándar mysql_native_password.

Si tu sistema de bases de datos no tiene ese plugin por defecto, puedes usar esta sentencia más sencilla:

  • > create user wordpress@localhost identified by 'XXXXXXXX';

Damos los permisos necesarios a este usuario sobre la nueva base de datos:

  • > grant all privileges on wordpress.* to wordpress@localhost;

Aplicamos los permisos del sistema y salimos:

  • > flush privileges;
  • > \q

PHP

WordPress necesita una serie de extensiones de PHP instaladas en CentOS 8, nos aseguraremos de instalar estas extensiones con yum.

Si usas PHP 7.2 instalado desde los repositorios de CentOS 8, instala estos paquetes:

  • ~$ sudo yum install -y php-bcmath php-gd php-json php-mbstring php-xml php-zip

Si usas PHP 7.3 ó 7.4 procedente del repositorio Remi, puedes instalar estos:

  • ~$ sudo yum install -y php-bcmath php-gd php-imagick php-json php-mbstring php-xml php-zip

Habrá que recargar el servicio PHP para aplicar los cambios:

  • ~$ sudo systemctl reload php-fpm

Desempacar WordPress

Vamos a descomprimir el paquete que acabamos de descargar desde el sitio de WordPress, dentro de la página por defecto de CentOS 8, ya que los archivos se encuentran organizados en una carpeta llamada wordpress/:

  • ~$ sudo tar xf latest-es_ES.tar.gz -C /var/www/html/

WordPress necesita escribir en su propio directorio de instalación, así que cambiaremos el grupo al que pertenece este directorio por el usuario con que corre el servidor web, que en el caso de CentOS 8 para Apache es apache:

  • ~$ sudo chown -R :apache /var/www/html/wordpress/

Y como es lógico, daremos permiso de escritura al grupo sobre el directorio y su contenido:

  • ~$ sudo chmod -R g+w /var/www/html/wordpress/

Configuración de SELinux

Si tienes SELinux activado no bastará con dar permisos de escritura al servidor web sobre el directorio de WordPress. Además habrá que aplicar un contexto de lectura y escritura para el servidor web a este directorio y su contenido:

  • ~$ sudo chcon -R --type=httpd_sys_rw_content_t /var/www/html/wordpress/

Haremos este cambio permanente:

  • ~$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wordpress(/.*)?"

Por otro lado, WordPress realiza conexiones a través de Internet para distintas funcionalidades, pero SELinux por defecto impide estas conexiones desde las aplicaciones web. Debemos permitir estas conexiones:

  • ~$ sudo setsebool -P httpd_can_network_connect on

Preparación del servidor web

A pesar de que en CentOS 8 por defecto el servicio web Apache tiene activado el módulo Rewrite, el uso de archivos .htaccess está bloqueado. Como WordPress utiliza el módulo Rewrite configurándolo mediante un archivo .htaccess en su directorio de instalación, es necesario permitir el uso de estos archivos.

En este ejemplo hemos instalado WordPress como parte de la página web por defecto de CentOS 8, así que podemos crear el siguiente archivo de configuración para WordPress que permitirá el uso de archivos .htaccess en su directorio de instalación y subdirectorios:

  • ~$ sudo vi /etc/httpd/conf.d/wordpress.conf

Escribiremos lo siguiente dentro del archivo:

<Directory /var/www/html/wordpress/>

AllowOverride All

</Directory>

Guarda los cambios y recarga la configuración del servicio web:

  • ~$ sudo systemctl reload httpd

En el caso de usar un servidor virtual exclusivo para WordPress tendrás que realizar una configuración similar en su propio archivo de configuración.

Instalar web de WordPress en CentOS 8

Por fin podemos instalar WordPress en CentOS 8 mediante su instalador web. Para ello en el navegador introduciremos la ruta que corresponda, en este ejemplo la URL consiste en añadir el sufijo /wordpress/ a la dirección IP o dominio del servidor CentOS 8 ejemplo:

 localhost/wordpress

Pulsaremos el botón «¡Vamos a ello!» de la página de presentación, que nos llevará a la de datos de conexión al servicio de bases de datos:

 

Introduciremos el nombre de la base de datos, el usuario y la contraseña que creamos anteriormente. El servidor de bases de datos como reside en la misma máquina no se debe modificar. Y el prefijo, a no ser que estés compartiendo la misma base de datos con otras instalaciones de WordPress, tampoco hace falta modificarlo.

Se comprobará la conexión a la base de datos y se guardará la configuración, tras lo que un mensaje nos avisará del éxito de la operación.

Seguiremos el botón «Ejecutar la instalación» y tendremos que suministrar la información relativa al nuevo sitio WordPress y a su administrador:

 

Cumplimentamos el formulario, teniendo cuidado de no olvidar la clave, de acceso, y pulsamos el botón «Instalar WordPress«:

 

El proceso apenas lleva unos instantes. Se nos recuerda cuál es el usuario con el que podemos acceder a WordPress (pero no la clave), así que pulsaremos el botón «Acceder«:

 

Facilitamos los datos de inicio de sesión e inmediatamente apareceremos en nuestro escritorio de WordPress:

 

Actualización de WordPress sin FTP en CentOS 8

Desde el primer momento estaremos realizando actualizaciones de WordPress, añadiendo temas, plugins, etc.

Pero con la configuración actual WordPress pretenderá que carguemos estos archivos mediante FTP:

Para evitar esto y que las actualizaciones e instalaciones de complementos sean directas y automáticas editaremos la configuración de WordPress, concretamente el archivo wp-config.php:

  • ~$ sudo vi /var/www/html/wordpress/wp-config.php

Al final del archivo añadiremos esta línea:

  • define('FS_METHOD', 'direct');

Una vez guardados los cambios WordPress realizará estas acciones directamente.

Instalar FreeRADIUS & Daloradius en CentOS 8

DaloRADIUS es una plataforma de gestión web RADIUS avanzada escrita en PHP y JavaScript. Está dirigido principalmente a la gestión de Hotspots y despliegues de WISP de propósito general impulsados por el servidor FreeRADIUS. A continuación se detallan las características clave de daloRADIUS:

 

Capa de abstracción de base de datos con soporte para muchos sistemas de bases de datos:

 

  • MySQL, SQLite, PostgreSQL, MsSQL y Oracle
  • Gestión avanzada de usuarios.
  • Potente informe gráfico y contabilidad.
  • Se integra con GoogleMaps para la ubicación geográfica.
  • Tiene un motor de facturación.

 

RADIUS, que significa "“Remote Authentication Dial-In User Service“ (Servicio de usuario de marcación de autentificación remota), es un protocolo de red utilizado para la autentificación y contabilidad de usuarios remotos. Proporciona servicios AAA; a saber, Autorización, Autentificación y Contabilidad.

 

 Sigue los siguientes pasos para instalar FreeRADIUS y daloRADIUS en el sistema CentOS 8.

Establezca SELinux en modo permisivo si desea una instalación perfecta sin tocar las herramientas de administración de SELinux.

sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

 

Paso 1: actualiza tu servidor

 

Nunca confíes en un sistema no actualizado. Todos los paquetes instalados se pueden actualizar ejecutando el siguiente comando en la terminal.

 

sudo dnf -y update

 

Paso 2: Instale el servidor web Apache y PHP

 

Usaremos el servidor httpd de Apache para alojar daloRADIUS en el sistema CentOS 8. Instala los paquetes httpd y PHP con el siguiente comando.

 

sudo dnf -y install @httpd @php
sudo dnf -y install php-{cli,curl,mysqlnd,devel,gd,pear,mbstring,xml,pear}
sudo pear install MDB2

 

Verifique la versión de PHP instalada para confirmar que la instalación fue exitosa.

 

$ php -v 
PHP 7.2.11 (cli) (construido: 9 de octubre de 2018 15:09:36) (NTS)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

 

Inicie y habilite los servicios php-fpm y httpd .

 

sudo systemctl enable --now httpd php-fpm

 

Validemos el inicio comprobando el estado de los dos servicios.

 

systemctl status httpd php-fpm

 

Debes ver algo como lo que se muestra a continuación.

 

 

Permitir puertos http y https en el firewall.

 

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

 

 

Paso 3: Instalar y configurar el servidor de base de datos MariaDB

 

Tenemos una guía separada sobre la instalación del servidor de base de datos MariaDB en RHEL / CentOS 8. Consulte el siguiente enlace.

 

Instale el servidor de base de datos MariaDB en CentOS / RHEL 8

 

Después de la instalación, acceda a la consola mysql como usuario root y cree una base de datos / usuario para FreeRADIUS / daloRADIUS.

 

$  mysql -u root -p

CREATE DATABASE radius;
GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "StrongradIusPass";
FLUSH PRIVILEGES;
\q

 

Paso 4: Instalación de FreeRADIUS en CentOS 8 / RHEL 8

 

Los paquetes FreeRADIUS están disponibles en repositorio modular.

 

$ sudo dnf lista de módulos freeradius

Last metadata expiration check: 0:04:00 ago on Thu 10 Oct 2019 05:08:54 PM EAT.
CentOS-8 - AppStream
Name Stream Profiles Summary
freeradius 3.0 [d] server [d] High-performance and highly configurable free RADIUS server

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Para instalar, simplemente ejecuta el comando.

 

sudo dnf install -y @freeradius freeradius-utils freeradius-mysql

 

Inicie el servicio después de la instalación.

 sudo systemctl enable --now radiusd.service

 Ahora debes de checar el estado del servicio

$ systemctl status radiusd.service

● radiusd.service - FreeRADIUS high performance RADIUS server.
Loaded: loaded (/usr/lib/systemd/system/radiusd.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2019-10-10 18:07:47 EAT; 1min 8s ago
Process: 10607 ExecStart=/usr/sbin/radiusd -d /etc/raddb (code=exited, status=0/SUCCESS)
Process: 10603 ExecStartPre=/usr/sbin/radiusd -C (code=exited, status=0/SUCCESS)
Process: 10602 ExecStartPre=/bin/chown -R radiusd.radiusd /var/run/radiusd (code=exited, status=0/SUCCESS)
Main PID: 10609 (radiusd)
Tasks: 6 (limit: 11512)
Memory: 9.3M
CGroup: /system.slice/radiusd.service
└─10609 /usr/sbin/radiusd -d /etc/raddb

Oct 10 18:07:47 centos8.novalocal systemd[1]: Starting FreeRADIUS high performance RADIUS server....
Oct 10 18:07:47 centos8.novalocal systemd[1]: Started FreeRADIUS high performance RADIUS server..

 

Si tiene el servicio Firewalld en ejecución, permita que el tráfico de radio y http entre y salga. El servidor Radius usa los puertos udp 1812 y 1813 .

 

sudo firewall-cmd --add-service=radius --permanent
sudo firewall-cmd --reload

 

Paso 5: Configure FreeRADIUS en CentOS 8 / RHEL 8

 

Para configurar FreeRADIUS para usar MariaDB, siga los pasos a continuación.

 

1 - Importar el esquema de la base de datos Radius para llenar la base de datos radius

 

sudo su -
mysql -u raíz -p radio </etc/raddb/mods-config/sql/main/mysql/schema.sql

 

2 - Configurar radius

 

Primero tiene que crear un enlace suave para SQL en / etc / raddb / mods-enabled

 

sudo ln -s / etc / raddb / mods-available / sql / etc / raddb / mods-enabled /

 

Configure el módulo SQL / raddb / mods-available / sql y cambie los parámetros de conexión de la base de datos para adaptarse a su entorno:

 

sudo vi /etc/raddb/mods-available/sql

 

  • La sección sql debería ser similar a la siguiente.
sql {
driver = "rlm_sql_mysql"
dialect = "mysql"

# Connection info:

server = "localhost"
port = 3306
login = "radius"
password = "StrongradIusPass"

# Database table configuration for everything except Oracle

radius_db = "radius"
}

# Set to ‘yes’ to read radius clients from the database (‘nas’ table)
# Clients will ONLY be read on server startup.
read_clients = yes

# Table to keep radius client info
client_table = "nas"

 

Luego cambie los derechos del grupo / etc / raddb / mods-enabled / sql a radiusd:

 

sudo chgrp -h radiusd / etc / raddb / mods-enabled / sql

 

Reiniciar el servicio radiusd

 

sudo systemctl restart radiusd

 

Paso 6: Instalar y configurar Daloradius en CentOS 8 (Opcional)

 

Puede usar Daloradius para administrar el servidor radius desde una interfaz web. Esta es una configuración opcional que puede seleccionar según su caso de uso.

 

Descargue el archivo de daloradius de Github.

 

sudo dnf -y instalar wget unzip
wget https://github.com/lirantal/daloradius/archive/master.zip
unzip master.zip
mv daloradius-master /daloradius

 

Cambiar directorio para la configuración

 

cd daloradius

 

Importar tablas mysql de Daloradius

 

mysql -u raíz -p radius <contrib / db / fr2-mysql-daloradius-and-freeradius.sql 
mysql -u raíz -p radius <contrib / db / mysql-daloradius.sql

 

Mueva la carpeta daloradius a la ruta en / var / www / html

 

cd ..
sudo mv daloradius /var/www/html/

 

Luego cambie los permisos para la carpeta http y configure los permisos correctos para el archivo de configuración de daloradius.

 

sudo chown -R apache:apache /var/www/html/daloradius/
sudo chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

 

Ahora debe modificar el archivo daloradius.conf.php para ajustar la información de la base de datos MySQL.

 

sudo vi /var/www/html/daloradius/library/daloradius.conf.php

 

Establezca el nombre de la base de datos, el usuario y la contraseña para la conexión.

 

$ configValues ​​['CONFIG_DB_HOST'] = 'localhost';
$ configValues ​​['CONFIG_DB_PORT'] = '3306';
$ configValues ​​['CONFIG_DB_USER'] = ' radio ';
$ configValues ​​['CONFIG_DB_PASS'] = ' StrongradIusPass ';
$ configValues ​​['CONFIG_DB_NAME'] = ' radio ';

 

Para asegurarse de que todo funciona, reinicie los servicios radiusd y httpd .

 

sudo systemctl restart radiusd.service httpd
systemctl status radiusd.service httpd

 

No debería haber ningún error en la salida del estado del servicio:

 

 

Configure SELinux - Reetiquete los directorios para permitir el acceso del usuario apache. 

sudo yum install policycoreutils-python 
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/daloradius(/.*)?" sudo restorecon -Rv /var/www/html/daloradius

 

Paso 7: Acceda a la interfaz web de daloRADIUS

 

Se puede acceder a la interfaz web de administración de daloRADIUS en http: // server_ip_or_hostname / daloradius .

 

 

Los detalles de inicio de sesión predeterminados son:

 

Nombre de usuario: administrador 
Contraseña: radius

 

Así es como se ve la interfaz daloRADIUS.

 

 

Configuraciones faltantes:

yum -y install php-dba

pear install pear

pear install --force DBpear channel-update pear.php.net