Como instalar y configurar Ubuntu Server 18.04 LTS

Como instalar y configurar Ubuntu Server 18.04 LTS

Como instalar y configurar Ubuntu Server 18.04 LTS
4.3 (86.67%) 3 votes
Canonical, empresa a cargo de Ubuntu Linux en sus versiones Desktop y Server nos trae una nueva versi贸n, la 18.04, bautizada como Bionic Beaver y este sera el tema de nuestro articulo el d铆a de hoy, como instalar y configurar Ubuntu Server 18.04 LTS paso a paso.

Que trae de nuevo Ubuntu Server Bionic Beaver

  • Kernel 4.15 con mayor soporte de hardware
  • OpenJDK en versi贸n 10, mas moderno
  • Mejoras en la seguridad. Parches para las ultimas vulnerabilidades como son聽Spectre y聽Meltdown
  • Actualizaci贸n a versi贸n 2.1 o superior del protocolo CIFS/SMB usado para montar vol煤menes Microsoft
  • Mejoras en modulos de configuracion de red
  • Nuevo asistente de instalaci贸n (Subiquity) de solo 9 pasos. OJO, no trae soporte para LVM, RAID. Si lo necesitas, debes descargar tu ISO desde este URL oficial
  • Manejo de contenedores con LXD versi贸n 3.0
  • QEMU versi贸n 2.11.1
  • libvirt versi贸n 4.0
  • Open vSwitch versi贸n 2.9
  • chrony en reemplazo de ntpd
  • MAAS versi贸n 2.4b2
  • nginx versi贸n 1.14.0
  • PHP 7.2.x
  • Apache versi贸n 2.4.29
  • OpenStack Queens

Y mucho mas que puedes consultar a profundidad en el articulo oficial de release 18.04 Bionic Beaver

Requisitos m铆nimos de Ubuntu Server Bionic Beaver LTS

  • Im谩genes ISO disponibles para聽AMD64, ARM, POWER8, LinuxONE y z Systems
  • 384Mb de RAM (mas es mejor)
  • 1.5Gb de disco (mas es mejor)
  • Tarjeta de v铆deo con resoluci贸n m铆nima de 640 x 480 (mas es mejor)
  • Unidad de DVD o puerto USB
  • Tarjeta de red con conectividad a internet

Instalaci贸n Ubuntu Server 18.04 Bionic Beaver LTS

-Comenzamos descargando el ISO de Ubuntu Server 18.04 desde el URL oficial

Te lo muestro en v铆deo. No olvides suscribirte a mi canal en YouTube

-Creamos un DVD o USB booteable y hacemos boot en el equipo a instalar

Si el servidor sera instalado en una maquina virtual, este paso seria copiar o descargar el ISO en el manejador de maquinas virtuales o contenedores

Al hacer boot nos saldr谩 en pantalla por unos segundos dos iconos esperando que presionemos cualquier tecla

Al hacer boot Ubuntu Server esperara que presionemos alguna tecla
Al hacer boot Ubuntu Server esperara que presionemos alguna tecla

-Seguidamente veremos un listado de idiomas. Elegimos el que queremos usar para instalar y presionamos Enter

Se nos muestra un listado de idiomas disponibles, elegimos y presionamos Enter
Se nos muestra un listado de idiomas disponibles, elegimos con cual instalar y presionamos Enter

-Nos aparece un breve men煤 donde elegiremos la primera opci贸n, Instalar Ubuntu Server

Ademas, podemos comprobar la integridad del disco desde el que estamos instalando, comprobar memoria RAM o arrancar desde el primer disco duro presente en el equipo (opci贸n muy 煤til cuando por alguna raz贸n se nos da帽o el sector de arranque y no hace boot el equipo)
Presionamos Enter

Elegimos la primera opci贸n del menu para iniciar la instalaci贸n
Elegimos la primera opci贸n del men煤 para iniciar la Ubuntu server 18.04 instalaci贸n

-Comenzamos a instalar Ubuntu Server 18.04 en el nuevo asistente creado por Canonical para Bionic Beaver

Este proceso es de solo 9 pasos y al final ya estar谩 instalado nuestro servidor opensource

