Configurar un servidor SMTP de correo saliente con Postfix

Postfix es lo que se denomina un MTA (Mail Transfer Agent), una aplicación usada para enviar y recibir emails. En este tutorial, instalaremos y configuraremos Postfix de modo que permita enviar emails a las aplicaciones que tengamos instaladas nuestro servidor.

¿Para qué nos sirve un servidor SMTP de envío?

Si ya usas un servicio de email de terceros para enviar y recibir correos, está claro que no necesitas un servidor de email propio. Sin embargo, si tienes un servidor en el que instalas aplicaciones que necesitan enviar notificaciones de correo, como por ejemplo, una instalación de wordpress con un formulario de contacto. Tener tu propio servidor de envío es una buena alternativa a utilizar servidores de terceros, los cuales pueden cambiar las condiciones de uso en cualquier momento.

Requisitos

Los requisitos necesarios para poder completar el tutorial son los siguientes:

  • Servidor con Ubuntu (En mi caso un droplet de digital ocean con Ubuntu 15.04.
  • Tener acceso root al servidor.
  • Un dominio válido apuntando a tu servidor, en mi caso appdev.es

Paso 1 – Instalar Postfix

En este paso aprenderás como instalar Postfix. La forma más eficiente de instalar Postfix y otros programas necesarios para testar el servidor de correo es instalando el paquete mailsutils, para ello tan sólo debemos escribir el siguiente comando:

Tras ejecutar el comando, nos aparece el siguiente mensaje:

Indicamos que queremos continuar y se instalarán los nuevos paquetes. Antes de terminarse la instalación de dependencias, nos aparecerá la ventana de configuración inicial de Postfix, tal como se muestra en la siguiente imagen. La opción por defecto es Internet Site, la misma se recomienda en este tutorial, la seleccionamos.

Postfix configuración

Tras seleccionar la configuración por defecto, nos aparece una ventana en la que debemos introducir el nombre de nuestro servidor de SMTP saliente, le podemos nombrar como nos apetezca. Por convención sería smtp.midominio.com, pero como digo es opcional.

Postfix configuración 2

Una vez completada la instalación podemos proceder al paso 2.

Paso 2 – Configurar Postfix

En este paso configuraremos Postfix para que permita procesar el envío de  emails desde el servidor en el que está ejecutándose, es decir, desde localhost. Para que esto sea posible, es necesario configurar Postfix para que sólo escuche la interfaz “lookback”, una interfaz de red virtual que se usa para comunicarse internamente. Para ello editamos el fichero de configuración con nano.

Con el fichero listo para editar, nos vamos hasta las lineas dónde se encuentra el siguiente bloque de código:

Cambiamos la línea inet_interfaces = all por inet_interfaces = loopback-only, quedando el fichero tal que así:

En caso de querer usar en lugar de loopback-only, localhost, sería de la siguiente manera:

Una vez guardada la configuración, sólo nos queda reiniciar el servicio Postfix.

Paso 3 – Probar nuestro servidor  SMTP de envío

Para probar que hemos instalado y configurado Postfix de forma correcta, enviaremos un correo desde la terminal utilizando el comando mail, el cual forma parte del paquete mailtuils instalado en el paso 1.

Para enviar el mensaje escribiremos los siguiente:

Si todo ha salido deberías haber recibido el correo enviado, en caso de que no lo tengas en tu bandeja de entrada comprueba tu carpeta de spam ;).

Referencias

http://www.postfix.org/documentation.html

Varios sitios WordPress en Ubuntu.

En este artículo vamos a configurar dos instancias de WordPress en un sólo VPS con Ubuntu, cada una de estas instancias tendrá su propio nombre de dominio. Hay que tener en cuenta, que no vamos a utilizar la configuración multisite que propone WordPress.

Requisitos

  • Servidor VPS con Ubuntu 15.04 (o cualquier otra versión), en mi caso usaré un droplet de digitalocean.
  • Disponer de dos dominios apuntando al servidor.
  • Instalar el stack LAMP en Ubuntu (Digital Ocean nos ofrece imágenes de droplets con el stack listo).

Descargar WordPress

Una vez tengas los requisitos, logueate en tu servidor, sitúate en tu directorio home y descarga wordpress:

Descomprime el fichero utilizando mediante el siguiente comando:

Crear las bases de datos y los usuarios

Antes de continuar necesitamos configurar una base de datos MySQL para cada uno de los sitios.

Para configurar la base de datos usaremos la información mostrada en la siguiente tabla:

Nombre del sitiofirstsite.comsecondsite.com
Nombre BDFirstDatabaseSecondDatabase
Usuario BDFirstUserSecondUser
Contraseña BDFirstPasswordSecondPassword

Accede a MySQL como root:

Crea dos bases de datos:

Crea un usuario asociado a cada base de datos:

Establece la contraseña de acceso para cada cuenta:

Finalmente, concede los permisos adecuados a cada uno de los usuarios:

Refresca la información de los privilegios de MySQL.

FLUSH PRIVILEGES;

Salimos de MySQL y volvemos a la consola:

Configurar el directorio raiz de Apache

Instalaremos ambos sitios en directorios individuales dentro del directorio raíz de apache.

Nos movemos hacia “/var/www/”:

Creamos dos directorios, uno para cada sitio.

Realizamos una copia del fichero de configuración de prueba de wordpress:

Copiamos los ficheros de wordpress a cada uno de los directorios raíz de nuestros sitios:

Finalmente asignamos los permisos necesarios a todo el contenido del directorio raíz de Apache:

Configurar wordpress

Configuraremos la información de cada uno de nuestros sitios WordPress.

Primer sitio

Vamos al directorio raiz del primer sitio:

Abrimos el wp-config:

Editamos la sección que contiene la información referente a la base de datos (nombre, usuario y password):

Guardamos y salimos.

Segundo sitio

Nos vamos al directorio raíz del segundo sitio:

Abrimos el fichero de configuración de WordPress:

Tal como hicimos con el sitio anterior, editamos la información referente a la base de datos, quedando en este caso tal que así:

Configurando Apache

Necesitamos configurar Apache para que redireccione el tráfico de cada dominio a su respectivo directorio. Para ello debemos crear un fichero  con la configuración de cada host virtual.

Nos situamos en el directorio de sitios disponibles de Apache

Creamos un nuevo fichero de virtual host para cada uno de los sitios, para ello copiamos el fichero default:

Virtual host del primer sitio

Editamos el fichero de virtual host del primer sitio:

Debe quedar tal que así:

Si quieres tener la opción de poder habilitar los “permalinks” de wordpress, necesitas cambiar  dentro de “<Directory /var/www/FirstSite>” “AllowOverride None” por “AllowOverride All”.

Virtual host del segundo sitio

Abrimos el fichero de virtual host del segundo sitio:

La configuración del virtual host de nuestro segundo sitio debe quedar de la siguiente manera:

Guardamos y cerramos el fichero.

Configuración final

Los siguientes pasos son necesarios para que nuestro sitio funciones correctamente.

Primero debemos instalar un modulo de PHP que necesita wordpress para funcionar correctamente:

A continuación habilitamos los host virtuales que hemos creado:

Finalmente, reiniciamos el servicio de Apache.

Resultado

Vamos a ver como han quedado nuestros nuevos sitios WordPress, para ello navega a cada uno de tus dominios, y, si has seguido los pasos correctamente, debería aparecer en cada uno de ellos el la famosa “instalación de 5 minutos”.

wordpress

Para finalizar la instalación tan solo debes introducir los campos requeridos para cada sitio.