Cómo instalar WonderCMS en Ubuntu 22.04

WonderCMS es un CMS de código abierto y archivo plano extremadamente pequeño que proporciona una forma sencilla y fácil de crear y gestionar sitios web. Está escrito en PHP y jQuery y no requiere ninguna configuración. Proporciona todas las funciones necesarias disponibles en los CMS modernos. Es rápido, sensible y no requiere ninguna base de datos. Ofrece una interfaz web fácil de usar con un único menú desplegable básico, al tiempo que activa controles de edición en línea en tus páginas.

Este tutorial te mostrará cómo instalar WonderCMS con Nginx y Let’s Encrypt SSL en Ubuntu 22.04.

Requisitos previos

  • Un servidor con Ubuntu 22.04.
  • Un nombre de dominio válido apuntando a la IP de tu servidor.
  • Una contraseña de root está configurada en el servidor.

Instalar Nginx y PHP

En primer lugar, tendrás que instalar el servidor web Nginx, PHP y otras dependencias en tu servidor. Puedes instalarlos todos ejecutando el siguiente comando:

apt-get install nginx php php-fpm php-mbstring php-curl php-zip -y

Una vez instalados todos los paquetes, edita el archivo de configuración de PHP y modifica algunos ajustes por defecto:

nano /etc/php/8.1/fpm/php.ini

Cambia los siguientes ajustes:

upload_max_filesize = 100MB
post_max_size = 100MB
max_execution_time = 300
max_input_vars = 5000
memory_limit = 256M
date.timezone = "UTC"

Guarda y cierra el archivo y reinicia el servicio PHP-FPM para aplicar los cambios:

systemctl restart php8.1-fpm

Instalar WonderCMS Ubuntu 22.04

En primer lugar, tendrás que descargar la última versión de WonderCMS desde GitHub utilizando el siguiente comando:

wget https://github.com/robiso/wondercms/releases/download/3.3.4/wondercms-334.zip

Una vez completada la descarga, descomprime el archivo descargado en el directorio raíz web de Nginx utilizando el siguiente comando:

unzip wondercms-334.zip -d /var/www/html

A continuación, cambia la propiedad y el permiso del WonderCMS con el siguiente comando:

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

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar Nginx para WonderCMS

A continuación, tendrás que crear un archivo de configuración de host virtual Nginx para alojar WonderCMS con Nginx. Puedes crearlo con el siguiente comando:

nano /etc/nginx/conf.d/wondercms.conf

Añade las siguientes líneas:

server {
        listen 80;
        # adapt to your server name
        server_name wondercms.example.com;
        # adapt the path
        root /var/www/html/wondercms;
        index index.php;
        # prevent directory listing
        autoindex off;

        # rewrite url to make it pretty
        location / {
            try_files $uri $uri/ @rewrite;
        }
            location @rewrite {
            rewrite ^/(.+)$ /index.php?page=$1 last;
        }

        # prevent access to database.js
        location ~ database.js {
            return 403;
        }

        location ~ cache.json {
            return 403;
        }

        # use php-fpm for dealing with php files

location ~ \.php$ {
      fastcgi_pass unix:/run/php/php-fpm.sock;

      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include fastcgi_params;
      include snippets/fastcgi-php.conf;
      fastcgi_buffer_size 128k;
      fastcgi_buffers 4 128k;
      fastcgi_intercept_errors on; 
        }
    }

Guarda y cierra el archivo y, a continuación, comprueba si Nginx tiene algún error de sintaxis con el siguiente comando:

nginx -t

Obtendrás la siguiente salida:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

A continuación, reinicia el servicio Nginx para aplicar los cambios:

systemctl restart nginx

También puedes comprobar el estado de Nginx utilizando el siguiente comando:

systemctl status nginx

Obtendrás el siguiente resultado:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-11-12 14:06:21 UTC; 7s ago
       Docs: man:nginx(8)
    Process: 18137 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 18139 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 18140 (nginx)
      Tasks: 3 (limit: 464122)
     Memory: 3.4M
     CGroup: /system.slice/nginx.service
             ??18140 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??18141 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ??18142 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Nov 12 14:06:21 ubuntu22041 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 12 14:06:21 ubuntu22041 systemd[1]: Started A high performance web server and a reverse proxy server.

Accede a la interfaz web de WonderCMS

Ahora, abre tu navegador web y accede a la interfaz web de WonderCMS utilizando la URL http://wondercms.example.com. Deberías ver la siguiente pantalla que contiene la contraseña de acceso:

Haz clic en el botón HACER CLIC AQUÍ PARA INICIAR SESIÓN. Deberías ver la página de inicio de sesión de WonderCMS:

Introduce la contraseña de inicio de sesión y haz clic en el botón INICIAR SESIÓN. Deberías ver la siguiente página.

Haz clic en la Configuración de seguridad para cambiar la URL de inicio de sesión como se muestra a continuación:

Ahora, cambia la URL de inicio de sesión y personaliza tu sitio web según tus necesidades.

A continuación, accede a WonderCMS utilizando la nueva URL http://wondercms.example.com/wonder. Deberías ver la siguiente página:

Inserta el contenido que quieras escribir. Deberías ver la siguiente página:

Asegura WonderCMS con Let’s Encrypt SSL

A continuación, tendrás que instalar el paquete cliente Certbot para instalar y gestionar el SSL Let’s Encrypt. Primero, instala el Certbot con el siguiente comando:

apt-get install python3-certbot-nginx -y

Una vez finalizada la instalación, ejecuta el siguiente comando para instalar el SSL de Let’s Encrypt en tu sitio web:

certbot --nginx -d wondercms.example.com

Se te pedirá que proporciones una dirección de correo electrónico válida y que aceptes las condiciones del servicio, como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
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 wondercms.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/wondercms.conf

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 pulsa Intro para finalizar la instalación. Deberías 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://wondercms.example.com

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/wondercms.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/wondercms.example.com/privkey.pem
   Your cert will expire on 2023-02-12. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Conclusión

Enhorabuena! has instalado con éxito WonderCMS con Nginx y Let’s Encrypt SSL en Ubuntu 22.04. Ahora puedes explorar WondoerCMS y empezar a crear tu propio sitio web a través de un navegador web. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...