About Taringa!

Popular channels

Conviertí esta vieja PC en servidor web 2




Saludos familia latina. 
"Por mi raza hablará el espíritu"




Gracias por entrar a mi post, si tu eres experto en Unix o Unix-like seguramente encontrarás cosas con las que no estaras de acuerdo, incluso podría hacerte reir. O si no te consideras un experto igualmente quiero comentarles que no soy guru del tema que aquí trataré, y por supuesto no me siento guru, mi intención es compartir algunas cosas que aprendi como resultado de estudiar por mi cuenta durante muchos meses, incluso años. La introducción en este tema no fue fácil, el aprendizaje y documentación para administración de sistemas Linux, Unix, Unix-like es muy concreta, para entenderla hay que prácticar mucho e investigar bastante. Indagando llegue a mucha documentación en inglés, y yo no sabía ingles, pero tengo un diccionario que fue de mucha ayuda estos años. Gracias por pasar espero que la información que encontralas a lo largo de estos tres post te sea de utilidad, o bien, la compartes este post a quién pudiera serle de ayuda.


Queridos taringueros, escribo en plurar para referirme a Ustedes y a mi.

Durante este post nos acompañará Charlie Chaplin, el super genio del séptimo arte, de la comedia y de los primeros largometrajes. Todo un honor tener a maravillos invitado.


En el post anterior Conviertí esta vieja PC en servidor web instalamos GNU/Linux Debian en un equipo viejo con procesador Pentium 4 y mencioné que sería un servidor para desarrollo web y por lo tanto no estaría sujeto a fuertes cargas de trabajo ya que solo tendrá una petición cliente solicitando solo un sitio web.

Lamentablemente la desisción de insalar una interfaz gráfica a despertando gran malestar en algunos visitantes y por medio del inbox me han dicho que no soy mas que un principiante, al parecer una interfaz gráfica en un servidor es una ofenza para la sabiduría, habilidad y conocimientos de algunos usuarios linux. Así que pido disculpas. Solo deseo agregar que la desisición de instalar la interfaz gráfica ligera como xfce es para darle uso al acelerador gráfico de 32 MB. Este servidor tiene una finalidad educativa y esa interfaz gráfica tiene fines educativos, para mostrar en post posteriores el trabajo en escritorio linux.

También mencioné algunas tareas pendientes que tenemos que ejecutar antes de instalar los servicios necesarios para poner en producción el servidor.
En este post abordaremos algunas configuraciones básicas:
  • Abrir puertos del router para direccionar el acceso SSH
  • Conexión SSH
  • "Formateo" osea particionao del disco duro secundario
  • Montar la unidad secundaria automáticamente. Archivo fstfb.
  • Crear directorios en la unidad secundaria, como podrían ser www, ftp, rep. etc.
  • Actualizar la fecha y hora del sistema y BIOS.
  • Copiar la imagen iso del disco de instalación de Debian.
  • Descargar la imagen iso con wegt si no estamos en situ.
  • Actualización del archivo fstab para que cargue el disco duro automáticamente y cargue la imagen iso como otra unidad.
  • Modificar el archivo sources.list para que cargué la imagen iso en los repositorios de actualización de sistema.
  • Escribir un sencillo cron que actualice la base de datos de repositorios Debian y después actualice el sistema con un upgrade.







Iniciemos

Apertura de puertos en el router.
Si vamos de viaje con la familia y tenemos tiempos muertos con acceso a internet, entonces podremos conectarnos a nuestro servidor por medio la conexión SSH y administrar nuestro pequeño server, para lograrlo necesitamos decirle a nuestro router a que máquina corresponde cierta solicitud, este proceso se llama abrir los puertos.
Para abrir los puerto necesitamos ingresar al administrador el ruoter, esto se realiza gracias a una simple página web gestionada por el propio enrutador.
Para acceder por lo regular es mediante las direcciones:
  • http://192.168.0.254
  • http://192.168.1.254

Esto dependerá de la marca del router, será su tarea ver el manual para ingresar al suyo.
Una vez hecha lo solicitud el router pedirá el usuario y contraseña
Ingresamos:

Dentro de nuestro administrador vamos a “Forwarding”, después a Port “Triggering”:




Aquí debemos indicar el rango de puertos que necesitamos abrir:


  • SSH requiere puerto 22
  • FTP puerto 21
  • Servidor web puerto 80
  • Hacemos clic en “new” y se abrirá una ventana para dar de alta un puerto
  • En trigger port ponenos: 21
  • En incoming port: 21
  • guardamos y repetimos este proceso con los puerto 22 y 80.

