[HOW TO] Servidor Linux, que es y para que sirve

Alejandro Donato
Avanzado
Avanzado
Mensajes: 34
Registrado: Vie Nov 19, 2010 6:40 am
Ubicación: Río Cuarto - Córdoba

[HOW TO] Servidor Linux, que es y para que sirve

Mensaje por Alejandro Donato » Dom Feb 27, 2011 1:32 pm

Todo muy lindo, pero... para que quiero un server? que aplicación se le puede dar? y por que con linux?

Hoy por hoy, creo, no queda casi negocio que ni tenga una PC en algún lado. Sirvan para, desde leer el correo, hasta para llevar una planilla a mano con facturas, pedidos... o incluso facturar con algún sistema.

Si con una PC el negocio va, genial. Pero, muchas veces, esto no alcanza, y cada ves más, los puntos de venta (POS en inglés, Point of Sales) informatizados, son mas necesarios.

Cuando la estructura lo requiere, es necesario que una máquina se encargue de hacer las veces de "servidor" de la red. A veces, no dedicado exclusivamente a ello (puede ser una PC que aparte de usarse como de "escritorio", corre el "server" de algún sistema de gestión), y en otros casos, se deja un equipo dedicado a ello que no se utiliza para otra cosa.
Generalmente, un servidor dedicado, no suele ni siquiera tener teclado ni mucho menos mouse ni monitor. Todo porque, se lo suele manejar remoto.

Un servidor dedicado, a diferencia de uno que no, suele estar encendido 24/7 (24 hrs por 7 días), o sea, nunca se apaga. Los sistemas de servidor, están preparados para ello. A diferencia de los sistemas de escritorio, no se degradan con el uso, y tienen tareas programadas que los mantienen "saludables", reordenando archivos, logs (registros de actividades), etc...

Muy lindo, pero.. para que voy a dejar una máquina encendida todo el día? Simplemente porque en ella vas a correr cosas que así lo requieran. Dejar un equipo 24 hrs corriendo tiene que valer la pena por algo, sino, es gasto de luz innecesario. Seamos ecológicos!

Los verdaderos sistemas de servidor, tienen la capacidad de programarse muy flexiblemente. O sea, que, por ejemplo, en caso que un equipo no sea necesario, puede entrar en un estado de bajo consumo, o incluso apagarse y volver a encenderse al ser requerido.

Por que linux? Porque, entre otras ventajas, es de código libre. Esto significa, que no se pagan licencias por el uso, que de ser necesario, uno puede modificar la "fuente" del sistema, que hay muchos proyectos sobre estos sistemas, que corre casi en cualquier cosa (si, incluso en un TV, un teléfono, un router) y.. sobre todo... porque no se estropea mágicamente. Los gnomos, hamnsters y todo lo que algunos creen que tienen dentro las PC, que las hace funcionar y que incluso, cuando se distraen o se cansan, las cuelgan... NO EXISTEN. :P

Que se necesita para armar un server?

