server

Symfony | Entorno de desarrollo WSL2 en Windows

Texto

Symfony | www.drupaladicto.com - Consultor especializado en Drupal y Symfony
 

   Ahora que ya sabemos Cómo instalar una distribución Linux dentro de Windows 10 usando el WSL, podemos pasar al siguiente nivel y explorar tantas opciones como nos hagan falta, para trabajar con cualquier proyecto, sin tener que cambiarnos de ordenador o trabajar con máquinas virtuales.

     La idea es facilitarnos la vida y que podamos implementar todas las herramientas necesarias sin la necesidad de invertir demasiado tiempo en ello.

     Por esta razón, hoy vamos a explicar cómo podremos configurar un entorno PHP para desarrollar un proyecto utilizando Symfony; uno de los Frameworks más potentes, robustos y seguros  que existen en el mercado.

     Aclaración antes de seguir

     Al momento de crear este artículo, existe un conocido error relacionado con el reloj en tiempo real con Ubuntu 20.04 y WSL2. Para evitar que surja este error, configuramos APT para congelar nuestra versión libc6 instalada a la de la distribución original emitiendo el siguiente comando:

sudo apt-mark hold libc6

     Tan pronto como hayamos ejecutado el anterior comando, podremos actualizar los paquetes de ubuntu ejecutando los siguiente:

sudo apt update
sudo apt upgrade

     Lo próximo que instalemos son las dependencias centrales para ejecutar la plataforma eZ (y muchas otras aplicaciones Symfony):

sudo apt install composer php-xml php-intl php-gd php-curl php-fpm

     En la línea anterior, he omitido el servicio de base de datos para aclarar que la plataforma eZ es compatible con las bases de datos MySQL / MariaDB y PostgreSQL. ASí que podrás elegir lo que mejor se adapte a tus necesidades. En nuestro caso usaremos MariaDB para este tutorial. Instala el servidor MariaDB y la extensión PHP MySQL:

sudo apt install mariadb-server php-mysql

     Ya estamos listos para arrancar la instancia del servidor MariaDB e iniciar sesión como usuario root:

sudo service mysql start
sudo mysql

     Vamos a añadir una base de datos para la plataforma eZ, Por lo que ejecutamos las siguientes declaraciones SQL:

CREATE DATABASE ezp;

GRANT ALL ON ezp.* TO 'ezp'@'localhost' IDENTIFIED BY 'wsl2ezp';

FLUSH PRIVILEGES;

EXIT;

     Y ahora comprobamos que podemos acceder a la base de datos:

mysql -uezp -pwsl2ezp ezp

     Ahora ya tenemos un entorno Linux con PHP, MariaDB y el administrador de paquetes Composer listo para funcionar:

 

comprobacion consola

     Ya que vamos a utilizar Symfony Encore para gestionar los activos de front-end, instalaremos el administrador de paquetes Yarn desde el repositorio del proyecto. De esta forma también instalará Node.js como dependencia:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn

     Instalando el CLI de Symfony

     A estas alturas, puede que hayas notado que falta en el procedimiento de instalación anterior es la A en LAMP y la E en LEMP. En lenguaje sencillo: nuestra pila no tiene un servidor web instalado. Tradicionalmente, una pila PHP ha incluido un servidor web separado. Un servidor HTTP completo sigue siendo para instalaciones de producción, pero como estamos en desarrollo utilizaremos una opción más simple: Symfony Local Web Server

     Symfony CLI es una aplicación de línea de comandos independiente que podremos instalar desde nuestra terminal WSL. Recuerda seguir las instrucciones de Linux, NO las de Windows:

wget https://get.symfony.com/cli/installer -O - | bash

     El código anterior lo instalará en nuestra carpeta de usuario, pero  podremos hacerlo disponible de forma global si ejecutamos el siguiente código, cambiando el NOMBRE DEL USUARIO por el tuyo:

sudo mv /home/nombre_usuario/.symfony/bin/symfony /usr/local/bin/symfony

     Ahora podemos verificar que nuestra pila está funcionando creando una nueva aplicación Symfony hello world y ejecutando el servidor web:

symfony new hola-mundo

cd hola-mundo

symfony serve

     Ha llegado el momento de abrir una ventana del navegador en http: // localhost: 8000 / para ver la aplicación en ejecución. La primera vez que lo ejecutes, es posible que Windows te pregunte si este tráfico está permitido. Ahora debería tener una aplicación Symfony básica ejecutándose en Windows usando WSL2 como se muestra en la captura de pantalla a continuación.

 

symfony funcionando correctamente

     Para obtener más detalles sobre cómo configurar TLS, múltiples versiones de PHP, etc., diríjase a los documentos de Symfony.

     Instalación de la Plataforma eZ y acceso a archivos

     El siguiente paso es instalar y ejecutar una aplicación Symfony completa. Esto funciona como en cualquier entorno Linux (¡porque es uno!). Así que vamos a instalar una copia de la plataforma eZ  y para ello utilizaremos. Éste se encargará de clonar los archivos desde el repositorio, verificará por nosotros las actualizaciones disponibles y a continuación instalar los paquetes necesarios usando:

composer create-project ezsystems/ezplatform ezplatform ^3 cd ezplatform

     Lo siguiente será instalar nuestra base de datos y para ello, necesitamos definir la configuración de la base de datos y ejecutar el instalador:

echo "DATABASE_URL=mysql://ezp:wsl2ezp@127.0.0.1:3306/ezp?serverVersion=10.3" > .env.local composer run-script ezplatform-install

Cuando se haya completado el proceso de instalación,  podremos ingresar al directorio del proyecto e iniciar el servidor web Symfony:

symfony serve

     El resultado mostrará que el servidor web Symfony detecta y usa la copia instalada de PHP-FPM:

     Ahora, si abrimos un navegador (en Windows) y nos dirigimos a http: // localhost: 8000 /, podremos ver la aplicación en ejecución. Para acceder a los archivos desde Windows, puede ejecutar el siguiente comando para abrir una ventana del Explorador de Windows en su directorio de trabajo actual:

explorer.exe .

     Desde aquí, podrás recoger las cosas y usar cualquier IDE en Windows (¡o incluso notepad.exe!) Que necesites usar para tu desarrollo.

