# Examen de Servicios
# Configuración Básica
**Configuración de red en VirtualBox**
Conectado a: Adaptador puente
**Actualizar la lista de repositorios**
```apt update -y```
**Cambiar contraseñas de los usuarios del sistema**
```
passwd
<contraseña>
passwd usuario
<contraseña>
```
**Asignar dirección IP estática**
```nano /etc/network/interfaces```
Comentar última línea y añadir al final:
```
auto lo
iface lo inet loopback
auto enp0s3
iface enp0s3 inet static
address 192.168.1.x
netmask 255.255.255.0
gateway 192.168.1.1
```
Reiniciar la interfaz de red:
```systemctl restart networking```
# Servidor OpenSSH
**Instalación de Servidor OpenSSH**
```apt-install openssh-server```
**Conectarse a través de SSH**
```
ssh root@192.168.1.x
<contraseña>
```
**Directivas del fichero /etc/ssh/sshd_config**
Editar el archivo:
```nano /etc/sshd_config```
Habilitar conexión SSH con el usuario root:
```PermitRootLogin yes```
Cambiar puerto TCP de SSH a 2234:
```Port 2234```
**Reiniciar Servidor OpenSSH**
```systemctl restart ssh```
# Instalación/Configuración tradicional de Postfix y Dovecot
Instalar bind9
`apt install bind9 -y`
Editar forwarders y desactivar opciones innecesarias
`nano /etc/bind/named.conf.options`
```
forwarders {
1.1.1.1;
};
dnssec-validation no;
listen-on-v6 { no; };
```
Agregar nueva zona al final del fichero
`nano /etc/bind/named.conf.default-zones`
```
zone "asirserver.com" {
type master;
file "/etc/bind/db.asirserver.com";
};
```
Agregar a /etc/hosts la siguiente línea para que la IP del servidor apunte a nuestro dominio asirserver.com
`nano /etc/hosts`
```
192.168.1.136 asirserver.com
```
Copiar plantilla de zona para crear la nuestra propia
`cp /etc/bind/db.empty /etc/bind/db.asirserver.com`
`nano /etc/bind/db.asirserver.com`
```
; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL 86400
@ IN SOA localhost. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS localhost.
ns1 IN A 192.168.1.136
mail IN A 192.168.1.136
server IN A 192.168.1.136
www IN A 192.168.1.136
webmail IN A 192.168.1.136
IN MX 10 mail.asirserver.com
```
Reiniciamos los servicios
```
systemctl restart bind9
systemctl status bind9
```
Añadimos la configuración de resolución de nombre de dominio.
`/etc/resolv.conf`
```
nameserver 192.168.1.136
```
Instalamos postfix y sasl2-bin, que contiene los programas de administración de la base de datos de usuarios de SASL y archivos binarios comunes para módulos.
`apt install postfix sasl2-bin -y`
Nos pedirá el Tipo genérico de configuración de correo, seleccionaremos **Sin configuración**
`cp /etc/postfix/main.cf.proto /etc/postfix/main.cf`
`nano /etc/postfix/main.cf`
Comentar las siguientes líneas:
```
sendmail_path =
newaliases_path =
mailq_path =
setgid_group =
html_directory =
manpage_directory =
sample_directory =
readme_directory =
```
Descomentar las siguientes líneas:
```
mail_owner = postfix
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
local_recipient_maps = unix:passwd.byname $alias_maps
mynetworks_style = subnet
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/
```
Descomentar las siguientes líneas y cambiar los valores:
```
myhostname = mail.asirserver.com
mydomain = asirserver.com
mynetworks = 127.0.0.0/8, 192.168.1.0/24
sendmail_path = /usr/bin/postfix
setgid_group = postdrop
```
Añadir al final:
```
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject
```
Ejecutamos:
`newaliases`
El comando newaliases crea una nueva copia de la base de datos de alias desde el archivo /etc/aliases.
Reiniciamos Postfix:
```
systemctl restart postfix
systemctl status postfix
```
Instalamos Dovecot:
`apt install dovecot-core dovecot-pop3d dovecot-imapd -y`
Hacemos una copia de seguridad del fichero de configuración de Dovecot:
`cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.bak`
Editamos el fichero de Dovecot:
`nano /etc/dovecot/dovecot.conf`
Quitar el comentario a:
`#listen = *, ::`
Hacemos una copia de seguridad del fichero de configuración de autenticación de Dovecot.
`cp /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/conf.d/10-auth.conf.bak`
Abrimos el fichero de autenticación de Dovecot:
`nano /etc/dovecot/conf.d/10-auth.conf`
Descomentamos y editamos:
`disable_plaintext_auth = no`
Editamos:
`auth_mechanisms = plain login`
Hacemos una copia del fichero de mail de Dovecot:
`cp /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-mail.conf.bak`
Editamos el fichero 10-mail:
`nano /etc/dovecot/conf.d/10-mail.conf`
Comentamos:
`mail_location = mbox:~/mail:INBOX=/var/mail/%u`
Y en las líneas superiores descomentamos:
`mail_location = maildir:~/Maildir`
Hacemos una copia de seguridad del fichero 10-master:
`cp /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf.bak`
Editamos el fichero 10-master:
`nano /etc/dovecot/conf.d/10-master.conf`
Descomentamos y dejamos así:
```
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
```
Reiniciamos Dovecot:
```
systemctl restart dovecot
systemctl status dovecot
```
Instalar mailutils:
`apt install mailutils -y`
Añadir usuarios:
`adduser juanito`
`adduser pepito`
Creamos los directorios personales de Dovecot para cada usuario previamente creado:
```
maildirmake.dovecot /root/Maildir
maildirmake.dovecot /home/pepito/Maildir
maildirmake.dovecot /home/juanito/Maildir
```
Cambiar permisos mediante chown:
```
chown -R pepito:pepito /home/pepito/Maildir/
chown -R juanito:juanito /home/juanito/Maildir/
```
Enviar correo:
`mail pepito@asirserver.com`
Se nos muestra en pantalla línea a línea lo siguiente (Para salir con Ctrl+D):
```
Cc:
Subject: Hola Pepito
¿Qué tal todo?
```
Cambiar variable de entorno $MAIL de forma permanente:
```
echo 'export MAIL=$HOME/Maildir/' >> /etc/profile.d/mail.sh
echo 'export MAIL=$HOME/Maildir/' >> /etc/bash.bashrc
```
Comprobar correo:
`mail`
Habilitar logs en dovecot.
```
root@debian:~# nano /etc/dovecot/conf.d/10-logging.conf
log_path = /var/log/dovecot/dovecot.log
auth_verbose = yes
auth_verbose_passwords = yes
auth_debug = yes
auth_debug_passwords = yes
mail_debug = yes
verbose_ssl = yes
```
# Configurar Thunderbird
Descargar Thunderbird:
https://www.thunderbird.net/es-ES/download/
Añadir datos de una de las cuentas:



Añadir otra cuenta:

Error THUNDERBIRD 1:

Solución THUNDERBIRD 1:

**Debuguear errores**
`tail -f /var/log/mail.err /var/log/mail.log /var/log/dovecot/dovecot.log`
**Crear certificado de seguridad autofirmado con OpenSSL**
```
cd /etc/ssl/private
openssl genrsa -aes128 -out server.key 2048
openssl rsa -in server.key -out server.key
openssl req -new -days 3650 -key server.key -out server.csr
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
```
Editamos el fichero de configuración de Postfix:
`nano /etc/postfix/main.cf`
Añadimos al final:
```
smtpd_use_tls = yes
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_cert_file = /etc/ssl/private/server.crt
smtpd_tls_key_file = /etc/ssl/private/server.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
```
Editamos master.cf:
`nano /etc/postfix/master.cf`
Descomentamos:
```
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_sasl_auth_enable=yes
-o smtpd_tls_auth_only=yes
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
```
Configuramos el SSL en Dovecot:
`nano /etc/dovecot/conf.d/10-ssl.conf`
```
ssl_cert = </etc/ssl/private/server.crt
ssl_key = </etc/ssl/private/server.key
```
```
systemctl restart postfix
systemctl status postfix
systemctl restart dovecot
systemctl status dovecot
```
OPCIONAL: Cambiar en Thunderbird los servidores de salida al puerto 587.

# OTROS errores