Depende de para que se utilice, el hard a usar. Puede correrse desde en una 286 con un diskette (EJEMPLO, LINUX DE ROUTER EN LA PC DEL ABUELO, hasta para manejar servicios tan complejos como telefonía comercial con acceso PSTN (PSTN en inglés public switched telephone network, red pública conmutada de telefonía) o acceso a streams de video de cámaras de seguridad, entre muchos otros.
No solo corren sobre PC, como antes dije, un router comercial puede alojar un SO de esta clase e incluso, correr cualquier cantidad de tipos de soft (EJEMPLO, linux para routers, convertí tu cacharro wifi en un router/access point de los buenos!)

Resumen de elementos necesarios:
  • HARD: una PC (o algo donde instalar el SO, como se dijo, puede ser hasta un router), con características adecuadas a lo que se va a armar (o sea, para router una 286 alcanza, pero para telefnonía o video, un p4 viejo para arriba, o un equipo, que es lo ideal si van a sacarle todo el jugo)
    SOFT: Una distribución o un kernel linux adecuado al hard a usar. Hay de todo y para todos los gustos y necesidades. Obviamente, si vas a armar un server dedicado, las versiones "server" de las distribuciones son lo ideal, ya que, no cargan la parte gráfica por defecto, ya que se asume que se van a utilizar sin acceso físico, o sea, sin monitor ni teclado ni mouse.
    CONOCIMIENTOS: Rompamos el mito, no se necesita ser ingeniero de la nasa para instalar linux y tampoco para usarlo. Solo un mínimo de lo que es una PC, y ganas de aprender que hay formas y formas de usar el hard. Y, principalmente, una mente abierta.
Manos a la obra...

Definido el hard a usar, a bajar la distro a usar y a ver que sale.

Distribuciones de linux (el kernel, o sea, el núcleo, es siempre el mismo, cambia la forma de armar el paquete de núcleo y aplicaciones)

Algunas son mas amigables que otras, otras son mas estables, otras soportan practicamente todo el hard existente...

Yo particularmente (y esto es como ford y chevrolet, ambos hacen autazos, pero cada uno tiene sus fans) utilizo distribuciones base Debian.
Esto es, porque es sencillo de administrar, y agregarle funcionalidades, es una linea de comandos solamente.
Algunos dicen que es una distribución bastante "sucia", porque cada cosa que instalamos, instala sus propias "dependencias", haciendo que a veces, instalar un paquete de soft agrega cosas inútiles a la instalación, engordándola... pero.. la verdad, es muy rápido como para empezar y muy fácil de usar.
Y digo "base Debian" y no Debian puro, porque la gente de debian es muy conservadora, haciendo a veces que la versión distribuida, tenga paquetes viejos y que no soporte hard nuevo.
Para comenzar, un Ubuntu, en su versión server, es bastante amigable.
Al momento de bajarlo, recuerden que, hay distintos "sabores". Existe una distribución base para cada tipo de hard, por lo que, si el equipo a usar, es de 32 o 64 bits, es importante. Cada "sabor" esta especialmente compilado para dicha arquitectura, y los sistemas de 64 bits no corren en equipos que no la soportan.

Otro factor, no siempre es necesario tener un CD (o DVD) para instalar un sistema. Ubuntu por ejemplo, se puede descargar en un pen drive e instalar desde allí. Incluso, si uno lo pide, le envían por correo los CD de instalación GRATUITOS.

Se puede probar sin instalar (lo que se denomina LIVE CD, o sea, corre el sistema desde el instalador) y viene en practicamente cualquier idioma (instalarlo en "esperanto", por haberle errado a "español" en el menú, es una experiencia imperdible!! 8-) )

En los post siguientes, veo de poner capturas del proceso de instalación, son muy pocos pasos, y si el equipo ya esta conectado a internet (por ejemplo a un router que le de acceso), practicamente se "autoconfigura" solo.

Hay muchos sites que describen como Instalar Ubuntu, en inglés, o Instalar Ubuntu 10.10 en español paso a paso
De todas formas, al iniciar la instalación, se nos pregunta que lenguaje deseamos, y obviamente, al seleccionar "español", todos los menues y opciones son traducidas a dicho idioma.

Esta distribución en particular, esta ideada para, o bien coexistir con nuestro sistema actual (que puede ser cualquiera, un XP, un vista, un seven) e incluso instalarse desde "dentro" del mismo. Esto es útil si queremos instalar una versión de escritorio, pero en nuestro caso, que deseamos montar un servidor, la instalación se hace booteando desde algún medio (desde el CD descargado hasta de el sistema instalable montado en un pen drive).

La primera opción, luego de bootear, es la de selección de idioma. Hecho esto, se nos ofrece Instalar el sistema, o probarlo desde el CD (o medio que se utilice).

Probarlo desde el CD, que equivale a correrlo en forma "live" (en vivo), no modifica en nada nuestro sistema, y nos permite "probar" si el SO es compatible con el hard (cosa que es prácticamente segura, en la medida que hayamos seleccionado la versión correcta al descargarlo, sea 32 o 64 bits) y hacer un recorrido por la interfaz gráfica o su versión de consola. En nuestro caso, la idea es instalar el sistema, así que asumamos que esa fué nuestra elección)