Listo los puertos ya están abiertos, ahora debemos indicar a que IP se deben enrutar las solicitudes. Es decir a que PC o servidor se direcciona cada puerto.


Vamos a la opción “Virtual Servers”
  • Damos clic en botón “new”
  • En Service Port: 21
  • En IP Address: 192.168.0.2 (nota: este ip es mi caso, yo asigne este al servidor.)
  • En Protocol: TCP
  • En Status: Habilitado
  • Finalmente damos clic en “save”.
  • Repetimos para los puerto 22 y 80, y que apunten al mismo IP.

Vamos a la opción “System Tools” – “Reboot” y reiniciamos el router.



Conexión SSH.
Bien querida Generación Espontánea TI llego la hora de portarnos como administradores.
Vamos a requerir conectarnos mediante el servidor ssh de nuestro servidor y usaremos el arma más poderosa del planeta, la terminal de comandos, o consola de comandos. También se le llama "shell" y en debian "bash"

¿Que requerimos?Usuarios de escritorio linux solo abrir la consola.En la siguiente imagen inicio sesión SSH desde linux mint en una maquina virtual montada en otro servidor,
ingresamos comando: ssh [email protected] -p 22, por ejemplo: [email protected] -p 22.


La primera vez preguntará si deseamos establecer la noneción y escribimos: yes
Damos enter y pedira que escribamos la contraseña.


Usuarios de linux sin escritorio pues no creo que esten viendo este tutorial.
Sin embargo la forma de ingresar es la misma, ingresar comando: ssh [email protected] -p 22, por ejemplo: [email protected] -p 22.

Usuarios del Ventanas de Bill necesitaremos un cliente ssh yo recomiendo PuTTY, no requiere instalación.
http://www.putty.org/

También esta KiTTY que igualmente no requiere instalación.
http://www.fosshub.com/KiTTY.html

Yo tengo una obsesión casi afrodisiaca con mi Sony Vaio que tiene instalado el Ventanas 8.1 Enterprise, así que usare PuTTY.

Indiferentemente si usamos linux, unix-like, unix o el ventanas de bill con putty, una vez ingresados con nuestra consola usaremos  los mismos comandos.
Yo usaré el vantanas 8.1 de bill, espero que los fanáticos linux no se infarten, (como paso con la interfaz gráfica del post anterior), si es así, deben entender que los administradores de sistemas deben ser capaces de administrar un servidor incluso desde una tablet. Es más, desde un "calcetín con wifi si es neceario o del celular con android de alguna de nuestras tías regañonas", ya que si el sistema se le ocurre caerse a mitad de las vacaciones nosostros no nos podemos dar lujo de decir "ud. disculpe jefe no traigo mi lap y además estoy de vacaciones".
Comencemos.



Usuarios con cualquer versión del Ventanas del bill, usaremos PuTTY.

1) En host name: ip, ejemplo: 192.168.0.2
2) hacemos clic en "open"


3) ingresamos nombre de usuario. Dar enter.
4) nos pedira la contrseña: nota: el puntero no muestra la contraseña. Dar enter

Aquí vemos la sesión activa:


Ya iniciamos sesión, pero las modificaciones que nos disponemos a efectuar requieren privilegios de super usuario.

Así que llamaremos al super usuario con: su


nos pedira entrar contraseña, la ingresamos y damos enter.



Preparación del disco duro segundario, borramos todas las particiones.

Queremos montar la unidad secundaria y usarla para almacenar información reduciendo la lectura y escritura en la unidad principal, afectando el rendimiento en forma positiva.
Iniciamos sesión como root.
1) listamos los discos duros con el comando: fdisk -l
2) ingresamos a la unidad que vamos a formatear: fdisk /dev/sdb
3) para borrar las particiones escribimos: d
4) si hay más de una partición repetiremos hasta borrar todas.
5) Guardamos los cambios con: w
(En esta imagen vemos el listado de opciones del comando "fdisk":


Listo el disco no tiene particiones, ahora es necesario crear una nueva partición:
1) seleccionamos la unidad: fdisk /dev/sdb
2) para agregar nueva partición escribimos: n
3) pregunta y ponemos primaria con: p
4) En número de partición: 1
5) En primer sector de partición: no escribimos nada, solo damos enter.
6) En sector final: no escribimos nada, solo damos enter
3) Guardamos los cambios con: w

Ahora vamos a formatear la partición para darle un sistema de archivos:
1) mkfs.ext4 /dev/sdb1
(La imagen muestra ejemplo en otro servidor desde linus mint).




Modificación del Archivo fstab.

