Todo lo que debes saber sobre la nueva versión de Debian 10 Buster

Por Carlos A. Leal S.

Hace algún tempo los amigos de itsfoss.com publicaron una entrada sobre las nuevas características de Debian 10 Buster, aquí una traducción libre de ese artículo, pero también agregué algunas cositas que me parecieron importantes.

El nombre

Los nombres de las versiones de Debian son tomados de la película Toy Story, siendo la actual la 9.0 «stretch, «Jessie» es la versión estable antigua («oldstable»), y la actual versión en pruebas («testing») se denomina «buster».

Debian 10 Buster está a punto de liberarse, de hecho el primer candidato de lanzamiento (first release candidate) ya fue liberado y podríamos ver el lanzamiento final, en unas cuantas semanas.

Fecha de liberación final

No existe una fecha de lanzamiento establecida para Debian 10 Buster. ¿Por qué? A diferencia de otras distribuciones, Debian no hace lanzamientos basados en el tiempo. En su lugar, se centra en la solución de errores críticos. Los errores críticos de la versión son errores que tienen problemas de seguridad u otros problemas críticos que impiden que Debian se libere.

 

Organización de los paquetes

Debian está organizado en tres grandes partes en su repositorio, llamadas Main, contrib y non-free. De los tres, los desarrolladores de Debian y los gerentes de versiones están más preocupados de que los paquetes que forman parte de la distribución base, es decir, lo que está en Main, debe ser estable. Así que se aseguran de que no haya ningún problema funcional o de seguridad importante. También se les da valores de prioridad tales como Esencial, Requerido, Importante, Estándar, Opcional y Extra.

 

Esto es necesario porque Debian se utiliza como servidor en muchos entornos diferentes y las personas dependen de Debian. También los administradores de servidores observan los ciclos de actualización, nadie quiere instalar algo inestable o que se se rompe al actualizar. Las versiones “testing” permiten informar a Debian si todavía hay problemas con algo. Este compromiso con la estabilidad es la razón por la cual muchos aman usar Debian.

 

Novedades en Debian 10 Buster

  • GNOME 3.30: Algunos de los nuevos paquetes incluidos en esta versión de escritorio de GNOME son gnome-todo, tracker en lugar de tracker-gui, hay una instalación automática de códec para reproducir películas, entre otras cosas importantes. El gran movimiento ha sido mover todos los paquetes. de libgtk2 + a libgtk3 +.
  • Kernel de Linux 4.19.0-4: Debian utiliza las versiones del kernel LTS, para tener mejor soporte de hardware y un largo ciclo de mantenimiento y soporte de 5 años.
  • AppArmor habilitado por defecto: En Debian Buster AppArmor estará habilitado por defecto. Si bien esto es bueno, los administradores del sistema deberían tener cuidado de habilitar las políticas correctas.
  • NFtables reemplaza a iptables: Debian Buster viene con nftables como un reemplazo completo de iptables, lo que significa una sintaxis mejor y más sencilla, mejor soporte para los servidores de seguridad tanto para IPv4 como para IPv6.
  • Python 2 está muerto, viva Python 3: Python 2 quedará en desuso el 1 de enero de 2020 por python.org. Mientras que Debian tiene Python 2.7, los esfuerzos están para eliminar después de mover todos los paquetes a Python 3 para eliminarlo del repositorio. Esto puede suceder en la versión de Buster o en una versión futura, pero esto es inminente. Por lo tanto, se recomienda a los desarrolladores de Python que muevan su base de código para que sean compatibles con Python 3. En el momento de escribir, tanto el motor de Debian como Python2 y Python3 son compatibles.
  • Bash 5.0 por defecto: Probablemente esta nueva versión de Debian ya tenga las nuevas funciones de Bash 5.0

 

En conclusión

Mientras que miles de paquetes se han actualizado y es prácticamente imposible enumerarlos todos. Se han presentado algunos de los principales cambios al parecer de verdad viene una actualización mayor ¿Qué les parece?

Fuentes

 

https://es.wikipedia.org/wiki/Debian_GNU/Linux

https://bits.debian.org/2019/01/futurePrototype-will-be-the-default-theme-for-debian-10.html

https://itsfoss.com/debian-10-buster/

Instalación de WordPress en Debian 9

Por Carlos A. Leal S.

En este paso a paso se explicará la manera de instalar WordPress en Debian 9. Para quienes no lo sepan WordPress es uno de los sistemas manejadores de contenido (CMS por sus siglas en inglés) más importantes en la actualidad. Se basa en PHP y MySQL, con toneladas de complementos que pueden ser utilizados de forma gratuita, aunque también se debe mencionar que muchos de esos complementos son de pago.

Para este paso a paso vamos asumir que usted…

  1. Tiene un conocimiento básico de GNU/Linux
  2. Sabe cómo utilizar el Shell o la consola de Linux
  3. Dispone de una computadora con Linux (También puede ser una máquina virtual o un VPS)
  4. Ha iniciado sesión como usuario administrado, super-usuario o simplemente como root.

Paso 0 – Actualizar el sistema

Antes de instalar cualquier software es importante asegurarse de que el sistema está debidamente actualizado.

apt-get update
apt-get upgrade

Paso 1 – Instalar un servidor LAMP

El servidor LAMP es un conjunto de servidores con las funciones más populares que debe tener un servidor de aplicaciones Web. Esto ya lo expliqué en otra entrada de este blog, ver los detalles aquí

https://jugandoaseringeniero.wordpress.com/2019/04/13/instalar-un-servidor-lamp-en-debian-9/

Paso 2 – Instalar WordPress

Lo primero que hay que hacer es ir al sitio de WordPress y descargar la última versión estable, al momento de escribir este paso a paso, la versión más estable era la 5.5.1

Ojo – Los compañeros del equipo de wordpress, son tan amables que siempre ponen la última versión estable en el mismo enlace, se descarga con:

wget https://wordpress.org/latest.zip

Se descomprime con:

unzip -q latest.zip -d /var/www/html/

