GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar WonderCMS con Nginx en Debian 11 Bullseye

WonderCMS es un sistema de administración de contenido rápido y sencillo que no requiere una base de datos para crear sitios web. Ofrece características ricas como URL de inicio de sesión personalizada, diseño compatible con SEO con elementos WYSIWYG para editar su sitio en texto sin formato o formatos de código HTML; marco CSS flexible para que pueda cambiar el aspecto de páginas individuales sin afectar otras partes de la página web, incluidos encabezados/tamaños de fuente, etc. Junto con compatibilidad nativa con Markdown, que permite a los usuarios publicar artículos en línea usando solo párrafos.

En el siguiente tutorial, aprenderá cómo instalar WonderCMS usando Nginx y PHP junto con la importación de repositorios actualizados o usando la versión predeterminada y cómo crear un bloque de servidor y configurarlo usando el terminal de línea de comando en Servidor o escritorio Debian 11 Bullseye.

Instalar Nginx

Para iniciar la instalación, deberá instalar Nginx Servidor web. Un método es instalar la última línea principal de Nginx o estable desde el repositorio de Ondřej Surý para tener el software más actualizado. Muchos usuarios de Ubuntu conocerían su PPA y usted puede hacer lo mismo en Debian.

Para los usuarios que solo deseen usar la versión APT predeterminada de Debian de Nginx, use el siguiente comando a continuación u omita e importe la última línea principal o estable de NGINX.

Instalar Nginx:repositorio de Debian 11

sudo apt install nginx nginx-full

Para usar la última versión de la línea principal o estable de Nginx, primero deberá importar el repositorio.

¡Importe UN SOLO REPOSITORIO!

Opción 1 – Importar repositorio principal:

curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x

Opción 2 – Importar repositorio estable:

curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x

Actualiza tu repositorio para reflejar el nuevo cambio:

sudo apt upgrade

Ahora que ha instalado el repositorio de Nginx y actualizó la lista de repositorios, instale Nginx con lo siguiente:

sudo apt install nginx-core nginx-common nginx nginx-full -y

Tenga en cuenta que es posible que se le pida que mantenga o reemplace su /etc/nginx/nginx.conf existente archivo de configuración durante la instalación. Se recomienda mantener su archivo de configuración actual presionando (n) .

La instalación de Nginx con el repositorio personalizado viene con módulos adicionales compilados, uno de los módulos más buscados y recomendados para habilitar es el módulo Brotli.

Para instalar brotli , abra su nginx.conf archivo de configuración:

nano /etc/nginx/nginx.conf

Ahora agregue las líneas adicionales antes en el HTTP{} sección:

brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
   application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
   application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
   font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
   image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;

El brotli_comp_level se puede establecer entre 1 (más bajo) y 11 (más alto) . Por lo general, la mayoría de los servidores se ubican en el medio, pero si su servidor es un monstruo, configúrelo en 11 y controle los niveles de uso de la CPU.

A continuación, pruebe para asegurarse de que los cambios funcionan correctamente antes de publicarlo:

sudo nginx -t

Si los cambios funcionan correctamente, debería ver lo siguiente:

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

Ahora haga los cambios en vivo reiniciando su servidor:

sudo systemctl restart nginx

A continuación, habilite Nginx en el arranque del sistema:

sudo systemctl enable nginx --now

Instalar PHP y PHP-FPM

Ahora estamos instalando PHP, que es el comunicador de fondo o el intermediario. PHP 8.0 se está volviendo relativamente estable y las versiones más recientes de PHP 8.1 ya están disponibles.

El tutorial se centrará en importar la última versión de PHP de Ondřej Surý, el mantenedor de Debian PHP. Esto siempre está actualizado, incluso cuando se lanzan nuevas versiones de PHP.

Importar repositorio PHP de Ondřej Surý

El primer paso es importar e instalar la GPG y el repositorio.

En su terminal, use el siguiente comando.

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

Este comando instalará el repositorio PHP y actualizará su repositorio APT.

A continuación, actualice la lista de repositorios, ya que el nuevo repositorio requerirá que se actualicen algunos paquetes existentes y se recomienda hacerlo antes de instalar cualquier versión de PHP.

sudo apt upgrade

Opción 1. Instalar PHP 7.4

El valor predeterminado de muchas versiones mínimas de PHP de CMS es instalar PHP 7.4. Si bien esto se considera increíblemente estable, lo ideal es instalar PHP 8.0 si es posible para obtener beneficios de rendimiento y seguridad.

En su terminal, ejecute el siguiente comando.

sudo apt install php7.4 php7.4-fpm php7.4-mbstring php7.4-curl php7.4-zip

A continuación, inicie y habilite PHP 7.4-FPM para que se inicie automáticamente en el arranque.

sudo systemctl enable php7.4-fpm --now

Opción 2. Instalar PHP 8.0