En el primer paso elegimos, nuevamente, el idioma por medio del cursor del teclado para instalar Ubuntu Server y presionamos Enter

Elegimos idioma de instalaci贸n de Ubuntu Server en el asistente de 9 pasos
Primer paso: Elegimos idioma de instalaci贸n de Ubuntu Server en el asistente de 9 pasos

-En el siguiente paso elegimos la distribuci贸n de nuestro teclado

Esta puede tener variantes por lo cual elegimos Layout y Variant

En caso dado podemos utilizar la opci贸n de Identify keyboard para que el asistente detecte la distribuci贸n de forma autom谩tica (mi recomendaci贸n es que lo hagas de forma manual)

Elegimos distribuci贸n del teclado del servidor
Segundo paso: Elegimos distribuci贸n del teclado del servidor linux

-En mi caso en especial, el teclado que utilizo es Espa帽ol latinoamericano

Presionamos Enter y buscamos la distribuci贸n presionando la tecla Espacio sobre la que queramos utilizar

Buscamos la distribuci贸n de teclado dentro del listado y presionamos Espacio para activarla
Buscamos la distribuci贸n de teclado dentro del listado y presionamos Espacio para activarla

-Ya seleccionada la distribuci贸n de nuestro teclado, bajamos por medio del cursor del teclado y presionamos Enter sobre Hecho (tambi茅n podr铆amos presionar Alt H)

Al final nuestra distribuci贸n de teclado debe quedar correctamente seleccionada
Al final nuestra distribuci贸n de teclado debe quedar correctamente seleccionada

-Ahora Ubuntu nos permite instalarlo para servicios MAAS en la nube (cloud) ademas de la tradicional instalaci贸n

Presionamos Enter sobre la opci贸n Instalar Ubuntu

Podemos instalar Ubuntu Server 18.04 de forma tradicional o en el cloud
Tercer paso: Podemos instalar Ubuntu Server 18.04 de forma tradicional o en el cloud

-Seguidamente debemos definir como se conectara nuestro servidor opensource

En caso de haber varias tarjetas de red, estas ser谩n mostradas

Seleccionamos la que usaremos y esta por default se conectara por medio del protocolo DHCP

Si todo esta correcto bajamos por medio del cursor del teclado a Hecho聽y presionamos Enter聽(o presionamos Alt H) para continuar

Seleccionamos y activamos la tarjeta de red a usar por nuestro servidor linux
Cuarto paso: Seleccionamos y activamos la tarjeta de red a usar por nuestro servidor linux

-Llegamos al 5to paso (aunque el asistente dice que es el 4to) donde podemos configurar la salida a internet por medio de un proxy si fuera el caso

Si la salida es directa dejamos en blanco (el default) y bajamos por medio del cursor del teclado a Hecho (o la combinaci贸n Alt H) y presionamos Enter

Si nuestro servidor saldra a internet por medio de un proxy, en este paso lo configuramos
Quinto paso: Si nuestro servidor saldr谩 a internet por medio de un proxy, en este paso lo configuramos

Como particionar Ubuntu Server 18.04

-Momento para definir como particionaremos el disco duro de nuestro servidor. Tenemos dos opciones:

  • Use An Entire Disk: Usar completamente el disco, no se requiere conocimiento por parte nuestra porque el asistente har谩 todo el trabajo de forma autom谩tica. La informaci贸n que haya en el disco se perder谩 porque el asistente lo formateara y tomara completo para Ubuntu
  • Manual: Nos permite crear un esquema de particionado a nuestro gusto o necesidad. Debemos conocer que estamos haciendo porque seleccionaremos formato de filesystem, tama帽o de particiones y donde se montaran. 脷til si ya el disco (o discos) tienen informaci贸n que no queremos perder

Presionamos Enter

Prefieres verlo en v铆deo? Aqu铆 debajo te muestro como particionar Ubuntu Server

No olvides suscribirte a mi canal

Elegimos como particionar el disco del servidor linux
Elegimos como particionar el disco del servidor linux

-Se nos mostrara un listado de los discos en el equipo

Presionamos Enter sobre el que instalaremos