Luego poner todo en el lugar correcto

cd /var/www/html/wordpress
cp -a * ..
cd ..
rm -rf wordpress

Ajustar los permisos a directorio

chown www-data. -R /var/www/html/

Paso 3 – Configurar MariaDB para WordPress

Es necesario iniciar sesión en MariaDB y crear una base de datos para WordPress

mysql -u root –p

Una vez adentro hay que crear la base de datos

CREATE DATABASE wordpress character set utf8 collate utf8_bin;

Luego establecer los permisos

GRANT ALL PRIVILEGES on wordpress.* to 'wpuser'@'localhost' identified by 'Tu$Password!';

Luego decierle al servidor que aplique la configuración

FLUSH PRIVILEGES;

Finalmente salir

exit

Paso 4 – Configurar WordPress

En esta parte vamos a editar el archivo de configuración principal de WordPress, el cual se necesita para establecer los parámetros básicos para el usuario se pueda conectar a la base de datos.

Estar en el directorio correcto

cd /var/www/html

Vamos a eliminar el archivo index.html, porque lo que tiene es una web de prueba

rm index.html

Vamos a usar el archivo de configuración que trae de ejemplo

mv wp-config-sample.php wp-config.php

Se puede editar con el editor de su preferencia, yo voy a usar nano

nano wp-config.php

Aquí están los valores que necesitan ser establecidos

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wpuser');

/** MySQL database password */
define('DB_PASSWORD', 'Tu$Password!');

/** MySQL hostname */
define('DB_HOST', 'localhost');

Paso 5 – Iniciar la configuración de WordPress – vía web

Acceder a http://localhost/index.php

Seleccionar el idioma que mejor se adecue a nuestras necesidades

Completar la información del sitio

¡Lo lograste! No es mentira

Paso 5 – Acceder a WordPress

Vamos a http://localhost/wp-login.php

O directamente al sitio principal con http://localhost/

Felicidades ya tenemos WordPress instalado

Fuentes

https://idroot.us/tutorials/install-lamp-server-debian-9/

https://idroot.us/linux/install-wordpress-debian-9-stretch/

https://es.wikipedia.org/wiki/MariaDB

Instalar un servidor LAMP en Debian 9

Por Carlos A. Leal S

El servidor LAMP es un conjunto de servidores con las funciones más populares que debe tener un servidor de aplicaciones Web. LAMP significa:

  • L ==> Linux
  • A ==> Apache, el servidor Web más popular
  • M ==> MySQL el servidor de bases de datos más popular
  • P ==> PHP, el lenguaje de programación web de código abierto más popular.

Todos los componentes son software libre y de código abierto, y la combinación es adecuada para crear páginas web dinámicas.

Paso 1 – Instalar apache

La instalación de apache es sencilla, se puede hacer con apt-get

apt-get install apache2

Después de instalarlo es necesario hacer unas cuentas comprobaciones

systemctl enable apache2
systemctl restart apache2
systemctl status apache2

También es Buena idea pensar en el firewall

apt-get install ufw

Poner algunas reglas

ufw enable
ufw status
ufw allow 80/tcp
ufw allow 443/tcp
ufw reload

Se puede comprobar que todo está bien accediendo a http://localhost

Paso 2 – Instalar MariaDB

MariaDB es un sistema de gestión de bases de datos derivado de MySQL. Es desarrollado por Michael (Monty) Widenius, fundador de MySQ, la fundación MariaDB y la comunidad de desarrolladores de software libre. Tiene una alta compatibilidad con MySQL ya que posee las mismas órdenes, interfaces, API y bibliotecas, siendo su objetivo poder cambiar un servidor por otro directamente.

apt-get install mariadb-server

Una vez completada la instalación

systemctl enable mariadb
systemctl restart mariadb
systemctl status mariadb

De manera predeterminada, MariaDB no viene asegurada, pero trae un script para asegurar la instalación. Hay que leer cuidadosamente, especialmente porque se le va a poner contraseña al usuario root, se van a eliminar usuarios anónimos y además se van a eliminar los datos de prueba, entre otras configuraciones importantes.

mysql_secure_installation

Configurar así:

- Change the root password? [Y/n] n
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

Para iniciar sesión en MariaDB es necesario usar el siguiente comando

mysql -u root -p

Paso 3 – Instalar PHP

De manera predeterminada Apache soporte HTML, pero no PHP, se necesita instalar PHP pero también el módulo para conectarse con MariaDB (MySQL)

apt-get install php php-mysql

Por si acaso es buena idea re-iniciar los servidores

systemctl restart apache2
systemctl restart mariadb


Para probar que PHP ya está funcionando se puede crear un archivo llamado php.info

nano /var/www/html/info.php

lo dejamos así

<?php
phpinfo();
?>

Para ver el resultado accedemos a http://localhost/info.php

¡Listo! El servidor LAMP ya está funcionando, ahora ya podemos instalar WordPress, Joomla o cualquier otro manejador de contenido

Servidor FTP en Debian

Servidor FTP en Debian

Por: Carlos A. Leal S.

File Transfer Protocol (FTP) o protocolo de transferencia de archivos (en español) es un protocolo TCP utilizado para descargar de archivos de internet (De un servidor a un cliente). En el pasado, también se utilizaba para subir archivos, pero el método utilizado es demasiado inseguro (no utiliza cifrado) y por lo tanto no se utiliza actualmente. Para subir archivos a un servidor de forma segura se pueden utilizar otras alternativas más seguras como scp, sftp, que vienen habilitadas cuando se instala el servidor SSH, el cual también se utiliza para la Administración Remota de todo tipo de servidores con GNU/Linux

FTP trabaja en un modelo cliente / servidor. El componente de servidor se denomina demonio FTP. Su trabajo es dar respuesta a las peticiones FTP de los clientes remotos.