Node.js en (WSL2) | Instalación con Windows 11

Video de Youtube
URL de Video remoto
Texto

      Aquí en drupaladicto.com nos gusta facilitar al máximo, todo lo relacionado con el desarrollo web, basándonos en Drupal, pero también en las diferentes herramientas complementarias, para que nuestro desarrollo pueda realizarse de forma optimizada, y adecuada según la necesidad de cada proyecto.

     Una de nuestras opciones preferidas, es el uso del subsistema para Windows, llamado WSL2, ya que nos permite interactuar tanto en Linux como en Windows, sin la necesidad de instalar máquinas virtuales, como por ejemplo VirtualBox, cuya configuración y espacio necesarios para ejecutarse, muchas veces, dificultan nuestras actividades, en lugar de facilitarnos la vida.

     Por esta razón, hoy aprenderemos a instalar y configurar el entorno de ejecución para JavaScript Node.js y los gestores de paquetes NVM ( Node Version Manager) y (NPM) (Node Package Manager), utilizando la distribución de Linux, Ubuntu 20.04 con WSL2 en un entorno Windows 11.

Node JS | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Seguiremos los pasos de instalación publicados en la documentación de la Página Oficial de Microsoft, que nos menciona el siguiente detalle a tomar en cuenta:

     "Además de elegir si se desea realizar la instalación en Windows o WSL, al instalar Node.js es preciso elegir más opciones. Se recomienda usar un administrador de versiones, ya que las versiones cambian con mucha rapidez. Es probable que tenga que cambiar de versión de Node.js en función de las necesidades de los distintos proyectos en los que se trabaje. El administrador de versiones de Node, más comúnmente denominado nvm, es la forma más habitual de instalar varias versiones de Node.js.

     Siempre se recomienda quitar cualquier instalación existente de Node.js o npm del sistema operativo antes de instalar un administrador de versiones, ya que los distintos tipos de instalación pueden provocar conflictos extraños y confusos."

Instalación de nvm, node.js y npm

     Paso 1 : Abrir consola e iniciar sesión con nuestro usuario NO_ROOT, si no sabes, haz clic aquí

     Paso 2 : Instala cURL (una herramienta que se usa para descargar contenido de Internet en la línea de comandos) con: 

sudo apt-get install curl

     Paso 3 : Instala nvm con: 

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

     NOTA : En el momento de redactar este artículo, NVM v0.39.0 es la versión más reciente disponible. Puedes consultar la página del proyecto de GitHub para obtener la última versión de NVM y ajustar el comando anterior para incluir la versión más reciente.

     Paso 4 : Para verificar la instalación, escribe: command -v nvm... esto debería devolver "nvm"; si recibes "No se encuentra el comando" o ninguna respuesta, cierra el terminal actual, vuelve a abrirlo e inténtalo de nuevo. Obtén más información en el repositorio de GitHub de nvm.

     Paso 5 : Enumera qué versiones de Node están instaladas actualmente (en este momento no debe haber ninguna):

nvm ls

     Paso 6 : Instale las versiones de LTS actual y estable de Node.js. En un paso posterior, aprenderá a cambiar entre las versiones activas de Node.js con un comando nvm.

  • Instale la versión LTS estable actual de Node.js (recomendada para aplicaciones de producción):
    nvm install --lts
  • Instale la versión actual de Node.js (para probar las características y mejoras de Node.js más recientes, pero con más probabilidad de presentar problemas):
    nvm install node

     Paso 7 : Enumera qué versiones de Node están instaladas: nvm ls... ahora deberías ver las dos versiones que acabas de instalar.

     Paso 8 : Comprueba que Node.js está instalado y la versión predeterminada actualmente con: node --version. Después, comprueba que también tienes npm, con: 

npm --version

     (También puedes usar which node o which npm para ver la ruta de acceso utilizada para las versiones predeterminadas).

     Paso 9 : Para cambiar la versión de Node.js que deseas usar para un proyecto, crea un directorio de proyecto mkdir NodeTest, escribe el directorio cd NodeTest y, a continuación, escribe nvm use node, para cambiar a la versión actual, o bien nvm use --lts para cambiar a la versión de LTS. También puedes usar el número específico de cualquier versión adicional que hayas instalado, como nvm use v8.2.1. (Para enumerar todas las versiones de Node.js disponibles, usa el comando: nvm ls-remote).

     Si usas NVM para instalar Node.js y NPM, no es necesario usar el comando SUDO para instalar nuevos paquetes.

LAMP Server | Instalación con WSL2 en Windows 10 (2da Parte)

Video de Youtube
URL de Video remoto
Texto

Si no ves el video, puedes refrescar el navegador, presionando (Ctrl+Shift+R | Ctrl+F5 o Shift+F5), o abrirlo directamente desde el Canal de Youtube... HAZ CLIC AQUI

Paso 5 Configuración del Virtual Host y el SSL

          Ahora que ya tenemos todos los requisitos previos a nuestra instalación de Drupal, que aprendimos en el artículo anterior Cómo Instalar LAMP usando WSL2 en Windows 10 (1era Parte), ha llegado el momento de comenzar los preparativos, para que podamos instalar en nuestro servidor local, cualquier tipo de web, en nuestro caso, desarrollada con Drupal 9, funcionando con un certificado SSL.

          Aunque en realidad, nuestro certificado será sólo para uso local, ya que no está autorizado, por ninguna de las entidades reales creadas con este propósito, nos permitirá realizar todo tipo de pruebas relacionadas con la seguridad como requisito, o por ejemplo, para el desarrollo de webs del tipo Progressive Web App (PWA), utilizando el módulo de Drupal, donde el certificado es obligatorio. 

         Existen varias herramientas y métodos con los que podríamos generar certificados SSL, una de las más conocidas es Certbot, que se puede instalar en Linux y que ofrece la posibilidad de generar certificados autofirmados, para utilizar en entornos locales, que es el tipo que vamos a emplear en esta ocasión. Pero en lugar de usarlo, he preferido utlizar Openssl, que ya viene instalado dentro de la distribución de Ubuntu que hemos seleccionado para este artículo, así que empecemos:

Cómo Instalar un Certificado SSL y activar HTTPS en Drupal 9

     1.- Ubicación de los certificados

          Como ya hemos dicho, el programa OpenSSL viene instalado en la distribución de Ubuntu 20.04, que es la que estamos utilizando. Para comprobarlo vamos a colocarnos en la carpeta donde se guardan los certificados de este programa y la utilizaremos como ubicación para los nuestros también. 

          Ejecutaremos los siguientes comandos, para ir hasta la carpeta y luego listar su contenido:

cd /etc/ssl
sudo ls

 

LAMP Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

     2.- Generar los certificados

          Ahora que tenemos decidida la ubicación para nuestro certificado, y que ya hemos decidido el nombre que vamos a registrar, como dominio para nuestra web, lo siguiente que tendremos que hacer es ejecutar el siguiente comando sustituyendo drupal9.localhost, por el nombre o dominio con el que vamos a trabajar.

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/drupal9.localhost.key -out /etc/ssl/drupal9.localhost.crt

         Explicación: 

              Este código nos generará la clave privada drupal9.localhost.key, que se utiliza para generar el certificado drupal9.localhost.crt, con una duración de un año  -days 365, y guarda dichos certificados en este caso en la ubicación que le hemos especificado, o sea dentro de /etc/ssl/.

         Una vez ejecutado el código, se mostrarán en pantalla varias preguntas que tendremos que rellenar e ir haciendo clic en aceptar, por cada respuesta que hayamos introducido:

LAMP Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

     3.- Permisos y descarga de Drupal

          Lo primero que tendremos que hacer en esta ocasión, es crear la carpeta donde se alojará nuestro Drupal 9, que instalaremos usando Composer, y que colocaremos dentro de la carpeta publica html del Apache, para ello ejecutaremos el siguiente comando:

sudo mkdir -p /var/www/html/drupal9.localhost

     A continuación, daremos los permisos necesarios a nuestro usuario de apache para que podamos realizar la instalación sin compliacaiones:

cd /var/www/html/
sudo chown -R www-data:www-data drupal9.localhost/

  Ya podremos empezar la descarga de nuestros archivos de instalación de Drupal 9 con Composer utilizando el siguiente comando y sustituyendo la última parte por el nombre de nuestra carpeta recién creada.

composer create-project drupal/recommended-project drupal9.localhost

     De inmediato debería comenzar la descarga de los archivos de instalación desde el repositorio de Drupal.

     4.- Configuración del Virtual Host

          Una vez terminada la descarga de los archivos de Drupal, tendremos que configurar el acceso para poder comenzar con la instalación usando el navegador, para ello, crearemos el archivo de configuración correspondiente.

sudo nano /etc/apache2/sites-available/drupal9.localhost.conf

     A continuación copiamos dentro el siguiente código:

<VirtualHost *:80>
                ServerName www.drupal9.localhost
                DocumentRoot /var/www/html/drupal9.localhost/web

                # Redirect http to https
                RedirectMatch 301 (.*) https://www.drupal9.localhost$1
        </VirtualHost>

        <VirtualHost _default_:443>

                # Server Info
                ServerName www.drupal9.localhost
                ServerAlias drupal9.localhost
                ServerAdmin admin@drupal9.localhost

                # Web root
                DocumentRoot /var/www/html/drupal9.localhost/web

                # Log configuration
                ErrorLog ${APACHE_LOG_DIR}/drupal9.localhost-error.log
                CustomLog ${APACHE_LOG_DIR}/drupal9.localhost-access.log combined

                #   Enable/Disable SSL for this virtual host.
                SSLEngine on

                # Self signed SSL Certificate file
                SSLCertificateFile      /etc/ssl/drupal9.localhost.crt
                SSLCertificateKeyFile /etc/ssl/drupal9.localhost.key

                <Directory "/var/www/html/drupal9.localhost/web">
                        Options FollowSymLinks
                        AllowOverride All
                        Require all granted
                </Directory>

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>

                BrowserMatch "MSIE [2-6]" \
                                nokeepalive ssl-unclean-shutdown \
                                downgrade-1.0 force-response-1.0
                # MSIE 7 and newer should be able to use keepalive
                BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

        </VirtualHost>

     Reemplace el nombre de dominio www.drupal9.localhost con el nombre de dominio de su sitio web Drupal.

     Guarda el archivo y cierra.

     Ahora comprueba si todo está correcto, ejecutando el siguiente comando:

apachectl configtest

    Si ves el mensaje "Syntax ok", entonces la configuración de Apache es correcta.

    Entonces podremos activar el Host Virtual de Drupal y reiniciar el servidor para que se ejecuten los cambios:

a2ensite drupal9.localhost
sudo service apache2 restart

LAMP Server | Instalación con WSL2 en Windows 10 (1era Parte)

Video de Youtube
URL de Video remoto
Texto

Si no ves el video, puedes refrescar el navegador, presionando (Ctrl+Shift+R | Ctrl+F5 o Shift+F5), o abrirlo directamente desde el Canal de Youtube... HAZ CLIC AQUI

      Antes de trabajar en cualquier proyecto web, deberíamos contar con un entorno completo, que incluya todo lo necesario para que nuestra aplicación funcione correctamente, además de ofrecernos un lugar estable donde podamos realizar todo tipo de pruebas y procedimientos.

     Aunque ya hemos explicado en otro artículo todo lo que necesitas saber sobre Cómo instalar Drupal 9 usando Docker en Windows 10 Home, hoy te voy a contar cómo realizar la instalación completa de un servidor Linux que incluya, además, el Apache, Mysql y PHP, con la respectiva configuración del dominio para que puedas instalar Drupal en tu servidor local.

   Cómo Instalar LAMP usando WSL2 en Windows 10

      Paso 1 Instalación y configuración de WSL2 en Windows

          Para no repetirme, puedes leer todo el proceso de instalación y configuración del WSL2 para Windows 10, en el artículo Cómo instalar Drupal 9 usando Docker en Windows 10 Home (1era Parte), y una vez hayas realizado la instalación podrás continuar con el siguiente paso.

