Está en la página 1de 32

INTRODUCCIN Linux es un sistema operativo, compatible unix.

Dos caractersticas muy peculiares lo diferencian del resto de sistemas que podemos encontrar en el mercado, la primera, es que es libre, esto significa que no tenemos que pagar ningn tipo de licencia a ninguna casa desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompaado del cdigo fuente. el sistema lo forman el ncleo del sistema (kernel) ms un gran nmero de programas / bibliotecas que hacen posible su utilizacin. Muchos de estos programas y bibliotecas han sido posibles gracias al proyecto gnu, por esto mismo, muchos llaman a linux, gnu/linux, para resaltar que el sistema lo forman tanto el ncleo como gran parte del software producido por el proyecto gnu.

LINUX Linux es, a simple vista un sistema operativo. Es una implementacin de libre distribucin UNIX para computadoras personales (PC), servidores, y estaciones de trabajo. Fue desarrollado para el i386 y ahora soporta los procesadores i486, Pentium, Pentium pro y Pentium II, as como los clones AMD y cyrix. Tambin soporta maquinas basadas en SPARC, DEC alpha, powerPC/ powerMac y Mac. Como sistema operativo, Linux es muy eficiente y tiene un excelente diseo. Es multitarea, multiusuario, multiplataforma y multiprocesador; en las plataformas de Intel corre en modo protegido; protege la memoria para que un programa no pueda hacer caer el resto del sistema; carga solo las partes de los programas que usan; comparte la memoria entre programas aumentando la velocidad y disminuyendo el uso de la memoria, usa un sistema de memoria virtual por paginas; utiliza toda la memoria libre para cache, permite usar bibliotecas enlazadas tanto estticas como dinmicamente; se distribuye con cdigo fuente; usa hasta 64 consolas virtuales; tiene un sistema de archivos avanzado pero puede usar los de otros sistemas; y soporta redes tanto en TCP/IP y en otros protocolos. HISTORIA DE LINUX Linux hace su aparicin a principios de la dcada de los noventa, era el ao 1991 y por aquel entonces un estudiante de informtica de la universidad de Helsinki, llamado Linus Torvalds empez, como una aficin y sin poderse imaginar a lo que llegara este proyecto, a programar la primera lnea de cdigos de este sistema operativo llamado LINUX. Este comienzo estuvo inspirado en MINIX, un pequeo sistema de unix desarrollado por Andy Tanenbaum. Las primeras discusiones sobre Linux fueron en el grupo de noticias comp.os.minix, en estas discusiones se hablaba sobre todo del desarrollo de un pequeo sistema Unix para usuarios de Minix que queran mas. Linus nunca anuncio la versin 0.01 de Linux esta versin no era ni siquiera ejecutable, solamente inclua los principios del ncleo del sistema, estaba escrita en lenguaje ensamblador y asuma que uno tena acceso a un sistema minix para su compilacin. El 5 de octubre de 1991, linus anuncia la primera versin oficial de Linux versin 0.02. Con esta versin Linux pudo ejecutar bash y gcc pero no mucho mas funcionaba. En este estado de desarrollo ni se pensaba en los trminos soporte, documentacin, distribucin, despus de la versin 0.03, Linux salto en la numeracin hasta el 0.10. Mas y mas programadores alo largo y ancho de internet empezaron a trabajar en el proyecto y despus de sucesivas revisiones, Linux incremente el nmero de versin hasta 0.95. Un tiempo despus la versin estaba en 0.99 y la versin 1.0 no llega hasta el 14 de marzo de 1994. Desde entonces no se a parado de desarrollar, la versin actual del ncleo es la 2.2 y sigue avanzando da a da con la meta de perfeccionar el sistema.

LINUS TORVALDS Linus Benedict Torvalds naci en Helsinki, Finlandia, el ao 1969. Empez a "trabajar" con ordenadores a los 10 aos, cuando su abuelo le compr un Comodore el ao 1980. ste buen seor era un matemtico y estadista. Trabajaba a la Universidad y fue quin "enganch" al mundo de los computadores a nuestro buen amigo Linus. Con el paso del tiempo, Linus pas a tener un Sinclair QL, un gran ordenador de Clive Sinclair (creador del conocido Spectrum), que tena algn pequeo error de diseo. Linus se sinti especialmente atrado por esta mquina, despus de crear aplicaciones para stacomputadora y de haber retocado su hardware con la finalidad de adaptarlo a sus necesidades. El problema que tena dicha mquina era que los recursos eran insuficientes para poder llevar a la prctica los planes de Linus. Adems, no era un equipo compatible. As pues, el mes de enero de 1991 compr su primer PC, un 386. Retrocedamos otra vez en el tiempo, hasta 1988. ste ao fue cuando Linus entr a la Universidad. Este mismo ao fue cuando un sistema operativo didctico, basado en Unix y creado por Andy Tannenbaum, empez a cobrar importancia. Dicho sistema operativo era el famoso Minix. Linus entr a formar parte de la comunidad de usuarios de Minix. Tannenbaum cometi un error en su sistema operativo. Era demasiado limitado, tanto tcnicamente como polticamente, es decir, en ningn momento tuvo en cuenta la posibilidad de incluir Minix al proyecto GNU (creado el ao 1983 por Richard Stallman). En realidad, la creacin de Andy Tannenbaum estaba pensada para ser distribuida comercialmente. Su principal error fue ceder todos los derechos a Prentice Hall, que empez a cobrar 150 dlares por licencia (unas 22.500 ptas. / 135.23 euros). As pues, Linus tom la decisin de cambiar esta poltica debido a que el sistema Minix era ideal para los estudiantes de sistemas operativos, y su precio era considerablemente alto. Llegamos de nuevo al ao 1991, cuando Linus se acab de comprar su primer 386. En aquellos momentos, la intencin de nuestro amigo era clara: crear un nuevo Kernel de UNIX basado en el Kernel de Minix y modificarlo peridicamente de manera que fuera capaz de ejecutar aplicaciones GNU. A pesar de todo, no toda la vida del Sr. Linus ha estado dedicada exclusivamente al sistema operativo Linux... Actualmente Linus Torvalds vive desde el ao 1997 en Santa Clara, California, junto con su esposa Tove y sus dos hijas, Patricia Miranda y Daniela. Le encanta jugar con sus dos pequeas. Est trabajando para Transmeta, aunque nadie no sabe demasiado bien en qu trabaja. Parece ser que existe una clusula en su contrato que le impide revelar dicha informacin. De todas formas, se sabe que Transmeta est desarrollando un nuevo procesador con un juego de instrucciones RISC capaz de ejecutar cdigo x86. Tal vez una de las aficiones ms conocidas de Linus es que le gusta la cerveza, ms an si es Guinness. As lo demostraron los miembros del SVLUG (Silicn Valley Linux User Group) cuando Linus fue a visitarlos para llevar a cabo una conferencia y le regalaron una caja de cerveza...