Seleccionamos el disco duro sobre el que instalaremos Ubuntu Server
Sexto paso: Seleccionamos el disco duro sobre el que instalaremos Ubuntu Server

-Vemos un resumen de las operaciones que se har谩n con el disco

Verificamos este correcto y bajamos con el cursor del teclado a Hecho (o presionamos Alt H) y presionamos Enter para continuar

En caso de querer hacer alg煤n cambio, podemos restablecer (es decir, borrar el esquema de particionado elegido) y volver a comenzar usando la opci贸n Restablecer

Verificamos el resumen de particionado de disco antes de realizarse
Verificamos el resumen de particionado de disco antes de realizarse

-Se nos pide confirmaci贸n para crear las particiones y formatear

Elegimos con el cursor Continuar y presionamos Enter

Confirmamos el particionado y formateo de disco
S茅ptimo paso: Confirmamos el particionado y formateo de disco

Como crear una cuenta de usuario al instalar Ubuntu Server

-Creamos una cuenta de usuario para administrar nuestro servidor con los siguientes datos:

  • Su nombre: Nombre de la persona
  • El nombre del servidor: Una palabra (hostname) que identificara el equipo en tu red
  • Elija un nombre de usuario: El nombre de usuario
  • Elija una contrase帽a: Escribe una contrase帽a fuerte, lo suficientemente larga y compleja
  • Confirme la contrase帽a: Vuelve a escribir la contrase帽a
  • Importar identidad SSH: Tienes una cuenta en Github o Launchpad? En esta opci贸n puedes importar tus llaves. Al hacerlo se habilitar铆a el campo Import Username

Presionamos Enter sobre Hecho

Creamos una cuenta de usuario para administrar nuestro Ubuntu Server 18.04 opensource
Octavo paso: Creamos una cuenta de usuario para administrar nuestro Ubuntu Server 18.04 opensource

-Llegamos al final de la instalaci贸n en solo 9 pasos y podemos leer un resumen de todo lo hecho

Presionamos Enter sobre Reiniciar ahora

Terminamos la instalaci贸n de nuestro servidor Linux
Noveno paso: Terminamos la instalaci贸n de nuestro servidor Linux

-Comienza el reinicio del servidor

Se nos pide retirar el medio de instalaci贸n (USB booteable, DVD o ISO) y presionar Enter

Retiramos el DVD o USB para reiniciar el servidor
Retiramos el DVD o USB para reiniciar el servidor

Iniciando Ubuntu Server LTS

-Al hacer boot por primera vez nuestro servidor linux nos mostrara al final una serie de mensajes que puede que te sorprendan pero no hay de que preocuparse

Son mensajes de ssh al crearse nuestras llaves para la cuenta de usuario creada al instalarse

Te puede sorprender ver en pantalla la creaci贸n de tus llaves ssh en Ubuntu Server 18.04
Te puede sorprender ver en pantalla la creaci贸n de tus llaves ssh en Ubuntu Server 18.04

-Presionamos Enter y nos logeamos con nuestra cuenta de usuario

Nos logeamos con nuestra cuenta de usuario en nuestro servidor opensource
Nos logeamos con nuestra cuenta de usuario en nuestro servidor opensource

Como actualizar Ubuntu Server LTS

-Un servidor actualizado es un equipo que no estar谩 expuesto a bugs de software, sera estable y mas seguro por lo cual es MUY recomendable mantenerlo al d铆a y que sea la primera tarea al logearnos por primera vez

Ejecutamos los siguientes comandos:

sudo apt update
sudo apt dist-upgrade

Se nos pedir谩 nuestra contrase帽a de usuario por el uso del comando sudo lo cual nos permitir谩 ejecutar estos comandos como root (administrador del OS)

Por medio de sudo actualizamos nuestro servidor Linux Ubuntu
Por medio de sudo actualizamos nuestro servidor Linux Ubuntu

-Ya tenemos totalmente actualizado y listo para producci贸n nuestro servidor Linux Ubuntu Server Bionic Beaver 18.04 LTS

Ya actualizado nuestro servidor Ubuntu 18.04 esta listo para producci贸n
Ya actualizado nuestro servidor Ubuntu 18.04 esta listo para producci贸n