La mayoría de los usuarios deberían instalar PHP 8.0 para sus aplicaciones web con 7.4 considerado antiguo estable, similar a 7.4 en su terminal; ejecuta el siguiente comando.

sudo apt install php8.0 php8.0-fpm php8.0-mbstring php8.0-curl php8.0-zip

A continuación, inicie y habilite PHP 8.0-FPM para que se inicie automáticamente en el arranque.

sudo systemctl enable php8.0-fpm --now

Opción 3. Instalar PHP 8.1

La tercera opción es instalar PHP 8.1, la última versión en el momento de este tutorial. Similar a 8.0 y 7.4, ejecute el siguiente comando para instalar PHP 8.1 para WonderCMS.

sudo apt install php8.1 php8.1-fpm php8.1-mbstring php8.1-curl php8.1-zip

A continuación, inicie y habilite PHP 8.1-FPM para que se inicie automáticamente en el arranque.

sudo systemctl enable php8.1-fpm --now

Instalar WonderCMS

Descarga WonderCMS

Lo primero es lo primero, descargue el paquete de archivo de WonderCMS visitando la página de descarga oficial para obtener el enlace más reciente y descargarlo usando el comando de su terminal con wget o curl comando.

Ejemplo:

wget https://github.com/robiso/wondercms/releases/download/3.3.1/wondercms-331.zip

Crear estructura de carpetas para WonderCMS

Ahora que tiene el archivo descargado, proceda a descomprimirlo y muévalo a su directorio www.

Crear el directorio para WonderCMS:

sudo mkdir -p /var/www/wondercms

DescomprimirWonderCMS en el directorio www:

sudo unzip wondercms*.zip -d /var/www/

Debe establecer los permisos de propietario del directorio en WWW, de lo contrario, tendrá problemas con los permisos de escritura de WonderCMS.

Establecer permiso de chown (importante):

sudo chown -R www-data:www-data /var/www/wondercms/

Establecer permiso chmod (importante):

sudo find /var/www/wondercms -type d -exec chmod 755 {} \;
sudo find /var/www/wondercms -type f -exec chmod 644 {} \;

Crear configuración de bloque de servidor Nginx

La siguiente etapa es crear el bloque de servidor para WonderCMS para nuevos usuarios de Nginx; este es el archivo de configuración del sitio web para la aplicación web en el back-end, lo mismo que el host virtual para los usuarios que migran desde aplicaciones web de tipo Apache.

Primero, cree un bloque de servidor usando el siguiente comando, asegúrese de reemplazar example.com con su nombre de dominio o el nombre de su elección.

sudo nano /etc/nginx/sites-available/example.com.conf

A continuación se muestra un ejemplo; puedes elegir las partes; sin embargo, la “ubicación ~ \.php$” debe estar en el archivo de configuración de Nginx.

NOTA:asegúrese de cambiar www.example.com y example.com y la ruta raíz.

server {
        listen 80;
        # adapt to your server name
        server_name www.wonder-example.com;
        # adapt the path
        root /var/www/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/php8.1-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; 
        }
    }

Tenga en cuenta que si está utilizando PHP 8.xx busque y reemplace la línea anterior “fastcgi_pass unix:/run/php/php7.4-fpm.sock;” a "fastcgi_pass unix:/run/php/php8.0-fpm.sock;" para 8.0 o "fastcgi_pass unix:/run/php/php8.1-fpm.sock;" para 8.1.

A continuación, deberá habilitar el archivo de configuración de Nginx desde “sitios disponibles” . Para ello, creará un enlace simbólico a “habilitado para sitios” de la siguiente manera.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Asegúrese de reemplazar "example.conf" con su nombre de archivo de configuración.

Ahora puede hacer una ejecución en seco y luego reiniciar su servidor Nginx si todo está bien.

sudo nginx -t

Después de comprobar que todo está bien con la prueba de ejecución en seco de Nginx, reinicie el servicio de Nginx.

sudo systemctl restart nginx

Configuración PHP.ini

Antes de pasar a la parte de instalación de la interfaz de usuario web, debe ajustar su PHP para un uso óptimo de WonderCMS. Estas configuraciones son más una guía, y puede aumentarlas o disminuirlas como mejor le parezca.

Primero, abra su php.ini. Tenga en cuenta que su ubicación puede diferir según su número de versión de PHP.

sudo nano /etc/php/{version}/fpm/php.ini

A continuación, idealmente, puede mejorar aún más su CMS ajustando algunas de las configuraciones a continuación. Tenga en cuenta que si tiene un recurso bajo de 1 VCPU, 1 GB, no hará mucho. Sin embargo, las configuraciones a continuación son solo una guía, investigue un poco o utilícelas y juegue.

##increase upload max size recommend 50 to 100mb example only## 
 upload_max_filesize = 100MB

##increase post max size recommend 50 to 100mb  example only##
 post_max_size = 100MB

## increase max execution time recommend 120 to 300##
 max_execution_time = 120

## increase GET/POST/COOKIE input variables recommend 5000 to 10000##
max_input_vars = 5000

