GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar phpMyAdmin con Nginx en Debian 11 Bullseye

Una de las herramientas más populares para administrar bases de datos se llama phpMyAdmin. . ¡Es una interfaz web gratuita y fácil de usar que le permite administrar su base de datos MySQL o MariaDB desde cualquier lugar con solo un navegador! ¿Lo mejor de este software? No necesita ningún conocimiento especial sobre cómo funcionan los servidores porque hace todo el trabajo pesado detrás de escena, por lo que los usuarios pueden acceder a ellos fácilmente sin perderse en la terminal de línea de comandos.

La mayoría de las veces, los desarrolladores prefieren usar phpMyAdmin para interactuar con un servidor de base de datos debido a su facilidad de uso y editor SQL avanzado, lo que facilita la creación y prueba de consultas SQL complejas. Por otro lado, los administradores de servidores web instalan phpMyAdmin además de su sistema CMS, como WordPress, para solucionar problemas o dar acceso a otra persona (un desarrollador de un complemento, por ejemplo) para que investigue un problema.

En el siguiente tutorial, aprenderá cómo instalar la pila LEMP rápidamente usando Nginx, MariaDB y PHP (PHP-FPM) usando los repositorios estándar de Debian 11 Bullseye o repositorios alternativos actualizados, luego descargue y configure phpMyAdmin manualmente creando un Bloque de servidor Nginx y certificado Let's Encrypt TLS gratuito.

Actualizar Debian

Antes de continuar con el tutorial, es bueno asegurarse de que su sistema esté actualizado con todos los paquetes existentes para evitar conflictos durante la instalación.

sudo apt update && sudo apt upgrade -y

Instalar dependencias

Use el siguiente comando para instalar o verificar si los paquetes están instalados.

sudo apt install software-properties-common curl apt-transport-https -y

Instalar Nginx:pila LEMP

Después de instalar Nginx PPA estable o principal, use el siguiente comando para instalar Nginx:

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

Una vez instalado, el servicio debe estar habilitado de forma predeterminada; sin embargo, es bueno verificar esto y operar correctamente.

systemctl status nginx

Ejemplo de salida:

Si el servidor no se ha activado, use el siguiente comando para hacerlo y haga que Nginx se inicie al reiniciar.

sudo systemctl enable nginx --now

Instalación alternativa de Nginx

Otro 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.

Opción 1 – Importar repositorio principal (recomendado por Nginx)

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, 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 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 , abre tu nginx.conf archivo de configuración:

nano /etc/nginx/nginx.conf

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