Poca cosa ms de saber de este personaje que ha cambiado la forma de ver los ordenadores durante estos ltimos aos y que ha conseguido dar un buen empujn al proyecto GNU. CARACTERISTICAS DE LINUX Multitarea: la palabra multitarea describe la habilidad de ejecutar varios programas al mismo tiempo. Multiusuario: muchos usuarios usando la misma maquina al mismo tiempo. Multiplataforma: las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-. Pentium, Pentium Pro, Pentium II,Amiga y Atari, tambin existen versiones para su utilizacin en otras plataformas, como Alpha, ARM, MIPS, PowerPC y SPARC. Multiprocesador: Soporte para sistemas con ms de un procesador est disponible para Intel y SPARC. Funciona en modo protegido 386. Proteccin de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema. Carga de ejecutables por demanda: Linux slo lee del disco aquellas partes de un programa que estn siendo usadas actualmente. Poltica de copia en escritura para la comparticin de pginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la pgina (4Kb de memoria) se copia a otro lugar. Esta poltica de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria. Memoria virtual usando paginacin (sin intercambio de procesos completos) a disco: A una particin o un archivo en el sistema de archivos, o ambos, con la posibilidad de aadir ms reas de intercambio sobre la marcha Un total de 16 zonas de intercambio de 128Mb de tamao mximo pueden ser usadas en un momento dado con un lmite terico de 2Gb para intercambio. Este lmite se puede aumentar fcilmente con el cambio de unas cuantas lneas en el cdigo fuente. La memoria se gestiona como un recurso unificado para los programas de usuario y para el cach de disco, de tal forma que toda la memoria libre puede ser usada para cach y sta puede a su vez ser reducida cuando se ejecuten grandes programas. Libreras compartidas de carga dinmica (DLL's) y libreras estticas. Todo el cdigo fuente est disponible, incluyendo el ncleo completo y todos los drivers, las herramientas de desarrollo y todos los programas de usuario; adems todo ello se puede distribuir libremente. Hay algunos programas comerciales que estn siendo ofrecidos para Linux actualmente sin cdigo fuente, pero todo lo que ha sido gratuito sigue siendo gratuito. Emulacin de 387 en el ncleo, de tal forma que los programas no tengan que hacer su propia emulacin matemtica. Cualquier mquina que ejecute Linux parecer dotada de coprocesador matemtico. Por supuesto, si el ordenador ya tiene una FPU (unidad de coma flotante), esta ser usada en lugar de la emulacin, pudiendo incluso compilar tu propio kernel sin la emulacin matemtica y conseguir un pequeo ahorro de memoria.

Soporte para muchos teclados nacionales o adaptados y es bastante fcil aadir nuevos dinmicamente. Consolas virtuales mltiples: varias sesiones de login a travs de la consola entre las que se puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente del hardware de video). Se crean dinmicamente y puedes tener hasta 64. Soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los sistemas de archivo tpicos de System V, y tiene un avanzado sistema de archivos propio con una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de longitud. Acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un sistema de archivos especial: no es necesario ningn comando especial para usar la particin MS-DOS, esta parece un sistema de archivos normal de Unix (excepto por algunas restricciones en los nombres de archivo, permisos, y esas cosas). Las particiones comprimidas de MS-DOS 6 no son accesibles en este momento, y no se espera que lo sean en el futuro. El soporte para VFAT (WNT, Windows 95) ha sido aadido al ncleo de desarrollo y estar en la prxima versin estable. Un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en un sistema de archivos DOS. Sistema de archivos de CD-ROM que lee todos los formatos estndar de CD-ROM. TCP/IP, incluyendo ftp, telnet, NFS, etc. AppleTalk. Diversos protocolos de red incluidos en el kernel: TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP, Netrom, etc. Qu son las distribuciones de Linux? Una distribucin es un modo de facilitar la instalacin, la configuracin y el mantenimiento de un sistema GNU/Linux. Al principio, las distribuciones se limitaban a recopilar software libre, empaquetarlo en disquetes o CD-ROM y redistribuirlo o venderlo. Ahora las grandes distribuciones -RedHat, SuSE, Caldera, Mandrake, Corel Linux, Turbo Linux.- son potentes empresas que compiten entre s por incluir el ltimo software, a veces tambin software propietario, con instalaciones grficas capaces de auto detectar el hardware y que instalan un sistema entero en unos cuantos minutos sin apenas preguntas. Entre las distribuciones de GNU/Linux, destaca el proyecto Debian/GNU. Debian nace como una iniciativa no comercial de la FSF, aunque luego se independiza de sta y va ms all del propio sistema GNU/Linux. Es la nica de las grandes distribuciones que no tiene intereses comerciales ni empresariales. Son sus propios usuarios, muy activos, quienes mantienen la distribucin de modo comunitario, incluidas todas sus estructuras de decisin y funcionamiento. Su objetivo es recopilar, difundir y promover el uso del software libre. Rene el mayor catlogo de software libre, todos ellos probados, mantenidos y documentados por algn desarrollador voluntario.