Antes, una aclaración:
Por que no instalar la interfaz gráfica en un server?
Justamente, la gracia es que los server no hacen mas que lo estrictamente necesario. Con esto se gana rendimiento, e incluso, hace que no sea necesario hardware excesivo, ya que, la interfaz gráfica por ejemplo, no va a ser utilizada para los servicios que se plantea correr. Ojo, eso no quita que no haya formas gráficas de administrar las cosas, eso lo veremos mas adelante, pero existen muy buenas interfaces web de control (para configurar el servidor via web) para los que no se encuentren cómodos manejando las cosas por consola.
Y... la consola no muerde. Una vez que le agarren la mano, y con herramientas básicas muy útiles, usarla no es traumático ni mucho menos, al contrario, muchas veces es mas práctico que incluso, una interfase web o una gráfica.

Continuemos la instalación:

Imagen

Abajo se ven las teclas de función, y sus opciones asignadas. F2 es para seleccionar el lenguaje, y, en el menu que se despliega, verán una infinidad de lenguajes a seleccionar, entre ellos español.

1 - Una vez seleccionado el idioma, y seleccionado "instalar", comenzara la carga (en memoria) de lo mínimo para continuar la instalación
Para movernos en los menúes, utilizaremos las teclas de dirección (las flechas), la tecla "TAB" en algunos casos para cambiar de ventana, la barra espaciadora para marcar opciones múltiples, y la tecla ENTER para seleccionar "continuar" o "retroceder". Casi siempre se puede retroceder y corregir algún dato si creemos que nos equivocamos. En ciertos casos, cuando las acciones sean peligrosas o irreversibles, se nos preguntara si deseamos continuar advirtiendo que los cambios son irreversibles.


2 - Se nos preguntará en que país nos encontramos. En nuestro ejemplo, "Argentina".
Imagen

3 - Se nos preguntará si deseamos que se autodetecte el teclado a utilizar. En realidad, si elegimos que si, se nos pedirá presionemos ciertas teclas, y se nos preguntará por otras (ej. si su teclado tiene tecla "ç", etc). Realmente lo mas cómodo es que NO autodetecte el teclado, y se nos desplegará una lista de teclados, y podremos seleccionar por idioma y variante. En nuestro caso, ESPAÑA , variante ESPAÑA.
Imagen

4 - Se intentará autodetectar la configuración de la red. Por lo general, en servidores que a su vez hacen de routers en la red, se utilizan dos placas de red. Una para la red interna, y otra para conectar a internet (por ejemplo, a través de un cablemodem). Si el sistema detecta dos placas, probará sobre ambas obtener una dirección IP e incluso, probará acceder a internet. Si es exitoso, lo informará. Si no, preguntará que placa es la que esta conectada a internet y reintentará. Si no hay conexión a internet lo informará y continuara instalando.
Es recomendable instalar conectado a internet, ya que, se actualizarán los paquetes de software necesarios, y si hay versiones mas nuevas que las que vienen en el CD, se descargarán e instalarán desde dicha fuente.
Imagen

5 - Se solicitará un nombre para el nuevo servidor. Para ubicarlo fácil en la red, conviene utilizar nombres simples, son espacios (no están permitidos), y explicando de que o quien es el server. Ejemplo "SRVAlejandro", o simplemente "servidor1"
Imagen

6 - El instalador configurará la zona horaria. SI tiene acceso a internet, intentará detectarla. Si indicamos que no es correcta, nos preguntara la ciudad y zona donde estamos (argentina por ejemplo, es GMT -3)
Imagen