Ubuntu DHCP Server

Un protocolo casi indispensable que te ahorrara tiempo de administraci贸n de tus equipos en red es DHCP y en Ubuntu Server 18.04 es relativamente sencillo instalarlo y configurarlo como te mostrare a continuaci贸n

Como configurar dhcp ubuntu server

-Ejecutamos el siguiente comando en consola para instalar nuestro Ubuntu DHCP Server

sudo apt install isc-dhcp-server

-Modificamos la configuracion prestado especial atenci贸n a la interfaz de red, en este ejemplo, la enp0s8 (haz el cambio a la de tu ubuntu server)

No usaremos en este ejemplo interfaz tcpv6, por lo cual no la escribimos

sudo vi /etc/default/isc-dhcp-server
DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
DHCPDv4_PID=/var/run/dhcpd.pid
INTERFACESv4="enp0s8"
INTERFACESv6=""

-Creamos el rango de ips en la subred de nuestra interfaz de red a repartir por medio de nuestro Ubuntu DHCP Server

Par谩metros a configurar:

  • subnet: Subred a usar con su mascara de red
  • range: Grupo consecutivo de ips que repartir谩 Ubuntu DHCP Server (ip-menor-inicio ip-mayor-final)
  • option domain-name-servers: DNS a usar
  • option domain-name: Dominio internet que usaran nuestros equipos(hostname.domain-name)
  • option routers: Gateway o puerta de salida a usarse por los equipos
  • option broadcast-address: Direccion broadcast de la subred
  • host <nombre-equipo>: Asignaci贸n de ip fija por medio de su MAC address

sudo vi /etc/dhcp/dhcpd.conf
ddns-update-style none;
#authoritative;
default-lease-time 300;
max-lease-time 1200;
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.50 192.168.1.70;
option domain-name-servers 192.168.1.1;
option domain-name "drivemeca.com";
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
}
#IPs reservadas est谩ticas
host CLIENT3 { hardware ethernet 08:00:27:0f:5f:fd; fixed-address 192.168.1.10;
}

-Reiniciamos el servicio y verificamos su ejecuci贸n correcta

sudo systemctl restart isc-dhcp-server
sudo systemctl status isc-dhcp-server

Ubuntu sudoers

No hay nada mas peligroso que estar trabajando todo el tiempo desde la cuenta root en un servidor Linux

La soluci贸n es agregar nuestro usuario (o crear) al fichero sudoers y as铆 poder utilizar el comando sudo cuando queramos ejecutar comandos con privilegios de root

-Si no tienes aun la cuenta, la creamos (para este ejemplo creare la cuenta drivemeca)

adduser drivemeca

-Verificamos la creaci贸n de nuestra cuenta de usuario com煤n mirando el contenido de /etc/passwd

cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
syslog:x:100:102::/home/syslog:/usr/sbin/nologin
systemd-network:x:101:106:systemd Network Management,,,:/run/systemd/netif:/usr/sbin/nologin
systemd-resolve:x:102:107:systemd Resolver,,,:/run/systemd/resolve:/usr/sbin/nologin
messagebus:x:103:108::/nonexistent:/usr/sbin/nologin
postfix:x:104:109::/var/spool/postfix:/usr/sbin/nologin
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
sshd:x:106:65534::/run/sshd:/usr/sbin/nologin
uuidd:x:107:113::/run/uuidd:/usr/sbin/nologin
drivemeca:x:1000:1000:Manuel Cabrera Caballero,,,:/home/drivemeca:/bin/bash

Quieres verlo en v铆deo, aqu铆 debajo te lo comparto. No olvides suscribirte a mi canal en YouTube

-Agregamos la nueva cuenta de usuario al fichero sudoers con permisos para ejecutar el comando sudo

usermod -aG sudo drivemeca

-Ingresamos a la nueva cuenta

su -l drivemeca

-Probamos el permiso sudo ejecutando un comando que requiere privilegios de root, ejemplo, verificar actualizaciones de paquetes en nuestro ubuntu server con el comando apt

sudo apt update
[sudo] password for drivemeca:
Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Get:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Get:3 http://archive.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB] Fetched 172 kB in 1s (129 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.