En una distribucin hay todo el software necesario para instalar en un ordenador personal; servidor, correo, ofimtica, fax, navegacin de red, seguridad, etc.

UBUNTU Ubuntu es un sistema operativo3 4 mantenido por Canonical y la comunidad de desarrolladores. Utiliza un ncleo Linux, y su origen est basado en Debian. Ubuntu est orientado al usuario novel y promedio, con un fuerte enfoque en la facilidad de uso y mejorar la experiencia de usuario. Est compuesto de mltiple software normalmente distribuido bajo una licencia libre o de cdigo abierto. La actual interfaz de usuario de Ubuntu est compuesta por tres importantes elementos: una barra superior para indicadores de sistema y mens, un lanzador de aplicaciones al costado izquierdo, y un panel (o dash) que despliega lugares y aplicaciones.

RED HAT ENTERPRISE LINUX Red Hat Enterprise Linux tambin conocido por sus siglas RHEL es una distribucin comercial de Linux desarrollada por Red Hat. Es la versin comercial basada en Fedora que a su vez est basada en el anterior Red Hat Linux, de forma similar a como Novell SUSE Enterprise (SUSE Linux Enterprise Desktop y SLE Server) lo es respecto de OpenSUSE o Mandriva Corporate respecto de Mandriva Linux One.

Mientras que las nuevas versiones de Fedora salen cada aproximadamente 6 meses, las de RHEL suelen hacerlo cada 18 o 24 meses.

FEDORA Es una distribucin Linux para propsitos generales basada en RPM, que se caracteriza por ser un sistema estable, la cual es mantenida gracias a una comunidad internacional de ingenieros, diseadores grficos y usuarios que informan de fallos y prueban nuevas tecnologas. Cuenta con el respaldo y la promocin de Red Hat. "Hablar de Fedora es hablar del rpido progreso del software libre y de cdigo abierto." Durante sus primeras 6 versiones se llam Fedora Core, debido a que solo inclua los paquetes ms importantes del sistema operativo. La ltima versin es Fedora 17, puesta a disposicin del pblico el 29 de mayo del 2012. El Proyecto Fedora fue creado a finales del 2003 cuando Red Hat Linux fue descontinuado. La ltima versin de fedora es Fedora 17, con fecha 29 de mayo de 2012 bajo el nombre de Beefy Miracle.

DEBIAN Debian o Proyecto Debian es una comunidad conformada por desarrolladores y usuarios, que mantiene un sistema operativo GNU basado en software libre. El sistema se encuentra precompilado, empaquetado y en un formato deb para mltiples arquitecturas de computador y para varios ncleos. Naci como una apuesta por separar en sus versiones el software libre del software no libre. El modelo de desarrollo del proyecto es ajeno a motivos empresariales o comerciales, siendo llevado adelante por los propios usuarios, aunque cuenta con el apoyo de varias empresas en forma de infraestructuras. Debian no vende directamente su software, lo pone a disposicin de cualquiera en Internet, aunque s permite a personas o empresas distribuirlo comercialmente mientras se respete su licencia. El proyecto Debian fue fundado en el ao 1993 por Ian Murdock, despus de haber estudiado en la Universidad de Purdue.

OpenSUSE OpenSUSE es el nombre de la distribucin y proyecto libre auspiciado por SUSE Linux GmbH (una divisin independiente de TheAttachmateGroup) y AMD para el desarrollo y mantenimiento de un sistema operativo basado en Linux. Despus de adquirir SUSE Linux en enero de 2004, Novell decidi lanzar SUSE Linux Professional como un proyecto completamente de cdigo abierto, involucrando a la comunidad en el proceso de desarrollo. La versin inicial fue una versin beta de SUSE Linux 10.0, y la ltima versin estable es openSUSE 12.2.

MOON OS MoonOS es un sistema operativo, una distribucin Linux basada en Ubuntu y Debian GNU/Linux. La versin MoonOS 4, est basada en Ubuntu 10.10. MoonOS hereda de Ubuntu: El ncleo Linux El instalador LiveCD Los paquetes de software El repositorio de software El upstart.

CentOS Distribucin gratuita basada en Red Hat. 100% compatible con RHEL. Muy popular Soporte hasta 7 aos. Actualizaciones con cierto retraso respecto a RHEL. Slo soporta de forma oficial x86 y x86_64. Sin soporte tcnico comercial. Muy estable. Repositorios de software oficial limitados. Futuro de la organizacin incierto?

APLICACIN DE LINUX EN EL MERCADO Aunque Linux es un software libre, es decir que se permite su copia y modificacin, compaas como Red Hat y Novell reciben ingresos del suministro de actualizaciones y del servicio de soporte para Linux. Cada vez ms, Linux est siendo tambin ofrecido como un paquete de software que puede ser fcilmente instalado en los mismos ordenadores personales que emplean Windows. En el 2008 el valor de Linux estaba estimado en 35.000 millones de dlares. LA ESTRUCTURA DE DIRECTORIOS GNU/LINUX La estructura de directorios en la que se organiza un sistema Linux es en forma de unnico rbol de directorios y de forma jerarquiza. Cada disco particin o CD tiene su propia organizacin lgica y al mismo tiempo pertenece a la misma estructura lgica de todo el sistema. Para poder usar cualquier dispositivo se tiene que montar en un directorio existente, y aparecer como el contenido de un directorio. Cada distribucin Linux hace la modificacin de un estndar a la hora de estructurar el rbol de directorios, para adaptarlo a sus propias necesidades. De todas formas el estndar es el siguiente:

Esto permite realizar una gestin muy coherente ya que los dispositivos se comportan como directorios y as poder tener la seguridad mejor estructurada y poder asignar mejor el espacio de almacenamiento. Para esto hay que gestionar los usuarios y asignar a /home el espacio para cada uno. Adems de que si es un servidor de correo o impresin debera tener /var con particin asignada tambin ya que ah se mantiene toda la informacin y luego es fcil hacer y recuperar las copias de seguridad. COMANDO BSICOS DE LINUX Para el manejo de archivos: cd - sirve para cambiar el directorio compress - con este comando se comprimen archivos en formato .Z cp - hace una copia de un archivo chmod - cambia los permisos de un archivo o directorio chown - cambia el propietario del archivo o directorio df - muestra el espacio libre en disco du - muestra el espacio utilizado en disco fdformat - formatea un disquete fdisk - se utiliza para particiona unidades file - determina el tipo de archivo a travs del anlisis parcial de su contenido find - hace una bsqueda a un archivo determinado fsck - examina el sistema de archivos gzip - descomprime un archivo en formato GZip ln - crea un enlace simblico o fsico, dependiendo de la opcin ls - lista el contenido de un directorio mkdir - crea un directorio mkfs - crea un nuevo sistema de archivos mkswap - crea un espacio de intercambio more - muestra el contenido de un archivo

mount - monta una unidad o particin en el sistema de archivos mv - mueve un archivo y tambin se utiliza para renombrar pwd - devuelve la cadena correspondiente al directorio actual rm - borra un archivo rmdir - borra un directorio swapon - activa el espacio de intercambio swapoff - desactiva el espacio de intercambio tar - empaqueta o desempaqueta un archivo en formato .tar type - muestra la ubicacin de un archivo sealando su "path" umount - desmonta una unidad o particin en el sistema de archivos PARA EL MANEJO DE PROCESOS: free - muestra la memoria libre y utilizada halt - apaga la maquina kill - mata un proceso sealando el nmero de ste ldd - muestra las libreras necesarias para ejecutar un proceso ps - muestra todos los procesos que se estn ejecutando en el sistema pstree - muestra todos los procesos que se estn ejecutando en el sistema, pero en forma de rbol reboot - reinicia el sistema shutdown - cierra el sistema top - monitorea procesos y el estado del sistema uname - muestra informacin del sistema PARA EL MANEJO DE USUARIOS: adduser - crea una cuenta de usuario chsh - este comando cambia la shell de un usuario groups - muestra el listado de grupos de usuarios del sistema id - muestra la informacin de usuario y grupo de un determinado usuario

logout - se sale del sistema deslogueando al usuarui, peromitiendo iniciar sesin con otro usuario passwd - cambia la contrasea de un determinado usuario su - le da privilegios de root (administrador) a un usuario talk - permite hablar con otros usuarios users - lista los usuarios conectados al sistema who - muestra informacin de los usuarios conectados al sistema whoami - muestra nuestra informacin DE RED: ping - manda paquetes esperando una respuesta del lugar que le indiquemos ifconfig - muestras las tarjetas de red (Ethernet) iwconfig - muestra Las tarjetas de red (Wifi) host "destino" - muestra la IP del "destino" PARA EL MANEJO DE PAQUETES: rpm - "opcion" "paquete" - instala o desinstala el "paquete" dependiendo de la opcin dpkg - "opcion" "paquete" - instala o desinstala el "paquete" dependiendo de la opcin, este comando solo sirve para paquetes debian. tar - "opcion" "paquete" - comprime o descomprime el "paquete" de formato tar.gz, tar.tgz o tar.bz2 MC Midnight Commander es una aplicacin que funciona en modo texto. La pantalla principal consiste en dos paneles en los cuales se muestra el sistema de ficheros. Se usa de un modo similar a otras aplicaciones que corren en el shell o interfaz de comandos de Unix. Las teclas de cursor permiten desplazarse a travs de los ficheros, la tecla insertar se usa para seleccionar ficheros y las Teclas de funcin realizan tareas tales como borrar, renombrar, editar, copiar ficheros, etc. Las versiones ms recientes de Midnight Commander incluyen soporte para el ratn para facilitar el manejo de la aplicacin. Midnight Commander posee caractersticas tales como la capacidad de explorar el contenido de los ficheros RPM, trabajar con formatos de archivos comunes como si de un simple directorio se tratasen. Incluye un gestor de transferencias FTP o cliente del protocolo FISH.

Tambin incluye un editor llamado mcedit. Mcedit es un ejecutable independiente, el cual tambin puede ser usado de forma independiente a Midnight Commander. Esta aplicacin permite visualizar el contenido de ficheros y disfrutar de caractersticas como la de resaltar la sintaxis para ficheros de cdigo fuente de ciertos lenguajes de programacin, y la capacidad de trabajar tanto en modo ASCII como en modo Hexadecimal. Midnight Commander tambin puede renombrar grupos de ficheros, a diferencia de otros gestores de ficheros que solamente pueden renombrar un fichero cada vez. Esto es interesante en la manipulacin de largas colecciones de ficheros, por ejemplo, para ajustar los nombres a un nuevo sistema de nombrado. Midnight Commander tambin puede mover ficheros a otro directorio al mismo tiempo que lo renombra.

Midnight Commander es incluido en la mayora de las distribuciones Linux y se distribuye bajo la licencia pblica general de GNU.

WINE Permite la ejecucin de programas diseados para MS-DOS, y las versiones de Microsoft Windows 3.11, 95, 98, Me, NT, 2000, XP, Vista y 7. Caractersticas: Soporte para programas de la DOS y Windows (3.x/9x/NT/2000/XP/2003/Vista/2008/7). Soporte para llamadas de funciones de Windows de 64, 32 y 16 bits.
Soporte de sonido y entradas alternativas. Soporte de mdems o dispositivos por puerto serie. Trabajo en red con Winsock TCP/IP. Diseado para ser compatible con cdigo para Windows de 32 bits. Programas de muestra Documentacin generada automticamente de las API Compilador fuente de 32 bits Capacidad parcial de codificacin Unicode Internacionalizacin: Wine est disponible en 16 lenguas