Se puede acceder al servidor FTP de dos maneras:

  • Ftp Anónimo: En el modo Anónimo, los clientes remotos pueden acceder al servidor FTP mediante el uso de la cuenta de usuario por defecto llamado «anonymous» o «ftp» en este caso se utiliza como contraseña una cuenta de correo electrónico
  • Ftp Autenticado: En el modo autenticado el usuario debe tener una cuenta y una contraseña. Esta última opción es muy insegura y no debe utilizarse excepto en circunstancias especiales.

Modos de transferencia:

  • ascii: Es una horrible característica del protocolo pensada para hacer más eficiente la transferencia de archivos de texto. De forma predeterminada la mayoría de los clientes FTP lo rechazan.
  • binary: En una característica pensada para transferir cualquier tipo de archivos.

¿vsFTPd?

vsFTPd, (very secure FTP daemon), es un servidor FTP para sistemas tipo Unix, incluyendo Linux. Es licenciado bajo la GNU General Public License. Es compatible con IPv6 y SSL. vsftpd es el servidor FTP predeterminado en Debian, Ubuntu, CentOS, y otras distribuciones Linux.

El archivo de configuración vsftpd.conf se encuentra ubicado en /etc y es el único archivo utilizado para configurar el servidor vsFTPd.

Sintaxis del archivo de configuración

El formato del archivo es simple, cada línea o es una directiva, las líneas que inician con “#” se consideran comentarios, es decir no se toman en cuenta

Una directiva tiene el formato opción=valor, es importante evitar los espacios innecesarios

Las opciones pueden ser:

  • Booleanas: Su valor es YES|NO, ejemplo: listen_ipv6=NO
  • Numéricas: Su valor es un número, ejemplo: local_max_rate=7200
  • Cadena: Su valor es una palabra u oración, ejemplo: listen_address=192.168.10.1

De manera predeterminada la configuración es la siguiente:

  • Se permite a los usuarios locales
  • No hay acceso a usuarios anónimos
  • Los usuarios anónimos no pueden subir archivos
  • El servicio utiliza los puertos 20 y 21 para las solicitudes de inicio de sesión
  • Los datos se transfieren utilizando los puertos 30000 – 30100

Soporta «únicamente» 100 sesiones, pero se pueden configurar más de ser necesario.

Paso 1 – Instalación y configuración

apt-get install vsftpd

Realizar una copia de respaldo del archivo de configuración original:

cp /etc/vsftpd.conf /etc/vsftpd.conf.original

Si la configuración predeterminada no es suficiente se puede modificar las opciones que más se adapten a sus necesidades, Se muestran las opciones más comunes.

Vamos a cambiar la configuración de la siguiente manera

  • No se permite acceso a los usuarios locales
  • Acceso a usuarios anónimos
  • Los usuarios anónimos no pueden subir archivos
  • El servicio utiliza los puertos 20 y 21 para las solicitudes de inicio de sesión
  • Los datos se transfieren utilizando los puertos 30000 – 30100

Editar el archivo de configuración

nano -c /etc/vsftpd.conf

modificamos las siguientes líneas

# Linea 25
anonymous_enable=YES

# Línea 28
local_enable=NO

# Línea 31
write_enable=NO

# Línea 40
anon_upload_enable=NO

# Línea 44
anon_mkdir_write_enable=NO

Paso 2 – Subir contenido

Los archivos del servidor FTP que se les muestra a los usuarios anónimos se guardan en /var/srv vamos a crear algunas carpetas ahí.

cd /srv/ftp/

mkdir Documentos Audio Videos Descargas Plantilla

Luego re-iniciamos el servicio

systemctl restart vsftpd

Paso 3 – Probar desde un cliente

Desde otra computadora, accedemos usando un navegador web (Internet Explorer, Mozilla Firefox o Google Chrome)

ftp://192.168.10.10

Paso a paso con video explicativo en Youtube

Servidor de Correo con Webmail en Debian 9.5

Por: Carlos A. Leal S.

Requisitos para realizar esta configuración

  1. Haber configurado adecuadamente los parámetros de red
  2. Disponer de un servidor DNS, donde ya esté bien definido el dominio que se utilizará para enviar y recibir los correos
  3. Como vamos a configurar un webmail, necesitamos un servidor web funcionando

Paso 1 – Configuración inicial

Una vez que accedemos al sistema como root, actualizamos el software ya instalado.

apt-get update
apt-get upgrade

Iniciemos por instalar algunas herramientas necesarias, es posible que algunas ya estén instaladas.

apt-get install curl net-tools bash-completion wget lsof nano

Ahora vamos a editar el orden en que el cliente DNS hace las consultas

nano /etc/host.conf

lo dejamos así:

order hosts,bind
multi on

Con esta configuración nos aseguramos de que el cliente DNS primero revise el archivo /etc/hosts antes de hacer la consulta al servidor DNS.

Ahora vamos a modificar el archivo /etc/hosts, vamos a establecer correctamente el nombre del host (es decir el nombre de la computadora que estamos configurando), en este caso vamos a utilizar el dominio hipotético debian.edu.ni.

Para parecer más inteligente (y presumir un poco) todo lo vamos a hacer en dos comandos

hostnamectl set-hostname mail.debian.edu.ni
echo "192.168.10.10 debian.edu.ni mail.debian.edu.ni" >> /etc/hosts

Los que se tomaron la molestia de hacer mis tutoriales de comandos básicos me entienden, son 8 tutoriales básicos, de verdad valen la pena, por cierto esto de agregar contenido a un archivo sin necesidad de usar un editor de texto se explica en el tercer tutorial, en caso de que quieran revisarlo.

Hacemos algunas pruebas para asegurarnos que todo está bien

hostname
hostname -s
hostname -f
hostname -A

La salida de estos comandos se ve así:

root@debian32:~# hostname
mail.debian.edu.ni
root@debian32:~# hostname -s
mail
root@debian32:~# hostname -f
debian.edu.ni
root@debian32:~# hostname -A
debian.edu.ni
root@debian32:~#

También conviene revisar los ajustes del DNS

Nos aseguramos que estamos usando el servidor DNS adecuado