Ya tenemos una cuenta de usuario com煤n con permisos para sudo en el archivo sudoers.

Ubuntu deb. Como buscar paquetes

Existen varias formas para buscar paquetes deb para nuestro servidor Ubuntu Linux

Estos deb pueden ya estar instalados o no ademas de poder buscar por medio de un file (ejemplo, un .conf, o un .c, etc) para finalmente llegar al paquete necesitado

Te lo muestro en v铆deo. No olvides suscribirte a mi canal en YouTube

Ubuntu apt-file

apt-file puede decirte a qu茅 paquete pertenece un archivo dado, esto incluye tanto los paquetes instalados como los que a煤n no lo est谩n

-Por default no viene instalado por lo cual para usarlo primero debemos instalarlo en nuestro servidor Ubuntu

sudo apt install apt-file

-Seguidamente debemos actualizar sus indices

sudo apt-file update

-Ya actualizados sus indices podemos buscar (por ejemplo, que paquete .deb debo instalar para wget)

Se nos mostrara de la forma

  • paquete a instalar: path del archivo buscado finalmente

sudo apt-file search wget
abs-guide: /usr/share/doc/abs-guide/examples/wgetter2.bash.gz
bash-completion: /usr/share/bash-completion/completions/wget
cclib-data: /usr/lib/python2.7/dist-packages/cclib/data/wget.sh
cclib-data: /usr/share/pyshared/cclib/data/wget.sh
cupt-dbg: /usr/lib/debug/usr/lib/cupt4-2/downloadmethods/libwget.so
emscripten: /usr/share/emscripten/tests/test_wget.c
epic4-script-lice: /usr/share/epic4/lice/lice/lice.wget.gz
epic5-script-lice: /usr/share/epic5/lice5/lice/lice.wget
firejail-profiles: /etc/firejail/wget.profile
fish-common: /usr/share/fish/completions/wget.fish
fp-units-misc-3.0.4: /usr/lib/x86_64-linux-gnu/fpc/3.0.4/units/x86_64-linux/fppkg/pkgwget.o
fp-units-misc-3.0.4: /usr/lib/x86_64-linux-gnu/fpc/3.0.4/units/x86_64-linux/fppkg/pkgwget.ppu
fpc-source-3.0.4: /usr/share/fpcsrc/3.0.4/packages/fppkg/src/pkgwget.pp
fvwm-crystal: /usr/share/fvwm-crystal/fvwm/Applications/Network/File_Transfer/~gwget2~Download_Manager
gmusicbrowser: /usr/share/gmusicbrowser/simple_http_wget.pm
gnome-colors-common: /usr/share/icons/gnome-colors-common/16x16/apps/gwget.png
gnome-colors-common: /usr/share/icons/gnome-colors-common/22x22/apps/gwget.png
gnome-colors-common: /usr/share/icons/gnome-colors-common/24x24/apps/gwget.png
gnome-colors-common: /usr/share/icons/gnome-colors-common/32x32/apps/gwget.png
gnome-colors-common: /usr/share/icons/gnome-colors-common/scalable/apps/gwget.svg
gnustep-base-doc: /usr/share/doc/gnustep-base-doc/examples/Examples/wgetopt.h
kde-baseapps-data: /usr/share/kde4/services/useragentstrings/wgetoncurrent.desktop
kio: /usr/share/kservices5/useragentstrings/wgetoncurrent.desktop
wget: /etc/wgetrc
wget: /usr/bin/wget
wget: /usr/share/doc/wget/AUTHORS
wget2: /usr/bin/wget2

Es la forma mas b谩sica de buscar con apt-file, aun as铆 puedes mirar mas formas consultando su manual

man apt-file

Ubuntu dpkg

dpkg es un gestor de paquetes para sistemas basados en Debian

Puede instalar, eliminar y crear paquetes, pero a diferencia de otros sistemas de administraci贸n de paquetes, no puede descargar e instalar autom谩ticamente paquetes o sus dependencias

-Este comando ya viene instalado por default y podemos usarlo de la siguiente forma (para buscar el .deb de wget)