familia MS-

LINUX COMO ROUTER Si tenemos una maquina con Debian/Ubuntu instalado que tiene dos interfaces de red. Una de las interfaces est conectado a switch de nuestro LAN, la otra al router de nuestro proveedor de Internet.

CONFIGURACION DE LAS INTERFACES DE RED 1. Antes de todo nos deshacemos de network-manager: apt-get remove network-manager 2. Ahora modificamos /etc/network/interfaces:

# The loopback network interface auto lo iface lo inet loopback

# External auto eth1 iface eth1 inet dhcp

# Internal auto eth0 iface eth0 inet static address 192.168.0.1 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 Como podemos ver hemos configurado la interfaz de red interna (eth0) para que tenga una IP esttica privada (192.168.0.1/24), y la interfaz externa para que obtenga su configuracin de red mediante dhcp. Para aplicar la configuracin ejecutamos: /etc/init.d/networking restart ACTIVACION DE ENRUTAMIENTO Para convertir nuestro Linux en un router tenemos que modificar el archivo /etc/sysctl.conf. Hay que aadir la lnea: net.ipv4.ip_forward = 1 Para aplicar la configuracin ejecutamos: sudo sysctl p

CONFIGURACION DE SERVICIO NAT NAT es un mecanismo inventado para solucionar problema de falta de direcciones IPv4. La maquina que hace NAT oculta todos los equipos de la red local, haciendo las peticiones a Internet en sus nombres. Para configurar el servicio NAT en nuestra maquina con Linux aadimos dos reglas al firewall (iptables): iptables -P FORWARD ACCEPT iptables --table nat -A POSTROUTING -o eth1 -j MASQUERADE Para que estas reglas sobrevivan reboot, las tenemos que aadir tambin a /etc/rc.local. CONFIGURACION DEL SERVICIO DHCP El servicio DHCP sirve para la suministrar la configuracin de red (IP, mascara, gateway, DNS) a los equipos de nuestra LAN. Para hacerlo hay que instalar un programa dnsmasq, que nos servir para poner funcionando tanto el servicio DHCP como el DNS de cache. apt-get install dnsmasq La configuracin es bastante simple. Tenemos que abrir el archivo /etc/dnsmasq.conf, vaciar su contenido y aadir estas lineas: listen-address=192.168.0.1 cache-size=300 dhcp-range=192.168.0.4,192.168.0.20,24h Especificamos la direccin IP en la que el programa va a escuchar las solicitudes DHCP y DNS, el tamao mximo de cache y el rango de direcciones IPs dinmicas disponibles a los equipos de red local (dnsmasq es bastante inteligente para averiguar automticamente el resto de los parmetros de configuracin de red que tendr que ir suministrando a los equipos de nuestra LAN). Reiniciamos el programa: sudo /etc/init.d/dnsmasq restart CONFIGURACION DEL SERVICIO DNS DE CACHE El servicio de DNS de cache hace la resolucin de nombres de dominios a direcciones IP para los equipos de red local. Vamos a ponerlo funcionando con dnsmasq, el mismo programa que ya nos hace el DHCP.

En principio no nos hara falta tocar la configuracin de dnsmasq. El programa coger la configuracin necesaria acerca de los servidores DNS desde el archivo /etc/resolv.conf. Ahora bien, en el principio de articulo hemos dicho que nuestra interfaz de red externa (eth1) obtendr su configuracin de red mediante DHCP del router de proveedor de Internet. Esto se supone que el contenido de /etc/resolv.conf se modificara automticamente despus de cada reboot. As que vamos a configurar el programa-cliente DHCP de nuestro router para que incluye la IP de nuestro router en el archivo /etc/resolv.conf cada vez que obtenga la configuracin de red. Modificaremos el archivo /etc/dhcp3/dhclient.conf. All habr que buscar la linea: #prepend domain-name-servers 127.0.0.1; Y cambiarla por: prepend domain-name-servers 192.168.0.1; Hemos terminado la configuracin. Para aplicarla ejecutamos el comando: sudo /etc/init.d/networking restart. VNC NC es un programa de software libre basado en una estructura cliente-servidor el cual permite tomar el control del ordenador servidor remotamente a travs de un ordenador cliente. Tambin llamado software de escritorio remoto. VNC no impone restricciones en el sistema operativo del ordenador servidor con respecto al del cliente: es posible compartir la pantalla de una mquina con cualquier sistema operativo que soporte VNC conectndose desde otro ordenador o dispositivo que disponga de un cliente VNC portado. La versin original del VNC se desarroll en Reino Unido, concretamente en los laboratorios AT&T Olivetti Research Laboratory, en Cambridge, Reino Unido. El programa era de cdigo abierto por lo que cualquiera poda modificarlo y existen hoy en da varios programas para el mismo uso. Muchos derivados modernos de l son software libre bajo licencia GNU General Public License. En la enseanza, VNC sirve para que el profesor comparta su pantalla con los alumnos, por ejemplo en un laboratorio. Tambin puede usarse para que un tcnico ayude a un usuario inexperto, el tcnico ve remotamente el problema que informa el usuario. El programa servidor suele tener la opcin de funcionar como servidor HTTP para mostrar la pantalla compartida en un navegador con soporte de Java. En este caso el usuario remoto (cliente) no tiene que instalar un programa cliente de VNC, ste es descargado por el navegador ftautomticamente.

VNC es independiente de la plataforma - un cliente VNC en un sistema operativo pueden conectarse a un servidor VNC en la misma o de cualquier otro sistema operativo. Hay clientes y servidores tanto para muchos sistemas operativos basados en GUI como para Java. Varios clientes pueden conectarse a un servidor VNC al mismo tiempo. Los usos populares de esta tecnologa incluyen soporte tcnico remoto y acceso a los archivos presentes en el ordenador del trabajo desde la computadora de un hogar, o viceversa.