## increase memory limit recommend 256mb or 512mb##
memory_limit = 256M

Ahora reinicie su servidor PHP-FPM.

sudo systemctl restart php{version}-fpm

La configuración de PHP que ajustó es para el backend de PHP. También deberá cambiar el bloque del servidor Nginx para permitir tamaños de cuerpo grandes. Esto se hace volviendo a abrir el bloque de su servidor y agregando la siguiente línea.

Abre tu bloque de servidor.

sudo nano /etc/nginx/sites-available/example.com

Ajusta esta línea para aumentar el tamaño del cuerpo.

client_max_body_size 100M;

Recuerde, mantenga el tamaño máximo del cliente igual que su configuración de archivo PHP .

Luego, pruebe los cambios, luego reinicie su servidor Nginx si todo está bien.

sudo nginx -t

Después de comprobar que todo está bien con la prueba de ejecución en seco de Nginx, reinicie el servicio de Nginx.

sudo systemctl restart nginx

Instalar WebUI de WonderCMS

Ahora que se completó toda la instalación y configuración del back-end, puede ir a su dominio y comenzar la instalación.

##go to installation address##
 https://www.yoursite.com

La primera página que verá es una contraseña temporal y el botón de inicio de sesión.

Haga clic en iniciar sesión para continuar.

Ejemplo:

Introduzca su contraseña para continuar usando la contraseña disponible en la página de inicio de sesión Bienvenido a su sitio web. Si olvidó o no copió, haga clic en Atrás y vuelva a copiar, luego vuelva a iniciar sesión.

Ejemplo:

Una vez que haya iniciado sesión, accederá a la página de su CMS que se parece a la página de inicio de sesión original, no se deje engañar; Esta es una página de edición abierta. En la parte superior, verá cambiar la configuración, y esto se recomienda encarecidamente de inmediato para proteger aún más su sitio web.

Ejemplo (Haga clic en la imagen para ampliar) :

Una vez que abra la página de configuración, desde aquí, puede ajustar la configuración de seguridad de los complementos y prácticamente comenzar a personalizar el back-end de su sitio web antes de acceder al editor de páginas de WonderCMS.

Ejemplo (Haga clic en la imagen para ampliar) :

Felicitaciones, ha instalado con éxito la última versión de WonderCMS con Nginx y PHP.

Proteja Nginx con el certificado gratuito Let's Encrypt SSL

Idealmente, le gustaría ejecutar su Nginx en HTTPS usando un certificado SSL . La mejor manera de hacerlo es usar Let's Encrypt, una autoridad de certificación gratuita, automatizada y abierta dirigida por el Grupo de Investigación de Seguridad de Internet (ISRG) sin fines de lucro .

Primero, instale el paquete certbot de la siguiente manera:

sudo apt install python3-certbot-nginx -y

Una vez instalado, ejecute el siguiente comando para iniciar la creación de su certificado:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d www.example.com

Esta configuración ideal incluye forzar redireccionamientos HTTPS 301, un encabezado de seguridad de transporte estricto y grapado OCSP. Solo asegúrese de ajustar el correo electrónico y el nombre de dominio a sus requisitos.

Ahora su URL será HTTPS://www.example.com en lugar de HTTP://www.example.com .

Si usa la antigua URL HTTP , se redirigirá automáticamente a HTTPS .

Opcionalmente, puede configurar un trabajo cron para renovar los certificados automáticamente. Certbot ofrece una secuencia de comandos que hace esto automáticamente, y primero puede probar para asegurarse de que todo funciona realizando una ejecución en seco.

sudo certbot renew --dry-run

Si todo funciona, abra su ventana crontab usando el siguiente comando de terminal.

sudo crontab -e

A continuación, especifique la hora en que debe renovarse automáticamente. Esto debe verificarse diariamente como mínimo, y si es necesario renovar el certificado, el script no actualizará el certificado. Si necesita ayuda para encontrar un buen momento para configurar, use crontab.guru herramienta gratuita.

00 00 */1 * * /usr/sbin/certbot-auto renew

Debian
  1. Cómo instalar Phorum con Nginx en Debian 9

  2. Cómo instalar el servidor HTTP Git con Nginx en Debian 11

  3. Cómo instalar Ghost en Debian con Nginx

  4. Cómo instalar DokuWiki en Debian Wheezy con Nginx

  5. Cómo instalar WordPress con Nginx en Debian 10

Cómo instalar WordPress con LEMP Stack en Debian 11 Bullseye

Cómo instalar phpBB con LEMP (Nginx, MariaDB y PHP) en Debian 11 Bullseye

Cómo instalar Nginx con Let's Encrypt TLS/SSL en Debian 11 Bullseye

Cómo instalar phpMyAdmin con Nginx en Debian 11

Cómo instalar Nginx con PHP-FPM en Debian 11

Cómo instalar Debian 11 Bullseye {Guía con capturas de pantalla}