sudo dpkg -S wget
language-pack-en-base: /usr/share/locale-langpack/en@quot/LC_MESSAGES/wget.mo
wget: /usr/share/doc/wget/NEWS.gz
wireless-tools: /usr/share/man/man8/iwgetid.8.gz
wget: /usr/bin/wget
wireless-tools: /usr/share/man/fr.ISO8859-1/man8/iwgetid.8.gz
wireless-tools: /usr/share/man/fr.UTF-8/man8/iwgetid.8.gz
language-pack-es-base: /usr/share/locale-langpack/es/LC_MESSAGES/wget.mo
libperl4-corelibs-perl: /usr/share/perl5/newgetopt.pl
language-pack-en-base: /usr/share/locale-langpack/en_GB/LC_MESSAGES/wget.mo
wget: /usr/share/doc/wget/MAILING-LIST
wireless-tools: /usr/share/man/cs/man8/iwgetid.8.gz
wireless-tools: /sbin/iwgetid
wget: /usr/share/doc/wget/changelog.Debian.gz
wget: /usr/share/man/man1/wget.1.gz
wget: /usr/share/info/wget.info.gz
wget: /usr/share/doc/wget/AUTHORS
wget: /usr/share/doc/wget/README
language-pack-en-base: /usr/share/locale-langpack/en_AU/LC_MESSAGES/wget.mo
wget: /etc/wgetrc
wget: /usr/share/doc/wget/copyright
language-pack-en-base: /usr/share/locale-langpack/en@boldquot/LC_MESSAGES/wget.mo
bash-completion: /usr/share/bash-completion/completions/wget
wget: /usr/share/doc/wget

-Otra variante es buscar con el path incluido (continuamos con el ejemplo de wget)

sudo dpkg -S /usr/bin/wget
wget: /usr/bin/wget

De esta forma podemos buscar paquetes .deb est茅n o no instalados ya en nuestro Ubuntu Server 18.04

Como crear un SSL auto firmado para Apache en Ubuntu Server 18.04

Hoy en d铆a podemos decir que todas las aplicaciones o desarrollos web se exigen que sean con SSL

Desde los navegadores (chrome, firefox, etc) hasta el propio Google te califican si tienes o no un sitio seguro con SSL

El problema es que no siempre podemos contar con un certificado para desarrollos o pruebas y es donde nos puede servir un SSL auto firmado
Te lo muestro en v铆deo. No olvides suscribirte a mi canal en YouTube

En que se diferencia un SSL normal a uno auto firmado?

B谩sicamente un SSL normal es respaldado por una entidad en internet, sea godaddy, let’s encrypt, etc mientras que uno auto firmado es creado por nosotros mismos para nuestra LAN o desarrollos internos

OJO, un SSL auto firmado no es valido en internet, solo para nuestro consumo interno

Generamos un SSL auto firmado Apache

-Por medio del comando openssl generaremos un certificado SSL auto firmado por 365 d铆as

Esta tarea nos llevara a que finalmente tendremos una llave y el certificado despu茅s de escribir los datos que nos solicita

Haz los cambios seg煤n tu servidor (para este ejemplo mi servidor Ubuntu usa la ip 192.168.5.104)
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfs.crt
[sudo] password for drivemeca:
Generating a 2048 bit RSA private key
................+++
....................+++
writing new private key to '/etc/ssl/private/apache-selfsigned.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CO

State or Province Name (full name) [Some-State]:Distrito Capital


Locality Name (eg, city) []:Bogota


Organization Name (eg, company) [Internet Widgits Pty Ltd]:DriveMeca


Organizational Unit Name (eg, section) []:Sistemas


Common Name (e.g. server FQDN or YOUR name) []:192.168.5.104


Email Address []:info@drivemeca.com

Directorio de certificados y llaves: /etc/ssl

Personalizamos configuracion de SSL auto firmado

-Para mayor seguridad y flexibilidad, haremos unos cambios en la configuracion de SSL

Deshabilitaremos la funcionalidad HSTS
sudo vi /etc/apache2/conf-available/ssl-params.conf
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
SSLSessionTickets Off

Personalizamos virtualhost de apache