nano /etc/resolv.conf

Ponemos a nuestro servidor como primer DNS

nameserver 192.168.10.10
nameserver 192.168.8.1

Ahora verificar que el registro MX (Mail eXchange) fue creado correctamente

nslookup -type=mx debian.edu.ni

La respuesta debe ser algo similar a esto

root@debian32:~# nslookup -type=mx debian.edu.ni
Server:        192.168.10.10
Address:  192.168.10.10#53

debian.edu.ni  mail exchanger = 10 mail.debian.edu.ni.

Los linuxeros más puros van a querer usar dig

dig debian.edu.ni mx

A mí no me gusta porque la salida tiene demasiada información

root@debian32:~# dig debian.edu.ni mx

; <<>> DiG 9.10.3-P4-Debian <<>> debian.edu.ni mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17760
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096

;; QUESTION SECTION:
;debian.edu.ni.              IN   MX

;; ANSWER SECTION:
debian.edu.ni.      86400     IN   MX   10 mail.debian.edu.ni.

;; AUTHORITY SECTION:
debian.edu.ni.      86400     IN   NS   ns.debian.edu.ni.

;; ADDITIONAL SECTION:
mail.debian.edu.ni. 86400     IN   A    192.168.10.10
ns.debian.edu.ni.   86400     IN   A    192.168.10.10

;; Query time: 0 msec
;; SERVER: 192.168.10.10#53(192.168.10.10)
;; WHEN: Thu Nov 29 14:38:14 CST 2018
;; MSG SIZE  rcvd: 112
root@debian32:~#

Paso 2 – Instalar el servidor de correo Postfix en Debian

Instalamos el software necesario

apt-get install postfix

Durante la instalación aparecerán varias pantallas, aquí sus respuestas

  1. Postfix Configuration – Aceptar
  2. Sitio de Internet – Aceptar
  3. Aceptar
  4. Nombre del sistema de correo, ponemos el nombre del dominio que estamos configurando, en este caso debian.edu.ni – Aceptar

Si queremos configurar detalladamente todos los parámetros podemos utilizar

dpkg-reconfigure postfix

También van a salir varias pantallas, aquí sus respuestas

  1. Postfix Configuration – Aceptar
  2. Sitio de Internet – Aceptar
  3. Aceptar
  4. Nombre del sistema de correo, ponemos el nombre del dominio que estamos configurando, en este caso debian.edu.ni – Aceptar
  5. Recipiente de correo para el administrador y «postmaster» – aquí ponemos root@debian.edu.ni
  1. En la lista de dominios ponemos:
    • debian.edu.ni, mail.debian.edu.ni, localhost.localdomain, localhost
  2. No forzar actualizaciones
  3. Bloques de red dejamos: 127.0.0.0/8 192.168.10.0/24 (o los bloques de red que tengamos configurados). Si tenemos IPv6, también hay que incluirlos
  4. Límite de buzón de correo lo dejamos en cero – 0
  5. Carácter de extensión lo dejamos en +
  6. Protocolos a usar – todos

Paso 3 – Configuración de Postfix en Debian 9.5

Copia de seguridad del archivo de configuración original

cp /etc/postfix/main.cf /etc/postfix/main.cf.original

Para configurar postfix, es necesario editar el archivo main.cf

nano -c /etc/postfix/main.cf

hay que editar varias líneas

#Línea 9
smtpd_banner = $myhostname ESMTP

#Línea 35, nos aseguramos que diga:
myhostname = mail.debian.edu.ni

#Línea 36, agregamos
mydomain = debian.edu.ni

#Línea 39, nos aseguramos que diga
mydestination = debian.edu.ni, mail.debian.edu.ni, localhost.localdomain, localhost
#Al final agregamos
home_mailbox = Maildir/

# Configuracioens SMTP
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

Favor usar las variables myhostname, mydomain y mynetworks, según sea el caso para la red y el servidor que están configurando

El comando postconf -n permite identificar errores en la configuración

Reiniciamos postfix

systemctl restart postfix
systemctl status postfix

Paso 3 – Instalar y Configurar Dovecot IMAP en Debian 9.5

Instalar el software necesario

apt-get install dovecot-core dovecot-imapd

Editamos el archivo de configuración /etc/dovecot/dovecot.conf

nano -c /etc/dovecot/dovecot.conf
#Línea 30, quitamos comentario
listen = *, ::

Ahora editamos el archivo /etc/dovecot/conf.d/10-auth.conf

nano -c /etc/dovecot/conf.d/10-auth.conf

#Línea 10
disable_plaintext_auth = no
#Línea 100
auth_mechanisms = plain login

Ahora editamos el archivo /etc/dovecot/conf.d/10-mail.conf

nano -c /etc/dovecot/conf.d/10-mail.conf
#Línea 30
mail_location = maildir:~/Maildir

El último archivo de configuración a editar es /etc/dovecot/conf.d/10-master.conf

nano -c /etc/dovecot/conf.d/10-master.conf
#Línea 96 y 97 quitar comentario, 
#después agregar… user = postfix y group = postfix
#a la línea 100 también quitar comentario,
#todo el bloque queda así:

  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }

Después de hacer todos los cambios reiniciamos los servicios
systemctl restart dovecot
systemctl status dovecot


Paso 4 – Crear cuentas de usuario

En caso de que necesiten más información, la creación de usuarios paso a paso está bien explicada aquí, lo único que para recibir los correos necesitamos agregar el directorio Maildir en /etc/skel

mkdir /etc/skel/Maildir

Si ya había usuarios creados, se tendrá que crear este directorio manualmente en el directorio particular de cada usuario.

Creamos un usuario llamado juan

adduser juan

El procedimiento debe ser algo parecido a esto:

root@debian32:~# adduser juan
Añadiendo el usuario `juan' ...
Añadiendo el nuevo grupo `juan' (1001) ...
Añadiendo el nuevo usuario `juan' (1001) con grupo `juan' ...
Creando el directorio personal `/home/juan' ...
Copiando los ficheros desde `/etc/skel' ...
Introduzca la nueva contraseña de UNIX:
Vuelva a escribir la nueva contraseña de UNIX:
passwd: contraseña actualizada correctamente
Cambiando la información de usuario para juan
Introduzca el nuevo valor, o pulse INTRO para usar el valor predeterminado
     Nombre completo []: Juan Matus
     Número de habitación []:
     Teléfono del trabajo []:
     Teléfono de casa []:
     Otro []:
¿Es correcta la información? [S/n] S

Ahora, agregar otro usuario llamado pedro

adduser pedro

podemos revisar si el directorio Maildir se creó en el directorio particular de pedro

ls /home/pedro/

La salida de este comando se ve así:

root@debian32:~# ls /home/pedro/
Maildir
root@debian32:~#

Lo cual es correcto, porque el directorio Maildir se ha creado y el usuario podrá recibir los correos

Paso 5 – Instalar y configurar el Webmail

Primero instalar el software necesario

apt-get install apache2 php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-xml

Como el servidor web ya está instalado, vamos a crear una carpeta virtual para instalar el webmail

cd /var/www/html/
ls
mkdir webmail
cd webmail


La salida de estos comandos debe ser algo similar a esto:

root@debian32:~# cd /var/www/html/
root@debian32:/var/www/html# ls
cgi-enabled  index.html
root@debian32:/var/www/html# mkdir webmail
root@debian32:/var/www/html# cd webmail/
root@debian32:/var/www/html/webmail#


Ahora descargamos e instalamos el cliente Webmail, si no están en el directorio correcto no va a funcionar

curl -sL https://repository.rainloop.net/installer.php | php

La salida de este comando es algo así:

root@debian32:/var/www/html/webmail# curl -sL https://repository.rainloop.net/installer.php | php

#!/usr/bin/env php

       [RainLoop Webmail Installer]

 * Connecting to repository ...
 * Downloading package ...
 * Complete downloading!
 * Installing package ...
 * Complete installing!

 * [Success] Installation is finished!

Ahora sí, vamos a lo bueno, accedemos vía Firefox a

http://localhost/webmail/?admin

Usuario: admin

Clave:12345

En general podemos cambiar el idioma a español, si de verdad lo van a implementar les recomiendo seguir las recomendaciones de seguridad.

El dominio lo agregamos en Dominios haciendo clic en Agregar dominio, hay que completar todo lo señalado en verde

Cerramos la sesión como administrador e iniciamos sesión como pedro, la idea es enviarle un correo a juan.

Tenemos que iniciar sesión en: http://localhost/webmail/

Usuario: pedro@debian.edu.ni

Contraseña: La contraseña de pedro

Una vez adentro hacemos clic en nuevo para escribirle el corro a juan

Escribimos el correo y lo enviamos, favor recordar que el destinatario es juan@debian.edu.ni

Luego de enviar el correo, cerramos la sesión y entramos con el otro usuario, es decir juan

Si podemos ver el correo que enviamos anteriormente, entonces la configuración habrá sido todo un éxito

Muchas felicidades, tenemos un servidor de correo operativo y funcional

Puedo explicarles la manera con figurar un servidor de correo con Zimbra, pero es más complicado y más difícil, déjenme un mensaje en los comentarios

Fuente

https://www.tecmint.com/install-postfix-mail-server-with-webmail-in-debian/

Video 1 de 5

Video 2 de 5

 

Video 3 de 5

Video 4 de 5

Video 5 de 5

Blog Rebautizado – «Jugando a ejercer la Ingeniería»

Estimados, estimadas

Con el propósito de utilizar lenguaje inclusivo, pero con el ánimo de no usar lenguaje repetitivo he decidido rebautizar este blog. Desde hoy dejará de llamarse «Jugando a ser Ingeniero», a partir de hoy se llama:

«Jugando a ejercer la Ingeniería»

Puesto que tengo varios videos de YouTube que hacer referencia a la URL del sitio, decidí no cambiarla, todavía estamos en la versión 1.0 de este blog, aunque ya tenemos el canal de YouTube, todavía nos hace falta el dominio propio.

Aunque las estadísticas del sitio son a veces muy buenas, hay días que simplemente nadie lo lee. Esto también puede deberse a que aún hay mucho tráfico en el blog que está hospedado en los servidores de la UCA

Si las estadísticas mejoran y si encuentro a alguien que me patrocine el hosting y el dominio para primer año, podría se que en 2019 tengamos la versión 2.0

Aunque en los últimos meses he estado publicando cosas relacionadas con Linux, recuerden que estoy interesado en otros temas como: administración de servidores, seguridad informática, alfabetización tecnológica, gobernanza de Internet y otros temas de interés personal.

Configurar apache2 para ejecutar Perl, Ruby y Python en Debian 9.5

Por: Carlos A. Leal S.

Para realizar esta configuración se hace necesario primero configurar el servidor web

Paso 1 -Instalar el software necesario

root@tserver:~# apt-get -y install perl libcgi-pm-perl ruby python curl

Paso 2 – Habilitar modulo CGI

root@tserver:~# a2enmod cgid

reinicar el servidor web

root@tserver:~# systemctl restart apache2

Paso 3 – Crear script de prueba

Después de habilitar CGI, los scripts CGI pueden ejecutarse en el directorio [/usr/lib/cgi-bin] de forma predeterminada. Si se coloca un script Perl, Ruby o Python en un archivo llamado [index.cgi] y que esté dentro de ese directorio, es posible ejecutarlo accediendo a la URL http: //localhost/cgi-bin/index.cgi desde los Clientes.

Podemos hacer la prueba con cualquiera de los tres lenguajes de programación, como los programadores no se ponen de acuerdo sobre cual es mejor y yo no quiero herir a nadie, entonces les dejo los tres ejemplos, ustedes escojan el que más les guste, igual no les voy a decir cuál fue el que yo utilicé, la cosa es que tenemos que crear el archivo con nano:

root@tserver:~# nano -c /usr/lib/cgi-bin/test_script

Ejemplo de script de prueba con Perl

#!/usr/bin/perl

print "Content-type: text/html\n\n";

print "Hola CGI\n";

Ejemplo de script de prueba con Ruby

#!/usr/bin/ruby

print "Content-type: text/html\n\n"

print "Hola CGI\n"

Ejemplo de script de prueba con Python

#!/usr/bin/env python

print "Content-type: text/html\n\n"

print "Hola CGI\n

Sin importar el que escojan no se les olvide cambiar los permisos

root@tserver:~# chmod 705 /usr/lib/cgi-bin/test_script

Se puede probar desde la terminal

root@tserver:~# curl http://localhost/cgi-bin/test_script
Hola CGI

O desde el navegador accediendo a http://localhost/cgi-bin/test_script

Paso 4 – Permitir Scripts en otro directorio

Crear el archivo de configuración

root@tserver:~# nano -c /etc/apache2/conf-available/cgi-enabled.conf

Lo dejamos así

<Directory "/var/www/html/cgi-enabled">
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl .rb .py
</Directory>

No se les olvide ...

Crear el directorio

root@tserver:~# mkdir /var/www/html/cgi-enabled

Habilitar la configuración

root@tserver:~# a2enconf cgi-enabled

Reiniciar el servidor web

root@tserver:~# systemctl restart apache2

Paso 5 – Scripts de prueba

Intenté ponerle los scripts aquí, pero WordPress se puso «chiva» (no permite este tipo de código por razones de seguridad) así que compartí los tres scripts aquí, en caso que se les quieran descargar, lo siento, solo puedo mostrarles las imágines

Perl – script de prueba

root@tserver:~# nano -c /var/www/html/cgi-enabled/index.cgi

Algo así debería funcionar

No se les olvide cambiar permisos

root@tserver:~# chmod 705 /var/www/html/cgi-enabled/index.cgi

Ruby – script de prueba

root@tserver:~# nano -c /var/www/html/cgi-enabled/index.rb

Algo así debería funcionar

Tampoco se les olvide cambiar los permisos

root@tserver:~# chmod 705 /var/www/html/cgi-enabled/index.rb

Python – script de prueba

Algo así debería funcionar

Se prueba directamente en Firefox …

…para comprobar la configuración para Perl, acceder a http://localhost/cgi-enabled/index.cgi

…para comprobar la configuración para Ruby, acceder a http://localhost/cgi-enabled/index.rb

…para comprobar la configuración para Python, Acceder a http://localhost/cgi-enabled/index.py

Felicidades, hemos completado la configuración

Fuentes

Servidor Web en Debian 9.5

Por: Carlos A. Leal S

La Web es la parte gráfica de Internet, es un compendio de todo el conocimiento humano y está a un clic de distancia. No se puede negar que es uno de los inventos más maravillosos, pero que también tiene sus secretos, en estas líneas intentaré poner al alcance de todos uno de ellos, la configuración de un servidor web en Debian 9.5

Primero lo primero – algunas definiciones

WWW: World Wide Web, es un sistema de distribución de información basado en hipertexto o hipermedios enlazados y accesibles a través de Internet. Con un navegador web, un usuario visualiza sitios web compuestos de páginas web que pueden contener texto, imágenes, vídeos u otros contenidos multimedia, y navega a través de ellas usando hiperenlaces.

HTTP: Hypertext Transfer Protocol es el protocolo usado en cada transacción de la World Wide Web. HTTP es un estándar de internet fue desarrollado por el World Wide Web Consortium y la Internet Engineering Task Force, colaboración que culminó en 1999 con la publicación de una serie de RFC, el más importante de ellos es el RFC 2616 que especifica la versión 1.1. Lo que básicamente significa que un servidor Web puede implementarse en cualquier sistema operativo que soporte TCP/IP

HTTPS: Lo mismo que HTTP, pero con una capa adicional de seguridad

HTML: HyperText Markup Language (lenguaje de marcado de hipertexto), no es un lenguaje de programación, hace referencia al lenguaje de marcado predominante para la elaboración de páginas web que se utiliza para describir y traducir la estructura y la información en forma de texto, así como para complementar el texto con objetos tales como imágenes. HTML5 es la versión más reciente.

Ahora unas cuantas aclaraciones importantes

  • HTML no es un lenguaje de programación, es un lenguaje de marcado de hipertexto
    Existen páginas web estáticas con HTML puro.
  • En la actualidad las páginas web ya no existen, ahora utilizamos sitios web dinámicos, utilizan lenguajes de programación como PHP, ASP, JSP y un largo etcétera, además se utiliza conexión a bases de datos pueden ser MySQL, MS-SQL, Oracle y otro largo etcétera.
  • HTTP es el protocolo que hace posible la transferencias de las páginas web del servidor al cliente
  • WWW no es el único servicio de Internet, es el espacio donde se almacenan los sitios web, otros servicios de Internet muy conocidos son el correo electrónico y la transferencia de archivos.
  • El Webmaster es el especialista en diseño y programación web, es la persona encargada de crear, administrar y eliminar las páginas web.
  • El administrador del servidor no necesariamente es el Webmaster

Apache el servidor Web más usado en GNU/Linux

Apache es un servidor web HTTP de código abierto, para plataformas Unix (BSD, GNU/Linux, etc.), aunque también hay versiones para Microsoft Windows, Macintosh y otras. Su nombre se debe a que el equipo de desarrollo quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, por eso se inspiraron en la tribu Apache.

La configuración

Paso 1 – Instalar el software necesrio

Una vez que somos usuarios administradores instalamos el software necesario

root@debian1:~# apt-get install apache2

La configuración pre-determinada es tan buena que el servidor web ya está listo lo único que queda es utilizar Firefox o cualquier navegador y escribir en la barra de direcciones “localhost” el resultado debe ser algo similar a esto:

apache - test page

Si desea acceder al servidor web desde otra computadora puede escribir el número IP directamente por ejemplo: 192.168.10.10, si ya tiene configurado el DNS puede utilizar el nombre asignado al equipo.