SERVICIO FTP Un servidor FTP (File Transfer Protocol) nos permite bsicamente el compartir o alojar archivos de cualquier tipo en un espacio virtual donde nosotros mismos u otros usuarios de cualquier parte del mundo podrn descargarlos mientras estos sigan dentro del servidor. Modos de un servidor FTP: FTP Annimo: Es un servidor FTP abierto a todo el pblico, donde a pesar que se sigue pidiendo un usuario y contrasea, estos seran anonymous y su correo electrnico para poder ingresar, estos usuarios tendrn tanto el privilegio de leer, subir o descargar archivos del servidor. FTP Privado: Este servidor realiza las mismas funciones que el annimo pero los usuarios que pueden ingresar al mismo son nicamente los que se encuentran dentro de la base de datos del sistema local sin expecin alguna. Paquetera necesaria Para montar nuestro servidor FTP vamos a uitlizar VSFTPD ( Very Secure File Transfer Protocol Daemon ) que actualmente se sita como el servidor ms seguro y ms utilizado en el mundo, adems de contar con un mtodo de configuracin bastante fcil. Instalacin Debian/Ubuntu: apt-get install vsftpd RedHat/Fedora: yum -y install vsftpd *Genrico: Descargamos el archivo desde http://vsftpd.beasts.org/ . Lo descomprimimos, configuramos y compilamos con las opciones predeterminadas e instalamos. tar xzvf vsftpd-2.0.5.tar.gz && cd vsftpd-2.0.5/ && make && make install Archivos de Configuracin /etc/vsftpd.user_list : Es la lista que va a establecer que usuarios pueden o no utilizar el servicio. /etc/vsftpd/vsftpd.conf : Archivo de configuracin.Configuracin Vamos a abrir el archivo /etc/vsftpd/vsftpd.conf con permisos de admnistrador ( root ) utilizando nuestro editor de texto preferedio; puede ser mediante gedit, vi, pico, nano, etc... ( Podemos utilizar el comando sudo para abrir el editor con permiso de administrador) -Opcin anonymous_enable. Esta opcin nos permite establecer si el servidor aceptar o no acceso annimos, se estable como valor "YES" o "NO".

anonymous_enable=NO -Opcin local_enable. Esta opcin nos permite establecer si el servidor se combinar con la funcin de jaula o chroot, de esta manera se define si se permitarn accesos a los usuarios locales del sistema, los valores son "YES" o "NO". local_enable=NO -Opcin write_enable. Con esto establecemos si se va a permitir escribir en el servidor. Los valores son "YES" o "NO". write_enable=YES -Opcin ftpd_banner. Aqu podemos establecer un mensaje de bienvenida que se mostrar al usuario cada vez que se conecte. ftpd_banner=Bienvenido al servidor FTP. Control de Ancho de Banda -Opcin anon_max_rate. Se utiliza para establecer el mximo de bytes por segundo para usuarios annimos, el ejemplo muestra un mximo de 5kbps. anon_max_rate=5120 -Opcin local_max_rate Igual que la opcin anterior pero para usuarios locales. local_max_rate=5120 -Opcin max_clientes. Establece el nmero de conexiones simultaneas al servidor. max_clients=10 -Opcin max_per_ip. Establece el nmero de conexiones que se aceptarn al servidor desde la misma ipmax_per_ip=3Inicializacin del Servidor Para ejecutar el servicio por primera vez ejecutamos con permisos de adminsitrador ( root ):

/etc/init.d/vsftpd start Si hemos hecho algunos cambios a la configuracin mientras el servidor est activo lo reiniciamos con: /etc/init.d/vsftpd restart Para detenerlo usamos: /etc/init.d/vsftpd stop SERVICIO WEB

Servidor Web Apache


Introduccin
El servidor HTTP Apache es un servidor HTTP de cdigo abierto para plataformas Unix (BSD, GNU/Linux, etctera), Windows y otras, que implementa el protocolo HTTP/1.1 (RFC 2616) y la nocin de sitio virtual. Para ampliar la informacin sobre lo que es Apache aqu.

Instalacin
Instalacin por paquetes
Para hacer funcionar el servidor en tu sistema debes instalar el paquete apache2. Para hacerlo desde una consola debes escribir :

$sudo aptitude install apache2 En algunas versionde de ubuntu como en la 10.10 (es mi caso) es posible que tengas que hacerlo de la siguiente manera; escribiendo en tu consola:

$sudo apt-get install apache2 si te pide el passwd ingresa el passwd del usuario que usas con privilegios de super usuario. Una vez terminada la instalacin puedes comprobar que Apache funciona correctamente:

Si ests en la misma mquina donde instalaste Apache, coloca en la barra de direcciones de tu navegador:

http://localhost o http://127.0.0.1

Si te encuentras en una mquina distinta a la que instalaste Apache, debes colocar en la barra de direcciones de tu navegador:

http://192.168.0.1 donde debes reemplazar 192.168.0.1 por la IP de la mquina en la que instalaste Apache. Esto te llevar a una pgina que nos redireccionar a http://localhost/apache2default/ o http://192.168.0.1/apache2-default/, dependiendo del caso, la cual nos indicar que el Servidor Apache ha sido instalado correctamente.

Instalacin usando Xampp for Linux


XAMPP es un paquete que se instala facilmente Apache, MySQL, PHP, Perl, phpMyAdmin y un servidor FTP. Para instalarlo haz lo siguiente Descarga la ultima versin desde aqu

http://mesh.dl.sourceforge.net/project/xampp/XAMPP%20Linux/1.7.3a/xampp-linux1.7.3a.tar.gz A la fecha la ultima version seria xampp-linux-1.7.3a.tar.gz. Abre un terminal y descomprime el paquete, ste se descomprimir en la carpeta /opt