7 - IMPORTANTE: En este paso, configuraremos la forma de utilizar los discos. Este paso es clave, ya que, si instalamos en un disco que contiene datos, tenemos que tener la precaución de no borrarlos sobreescribiendo el particionado actual.
Si el disco es nuevo, o usado pero esta vacío o sin información útil, podemos utilizar la opción "GUIADO utilizar todo el disco: el asistente creará dos particiones (raíz y swap)." Esta, creará las particiones necesarias para todo, sin mas.
En caso de que querramos definir, de forma manual las particiones, podemos utilizar la opción MANUAL. Para correr un sistema linuz, son necesarias al menos dos particiones, una RAIZ "/" que es desde donde se instalaran el resto de los archivos y el sistema en sí, y una partición SWAP, que se utiliza como memoria virtual y se accede a ella en caso que la memoria física del equipo sea limitada.
Hay mas formas de particionar uno o mas discos, por ejemplo, cifrados y LVM. Cifrados indica que, los datos se cifran con clave, y son inaccesibles para otro usuario que no sea el usuario raiz (o root, como se lo denomina) de dicha instalacíón. LVM (logical volume manager) nos permite crear particiones "lógicas" las cuales pueden estar distribuidas entre varios discos, ser dinámicas... etc.
En nuestro caso, asumamos que usamos un disco vacío y que no nos interesa cifrar ni nada, y creamos la instalación de forma GUIADA y utilizando todo el disco, dejando que el sistema decida tamaños y formas.
Imagen

8 - IMPORTANTE: Seleccionamos el disco sobre el cual instalaremos todo. Tener en cuenta que, como se decidio antes, los datos que existan en este disco serán descartados. Luego de este punto, la instalación será irreversible (hasta aquí realmente no se ha escrito nada en el disco, solo se han seleccionado opciones básicas). Así que ojo, no borren nada que les pueda servir.
Imagen
Advertencia
Imagen
Acá seleccionamos "FINALIZAR EL PARTICIONADO Y ESCRIBIR LOS CAMBIOS EN EL DISCO" y.. disco listo para instalar
Imagen
Ultima confirmación, acá si ya no hay vuelta atras.
Imagen

9 - Luego de instalar, se nos pedirá el nombre de un usuario con permisos de superadministrador. En Ubuntu, el usuario "root" no viene accesible por consola (luego se puede activar) pero, el usuario que lo puede invocar, es justamente el que se crea ahora. Seleccionemos el nombre del administrados, ejemplo "Alejandro" (siempre sin espacios)
Imagen

10 - Seleccionamos un password. Tratándose de sistemas que van a estar expuestos en internet, nada de passwords simples y fáciles de adivinar. Un consejo para un buen password, palabras fáciles de recordar, pero encriptadas, en el ejemplo, reemplazando las vocales por los números que representan su ubicación. Ej, "p2rr4v2rd2". Con esto logramos algo fácil de recordar, pero prácticamente irrompible.
Imagen
Debemos SI o SI verificar la contraseña, así que la pedirá nuevamente.
Imagen

11 - Cada usuario, tiene su propia carpeta personal. Aca nos propondrá cifrar o no la misma. Por lo general, como nadie accede al server salvo nosotros mismos, no es necesario cifrarla.
Imagen

12 - Se nos consultará si la conexión a internet se realiza a través de un proxy. Un proxy es un servidor intermedio que regula el acceso a internet. Por lo general, no se utiliza prosy, por lo que, se deja en blanco y se continua.
Imagen

13 - Instalación de actualizaciones. Es recomendable dejar que el server se encargue de las actualizaciones críticas, y el resto hacerlas de forma manual. Por lo tanto, seleccionamos "Instalar actualizaciones de seguridad automáticamente".
Imagen

14 - Selección de "funciones" a instalar (o dicho correctamente, paquetes. Acá elegiremos los paquetes extra a instalar, dependiendo de los servicios que utilizaremos. De cualquier forma, lo que no se seleccione ahora, puede instalarse mas adelante por consola. El único servicio interesante de instalar ahora, es el OpenSSH Server, ya que, nos permitirá conectarnos remoto pero de formas muy segura al server, tanto desde nuestra red como desde fuera, y administrar por consola el mismo.
Imagen

15 - Gestor de arranque. Acá se nos pregunta donde instalar el gestor de inicio, que no es mas que un menú que nos permite bootear el sistema de distintas formas, e incluso, bootear otros sistemas. En nuestro caso, se instalará en el disco principal sin mas.
Imagen

16 - Por último, aviso de instalación completa, retirar el cdrom, y ENTER para reiniciar.
Imagen

Felicitaciones!!! Ubuntu Server instalado, y listo para agregarle los paquetes necesarios para que haga lo que querramos que haga.

*Imágenes cortesía de sliceoflinux

Responder