Paso 2 – Configurando la página web

Es necesario ubicar la página web en el lugar correcto, en ubuntu ese lugar es promiamente /var/www/html

root@debian1:~# cd /var/www/html
root@debian1:/var/www/html# ls
index.html
root@debian1:/var/www/html#

Notarás que hay un archivo llamado index.html, actualmente tiene la página web de prueba, vamos a eliminarlo para crear nuestra propia página web

root@debian1:/var/www/html# rm index.html

ahora vamos a crear nuestra página web

root@debian1:/var/www/html# rm index.html

¡Aparece en en blanco! No hay problema, lo dejamos así:

<HTML> 
<HEAD> 
<TITLE>1er Sitio Web (de Prueba)</TITLE> 
</HEAD> 
<BODY > 
<CENTER> 
<H1> Mi Primera p&aacute;gina Web </H1> 
</CENTER> 
<HR> 
P&aacute;gina Web de prueba para comprobar que el servidor apache2 funciona.
<center> 
<P> <A HREF="https://jugandoaseringeniero.wordpress.com/"> No olviden visitar el blog del Profe Carlos Leal </A> 
</center> 
</BODY> 
</HTML>

El resultado (siempre en firefox) es:

primera pagina web

Obviamente, la página web debe ser creada por un programador web o un Webmaster, en este caso, simplemente se copia la pagina web en /var/www/html

Archivos de configuración de Apache2

Si deseas hacer cambios en la configuración del servidor web, se necesita editar el archivo ubicado en /etc/apache2/sites-available/ cuyo nombre es 000-default.conf
Por favor no cambie nada si no está seguro de lo que está haciendo.

root@debian1:~# nano /etc/apache2/sites-available/000-default.conf

Listo, ya tenemos configurado el servidor web

El video explicando el procedimiento lo puse en mi canal de YouTube

 

Fuentes

https://es.wikipedia.org/wiki/World_Wide_Web

https://es.wikipedia.org/wiki/Servidor_HTTP_Apache

Servidor DNS en Debian 9.5

Por: Carlos Antonio Leal Saballos

El DNS es sin lugar a dudas uno de los servicios más importantes en el mundo de internet. El DNS es por mucho el alma, nervio y músculo de internet. Es un sistema que permite usar nombres de dominio en lugar de direcciones IP. La verdad es que un ser humano promedio será incapaz de recordar todos los números IP de todos los servidores que utiliza, no obstante, le resulta sencillo recordar los nombres de dominio.