**CUIDADO CON EL FIREWALL DE WINDOWS, DESACTIVARLO**
# Conectar con BBDD - Usuarios virtuales
```apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server dovecot-core dovecot-imapd dovecot-pop3d dovecot-mysql libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl telnet mailutils```
Seleccionar en la ventana del asistente la opción:
```sitio de internet```
En nombre del sistema de correo (poner nuestro dominio):
```asirserver.com```
Ajustar la configuración inicial de MySQL (MariaDB)
``` mysql_secure_installation```
```
En enter current password for root lo dejamos vacio,
en la siguiente pregunta ponemos: Y
e introducimos la contraseña de root
en las siguientes preguntas todas: Y
```
Conectarnos a mysql
``` mysql -u root -p```
Creamos base de datos de mysql:
```sql=
CREATE DATABASE mail;
USE mail;
```
Le damos permisos al usuario:
```sql=
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO
'mail_admin'@'localhost' IDENTIFIED BY 'pepito';
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO
'mail_admin'@'localhost.localdomain' IDENTIFIED BY 'pepito';
FLUSH PRIVILEGES;
```
Creamos la estructura de tablas
```sql=
CREATE TABLE domains (domain varchar(50) NOT NULL, PRIMARY KEY (domain) );
```
```sql=
CREATE TABLE forwardings (source varchar(80) NOT NULL, destination TEXT NOT NULL, PRIMARY KEY (source) );
```
```sql=
CREATE TABLE users (email varchar(80) NOT NULL, password varchar(20) NOT NULL, PRIMARY KEY (email) );
```
```sql=
CREATE TABLE transport ( domain varchar(128) NOT NULL default '', transport varchar(128) NOT NULL default '', UNIQUE KEY domain (domain) );
```
Creamos los ficheros siguientes en la ruta /etc/postfix
```cd /etc/postfix```
```nano mysql-virtual_domains.cf```
Y copiamos:
```
user = mail_admin
password = pepito
dbname = mail
query = SELECT domain AS virtual FROM domains WHERE domain='%s'
hosts = 127.0.0.1
```
```nano mysql-virtual_forwardings.cf```
Y copiamos:
```
user = mail_admin
password = pepito
dbname = mail
query = SELECT destination FROM forwardings WHERE source='%s'
hosts = 127.0.0.1
```
```nano mysql-virtual_mailboxes.cf```
Y copiamos:
```
user = mail_admin
password = pepito
dbname = mail
query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s'
hosts = 127.0.0.1
```
```nano mysql-virtual_email2email.cf```
Y copiamos:
```
user = mail_admin
password = pepito
dbname = mail
query = SELECT email FROM users WHERE email='%s'
hosts = 127.0.0.1
```
Cambiar PERMISOS a los ficheros creados:
```chmod o= /etc/postfix/mysql-virtual_*.cf```
```chgrp postfix /etc/postfix/mysql-virtual_*.cf```
Crear Usuario y Grupo para la gestión del correo. Buzones almacenados en el directorio home del usuario
```groupadd -g 5000 vmail```
```useradd -g vmail -u 5000 vmail -d /home/vmail -m```
Comandos postconf para la configuración de postfix, conexión SSL y conectividad con MySQL
(cambiar asirserver.com por el dominio que sea)
(los copiamos todos directamente)
```
postconf -e 'myhostname = server.asirserver.com'
postconf -e 'mydestination = localhost, localhost.localdomain'
postconf -e 'mynetworks = 127.0.0.0/8'
postconf -e 'message_size_limit = 30720000'
postconf -e 'virtual_alias_domains ='
postconf -e 'virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf'
postconf -e 'virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf'
postconf -e 'virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf'
postconf -e 'virtual_mailbox_base = /home/vmail'
postconf -e 'virtual_uid_maps = static:5000'
postconf -e 'virtual_gid_maps = static:5000'
postconf -e 'smtpd_sasl_auth_enable = yes'
postconf -e 'broken_sasl_auth_clients = yes'
postconf -e 'smtpd_sasl_authenticated_header = yes'
postconf -e 'smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination'
postconf -e 'smtpd_use_tls = yes'
postconf -e 'smtpd_tls_cert_file = /etc/postfix/smtpd.cert'
postconf -e 'smtpd_tls_key_file = /etc/postfix/smtpd.key'
postconf -e 'virtual_create_maildirsize = yes'
postconf -e 'virtual_maildir_extended = yes'
postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps'
postconf -e virtual_transport=dovecot
postconf -e dovecot_destination_recipient_limit=1
```
Creamos un certificado de seguridad SSL
```cd /etc/postfix```
```
openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509
```
Configurar saslauthd el uso de MySQL. crear directorio para saslauthd
```mkdir -p /var/spool/postfix/var/run/saslauthd```
Creamos una copia de seguridad:
```cp -a /etc/default/saslauthd /etc/default/saslauthd.bak```
EDITAR /etc/default/saslauthd
```nano /etc/default/saslauthd```
Estas variables tienen que quedar así (en teoría solo se modifica la primera y la última):
```
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
```
CREAR /etc/pam.d/smtp
```nano /etc/pam.d/smtp```
Pegar:
```
auth required pam_mysql.so user=mail_admin passwd=pepito host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
account sufficient pam_mysql.so user=mail_admin passwd=pepito host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
```
CREAR /etc/postfix/sasl/smtpd.conf
```nano /etc/postfix/sasl/smtpd.conf```
Pegar:
```
pwcheck_method: saslauthd
mech_list: plain login
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: mail_admin
sql_passwd: pepito
sql_database: mail
sql_select: select password from users where email = '%u'
```
Cambiar los permisos
```chmod o= /etc/pam.d/smtp```
```chmod o= /etc/postfix/sasl/smtpd.conf```
Editar /etc/postfix/master.cf
```nano /etc/postfix/master.cf```
Añadir al final:
OJO, en la segunda línea (comienza con flags=....) debemos dejar dos espacios al principio e insertar un salto de línea después de ${recipient}. El final del fichero debe tener una línea vacía, así evitamos problemas de compatibilidad.
```
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
(línea vacía)
```
Remplazamos el contenido fichero /etc/dovecot/dovecot.conf por el siguiente
contenido:
Creamos copia de seguridad:
```cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.bak```
Borramos el fichero.
```echo "" > /etc/dovecot/dovecot.conf```
Editamos el fichero:
```nano /etc/dovecot/dovecot.conf```
Pegamos esto:
```
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n/Maildir
namespace {
inbox = yes
location =
prefix = INBOX.
separator = .
type = private
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocols = imap pop3
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-master {
mode = 0600
user = vmail
}
user = root
}
#ssl_cert =< /etc/dovecot/dovecot.pem
#ssl_key = /etc/dovecot/dovecot.pem
ssl_cert =< /etc/ssl/certs/dovecot.pem
ssl_key =< /etc/ssl/private/dovecot.pem
userdb {
args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
driver = static
}
protocol lda {
auth_socket_path = /var/run/dovecot/auth-master
log_path = /home/vmail/dovecot-deliver.log
postmaster_address = info@asirserver.com
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
service stats {
unix_listener stats-reader {
user = vmail
group = vmail
mode = 0660
}
unix_listener stats-writer {
user = vmail
group = vmail
mode = 0660
}
}
```
Editamos /etc/dovecot/dovecot-sql.conf.ext
```nano /etc/dovecot/dovecot-sql.conf.ext```
Las siguientes variables tienen que quedar así:
```
driver = mysql
connect = host=127.0.0.1 dbname=mail user=mail_admin password=pepito
default_pass_scheme = CRYPT
password_query = SELECT email as user, password FROM users WHERE email='%u';
```
Crear certificado Nuevo para DOVECOT
```
openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/dovecot.pem \
-keyout /etc/ssl/private/dovecot.pem
```
Asignar Permisos
```chmod o= /etc/ssl/private/dovecot.pem```
```chgrp vmail /etc/dovecot/dovecot.conf```
```chmod g+r /etc/dovecot/dovecot.conf```
Editar alias. qiutar el contenido del siguiente archivo y pegar este:
```nano /etc/aliases```
Pegar:
```
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: postmaster@asirserver.com
```
**La ultima linea anterior modificar con el dominio de siempre
Recargar los alias
```newaliases```
Entrar en la bbdd
```mysql -u root -p```
Hacer en ella:
```use mail```
```INSERT INTO domains VALUES ('asirserver.com');```
**Cambiar asirserver.com por el dominio de la práctica
Insertar las direcciones de email asociadas al dominio
```INSERT INTO users VALUES ('usu01@asirserver.com', ENCRYPT('pepito'));```
```INSERT INTO users VALUES ('usu02@asirserver.com', ENCRYPT('pepito'));```
Añadir estás lineas al final del fichero /etc/postfix/main.cf
```nano /etc/postfix/main.cf```
Añadir:
```
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
```
Modificar el fichero /etc/dovecot/conf.d/auth-sql.conf.ext
```nano /etc/dovecot/conf.d/auth-sql.conf.ext```
cambiar driver=sql por driver=mysql en el apartado userdb
```
userdb {
driver = mysql
args = /etc/dovecot/dovecot-sql.conf.ext
}
```
REINICIA LOS SERVICIOS Postfix y Dovecot, o mejor, reinicia la máquina para refrescar todos los nombres, resoluciones y servicios.
```systemctl restart postfix```
```systemctl restart dovecot```
Necesitamos realizar un primer envío de mail a los usuarios que hemos creado para generar su estructura de directorios dónde se van a almacenar y gestionar los correos electrónicos. Lo hacemos a través de la utilidad mailx
```mailx usu01@asirserver.com```
**Cambiar asirserver.com por el dominio que solemos poner
Para salir del cuerpo del mensaje en una línea nueva pulsamos las teclas CTRL+D
Comprobar la bandeja de entrada de usu01 con thunderbird.
# INSTALAR WEBMAIL
Instalar roundcube
```apt install roundcube roundcube-mysql -y```
Responder que no a crear la base de datos.
Ir a la ruta (scripts de instalación)
```cd /usr/share/dbconfig-common/data/roundcube/install/```
Acceder a la base de datos
```mysql -u root -p```
En la base de datos realizamos:
```
create database roundcube;
use roundcube;
source mysql;
exit;
```
Movernos al directorio de roundcube
```cd /etc/roundcube```
Realizar copia de seguridad del archivo debian-db.php y editarlo:(para que se pueda conectar a la bdd)
```cp debian-db.php debian-db.php.bak```
```nano debian-db.php```
Editar y Dejarlo así:
```
$dbuser='root';
$dbpass='pepito';
$basepath='';
$dbname='roundcube';
$dbserver='localhost';
$dbport='3306';
$dbtype='mysql';
```
Realizar copia de seguridad del archivo config.inc.php y editarlo:
```cp config.inc.php config.inc.php.bak```
```nano config.inc.php```
Editar:
```
$config['default_host'] = 'tls://mail.asirserver.com';
$config['smtp_server'] = 'tls://mail.asirserver.com';
$config['product_name'] = 'Bienvenido a mi webmail';
```
Añadir al final:
```
#specify IMAP port (STARTTLS setting)
$config['default_port'] = 143;
#specify SMTP auth type
$config['smtp_auth_type'] = '';
#specify SMTP HELO host
$config['smtp_helo_host'] = 'mail.asirserver.com';
#specify domain name
$config['mail_domain'] = 'mail.asirserver.com';
#specify UserAgent
$config['useragent'] = 'Server AsirServer Webmail';
#specify SMTP and IMAP connection option
$config['imap_conn_options'] = array(
'ssl' => array(
'verify_peer' => true,
'CN_match' => 'asirserver.com',
'allow_self_signed' => true,
'ciphers' => 'HIGH:!SSLv2:!SSLv3',
),
);
$config['smtp_conn_options'] = array(
'ssl' => array(
'verify_peer' => true,
'CN_match' => 'asirserver.com',
'allow_self_signed' => true,
'ciphers' => 'HIGH:!SSLv2:!SSLv3',
),
);
```
Realizar copia de seguridad del archivo config.inc.php y editarlo:
```cd /etc/apache2/conf-enabled```
```cp roundcube.conf roundcube.conf.bak ```
```nano roundcube.conf```
Editar:
Descomentar:
``` Alias /roundcube /var/lib/roundcube```
-----------------------------------------------------------------------------
**Si llegados a este punto da algún problema, probar esto:
```mysql -u root -p ```
```sql=
use mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'pepito';
flush privileges;
```
editar el archivo:
```nano /etc/mysql/mariadb.cnf```
y añadir:
```
[mysqld]
bind-address = 0.0.0.0
```
```systemctl restart mariadb```
Generar certificado con FQDN y common name mail.asirserver.com.
```
cd /etc/postfix
openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509
```
dejar en blanco:
nano /etc/roundcube/config.inc.php
```
smtp_auth_type = '';
```
Problema de permisos:
https://bobcares.com/blog/roundcube-config-inc-php/
```
chown root:www-data /var/lib/roundcube/config/debian-db.php
chmod 640 /var/lib/roundcube/config/debian-db.php
```
si hay problemas:
```dpkg-reconfigure roundcube-core```
Faltan ":" en $dbport.
```nano /etc/roundcube/debian-db-roundcube.php```
poner : en la linea
```
$config['db_dsnw'] = "$dbtype://$dbuser:$dbpass@$dbserver:$dbport/$dbname";
```
Si nos tira el siguiente error al entrar en roundcube:


SOLUCIÓN: https://stackoverflow.com/questions/39281594/error-1698-28000-access-denied-for-user-rootlocalhost
ERROR certificate not match:


```nano /etc/roundcube/config.inc.php```
Cambiar:
```
// specify SMTP and IMAP connection option
$config['imap_conn_options'] = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'CN_match' => 'asirserver.com',
'allow_self_signed' => true,
'ciphers' => 'HIGH:!SSLv2:!SSLv3',
),
);
$config['smtp_conn_options'] = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'CN_match' => 'asirserver.com',
'allow_self_signed' => true,
'ciphers' => 'HIGH:!SSLv2:!SSLv3',
),
);
```
Debuguear errores de Roundcube
`tail -f /var/log/roundcube/errors`