$ sudo tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt y listo Ahora, para arrancar el servidor, teclea en la consola:

$ sudo /opt/lampp/lampp start Para ver si funciona, entra a el navegador de internet y teclea:

http://localhost o http://127.0.0.1/ Luego entra al apartado de seguridad, en el men, y ve cmo la puedes mejorar.

Configuracin

Configuracin Bsica
Configurar el redireccionamiento
Lo primero que haremos ser asegurarnos de bloquear el redireccionamiento que nos lleva de http://localhost/ a http://localhost/apache2-default/, para ello, debemos asegurarnos que el archivo /etc/apache2/sites-available/default tenga comentada la linea que dice algo como :

RedirectMatch ^/$ /apache2-default/ Para ello teclea en la consola :

sudo gedit /etc/apache2/sites-available/default una vez que nos abra el archivo buscamos la lnea mencionada y la reemplazamos por esta :

#RedirectMatch ^/$ /apache2-default/ y si quisiramos redireccionar a otra parte, deberamos reemplazarla por esta otra :

RedirectMatch ^/$ /my-path/ donde my-path es la direccin donde estamos redireccionando, la cual debe estar dentro de la raz de la WEB.

Cambiando la raz de la WEB


La raz de la WEB se encuentra por defecto en /var/www/, para cambiarla, debemos reemplazar cada aparicin de /var/www/ por /my-path/ en el archivo /etc/apache2/sites-available/default, donde my-path es la ruta completa del directorio que deseamos que sea la raz de nuestra WEB.

Permitir los acentos en las pginas de nuestra WEB


Para permitir los acentos en nuestras pginas, debemos asegurarnos que la siguiente lnea :

AddDefaultCharset

UTF-8

aparezca descomentada en el archivo /etc/apache2/conf.d/charset.

Resetear el servidor Apache


Una vez efectuado algn cambio de las configuraciones es conveniente resetear el servidor Apache, para ello, en una consola escribimos :

sudo /etc/init.d/apache2 restart

Instalar phpmyadmin
Aunque con la sola instalacin de este paquete ya tendras el servidor http Apache corriendo en tu sistema normalmente necesitars para sacarle todo el provecho instalar tambin php. Veamos como hacerlo. instalar phpmyadmin abres una consola te logueas como root

sudo aptitude install php5 resetea apache2

sudo /etc/init.d/apache2 restart instala algunos paquetes

sudo aptitude install mysql-server sudo aptitude install libapache2-mod-auth-mysql sudo aptitude install php5-mysql

le colocas contrasea a phpmyadmin antes de instalar

sudo mysqladmin -u root password contrasea instalas phpmyadmin

sudo aptitude install phpmyadmin creas un fichero

sudo gedit /var/www/index.php en el fichero le colocas lo siguiente

<?php phpinfo(); ?> reseteas apache

sudo /etc/init.d/apache2 restart

y abres tu navegador escribes http://localhost/phpmyadmin

y listo

Habilitar PHP para el servidor


Para dotar a Apache de la funcionalidad de manejar pginas php debes instalar el paquete php5. Una vez instalado puedes crear un fichero de prueba para comprobar que funciona correctamente. Abre el Terminal y teclea all la siguiente orden.

$ sudo gedit /var/www/testphp.php

En el nuevo fichero creado inserta la siguiente lnea.

<?php phpinfo(); ?> Guarda el fichero editado y ve a la siguiente direccin en tu navegador [1]. Deberas visualizar la informacin de php.

Mdulos adicionales
Librera GD para manipulacin de imgenes con PHP

$ sudo aptitude install php5-gd

SERVICIO DE BASE DE DATOS Introduccin.


MySQL es actualmente el servidor de base de datos ms popular para los desarrollos web. Es muy rpido y slido, son muchos los administradores que lo instalan, y sin embargo no tantos los que lo configuran correctamente, o que siquera saben que hay que configurarlo. Este manual es solo una referencia rpida para el procedimiento de instalacin y configuracin de un servidor MySQL. La generacin de tablas y el ingreso de datos dentro de los campos de stas puede hacerse a travs de mandatos SQL en el Shell de MySQL, utilizando un fichero .sql (como en es caso de PHP NUKE y otras aplicaciones web) o bien utilizando clientes MySQL, como son MySQLGUI, GtkSQL o Gmysql.

Procedimientos.
MySQL es incluido actualmente en la mayora de las distribuciones de GNU/Linux de hoy en da, por lo que no habr problema alguno en conseguir los binarios necesarios y propios de la distribucin que se utilice. Bastar con instalar los incluidos en el CD de instalacin o bien los disponibles entre los paquetes de actualizacin para la distribucin que se utilice. Pregunte al sistema si se encuentran instalados los paquetes que componen MySQL: rpm -q mysql mysql-server De no estar instalados, o bien si hay paquetes ms recientes entre las actualizaciones disponibles, cambie a sper usuario o bien ingrese como root al sistema. Si utiliza Red Hat Enterprise Linux, procederemos a instalar lo necesario del siguiente modo: up2date -i mysql mysql-server Si utiliza White Box Enterprise Linux o bien otros clones de Red Hat Enterprise Linux, se ejecutar lo siguiente: yum -y install mysql mysql-server Lo anterior descargar las ms recientes actualizaciones de seguridad de MySQL para Fedora Core, junto con todo lo que haga falta para satisfacer todas las dependencias de biblotecas y otro software. Si utiliza Red Hat, CentOS o White Box Enterprise Linux 4.0, ejecute system-configsecuritylevel (mod grfico), vaya a la pestaa de SELinux y en la seccin de SELinux Service Protection habilite la casilla que dice Disable SELInux protection for mysqld daemon. De otro modo MySQL no podr siquiera iniciar.

Desactivar proteccin de SELinux para mysqld.


La manera ms apropiada de iniciar el servicio mysqld ser ejecutado el siguiente mandato:

/sbin/service mysqld start Procederemos a agregar a MySQL al los niveles de corrida 3, 4 y 5, de modo que la siguiente vez que se tenga que iniciar el equipo, MySQL se encuentre habilitado. /sbin/chkconfig --level 345 mysqld on Despus de iniciado MySQL por primera vez, como root ejecute el mandato mysql: # mysql Esto nos ingresar directamente y sin mayor prembulo al Shell de MySQL, donde lo primero ser asignar una contrasea cifrada al usuario root, ya que no es conveniente, de manera alguna y sin pretexto, dejar MySQL de este modo. Primero indicaremos que base de datos utilizar, en este caso ser la principal y nica existente, mysql: > use mysql Ahora haremos peticin para que se muestren las tablas: > show tables; Procederemos hacer una peticin para que se muestre el contenido de la tabla user: > select * from user; Esto har que se vea, entre otras muchas cosas, lo siguiente: +-------------------------+----------+------------------+-------------+ | Host | User | Password | Select_priv | +-------------------------+----------+------------------+-------------+ | localhost | root | | Y | +-------------------------+----------+------------------+-------------+ Como se podr ver, el usuario root no tiene asignada una contrasea, por lo que cualquiera que se identifique como root tendr acceso. Asignaremos una contrasea del siguiente modo (sea cuidadoso con lo que teclea como contrasea): > update user set Password=PASSWORD('nuevo_password') where

user='root'; Ejecute de nuevo el siguiente mandato: > select * from user; Notar que ahora hay un criptograma en el campo que corresponde a la contrasea de root. +-------------------------+----------+------------------+-------------+ | Host | User | Password | Select_priv | +-------------------------+----------+------------------+-------------+ | localhost | root |4593274b8e0d68j852| Y | +-------------------------+----------+------------------+-------------+ Refresquemos los privilegios a fin de que tomen efecto los cambios. > flush privileges Salgamos ahora a fin de regresar y poder probar la nueva contrasea. > quit Ingrese de nuevo al Shell de MySQL: mysql Notar que ya no se puede acceder como antes, y regresa un mensaje de error. ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO) Ejecute ahora el mismo mandato, pero especificando un usuario (-u root) y solicitando se pregunte por una contrasea (-p): mysql -u root -p A continuacin se le pedir ingrese una contrasea, tras lo cual obtendr de nuevo acceso al Shell de MySQL

Creando y destruyendo bases de datos.

Para crear una nueva base de datos, puede utilizarse el mandato mysqladmin con el parmetro create: mysqladmin -u root -p create dbejemplo Si queremos eliminar dicha base de datos, utilizamos el parmetro drop en lugar de create. mysqladmin -u root -p drop dbejemplo

Otorgando permisos a los usuarios.


En adelante el usuario root solo se utilizar para tareas administrativas y creacin de nuevas bases de datos. Resultar conveniente delegar a los usuarios ordinarios el manejo de sus propias bases de datos. Una vez generada una base de datos, debemos determinar con que usuario y desde que equipo en la red local, se podr tener acceso, as como los privilegios para modificar esta. Lo ms comn, y seguro, es asignar el acceso solo desde el mismo servidor (localhost), a menos que el desarrollo web o aplicacin se localice en otro equipo. Genere un base de datos denominada directorio: mysqladmin -u root -p create directorio En seguida acceda al Shell de MySQL y ejecute lo siguiente, suponiendo que se desea asignar permisos sobre las tablas de la base de datos directorioal usuario jbarrios del equipo local: GRANT select, insert, update, create, alter, delete, drop ON directorio.* TO jbarrios@localhost IDENTIFIED BY 'password_del_usuario_jbarrios'; Al concluir, usted tendr una base de datos "jbarrios" que podr ser utilizada y modificada por el usuario jbarrios desde el servidor donde se encuentra instalada la base de datos, es decir, localhost. Esto establecer un nivel de seguridad apropiado, y garantizar que de ser descifrada una contrasea de un usuario, est no podr ser utilizada desde un equipo remoto. Si, por ejemplo, se requiere permitir el acceso a una base de datos jbarrios desde otro equipo en la red local con fines administrativos, podemos otorgar el acceso al usuario jperez del equipo que, segn el DNS de la LAN, se denomina como maquina1.mi-red-local.org, es decir jperez@maquina1.mi-red-local.org. GRANT select, insert, update, create, alter, delete, drop ON directorio.* TO jperez@maquina1.mi-red-local.org

IDENTIFIED BY 'password_del_usuario_jperez';

El muro corta-fuegos.
MySQL escucha peticiones en el puerto 3306, tanto para TCP como para UDP. Puede implementar un Firewall o muro muro corta-fuegos que cierre dicho puerto, de modo tal que solo se puede acceder a MySQL desde la red local. Las siguientes lneas de ejemplo suponen que el servidor donde se encuentra instalado MySQL posee dos interfaces de red, eth0 y eth1, de las cuales la primera (eth0) corresponde a la interfaz de acceso hacia la red local y la segunda (eth1) corresponde a la interfaz de acceso hacia la red mundial. # MySQL /sbin/iptables -t filter -A INPUT -p tcp -s 0/0 -d 0/0 --dport 3306 i eht1 -j DROP /sbin/iptables -t filter -A INPUT -p udp -s 0/0 -d 0/0 --dport 3306 i eth1 -j DROP Si se requiere acceder remotamente hacia MySQL desde fuera de la red local, con fines meramente de administracin, como sera algunos casos particulares, se requerir aadir las siguientes lneas en el guin de Firewall o muro muro corta-fuegos a fin de abrir los puertos correspondientes. # MySQL /sbin/iptables -t filter -A INPUT -p tcp -s 0/0 -d 0/0 --dport 3306 j ACCEPT /sbin/iptables -t filter -A INPUT -p udp -s 0/0 -d 0/0 --dport 3306 j ACCEPT

También podría gustarte