-Antes que nada, haremos una copia del fichero聽default-ssl.conf, as铆 si despu茅s quieres devolver cambios podr谩s hacerlo sin problemas
sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak

-Seguidamente modificamos el fichero con el virtualhost SSL

Presta atenci贸n a las lineas del crt y key
sudo vi /etc/apache2/sites-available/default-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin info@drivemeca.com

ServerName 192.168.5.104

DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfs.crt

SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

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

Activamos redireccion http a https

-Ya con los cambios anteriores aun podemos conectarnos al puerto 80 (http) pero no al puerto 443 (https)

Editamos el file default y agregamos una linea redirect que direccionara todas las conexiones http a https
sudo vi /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
Redirect "/" "https://192.168.5.104/"

..

Activamos los m贸dulos SSL y headers de Apache

Seguidamente activaremos el virtualhost con SSL
-Comenzamos activando mod_ssl, el modulo SSL de Apache y mod_headers y aunque nos pide reiniciar Apache, aun no lo haremos
sudo a2enmod ssl
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Module socache_shmcb already enabled
Module ssl already enabled

sudo a2enmod headers
Enabling module headers.
To activate the new configuration, you need to run:
systemctl restart apache2

-Activamos el virtualhost con SSL
sudo a2ensite default-ssl
Enabling site default-ssl.
To activate the new configuration, you need to run:
systemctl reload apache2

-Tambi茅n necesitamos ssl-params para que active los cambios que hicimos
sudo a2enconf ssl-params
Enabling conf ssl-params.
To activate the new configuration, you need to run:
systemctl reload apache2

-Verificamos no hayan errores en la configuracion (alg煤n car谩cter mal escrito, path, etc)
Aunque en la primera linea dice que ServerName no esta correcto podemos dejarlo as铆 o modificar /etc/apache2/apache2.conf colocando nuestra ip o domain
Esto eliminar铆a ese mensaje, aunque repito, no es obligatorio ya que respondi贸 Syntax OK
sudo apache2ctl configtest
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.5.104. Set the 'ServerName' directive globally to suppress this message
Syntax OK

-Ahora si, reiniciamos el servicio Apache2
sudo systemctl restart apache2

Probamos conexiones https con SSL auto firmado

-Abrimos un navegador y nos dirigimos al URL https://IP-servidor-ubuntu/

Por lo general te saldr谩 una alerta ya que los navegadores no conf铆an en los SSL auto firmados, lo aceptamos y continuamos

Aunque el navegador nos alerta, en este caso aceptamos el SSL auto firmado
Aunque el navegador nos alerta, en este caso aceptamos el SSL auto firmado

-Si damos click al candado en la barra superior del URL podemos ver a detalle nuestro SSL auto firmado con los datos que lo creamos

Al inspeccionar el SSL auto firmado veremos los datos con que fue creado
Al inspeccionar el SSL auto firmado veremos los datos con que fue creado

Activamos de forma permanente solo conexiones https en Ubuntu Server 18.04

-Si ya confirmamos que funciona bien el https y queremos solo dejar ese tipo de conexiones
Eliminar las conexiones http es sencillo, solo modificamos el redirect para que sea permanente
sudo vi /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
Redirect permanent "/" "https://192.168.5.104/"

..
-Verificamos nuevamente que toda la configuracion de apache este correcta
sudo apache2ctl configtest
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.5.104. Set the 'ServerName' directive globally to suppress this message
Syntax OK

-Reiniciamos el servicio por ultima vez
sudo systemctl restart apache2

Con lo cual ya contamos con un certificado SSL auto firmado Apache en nuestro servidor Ubuntu

Ubuntu Server locale settings

En Linux (en este caso Ubuntu server 18.04) manejamos los par谩metros de configuracion regional por medio de comandos locale

Estos par谩metros se activaran como variables que la mayor铆a de nuestros servicios usaran, ejemplo, pa铆s, zona horaria, idioma, etc

Como ver nuestra configuracion locale actual en Ubuntu

-Para esto ejecutamos en consola el siguiente comando

locale
LANG=C
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

Como cambiar locale en Ubuntu