La unidad esta lista para ser usada, ahora vamos a modificar el archivo fstab para que el sistema monte la unidad automáticamente.
Pero antes vamos crear un directorio en el cual será montada la unidad.
Hay quienes gustan montar en el directorio /mnt y quienes lo montan en /media
Nosotros montaremos nuestra unidad de 160GB en la ruta /media/d
1) Creamos directorio: mkdir /media/d

Ahora como root editamos el archivo fstab.
1) Hacemos copia de seguridad del archivo: cp /etc/fstab /etc/fstab.BK
2) Editamos con comando: nano /etc/fstab
3) Con las flechas vamos hasta el final y agragamos la línea: /dev/sdb1 /media/d ext4 auto,user,exec 0 0
4) VERIFICAMOS que todo esté bien escrito de lo contrario no iniciara el sistema. Guardamos con: ctrol+o
5) Damos "Enter".
5) Salimos con: ctrol+x



Ahora reiniciamos el sistema para que automáticamente monte la unidad sdb1 en carpeta /media/d
1) Como root: shutdown -r now
2) Verificamos que efectivamente este montada la unidad d: ls /media/d

Esta captura nos muestra la unidad listando su contenido




Ahora vamos a verificar la fecha y hora del sistema y ajustar si es necesario.



Gusto de sincronizar el sistema con mi reloj que cada cierto tiempo ajusto de cuerdo al Centro Nacional de Metrología de México.
http://www.cenam.mx/hora_oficial
Como usuario root:
1) Vemos la hora del sistema con: date
2) Ajustamos la hora con: date --set "2016-07-09 12:38:45"
Ahora empatamos la hora del BIOS, de lo contrario será necesario ajustar tras cada reinicio del sistema.
3) Ajustamos con: hwclock --set --date="2016-07-09 12:43:00"
4) Verificamos con comando: hwclock



Ahora en la unidad recién montada crearemos algunos directorios:
1) directorio para alojar la imagen iso del dvd de instalación de debian: /media/d/rep
2) directorio desarrollo de sitios web: /media/d/www
3) directorio para almacenamiento FTP: /media/d/ftp
4) directorio para montar imagen iso dvd instalador de Debia: /media/dvd1

Para actualizar el sistema debian pide que el disco de instalación este en la unidad lectora.
Hacer esto diariamente es demasiado incómodo, así que vamos a montar la imagen del instalador cono una unidad dvd.
Como montar imangen iso del DVD de instalación de debian 8.5 como unidad dvd1
Es necesario poner la imagen debian-8.5.0-i386-DVD-1.iso en un directorio, en este caso la pondremos en el directorio:
/media/d/rep/debian-8.5.0-i386-DVD-1.iso
Recordemos que en la primera parte de este post indicamos cómo y en donde descargar el instalador debian. así que pondremos la imagen en un pendrive USB.

Montamos la usb y copiamos la imagen iso en d.
Como root:
1) Creamos el directorio usb1: mkdir /media/usb1
2) Damos permisos para todos los usuarios: chmos -R 777 /media/usb1
3) Insertamos la usb en nuestro servidor y después listamos las unidades: fdisk -l
4) En este caso /dev/sdc1 es nuestra unidad usb y la montamos: mount /dev/sdb1 /media/usb1
5) Ya está montada, ahora copiamos la imagen iso en d: cp /media/usb1/debian-8.5.0-i386-DVD-1.iso /media/d/rep/debian-8.5.0-i386-DVD-1.iso

Yo estoy en casa y el servidor está en la oficina, por lo tanto no puedo insertar la USB, así que tendré que descargar la imagen nuevamente y lo hare directamente en el directorio /media/d/rep/
Como root:
1) entro al directorio con: cd /media/d/rep/
en el post anterior vimos de dónde encontrar esta descarga.
2) descargo la imagen iso con: wget -c http://cdimage.debian.org/debian-cd/8.5.0/i386/iso-dvd/debian-8.5.0-i386-DVD-1.iso

Bien, ya tenemos la imagen iso en el directorio deseado, ahora vamos a modificar el archivo fstab para que el sistema monte la imagen iso como un dvd-rom.
Como root:
1) Hacemos otro backup con: cp /etc/fstab /etc/fstab.BK2
2) Editamos con: nano /etc/fstab
3) Con las flechas vamos hasta el final y agregamos la línea: /media/d/rep/debian-8.5.0-i386-DVD-1.iso/media/dvd1 udf,iso9660 loop 0 0
4) VERIFICAR que todo esté bien escrito ya que el sistema no podrá iniciar correctamente tras el reinicio.
5) Guardamos con: ctrol+o
6) damos enter.
7) Salimos con: ctrol+x
8) Recargamos puntos de montaje con: mount -a
9) nos devolverá: mount: /dev/loop0 is write-protected, mounting read-only
10) Verificamos con: ls /media/dvd1
11) Nos deberá regresar el listado de directorios y archivos del DVD de instalación debian.