LAMP Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

          Además, antes de continuar, te recomiendo instalar la nueva terminal de Windows 10, para que puedas realizar operaciones simultáneas usando diferentes pestañas, te cuento cómo hacerlo en este artículo Instalación y configuración de Terminal Windows

LAMP Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Ahora, antes de continuar, debe saber que puede omitir casi todos los pasos a continuación y simplemente hacer: sudo apt install lamp-server ^ phpmyadmin. Sin embargo, yo intenté hacerlo de esta forma y me dio varios errores, por lo que, en mi opinión recomiendo la opción "Larga", que además te dará control total sobre tu servidor y servicios instalados. 

      Paso 2 - crear un usuario No Root para la ejecución del código:

          El usuario root es el usuario administrativo en un entorno Linux que tiene privilegios muy amplios. Debido a su inmenso poder, no se recomienda usarlo de forma regular. 

          El siguiente paso es configurar una cuenta de usuario alternativa, con un alcance de influencia reducido para el trabajo diario. Y podremos usar el la opción SUDO, cuando necesitemos permisos especiales sin tener que cambiar de usuario.

          Con el siguiente código, voy a crear un usuario nuevo, que no será root, y que utilizaremos de aquí en adelante para el resto de la configuración.

          Como por defecto en la instalación de ubuntu hemos creado el usuario root, ejecutaremos el siguiente comando con el prefijo sudo, y una vez complementada la información del nuevo usuario, que si no quieres rellenar la info puedes presionar ENTER en cada pregunta, como he hecho para este ejemplo.

          Luego abriremos otra pestaña en la terminal de windows, si no la tienes instalada aprende cómo hacerlo en Instalación y configuración de Terminal Windows,  para no perder, de momento los accesos como root y luego continuaremos con el procedimiento:

adduser noroot_user

 

LAMP Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

          Una vez creado el nuevo usuario, abriremos la nueva pestaña en la terminal y ejecutaremos el siguiente código, que nos permitirá acceder con los datos de nuestro nuevo usuario:

su - noroot_user

 

LAMP Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Paso 3 - Otorgarle privilegios root a nuestro nuevo usuario:     

          Ahora, tenemos una nueva cuenta de usuario con privilegios de cuenta regulares. Sin embargo, es posible que a veces necesitemos realizar tareas administrativas. Para evitar tener que cerrar la sesión de nuestro usuario normal y volver a iniciarla como la cuenta root, podemos configurar lo que se conoce como "superusuario" o privilegios de root para nuestra cuenta normal. Esto permitirá a nuestro usuario normal ejecutar comandos con privilegios administrativos poniendo la palabra sudo antes de cada comando.

          Como todavía tenemos abierta la pestaña de la terminal, donde habíamos iniciado sesión como root, vamos a ejecutar desde allí el siguiente código para otorgar los nuevos privilegios a nuestro usuario noroot_user:

usermod -aG sudo noroot_user

          Una vez otorgados los permisos de root, tendremos que cerrar la otra pestaña, donde está el usuario noroot_user, para poder comenzar a utilizarlos con los permisos recién adquiridos.

LAMP Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Paso 4 - Instalación del Servidor Apache

         Para instalar apache, vamos a necesitar dos comando:

sudo apt install apache2
sudo service apache2 start

     Una vez instalado el servidor Apache, probemos que todo funciona, accediendo en el navegador a la url http://localhost. Deberíamos ver en pantalla la siguiente imagen:

 

LAMP Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Si todo es correcto, entonces podremos continuar y habilitaremos los módulos que vamos a necesitar, como el "Rewirte" o el "SSL"

sudo a2enmod rewrite
sudo a2enmod ssl

     Y a continuación, para que se efectúen los cambios en el servidor, necesitaremos reiniciarlo usando el comando:

sudo service apache2 restart

     Llegado a este punto, te recomendaría ajustar la configuración de Apache para que los permisos coincidan con su nombre de usuario. En otras palabras, cuando hagas una lista de archivos, esta configuración de nombre de usuario que ingrese en Apache será la misma que la del propietario de los archivos en su sistema de archivos Linux. De esa forma, Apache tendrá permisos para modificar los archivos y carpetas de tu sitio. Si no lo haces, es posible que elementos como Grav y WP no funcionen correctamente o no funcionen en absoluto. Así que dirígete a este archivo y haz el siguiente cambio:

sudo nano /etc/apache2/envvars
export APACHE_RUN_USER=your_user
export APACHE_RUN_GROUP=your_user

     Y a continuación, una vez hayas editado el archivo envvars, para que se efectúen los cambios en el servidor, necesitaremos reiniciarlo usando el comando:

sudo service apache2 restart

     Ahora podemos comprobar si ambos módulos han sido activados correctamente, ejecutando el siguiente comando:

apache2ctl -M | egrep 'ssl|rewrite'

     Entonces en nuestra consola, si todo está correcto, deberíamos ver el siguiente mensaje:

#Enabled
 rewrite_module (shared)
 ssl_module (shared

     Paso 5 - Instalación y configuración del Servidor de Base de datos MariaDB

          Lo primero que necesitaremos es instalar el servidor, ejecutando el siguiente comando:

sudo apt install mariadb-server mariadb-client

     Importante: No se le pedirá que cree una contraseña, pero en una instalación local está bien. Y técnicamente no es inseguro de todos modos, ya que significa que solo aquellos con privilegios de sudo pueden acceder al servidor MySQL.

     Ahora necesitamos iniciar el servidor MySQL ejecutando el siguiente comando:

sudo service mysql start

     Paso 6 - Instalación y configuración PHP

          En el caso de PHP, además de instalar la versión que vamos a utilizar, tendremos que realizar algunas modificaciones, como la activación de varias librerías, y otras modificaciones recomendadas para trabajar con Drupal, como el tiempo de ejecución o el máximo de tamaño de subida de archivos, pero vamos por partes, primero instalaremos php y activaremos algunas librerías necesarias:

sudo apt install php7.4-common php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-curl php7.4-gd php7.4-imagick php7.4-cli php7.4-dev php7.4-imap php7.4-mbstring php7.4-opcache php7.4-soap php7.4-zip php7.4-intl -y

          Es posible que también deba instalar módulos según los requisitos de su aplicación. Utilice el siguiente comando para buscar módulos PHP 7 disponibles en el repositorio de paquetes.

sudo apt-cache search php7*

          En nuestro caso, vamos a instalar los siguientes "módulos" de php:

sudo apt install php php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd  php-mbstring php-curl php-xml php-pear php-bcmath

     Por últimos, vamos a realizar algunos de los cambios de configuración del PHP.ini que nos ayudarán y evitarán posibles errores una vez instalemos nuestro Drupal. Para ello, abriremos el archivo de configuración de php "php.ini" y realizaremos las modificaciones correspondientes:

sudo nano /etc/php/7.4/apache2/php.ini
  • max_execution_time = 600
  • post_max_size = 64M
  • short_open_tag
       Default Value: On
  • memory_limit = -1
  • upload_max_filesize = 100M

     Una vez actualizados los cambios en el archivo de configuración de apache, volveremos a reiniciar nuestro servidor para que se guarden dichos cambios, para ello ejecutaremos el comando:

sudo service apache2 restart

     Ahora que PHP está instalado, para probar si está funcionando, cree un archivo de prueba llamado phpinfo.php en el directorio raíz predeterminado de Apache2…. (/ var / www / html /)

sudo nano /var/www/html/phpinfo.php

     Luego, escriba el contenido a continuación y guarde el archivo.

<?php phpinfo( ); ?>

     A continuación, abra su navegador y busque el nombre de host o la dirección IP del servidor seguido de phpinfo.php

http://localhost/phpinfo.php

Debería ver la página de prueba predeterminada de PHP, como esta:

LAMP Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Una vez comprobado que todo está correcto, tendremos que borrar este archivo ya que es información que implica riesgos de seguridad, para ello ejecutaremos el siguiente comando:

rm -f /var/www/html/info.php

      Paso 7 - Instalación Interfaz Usuario para administrar MySql

          Aunque según los requerimientos de tu aplicación, puede que no te haga falta un entorno gráfico, para la administración de tus bases de datos y tablas, porque lo realizarás usando comandos de tu consola, te recomiendo instalar esta pequeña aplicación que te servirá de ayuda:

sudo apt install adminer

     Casi hemos terminado. Hay un problema para todos aquellos que cambiaron la configuración de usuario / grupo de Apache anterior. El administrador accede y escribe en su carpeta de sesiones de PHP, por lo que debe otorgarle a su usuario (el usuario que configuró en Apache) los permisos de la carpeta correspondiente a esa carpeta. Puedes realizar el cambio ejecutando el siguiente comando:

cd /var/lib/php
sudo chown -R your_user:your_user sessions

     Ahora sí, lo último que nos faltará es activar Adminer, reiniciar Apache nuevamente, por supuesto, y luego verlo. Comience con estos dos comandos:

sudo a2enconf adminer.conf
sudo service apache2 restart

     Para comprobar el Adminer funciona correctamente escribe en el navegador la url http://localhost/adminer/

     ¡Pero necesitamos un nombre de usuario para iniciar sesión ahora! Así que sigamos adelante y hagamos eso. Recuerde que todo esto es solo para desarrolladores locales, por lo que las preocupaciones de seguridad habituales relacionadas con la creación de un superusuario no se aplican realmente. Nunca hagas esto en un sitio en vivo. Siempre.

     Así que inicie MySQL así:

sudo mysql

    Luego ingrese los siguientes comandos, Primero creamos el usuario que funcionará como root, luego le daremos los permisos para que pueda hacer cualquier tarea con las bases de datos, a continuación reseteamos la tabla de permisos y por último, saldremos de servidor de base de datos:

CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON * . * TO 'user_name'@'localhost';
flush privileges;
exit

     Ahora que haz creado un superusuario, ya podrás iniciar sesión en Adminer y comenzar a trabajar con tus bases de datos y tablas.

* Usuario con permisos específicos

     Aunque tenemos un Super usuario con el cuál podremos realizar, todas las operaciones en nuestro servidor de base de datos, es muy recomendable limitar los accesos a la base de datos específica en cada proyecto. Por esta razón, a continuación vamos a crear un usuario y una base de datos específica para nuestro proyecto.

     Primero nos vamos a loguear como Super usuario y una vez dentro, ejecutaremos cada una de las líneas siguientes, en las que primero crearemos la base de datos, luego el usuario con sus datos de acceso, a continuación le daremos todos los permisos, específicos para la tabla en concreto y por último el reseteo de la tabla de permisos:

sudo mysql;
CREATE DATABASE drupaldb;
CREATE USER drupaluser@localhost IDENTIFIED BY 'drupaluser@';
GRANT ALL PRIVILEGES ON drupaldb.* to drupaluser@localhost identified by 'drupaluser@';
FLUSH PRIVILEGES;
EXIT

     Si queremos ver el listado de las bases de datos que tenemos creadas al momento, entraremos a MySql y luego ejecutamos el siguiente comando:

SHOW DATABASES;

     Para borrar una base de datos (Cuidado porque se perderá toda la información), ejecutaremos:

DROP DATABASE mi_bd_para_borrar;

     Para ver el listado de usuarios creados, ejecutaremos el siguiente comando:

SELECT User FROM mysql.user;

     Para borrar un usuario específico:

DROP USER 'usuario'@'localhost';

     Paso 8 - Configuración del Virtual Host y el SSL

          Para poder trabajar con certificados SSL, es necesario prestar atención en varios detalles previos, por eso, he preferido hacerlo en otro artículo con su video propio, que podrás leer y ver haciendo clic aqui  Ver siguiente artículo

Apache Solr 8.9 en Ubuntu 20.04

Video de Youtube
URL de Video remoto
Texto

Si no ves el video, puedes refrescar el navegador, presionando (Ctrl+Shift+R | Ctrl+F5 o Shift+F5), o abrirlo directamente desde el Canal de Youtube... HAZ CLIC AQUI

     Qué es Solr y para que nos servirá?

         Apache Solr es una plataforma de búsqueda de código abierto escrita en Java. Solr proporciona búsqueda de texto completo, sugerencias de ortografía, ordenación y clasificación de documentos personalizados, generación de fragmentos y resaltado. Apache Solr se ejecuta como un servidor de búsqueda de texto completo independiente. Sus API de HTTP / XML y JSON similares a REST lo hacen utilizable desde la mayoría de los otros lenguajes de programación populares.

          Este tutorial le ayudará a instalar Apache Solr 8.9.0 en sistemas Ubuntu 20.04 LTS.

     Instalación de Apache Solr en Ubuntu 20.04 con WSL2 en Windows 11

        En nuestro caso, realizaremos la instalación dentro de un servidor Linux, con Ubuntu 20.04 instalado en Windows 10, a través del WSL2, que ya hemos explicado en anteriores videos, si quieres saber cómo Haz clic en este enlace, además para la instalación utilizaremos nuestro usuario con noroot_drupaladicto, que tiene permisos para ejecutar comando de Root, sin riesgos de cargarnos nada por accidente. Eso también está explicado en el anterior enlace.

     Prerrequisito - Asegurarnos de que tenemos los paquetes de Ubuntu actualizados

          Es muy importante, que antes de realizar cualquier nueva instalación, nos aseguremos de que todos los paquetes de nuestro Linux estén actualizados, para disponer de las correcciones más actuales sobre seguridad, compatibilidades, etc.

          Para ello abriremos nuestra consola, y una vez iniciemos sesión con nuestro usuario NOROOT, ejecutaremos el siguiente código:

sudo apt update && sudo apt upgrade

 

 

     Paso 1 - Instalar Java

           Apache Solr 8 requería de Java 8 o superior para ejecutarse. Así que tendremos que asegurarnos de que nuestro sistema cumpla con los requisitos de Java de Apache Solr. Si no tenemos Java instalado, ejecutaremos el siguiente comando:

sudo apt install openjdk-11-jre-headless 

           Para confirmar la versión de Java que tenemos instalada, ejecutaremos el siguiente comando:

java -version 

     Paso 2 - Instalar Solr en Ubuntu

          Ahora descargaremos la versión requerida de Solr de su sitio oficial o espejos. O podremos usar el siguiente comando para descargar Apache Solr 8.9.0 en nuestro sistema.

cd /opt 
sudo wget https://archive.apache.org/dist/lucene/solr/8.9.0/solr-8.9.0.tgz

        A continuación, extraeremos la secuencia de comandos del instalador del servicio Apache Solr, del archivo de almacenamiento de Solr descargado. Ejecutando el instalador, seguido del archivo de almacenamiento, como se muestra a continuación:

sudo tar xzf solr-8.9.0.tgz solr-8.9.0/bin/install_solr_service.sh --strip-components=2
sudo bash ./install_solr_service.sh solr-8.9.0.tgz

     Paso 3 - administrar el servicio Solr

          Solr está configurado como un servicio en nuestro sistema. Podremos usar los siguientes comandos para Detener e iniciar el servicio Solr.

          Podremos utilizar los siguientes comandos para detener e iniciar el servicio de solr de Apache:

sudo service stop solr
sudo service start solr

        También podremos confirar su estatus 

sudo service solr status

     Paso 4 - crear una colección en Solr

          Después de la instalación exitosa de Solr en su sistema. Crearemos la primera colección en Apache Solr usando el siguiente comando:

sudo su - solr -c "/opt/solr/bin/solr create -c micoleccion -n data_driven_schema_configs" 

        El código anterior nos imprimirá en pantalla el siguiente mensaje, confirmando la creación de micoleccion:

Created new core 'mycollection'

     Paso 5 - acceder al panel de administración de Solr

        El Apache Solr predeterminado se ejecuta en el puerto 8983. Por lo tanto, podremos acceder a nuestro servicio Solr, usando este puerto en nuestro navegador web utilizando la IP del servidor o el nombre de dominio.

http://localhost:8983/

        Ahora, seleccionaremos "micoleccion" en el menú desplegable, Core Selector, en la barra lateral izquierda. Esto nos mostrará las estadísticas de la colección seleccionada.

Postfix SMTP Server | Envío local de correos

Video de Youtube
URL de Video remoto
Texto

Postfix Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

Si no ves el video, puedes refrescar el navegador, presionando (Ctrl+Shift+R | Ctrl+F5 o Shift+F5), o abrirlo directamente desde el Canal de Youtube... HAZ CLIC AQUI

      Cuando estamos desarrollando páginas web, una de las funcionalidades más interesantes que deberíamos tener en cuenta, es la de ofrecer la posibilidad, a los usuarios o clientes, de comunicarse con nuestra aplicación, potenciando la interacción e intercambio de información en ambas direcciones.

     Hoy en día contamos con varias opciones, como contratar o integrar servicios desarrollados por terceros, que ofrecen novedosas alternativas de comunicación, como chats, Watssap, Telegram, las redes sociales, etc. o de la manera tradicional, mediante el uso del correo electrónico, que al igual que la mayoría de las anteriores, tambén permite envío de documentos adjuntos, solicitudes de pedidos o facturas.

     El problema con el que nos encontramos a menudo, es que al configurar nuestro entorno de desarrollo local, no solemos aprovechar para instalar correctamente un servidor de correos que nos permita realizar pruebas de envío y, generalmente optamos por dejar esta comprobación para cuando el proyecto está a punto de terminarse o incluso cuando ya está en el servidor de producción.

     Qué es Postfix y para qué sirve

          Postfix es un agente de transporte de mensajes (MTA) de última generación, también conocido como servidor SMTP, que tiene dos propósitos:

  • Es responsable de transportar mensajes de correo electrónico desde un cliente de correo / agente de usuario de correo (MUA) a un servidor SMTP remoto.
     
  • También se utiliza para aceptar correos electrónicos de otros servidores SMTP.

     Postfix fue diseñado originalmente como un reemplazo de Sendmail, el servidor SMTP tradicional en Unix. En comparación, Postfix es más seguro y más fácil de configurar. Es compatible con Sendmail, por lo que si desinstala Sendmail y lo reemplaza con Postfix, sus scripts y programas existentes seguirán funcionando sin problemas.

     Cómo instalar y configurar Postfix como servidor SMTP solo de envío en Ubuntu 20.04

          Aunque suelo enfocarme en las configuraciones específicas para trabajar con Drupal, en este artículo voy a enseñarte todos los pasos que deberías saber, para configurar un entorno local de Linux, en el que puedas enviar correos electrónicos desde tus aplicaciones, sin importar la plataforma o lenguaje con el que esté desarrollada. Para ello voy a utilizar WSL2 en Windows 10.

       Paso 1 - Configurar el entorno de desarrollo con Linux 

          Para este ejercicio vamos a utilizar el WSL 2 en Windows 10, que nos permitirá desarrollar en un entorno de Linux, dentro de nuestro ordenador con Windows 10 Home, sin la necesidad de utilizar máquinas virtuales. Antes de pasar al siguiente paso, deberías configurar tu entorno WSL2, puedes ver cómo hacerlo en el artículo llamado Cómo instalar Drupal 9 usando Docker en Windows 10 Home    

       Paso 2 - Configuración del usuario No Root con permisos

          Siempre que realicemos una instalación de Linux, el primer paso es configurar los datos para nuestro usuario ROOT, éste tiene acceso y permisos para construir y destruir cualquier archivo dentro de nuestro entorno, lo cual podría suponer un alto riesgo, especialmente si estamos comenzando a trabajar con Linux. Por eso, si todavía no haz configurado el usuario No Root, es el momento de hacerlo, para poder ejecutar el resto del la instalación sin sustos:

          Primero creremos el usuario, y a continuación le incluiremos en el grupo sudo, para que pueda ejecutar comando con permisos de root, sin que tengamos que cerrar sesión o abrir otras pestañas para ejecutar el código. Puedes ver una explicación más amplia de Cómo crear y configurar el usuario No Root aquí

adduser noroot_user
usermod -aG sudo noroot_user

          Ahora que ya hemos creado nuestro usuario No Root, podremos iniciar sesión, en la misma ventana, o en una nueva pestaña si está utilizando la terminal mejorada en windows, para continuar con el resto de la instalación, para ello ejecutaremos el comando:

su - noroot_user

Postfix Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

        Paso 3 - Instalación de Apache y configuración del dominio para nuestra web

          Lo siguiente que vamos a necesitar es el servidor donde vamos a alojar nuestra web, y el dominio que utilizaremos para el envío de nuestros correos electrónicos. En ese caso, utilizaremos Apache, por considerarlo el más conocido por todos los usuarios.

         Primero actualizaremos los listado de paquetes en Linux

sudo apt update
sudo apt upgrade

         Y una vez actualizado, podremos ejecutar el código de instalación de Apache:

sudo apt install apache2

         Cuando haya terminado la instalación podremos arrancar el servidor, con el siguiente comando:

sudo service apache2 start

         Una vez instalado el servidor Apache, probemos que todo funciona, accediendo en el navegador a la url http://localhost. Deberíamos ver en pantalla la siguiente imagen:

Postfix Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Paso 4 - Configuración del dominio con Virtual Host

          Para nuestro ejemplo, necesitaremos un dominio, FQDN (Fully Qualified Domain Name), se usa comúnmente en servidores conectados a Internet y deberíamos usar FQDN en nuestros servidores de correo. Consta de dos partes: un nombre de nodo y un nombre de dominio. Por ejemplo:

mail.midomino.com

     El dominio del ejemplo anterior, sería un FQDN. mail es el nombre de nodo, midomino.com es el nombre de dominio. 

         Como en nuestro ejemplo nuestra web no estará conectada a internet, ya que la alojaremos en un entorno local, lo que haremos es "simular" un dominio, que apunte a nuestra ip, para ello, abriremos el archivo donde están alojados los dominios de Ubuntu, escribiendo en la consola el siguiente comando:

sudo nano /etc/hosts

 

Postfix Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Una vez abierto el editor de texto NANO, que viene con la instalación por defecto de Ubuntu 20.04, añadiremos la misma ip y nuestro dominio, algo parecido a lo siguiente, respetando la misma estructura del modelo que se nos presente en el archivo hosts:

127.0.0.1       mail.drupaladicto.localhost 

     Al terminar de añadir el dominio en el archivo hosts, haremos clic en Ctrl + X para cerrar y confirmaremos que queremos conservar los cambios haciendo clic en Y.

     Paso 5 - Instalación de Postfix

          Como siempre, antes de realizar cualquier instalación en Linux, primero actualizaremos el listado de paquetes disponibles en nuestra distribución y a continuación ejecutaremos el comando de instalación de Postfix y el (-y), para que se instalen todas las dependencias:

sudo apt update
sudo apt install mailutils

          Inmediatamente, veremos en pantalla el inicio del instalador, donde seleccionaremos la opción Internet Site, si no se habre con esta opción seleccionada por defecto, presionaremos la tecla TAB hasta seleccionarla y luego presionaremos la tecla ENTER, para pasar a la siguiente pantalla.

Postfix Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

          En la siguiente pantalla, escribiremos el nombre de nuestro dominio, como mencionamos anteriormente, si nuestro objetivo es mail.midominio.localhost, sólo escribiremos la segunda parte, tal y como se muestra en la imagen:

Postfix Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

     La opción predeterminada es Internet Site. Es la opción recomendada para su caso de uso, por lo tanto, presione TAB y, luego, ENTER. Si solo ve el texto de la descripción, presione TAB para seleccionar OK y, luego, ENTER.

     Si no se muestra automáticamente, ejecute el siguiente comando para iniciarlo:

sudo dpkg-reconfigure postfix

     Una vez instalado, Postfix se iniciará automáticamente y se generará un archivo /etc/postfix/main.cf. Ahora podemos verificar la versión de Postfix con este comando:

postconf mail_version

     En Ubuntu 18.04, la versión de Postfix es 3.3.0 y Ubuntu 20.04 se envía con la versión 3.4.13.

Postfix Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

    Paso 6 - Configuración de Postfix

          En este paso, configuraremos Postfix para enviar y recibir correos electrónicos únicamente del servidor en el que se está ejecutando; es decir, desde localhost.

          Para lograrlo, configuraremos Postfix para que escuche únicamente en la interfaz de loopback, que es la interfaz de red virtual que utiliza el servidor para comunicarse internamente. Para ejecutar estos cambios, editaremos el archivo de configuración principal de Postfix, denominado main.cf, que se encuentra en etc/postfix.

          Abriremos el archivo con nuestro editor NANO escribiendo en pantalla el siguiente comando:

sudo nano /etc/postfix/main.cf

          Una vez abierto, buscaremos la siguientes líneas y realizaremos las modificaciones:

. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
. . .

         Canbiaremos  el valor de inet_interfaces para que sea igual a loopback-only:

. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
. . .

    Sin cerrar el archivo, buscaremos otra directiva que tendremos que modificar, es mydestination, que especifica la lista de dominios que se entregan a través del transporte de entrega de correo local_transport. Por defecto, los valores son similares a los siguientes:

. . .
mydestination = $myhostname, your_domain, localhost.com, , localhost
. . .

     Modificaremos esta línea para que tenga el siguiente aspecto:

. . .
mydestination = localhost.$mydomain, localhost, $myhostname
. . .

     Cuando hayamos terminado con los cambios, cerraremos el archivo y entonces podremos restaurar el servicio usando el siguiente comando:

sudo service postfix restart

     Nuestro servidor ya está configurado para enviar correos electrónicos, ahora podremos realizar las pruebas de envío.

     Paso 7 - Comprobación de los envíos desde el servidor SMTP

          En este paso, probaremos si Postfix puede enviar correos electrónicos a una cuenta de correo electrónico externa usando el comando mail, que es parte del paquete mailutils que instaló en el primer paso.

         Para enviar un correo electrónico de prueba, ejecutaremos el siguiente comando, cambiando la última parte por la dirección de correo con la que quieras probarlo:

echo "Este es el cuerpo del correo de pruebas" | mail -s "Este es el asunto del correo" tu_direccion_de_correo

         Una vez ejecutado el código, podrás abrir la bandeja de entrada o la de no deseados (Span) de tu cuenta de correo y deberías tener el contenido de este correo casi de inmediato.

Postfix Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

         Si recibiéramos un error del comando mail, o si no recibiéramos un mensaje después de un período prolongado, tendremos que comprobar que la configuración de Postfix que modificamos sea válida y que el nombre de su servidor y el nombre de host estén establecidos con el nombre de su dominio.

         Debemos tomar en cuenta, que los correos todavía no están cifrados, por lo que los servidores de correo, podrían identificarlos como No deseados (Span)

     Paso 8 - Reenviar correos del sistema

          En este paso, configuraremos el reenvío de correos electrónicos para el usuario root, con el propósito de que los mensajes generados por el sistema que se nos envíen en nuestro servidor local, se reenvíen a una dirección de correo electrónico externa.

          El archivo /etc/aliases contiene una lista de nombres alternativos de destinatarios de correo electrónico. Lo abriremos​​​ para editarlo:

 sudo nano /etc/aliases

          Una vez abierto, tendrá un aspecto parecido al siguiente:

# See man 5 aliases for format
postmaster:    root

          La única directiva presente especifica que los correos electrónicos generados por el sistema se envíen a root.

          Así que añadiremos la siguiente línea al final del archivo:

...
root:          tu_direccion_de_correo

         Con esta línea, estamos especificando que los correos electrónicos enviados al usuario root se reenvíen a una dirección de correo electrónico específica.  Sustituiremos tu_direccion_de_correo por tu dirección de correo electrónico personal. Y cuando hayamos terminado, guardaremos los cambios y cerraremos el archivo.

         Para que el cambio se realice, ejecutaremos el siguiente comando:

sudo newaliases

         Al ejecutar newaliases, se creará una base de datos de alias que utiliza el comando mail, que se toman del archivo de configuración que acaba de editar.

        Podremos comprobar que se envían correos electrónicos al usuario root al ejecutar lo siguiente:

echo "Este es el cuerpo del mensaje, enviado a ROOT" | mail -s "Esta es la línea del asunto" root

        Si abrimos nuestra cuenta de correo, podremos ver un nuevo mensaje.

Postfix Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

        Ahora, habilitará el cifrado de mensajes para que todos los correos electrónicos que envíe su servidor estén protegidos contra alteraciones en tránsito y se consideren más legítimos.

       Paso 9 - Habilitar el cifrado SMTP

         Para nuestro ejemplo, vamos a utilizar un certificado auto-firmado, con el programa OpenSSL, que viene instalado en Ubuntu 20.04. Ejecutaremos el siguiente comando, modificando el nombre del dominio, por el que configuramos al principio de este artículo, y esto nos generará el certificado y la clave primaria, dentro del la ubicación /etc/ssl:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/midominio.localhost.key -out /etc/ssl/midominio.localhost.crt

       Esto nos abrirá la pantalla, que nos perdirá los datos del registro del certificado, rellenaremos cada línea, haciendo clic en la tecla ENTER, para pasar a la siguiente; teniendo especial cuidado en las dos últimas, donde tendremos que especificar el nombre de nuestro dominio, tal y como lo hemos definido y una dirección de correo real, para que no nos genere ningún error.

Postfix Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony

       Cuando hayamos terminado con la creación del certificado, veremos el mensaje de confirmación de que se generado correctamente y entonces, podremos realizar los cambios en el archivo de configuración, para actualizar la ubicación por la de nuestro certificado, para ello ejecutaremos la siguiente línea:

sudo nano /etc/postfix/main.cf

       Una vez abierto, buscaremos las siguientes líneas y las actualizaremos por la información correspondiente:

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level=may

smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

      Al terminar, cerraremos el archivo y guardaremos lo cambios. A continuación reiniciaremos el servicio de Postfix para que queden registrados, con el siguiente comando:

sudo service postfix restart

     Entonces, podremos volver a probar el envío de un correo electrónico, con el siguiente código, modificando tu cuenta de correo:

echo "Este es el cuerpo del mensaje CERTIFICADO " | mail -s "Este es el asunto del Correo Certificado" tu_direccion_de_correo

     Si volvemos a ver nuestra bandeja de entrada, deberíamos encontrar un nuevo correo en el buzón.

Postfix Drupal | www.drupaladicto.com - Consultor especializado en drupal y symfony