-Supongamos que queremos agregar par谩metros ingles americano, ingles americano UTF-8 y espa帽ol colombiano UTF-8

Las siglas se explican as铆:

  • en_US: Ingles americano
  • en_US.UTF-8: Ingles americano UTF-8
  • es_CO.UTF-8: Espa帽ol de Colombia UTF-8

sudo locale-gen en_US en_US.UTF-8 es_CO.UTF-8
[sudo] password for drivemeca:
Generating locales (this might take a while)...
en_US.ISO-8859-1... done
en_US.UTF-8... done
es_CO.UTF-8... done
Generation complete.

-Reconfiguramos para que se tomen los nuevos cambios

sudo dpkg-reconfigure locales

-Nos aparece una ventana con una breve explicaci贸n sobre que hacemos al configurar locale

Presionamos Enter para continuar

Al reconfigurar locale en la ventana se nos explica que es brevemente
Al reconfigurar locale en la ventana se nos explica que es brevemente

-Nos desplazamos por el listado con el cursor de nuestro teclado y con la tecla ESPACIO marcamos los locales que queremos dejar activos

Presionamos la tecla TAB para movernos al bot贸n inferior Ok y presionamos Enter para salir

Busca en el listado los locale que necesitas y activalos con la tecla ESPACIO
Busca en el listado los locale que necesitas y activalos con la tecla ESPACIO

-Y aunque podemos elegir varios, solo puede haber uno por default (principal activo)

Bajamos en los que tenemos activos, lo dejamos seleccionado (en este caso es_CO.UTF-8) y presionamos TAB para el bot贸n Ok y seguidamente Enter para salir

Seleccionamos el locale a dejar predeterminado en Ubuntu Server
Seleccionamos el locale a dejar predeterminado en Ubuntu Server

Como activar los cambios locale en un servidor Ubuntu

-Nos deslogeamos de nuestra cuenta de usuario y volvemos a logearnos

Verificamos nuevamente y ya debe aparecernos nuestro locale
locale
LANG=es_CO.UTF-8
LANGUAGE=
LC_CTYPE="es_CO.UTF-8"
LC_NUMERIC="es_CO.UTF-8"
LC_TIME="es_CO.UTF-8"
LC_COLLATE="es_CO.UTF-8"
LC_MONETARY="es_CO.UTF-8"
LC_MESSAGES="es_CO.UTF-8"
LC_PAPER="es_CO.UTF-8"
LC_NAME="es_CO.UTF-8"
LC_ADDRESS="es_CO.UTF-8"
LC_TELEPHONE="es_CO.UTF-8"
LC_MEASUREMENT="es_CO.UTF-8"
LC_IDENTIFICATION="es_CO.UTF-8"
LC_ALL=

Seguramente te encontraras sistemas que pidan una u otra configuracion locale activa para su funcionamiento

Soluci贸n de errores Ubuntu

En esta secci贸n te ir茅 escribiendo diferentes soluciones a errores que pueden irte saliendo en tu uso de Ubuntu, Ubuntu Server o alguna de las distros basadas en Ubuntu

error add-apt-repository: command not found

Este infame error no permitir谩 que agregues repositorios a tu Ubuntu y la soluci贸n es r谩pida y sencilla

Instalamos el paquete software-properties-common

sudo apt install software-properties-common

Ubuntu Server 18.04 Bionic Beaver llega con nuevo asistente de instalaci贸n con solo 9 pasos y variadas opciones de uso.

Es r谩pido y sencillo para que lo puedas tener listo en muy poco tiempo.

Que te pareci贸 este articulo? Ya usas el OS opensource de Canonical? Hablemos aqu铆 debajo en los comentarios

Satisfech@ con el articulo, hazme una donaci贸n, no importa la cantidad, la intenci贸n es lo que vale, dale click a este bot贸n

Comparte este articulo opensource en tus redes sociales (compartir es sexy) por medio de los botones de redes sociales para que otros lo conozcan y apoyes mi blog.

Ademas, no olvides escribirme en los comentarios aqu铆 debajo y pasa la voz compartiendo el tweet.

Escribe tu comentario

Please Login to comment
  Suscribete  
Notificaci贸n de