Requisitos para configurar un servidor DNS

  • Configurar adecuadamente los parámetros de red, en este caso se utiliza 192.168.10.10 para el servidor.
  • Configurar manualmente los parámetros de red en el cliente o utilizar un servidor DHCP.
  • Se debe definir apropiadamente el nombre del equipo y del dominio, en este caso el nombre del servidor es tserver y utilizaremos los dominios hipotéticos debian.edu.ni y debian.com.ni.
  • Configurar adecuadamente el nombre de equipo editando el archivo /etc/hostname
  • Tomo en cuenta que:
    • Si el número IP del servidor es privado, entonces el dominio será privado.
    • Al usar un IP público el dominio será público.
    • En Nicaragua quien autoriza los dominios públicos es el nic.NI (http://www.nic.ni/)

Paso 0 –  Abrir un terminar y convertirse en super-usurio

cleal@tserver:~/Escritorio$ su -
Contraseña:
root@tserver:~#

Paso 1 – Instalar el software necesario

root@tserver:~# apt-get install bind9 dnsutils

Paso 2 – Realizar una copia de respaldo del archivo de configuración origianal

root@tserver:~# cp /etc/bind/named.conf.local /etc/bind/named.conf.local.original

Paso 3 – Editar el archivo de configuración

root@tserver:~# nano /etc/bind/named.conf.local

Agregamos al final

zone "debian.edu.ni" {
type master;
file "db.debian.edu.ni.zone";
};

zone "debian.com.ni" {
type master;
file "db.debian.com.ni.zone";
};

zone "10.168.192.in-addr.arpa" {
type master;
file "db.192.168.10";
};

Para asegurarnos que el archivo está bien

root@tserver:~# named-checkconf

Paso 4 – Crear los archivos de zona

Procedamos a crear los (nuevos) archivos de zona, esos archivos contienen los registros del DNS y en Debian se encuentran en el directorio /var/cache/bind/

Creamos el archivo de la zona debian.edu.ni

root@tserver:~# nano /var/cache/bind/db.debian.edu.ni.zone

¿Aparece en blanco? ¡No importa! Lo dejamos así:

$ORIGIN debian.edu.ni.
$TTL 86400            ; 1 dia
@       IN      SOA ns.debian.edu.ni. info.debian.edu.ni. (
        2018090701    ; serie
        6H            ; refresco (6 horas)
        1H            ; reintentos (1 hora)
        2W            ; expira (2 semanas)
        3H            ; mínimo (3 horas)
)

@      IN       NS     ns
@      IN       MX 10  mail
@      IN       A      192.168.10.10 
ns     IN       A      192.168.10.10
mail   IN       A      192.168.10.10
www    IN       A      192.168.10.10

Ahora creamos el archivo de la zona debian.com.ni

root@tserver:~# nano /var/cache/bind/db.debian.com.ni.zone

¿Aparece en blanco? ¡No importa! Lo dejamos así:

$ORIGIN debian.com.ni.
$TTL 86400            ; 1 dia
@       IN      SOA ns.debian.com.ni. info.debian.com.ni. (
        2018090701    ; serie
        6H            ; refresco (6 horas)
        1H            ; reintentos (1 hora)
        2W            ; expira (2 semanas)
        3H            ; mínimo (3 horas)
)

@      IN       NS     ns
@      IN       MX 10  mail
@      IN       A      192.168.10.10 # Esta es una configuración importante
ns     IN       A      192.168.10.10
mail   IN       A      192.168.10.10
www    IN       A      192.168.10.10

Vale la pena detectar errores en el archivo de zona

root@tserver:~# named-checkzone debian.edu.ni /var/cache/bind/db.debian.edu.ni.zone
zone debian.edu.ni/IN: loaded serial 2018090701
OK
root@tserver:~# named-checkzone debian.com.ni /var/cache/bind/db.debian.com.ni.zone
zone debian.com.ni/IN: loaded serial 2018090701
OK
root@tserver:~#

Ahora la zona de búsqueda inversa

root@tserver:~#  nano /var/cache/bind/db.192.168.10

¿Aparece en blanco? ¡No importa! Lo dejamos así:

$ORIGIN 10.168.192.in-addr.arpa.
$TTL 86400     ; 1 dia
@       IN  SOA ns.debian.edu.ni. info.debian.edu.ni. (
        2018090701    ; serie
        6H            ; refresco (6 horas)
        1H            ; reintentos (1 hora)
        2W            ; expira (2 semanas)
        3H            ; mínimo (3 horas)
)
@       IN      NS      ns.debian.edu.ni.
10      IN      PTR     ns.debian.edu.ni.
10      IN      PTR     mail.debian.edu.ni.
10      IN      PTR     www.debian.edu.ni.
10      IN      PTR     ns.debian.com.ni.
10      IN      PTR     mail.debian.com.ni.
10      IN      PTR     www.debian.com.ni.

También es se puede comprobar que la configuración esté bien con:

root@tserver:~#  named-checkzone 10.168.192.in-addr.arpa /var/cache/bind/db.192.168.10
zone 10.168.192.in-addr.arpa/IN: loaded serial 2018090701
OK
root@tserver:~#

Paso 5 – Re-iniciar el servicio

root@tserver:~# systemctl restart bind9
root@tserver:~# systemctl status bind9
  • bind9.service - BIND Domain Name Server
   Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-09-07 23:52:29 CST; 9s ago
 root@tserver:~#

Paso 6 – Editar el resolv.conf

root@tserver:~#  nano /etc/resolv.conf

Ponemos nuestro servidor como primer DNS

nameserver 192.168.10.10
nameserver 192.168.8.1

Paso 7 – Probar la configuración desde el servidor

Con un dominio interno

root@tserver:/var/cache/bind# nslookup debian.com.ni
Server:           192.168.10.10
Address:    192.168.10.10#53
Name: debian.com.ni
Address: 192.168.10.10
root@tserver:/var/cache/bind#

Con un dominio externo

root@tserver:/var/cache/bind# nslookup google.com.ni
Server:           192.168.8.1
Address:    192.168.8.1#53
Non-authoritative answer:
Name: google.com.ni
Address: 172.217.2.195
root@tserver:/var/cache/bind#

Paso 8 – Probar la configuración desde un cliente

clienteDNS

El procedimiento ha sido todo un éxito

El video explicando este proceso está en:

Servidor DHCP en Debian 9.5

Por: Carlos Antonio Leal Saballos

DHCP (Dynamic Host Configuration Protocol) es un estándar de internet definido en el RFC 2131 (http://www.ietf.org/rfc/rfc2131.txt). Por lo tanto, es un servicio de red que no es exclusivo de Debian, corre en cualquier sistema operativo que soporte TCP/IP, su función es proveer dinámicamente direcciones IP e información de configuración de los parámetros de red.

A los clientes se les configura para obtener la dirección IP de forma automática por medio del servidor DHCP, lo que significa que no tienen control sobre la configuración de red y pueden adquirir toda esta información directamente del servidor DHCP, el cual se encarga de configurar automáticamente la dirección IP de la máquina, la máscara de subred, la puerta de enlace predeterminada o Gateway, el nombre del host, el nombre del dominio, entre otros datos importantes para el buen funcionamiento de la red.

Aclaro que para este ejemplo utilizaremos el dominio hipotético “debian.edu.ni”

Paso 0 –  Abrir un terminar y convertirse en super-usurio

cleal@tserver:~/Escritorio$ su -
Contraseña:
root@tserver:~#

Paso 1 – Instalar el software necesario

root@tserver:~# apt-get install isc-dhcp-server

Al final de la instalación el servicio intenta activarse, no se preocupen si les manda un mensaje de error.

Paso 2 – Indicar ¿Qué adaptador repartirá las direcciones IP?

Para establecer la tarjeta de red que “repartirá” los números IP, se edita el archivo /etc/default/isc-dhcp-server y lo dejamos así:

# Línea 17
INTERFACESv4="enp0s8"

 

Paso 3 – Guardar el archivo de configuración original

root@tserver:~# mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original

Paso 4 – Crear el archivo de configuración

root@tserver:~# nano /etc/dhcp/dhcpd.conf

Lo dejamos así:

subnet 192.168.10.0 netmask 255.255.255.0
{
range 192.168.10.50 192.168.10.99;
option domain-name-servers 192.168.10.10;
option domain-name "debian.edu.ni";
option routers 192.168.10.1;
option broadcast-address 192.168.10.255;
default-lease-time 86400;
}

Paso 5 – re-iniciar y comprobar que el DHCP está corriendo

Nos aseguramos que el servicio esté funcionando adecuadamente

root@tserver:~# systemctl restart isc-dhcp-server
root@tserver:~# systemctl status isc-dhcp-server
  • isc-dhcp-server.service - LSB: DHCP server
   Loaded: loaded (/etc/init.d/isc-dhcp-server; generated; vendor preset: enabled)
   Active: active (running) since Fri 2018-09-07 23:10:07 CST; 11s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3078 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/isc-dhcp-server.service
          └─3090 /usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd.conf enp0s8
root@tserver:~#

Paso 6 – Probar en un cliente con Windows 7

Iniciamos un cliente y comprobamos la configuración de los parámetros de red

dhcpCLIENTE

Felicidades, hemos configurado correctamente el servidor DHCP

Hay un video explicando este proceso en mi Canal de YouTube