Excelente.
Ya tenemos montado nuestro DVD instalador.
Ahora vamos a decirle a debian en donde esta el "DVD" y necesitamos editar el archivo sources.list.
1) Primero hacemos una copia de seguridad del archivo: cp /etc/apt/sources.list /etc/apt/sources.list.BK
2) Entramos al archivo: nano /etc/apt/sources.list
3) Con las flechas vamos a la línea
deb cdrom:[Debian GNU/Linux 8.5.0 _Jessie_ - Official i386 DVD Binary-1 20160604-14:09]/ jessie contrib main
y ponemos # al inicio, a esto se le llama "Comentar la línea" para que el actualizador de los repositorios no solicite el DVD-rom:
#deb cdrom:[Debian GNU/Linux 8.5.0 _Jessie_ - Official i386 DVD Binary-1 20160604-14:09]/ jessie contrib main
En una nueva línea escribimos:
deb file:///media/dvd1 jessie contrib main
4) Verificamos que todo este correctamente escrito.
5) Guardamos con: ctrol-o
6) Tecla enter.
7) Salimos con ctrol+x



Listo, el archivo con listados de repositorios oficiales debian para actualizar el sistema esta liso para que ejecutemos el primer apt-get upgrade

Primero debemos ejecutar apt-get update para que debian actualice la base de datos de repositorios y cargue cualquier log de actualización.
Hagámoslo.
Como root:
1) Actualizamos nuestros repositorios con comando: apt-get update
2) Ahora hagamos un upgrade de nuestro debia con: apt-get upgrade
Cuando hay actualizaciones disponibles apt nos muestra estos updates y pregunta si deseamos insalaar, y confirmamos con: y



Listo taringueros TI, tenemos el servidor casi listo para sus primeros pasos, por ahora solo agragaremos un cron paraque automáticamente actualice la base de datos de repositorios y ejecute un upgrade cada 24 horas.

Efectivamente. Vamos a hacer nuestro primer demonio o cron, muy simple y sencillo.
Como root, ¿porque como root?, la razón es que los comando a ejecutar solo son permitidos al super usuario o bien a un usaurio que pertenez al grupo root.
1) listamos los crones del usurio activos con: crontab -l
2) ahora editamos con: crontab -e
La primera vez nos preguntará que editor usaremos, seleccionamos: 1
3) Con las flechas vamos al final del archivo y agregamos:
59 23 * * * apt-get update && apt-get upgrade -y
59 00 * * * /sbin/shutdown -r now

La primera línea a las 23:59 actualiza los repositorios después hace un upgrade del sistema, si hay actualizaciones automáticamente las instala gracias al "-y".
La segunda línea, 1 hora después, a las 00:59 reinicia el servidor, algo EXTREMO, pero recuerden que es un ejemplo con fines de aprendizaje, ustedes pueden poner asignaciones a su gusto.

4) guardamos con: ctrol+o
5) salimos con: ctrol+x



El tema de crontab es muy amplio, hay libros que hablan de todo lo que nos permite hacer la programación en crontab.



Finalmente reiniciaremos nuestro servidor
Como root: shutdown -r now

Listo taringueros, así damos por cumplido el compromiso de la segunda parte, pero la fiesta aun no termina, nos falta lo mejor,
instalar nustros servicios que daran forma al servidor web, como es: apache, mysql, php, servidor FTP, sendmail.

Esten pendientes de la parte 3:

"Conviertí esta vieja PC en servidor web 3"



A los taringueros nos gustan los clásicos.
Así que les dejo este largometraje titulado
Tiempos modernos "Modern Times"
escrito y dirigido por el super genio
Charlie Chaplin








Pie de post: 
  • Las diversas imágenes Charlie Chaplin las tome al azar de internet y las retoque con técnicas en modo color lab para darle un mayor dramatismo a las imágenes.
  • La fuente de información biográfica de Charlie: http://www.charliechaplin.com
  • Las fotografías (capturas de pantalla) son propias y las fotos no están retocadas.
  • El video esta vinculado desde youtube.
  • La frase "Por mi raza hablará el espíritu" es el lema de mi alma mater. UNAM
  • Herramientas utilizadas para la realización de este post: Laptop Vaio VPCYB15AL, Adobe Photoshop CS6, Bride CS6.
  • Próximo Compromiso: "Conviertí esta vieja PC en servidor web 3".
42Comments