A continuación se muestra un ejemplo para que lo modifique en su archivo de configuració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 configurar entre 1 (más bajo) y 11 (el 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 MariaDB – Pila LEMP

En la segunda parte de la instalación, deberá instalar la parte de la base de datos. La pila LEMP generalmente se asocia con MariaDB sobre MySQL por muchas razones, principalmente debido al rendimiento.

En su terminal, ejecute el siguiente comando.

sudo apt install mariadb-server mariadb-client -y

Una vez instalado, verifica lo mismo que hiciste con el servicio Nginx que está habilitado y funcionando sin ningún error.

systemctl status mariadb

Si el servidor no se ha activado, use el siguiente comando para hacerlo y haga que MariaDB se inicie al reiniciar.

sudo systemctl enable mariadb --now

Instalación alternativa de MariaDB (repositorio MariaDB.org)

Para aquellos que deseen usar la última versión 10.5 LTS, 10.6 LTS o las versiones más recientes de 1 año, como 10.7 o 10.8, etc., hasta la próxima versión LTS, importe el repositorio oficial para que coincida con la versión deseada.

TENGA EN CUENTA QUE SI INSTALA LA ÚLTIMA ÚLTIMA MARIADB EDGE COMO 10.7/10.8 EN EL MOMENTO DE ESTE TUTORIAL, DEBERÁ ASEGURARSE DE TENER LA VERSIÓN RC (BETA) O LA ÚLTIMA phpMyAdmin EN TODO MOMENTO.

Opción 1:importar MariaDB 10.5

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.5

Opción 2:importar MariaDB 10.6

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.6

Opción 3:importar MariaDB 10.7

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.7

Opción 4:importar MariaDB 10.8

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.8

Ejemplo si se importó correctamente (Ejemplo con MariaDB 10.7):

La mejor recomendación es importar MariaDB 10.6 LTS con MariaDB.org para obtener las funciones más recientes y la mejor compatibilidad/estabilidad.

Para los usuarios que ya han instalado MariaDB, notarán que ahora habrá actualizaciones disponibles. De lo contrario, ejecute el comando de instalación estándar.

sudo apt install mariadb-server mariadb-client -y

No actualice; ejecute el comando de instalación para asegurarse de que todas las dependencias estén instaladas.

Para los usuarios que han actualizado desde una versión diferente de MariaDB, por ejemplo, 10.5 a 10.7, asegúrese de actualizar su base de datos usando el siguiente comando.

sudo mariadb-upgrade

Con el tiempo, sin duda, estarán disponibles nuevas versiones de lanzamiento, consulte aquí y use el mismo comando que arriba y cambie mariadb-server-version={versión} a lo que le gustaría, por ejemplo, 10.9, 10.10, etc.

Por último, asegúrese de que MariaDB funcione correctamente al verificar su estado tal como lo hizo con Nginx.

sudo systemctl status mariadb

Salida de ejemplo (con MariaDB 10.7):

Ejecutar script de seguridad de MariaDB

Al instalar MariaDB La configuración predeterminada nueva se considera débil según la mayoría de los estándares y causa preocupación por permitir la intrusión o la explotación de piratas informáticos. Una solución es ejecutar el script de seguridad de instalación con MariaDB instalación.

Primero, use el siguiente comando para iniciar (mysql_secure_installation) :

sudo mysql_secure_installation

A continuación, siga a continuación:

  • Configuración de la contraseña para root cuentas.
  • Eliminar las cuentas raíz a las que se puede acceder desde fuera del host local.
  • Eliminar cuentas de usuarios anónimos.
  • Eliminar la base de datos de prueba, a la que pueden acceder de forma predeterminada los usuarios anónimos.

Tenga en cuenta que usa (Y) para eliminar todo.

Ejemplo:

[joshua@debian-11 ~]$ sudo mariadb-secure-installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Instalar PHP – Pila LEMP

Por último, instale el servicio PHP para la pila LEMP, que actuará como intermediario entre Nginx y MariaDB. PHP archiva esto con el servicio PHP-FPM y algunos módulos adicionales requeridos por phpMyAdmin.

Los usuarios de Debian pueden instalar la versión estándar de PHP. Sin embargo, para PHP, recomendaría enfáticamente instalar un repositorio similar a Nginx Ondrey Sury, que es el mantenedor de PHP para Debian, de esta manera, obtendrá la última versión no solo con actualizaciones de seguridad sino también con mejoras de rendimiento.

El primer paso es importar e instalar la clave y el repositorio GPG, que se puede hacer usando un script automatizado iniciado por el comando curl. En su terminal, use el siguiente comando.

Importar repositorio PHP y clave GPG

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

A continuación, actualice su lista de repositorios APT para reflejar los cambios.

sudo apt upgrade

Después de ejecutar el comando de actualización, puede notar que algunos paquetes requieren actualización, asegúrese de hacerlo antes de continuar.

sudo apt upgrade

Instalar PHP (PHP-FPM)

El siguiente paso es instalar PHP y PHP-FPM y los módulos necesarios. Actualmente, sugiero instalar PHP 8.0 u 8.1 ya que 7.4 se considera muy antiguo. Sin embargo, se presentarán tres opciones.

Si no está seguro, por ahora, elija 8.0 como es mi recomendación; sin embargo, Yo personalmente uso 8.1 con mi phpMyAdmin sin problemas.

Opción 1:instalar PHP 7.4

sudo apt install php7.4-fpm php7.4-mbstring php7.4-bcmath php7.4-xml php7.4-mysql php7.4-common php7.4-gd php7.4-cli php7.4-curl php7.4-zip php7.4-gd -y

Opción 2:instalar PHP 8.0 (recomendado)

sudo apt install php8.0-fpm php8.0-mbstring php8.0-bcmath php8.0-xml php8.0-mysql php8.0-common php8.0-gd php8.0-cli php8.0-curl php8.0-zip php8.0-gd -y

Opción 3:instalar PHP 8.1 (recomendado)

sudo apt install php8.1-fpm php8.1-mbstring php8.1-bcmath php8.1-xml php8.1-mysql php8.1-common php8.1-gd php8.1-cli php8.1-curl php8.1-zip php8.1-gd -y

Solo tenga en cuenta si no está seguro, puede instalar las tres versiones de PHP una al lado de la otra, y solo el bloque del servidor Nginx, que le mostraré más adelante. Solo asegúrese de deshabilitar cualquier servicio de php-fpm que no sea necesario para fines de rendimiento y seguridad.

Una vez instalado, verifica lo mismo que hiciste con el servicio MariaDB que está habilitado y funcionando sin ningún error.

systemctl status php{version}-fpm

Salida de ejemplo (con PHP 8.1-FPM:

Si el servidor no se ha activado, use el siguiente comando para hacerlo y haga que MariaDB se inicie al reiniciar.

sudo systemctl enable php{version}-fpm --now

Instalar phpMyAdmin

De forma predeterminada, el repositorio de Debian 11 viene con phpMyAdmin y las dependencias requeridas. Sin embargo, como suele ocurrir con las versiones LTS de Debian, la versión y la compilación están muy por detrás de lo que está disponible actualmente en la fuente, y no puede instalar las versiones preliminares candidatas/beta.

Entonces, como ya se habrá dado cuenta, el tutorial instalará la última versión de la siguiente manera.

Crear superusuario de nombre de usuario de phpMyAdmin

De forma predeterminada, puede iniciar sesión con el usuario raíz en phpMyAdmin. Sin embargo, siempre es mejor crear un superusuario; tal como lo haría para Linux, sudo los usuarios son preferibles a usar root , por lo que es el mismo tipo de lógica.

Primero, inicie sesión en la interfaz de la terminal.

sudo mysql -u root

A continuación, cree una base de datos en la terminal MariaDB:

CREATE USER PMAUSER IDENTIFIED BY 'password here change';

Ahora necesita crear un usuario y otorgar permisos de la siguiente manera:

GRANT ALL PRIVILEGES ON *.* TO 'PMAUSER'@'localhost' IDENTIFIED BY 'password here change' WITH GRANT OPTION;

Recuerde cambiar el ‘cambio de contraseña aquí’ no copiar a ciegas, por favor.

Para finalizar, vacíe los privilegios para que los cambios surtan efecto.

FLUSH PRIVILEGES;

Ahora salga con el siguiente comando.

QUIT;

Descargue la última versión de phpMyAdmin

Descargar la última versión de phpMyAdmin es sencillo; visite la página de descargas de phpMyAdmin para encontrar el número de versión más reciente.

A continuación, ejecute los siguientes códigos para descargar automáticamente las últimas versiones de todos los idiomas.

En el momento del tutorial, 5.1.3 es la última versión, así que esto debería estar en la salida descargada; recuerde, con el tiempo, esta versión cambiará; sin embargo, ¡el comando será el mismo!

DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VERSION="$(echo $DATA | cut -d ' ' -f 1)"
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz

Ejemplo de salida:

Si desea descargar la versión en inglés , sustituya la línea final por lo siguiente:

wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-english.tar.gz

A continuación, extraiga el archivo con el siguiente comando:

tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz

Configurar phpMyAdmin

El siguiente paso es mover todos los archivos extraídos a su destino final, en el estándar /var/www/ ubicación del directorio usando el comando mv .

sudo mv phpMyAdmin-*/ /var/www/phpmyadmin

Por defecto, phpMyAdmin no viene con un TMP directorio al instalar desde la fuente, y debe crearlo manualmente:

sudo mkdir -p /var/www/phpmyadmin/tmp

En el directorio phpMyAdmin, se incluye un archivo de ejemplo de configuración predeterminado. Deberá cambiar el nombre de este archivo para que phpMyAdmin reconozca la configuración.

Sin embargo, para la copia de seguridad, utilizará el CP comando para crear una copia y mantener la predeterminada como copia de seguridad si se cometen errores en la ubicación /var/www/phpmyadmin/ directorio.

Copie config.sample.inc.php para config.inc.php con el siguiente comando:

sudo cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php

A continuación, abra este archivo con su editor de texto preferido. Para el tutorial, se utiliza el editor de texto nano.

sudo nano /var/www/phpmyadmin/config.inc.php

phpMyAdmin usa un cifrado Blowfish . Desplácese hacia abajo hasta la línea que comienza con $cfg['blowfish_secret'] .

Las líneas se verán como, por ejemplo:

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Deberá asignar una cadena de 32 caracteres aleatorios entre las comillas simples. La forma más fácil de lograr esto es usando el programa pwgen .

Para instalar el paquete pwgen, use el siguiente comando de terminal:

sudo apt install pwgen -y

Una vez instalado, ejecute el siguiente comando:

pwgen -s 32 1

Luego obtendrá sus 32 caracteres aleatorios para el secreto del pez globo, resultado de ejemplo:

Ejemplo de cómo agregar el cifrado al archivo de configuración (No copiar):

$cfg['blowfish_secret'] = 'K8ZEWW6NZ6OhLFbs5m19YqDB932EyGRq'

Ejemplo en el archivo de configuración:

El resto de la configuración predeterminada debería funcionar para la mayoría de los usuarios.

Si su da está ubicado en otro servidor ubicado en su red, busque y cambie la línea $cfg['Servidores'][$i]['host'] = a la de la dirección IP privada. Ejemplo a continuación:

$cfg['Servers'][$i]['host'] = '192.168.55.101';

Cambie 192.168.55.101 a la dirección IP del servidor host de su externo servidor anfitrión.

Establecer permisos de archivo de phpMyAdmin

A continuación, debe establecer los permisos de propietario del directorio en www-user por compatibilidad y seguridad.

Establecer permiso de chown (importante):

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

Establecer permiso chmod (importante):

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

Crear bloque de servidor Nginx para phpMyAdmin

Para acceder a la interfaz web de phpMyAdmin, debe crear un bloque de servidor Nginx. Se recomienda encarecidamente mantener esto separado, y en un subdominio, puede nombrarlo como desee para ayudar con la seguridad y los ataques de fuerza bruta.

Primero, cree y abra su bloque de servidor usando el editor de texto nano de la siguiente manera:

sudo nano /etc/nginx/sites-available/phpmyadmin.conf

A continuación, puede pegar el siguiente texto en el archivo. Tenga en cuenta que debe reemplazar la URL del dominio con la suya propia:

server {
  listen 80;
  listen [::]:80;
  server_name pma.example.com;
  root /var/www/phpmyadmin/;
  index index.php index.html index.htm index.nginx-debian.html;

  access_log /var/log/nginx/phpmyadmin_access.log;
  error_log /var/log/nginx/phpmyadmin_error.log;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ ^/(doc|sql|setup)/ {
    deny all;
  }

  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;
  }

  location ~ /\.ht {
    deny all;
  }
}

Algunas notas sobre el ejemplo anterior.

  • /run/php/php8.1-fpm.sock; – Esto debe cambiarse a 8.0, 7.4, etc. si se usa una versión diferente de PHP-FPM.
  • root /var/www/phpmyadmin/; – Esta es la ruta establecida en el tutorial, cámbiela si configura phpMyAdmin en otro lugar.

Si es el único que accede a esto desde una dirección IP estática, puede agregar el siguiente código sobre la primera entrada de ubicación. A continuación se muestra un ejemplo de esto:

  allow <your ip address>;
  deny all; 

  location / {
    try_files $uri $uri/ /index.php;
  }
...........................................

Esto naturalmente block cualquiera que visite la página con un error 403 a menos que lo permita su dirección IP. Esto, por naturaleza, puede detener todos los ataques brutos en seco, pero tal vez no sea viable para algunas configuraciones.

Ahora guarda usando (CTRL+O) y salga con (CTRL+X) .

A continuación, cree un enlace simbólico desde sitios-disponibles donde se encuentra el archivo de configuración para enlazar y luego sitios habilitados .

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

Antes de reiniciar el servicio de Nginx, realice siempre una prueba de funcionamiento en seco, especialmente en entornos activos, para asegurarse de que el bloqueo del servidor o cualquier cambio que haya realizado en sus archivos de configuración no provoquen errores en Nginx.

sudo nginx -t

Si no tiene errores, debería obtener el siguiente resultado:

Ahora reinicie su servicio Nginx para que los cambios surtan efecto:

sudo systemctl restart nginx

Acceso a la interfaz de usuario web de phpMyAdmin

Para acceder a la interfaz web, abra su navegador de Internet preferido y escriba pma .ejemplo.com con (ejemplo) su dominio. Debería llegar a la pantalla de inicio de sesión de phpMyAdmin de la siguiente manera:

Use el PMAUSER superusuario que creó, o si lo omitió, use la cuenta raíz .

Ejemplo (Haga clic en la imagen para ampliar ):

Ingrese sus datos de inicio de sesión, luego avance a su panel de control de phpMyAdmin.

Ejemplo (Haga clic en la imagen para ampliar ):

Y eso es todo, y ha instalado con éxito la última versión de phpMyAdmin usando LEMP. Alternativamente, puede personalizar altamente esta instalación. Por ejemplo, puede obtener la versión beta más reciente o instalar diferentes variaciones de LEMP con versiones más nuevas o más antiguas de Nginx, MariaDB y PHP-FPM.

Algunas otras cosas que vale la pena señalar para los usuarios nuevos en phpMyadmin es la página de estadísticas.

Ejemplo (Haga clic en la imagen para ampliar ):

Ejemplo de Asesor (Haga clic en la imagen para ampliar ):

Tenga en cuenta que el asesor recomienda 24 horas, creo que esto debería ser de 72 horas como mínimo y no tome la página del asesor como palabra, implemente cambios y se vaya, ajustar cualquier archivo de configuración de MySQL o MariaDB lleva tiempo y mucha edición. /testing para obtener la optimización perfecta.

Asegure phpMyAdmin 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

Durante la instalación del certificado, recibirá un aviso para recibir correos electrónicos de EFF (Fundación Frontera Electrónica) . Elija Y o N luego, su certificado TLS se instalará y configurará automáticamente para usted.

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 .

If you use the old HTTP URL , it will automatically redirect to HTTPS .

Optionally, you can set a cron job to renew the certificates automatically. Certbot offers a script that does this automatically, and you can first test to make sure everything is working by performing a dry run.

sudo certbot renew --dry-run

If everything is working, open your crontab window using the following terminal command.

sudo crontab -e

Next, please specify the time when it should auto-renew. This should be checked daily at a minimum, and if the certificate needs to be renewed, the script will not update the certificate. If you need help finding a good time to set, use the crontab.guru free tool.

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

That’s it, and you have installed SSL on your phpMyAdmin area. A great idea will be to test using a free SSL test such as DigiCert or SSL Labs.


Debian
  1. Cómo instalar Ghost en Debian con Nginx

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

  3. Cómo instalar FuelPHP con Nginx en un VPS Debian 8

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

  5. Cómo instalar WonderCMS con Nginx en Debian 11

Cómo instalar phpMyAdmin en Debian 8

Cómo instalar phpMyAdmin en Debian 9

Cómo instalar phpMyAdmin en Debian 11

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}