Cómo instalar WonderCMS con Apache y Let’s Encrypt SSL en CentOS 8

WonderCMS instalado con éxito

WonderCMS es un sistema de administración de contenido gratuito, de código abierto, simple y liviano para crear sitios web y blogs simples. Es un CMS de archivo plano y no requiere ninguna base de datos. El proceso de instalación es muy sencillo y no requiere ninguna configuración inicial. Ofrece un amplio conjunto de características que incluyen soporte WYSIWYG, marco CSS flexible, compatibilidad con SEO y muchas más.

En este tutorial, le mostraremos cómo instalar WonderCMS en CentOS 8 y asegurarlo con Let’s Encrypt SSL.

requisitos previos

  • Un servidor que ejecuta CentOS 8.
  • Una contraseña de root está configurada en su servidor.

Instalar Apache y PHP

Primero, instale el servidor web Apache, PHP y otras extensiones de PHP con el siguiente comando:

dnf install httpd php php-mysqlnd php-curl php-opcache php-xml php-xmlrpc php-gd php-mbstring php-zip php-json wget unzip git -y

Una vez que se haya completado la instalación, abra el archivo php.ini y cambie algunas configuraciones:

nano /etc/php.ini

Cambie el valor según su requisito:

memory_limit = 128M
post_max_size = 32M
upload_max_filesize = 16M
max_execution_time = 300
date.timezone = Asia/Kolkata

Guarde y cierre el archivo cuando haya terminado. Luego, inicie el servicio Apache y reinícielo para que comience después de reiniciar el sistema con el siguiente comando:

systemctl start httpd
systemctl enable httpd

Descargar WonderCMS

Primero, descargue la última versión de WonderCMS desde el repositorio de Git:

cd /var/www/html
git clone https://github.com/robiso/wondercms.git

Una vez que se complete la descarga, otorgue los permisos adecuados al directorio descargado con el siguiente comando:

chown -R apache:apache /var/www/html/wondercms
chmod -R 775 /var/www/html/wondercms

Configurar Apache para WonderCMS

Primero, cree un nuevo archivo de configuración de host virtual de Apache para WonderCMS con el siguiente comando:

nano /etc/httpd/conf.d/wondercms.conf

Agregue las siguientes líneas:

<VirtualHost *:80>
  ServerName wonder.linuxbuz.com
  DirectoryIndex index.php
  DocumentRoot /var/www/html/wondercms  
  Redirect /wondercms/loginURL /loginURL

  ErrorLog /var/log/httpd/linuxbuz.com-error.log
  CustomLog /var/log/httpd/linuxbuz.com-access.log combined

  <Directory /var/www/html/wondercms>
      Options FollowSymLinks
      AllowOverride All
      Require all granted
  </Directory>

</VirtualHost>

Guarde y cierre el archivo. Luego, reinicie el servicio de Apache con el siguiente comando:

systemctl restart httpd

También puede verificar el estado del servicio de Apache con el siguiente comando:

systemctl status httpd

Debería ver el siguiente resultado:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Active: active (running) since Wed 2020-02-19 08:51:34 EST; 1min 25s ago
     Docs: man:httpd.service(8)
 Main PID: 4716 (httpd)
   Status: "Total requests: 6; Idle/Busy workers 100/0;Requests/sec: 0.0759; Bytes served/sec: 812 B/sec"
    Tasks: 278 (limit: 12558)
   Memory: 43.1M
   CGroup: /system.slice/httpd.service
           ??4716 /usr/sbin/httpd -DFOREGROUND
           ??4718 /usr/sbin/httpd -DFOREGROUND
           ??4719 /usr/sbin/httpd -DFOREGROUND
           ??4720 /usr/sbin/httpd -DFOREGROUND
           ??4721 /usr/sbin/httpd -DFOREGROUND
           ??4935 /usr/sbin/httpd -DFOREGROUND

Feb 19 08:51:34 centos8 systemd[1]: Starting The Apache HTTP Server...

Asegure WonderCMS con Let’s Encrypt SSL

A continuación, instale el cliente Certbot Let’s Encrypt con el siguiente comando:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Ahora, ejecute el siguiente comando para obtener e instalar un certificado SSL para su sitio web WonderCMS.

certbot-auto --apache -d wonder.linuxbuz.com

El comando anterior instalará primero todas las dependencias requeridas en su servidor. Una vez instalado, se le pedirá que proporcione una dirección de correo electrónico y acepte el término del servicio como se muestra a continuación:

Nota : Si obtiene algún error relacionado con el certificado SSL, reinicie el servicio Apache y ejecute el comando anterior nuevamente.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y 


Obtaining a new certificate
Performing the following challenges:
http-01 challenge for wonder.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/wondercms.conf

A continuación, deberá elegir si desea redirigir o no el tráfico HTTP a HTTPS, como se muestra a continuación:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Escribe 2 y golpear Ingresar continuar. Una vez finalizada la instalación, debería ver el siguiente resultado:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/wondercms.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://wonder.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=wonder.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/wonder.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/wonder.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-03-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Configurar cortafuegos y SELinux

A continuación, deberá crear una regla de firewall para permitir el servicio HTTP y HTTPS desde redes externas. Puedes permitirlo con el siguiente comando:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

A continuación, deberá configurar SELinux para WonderCMS. Puede configurar SELinux usando el siguiente comando:

setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/wondercms

Finalmente, reinicie el servicio de Apache para aplicar los cambios:

systemctl restart httpd

Acceder a WonderCMS

Ahora, abra su navegador web y escriba la URL https://wonder.linuxbuz.com. Será redirigido a la página de inicio de WonderCMS:

WonderCMS instalado con éxito

Ahora, copie la contraseña de la página anterior y haga clic en la Clamer para iniciar sesión botón. Debería ver la siguiente página: Anuncio

WonderCMS Iniciar sesión

Pegue la contraseña y haga clic en el Acceso botón. Deberías ver la siguiente página:

Modo de administración de WonderCMS

A continuación, haga clic en el Ajustes => Seguridad. Deberías ver la siguiente página:

Tablero WonderCMS

Cambie su URL de inicio de sesión, contraseña y haga clic en el CAMBIO CLAVE botón.

Conclusión

¡Felicidades! Ha instalado y asegurado con éxito WonderCMS en CentOS 8 con Let’s Encrypt SSL. Ahora puede alojar su propio blog y sitio web fácilmente con WonderCMS.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *