Download El sistemas operativo gratuito Linux es de libre

Document related concepts

Samba (programa) wikipedia , lookup

Midnight Commander wikipedia , lookup

Puppet (software) wikipedia , lookup

Webmin wikipedia , lookup

GNU Hurd wikipedia , lookup

Transcript
Introducción
El sistemas operativo gratuito Linux es de libre distribución, nos proporciona suficientes
herramientas y mecanismos para una buena administración, el sistemas operativo Linux
fue inspirado en el sistema UNIX
A pesar de que Linux es, en sentido estricto, el sistema operativo,2 parte fundamental de la
interacción entre el núcleo y el usuario (o los programas de aplicación) se maneja usualmente con
las herramientas del proyecto GNU y con entornos de escritorio basados en GNOME, que también
forma parte del proyecto GNU aunque tuvo un origen independiente. Sin embargo, una parte
significativa de la comunidad, así como muchos medios generales y especializados, prefieren
utilizar el término Linux para referirse a la unión de ambos proyectos.
linux
La manipulación del sistema operativo Linux suele parecer algo complejo en su
manipulacion en la actualidad, pero se están haciendo esfuerzos para que su manejo sea
fácil de manipular
Linux es, a simple vista, un Sistema Operativo.
Como sistema operativo, Linux es muy eficiente y tiene un excelente diseño. Es multitarea,
multiusuario, multiplataforma y multiprocesador; en las plataformas Intel corre en modo
protegido; protege la memoria para que un programa no pueda hacer caer al resto del sistema;
carga sólo las partes de un programa que se usan; comparte la memoria entre programas
aumentando la velocidad y disminuyendo el uso de memoria; usa un sistema de memoria virtual
por páginas; utiliza toda la memoria libre para cache; permite usar bibliotecas enlazadas tanto
estática como dinámicamente; se distribuye con código fuente; usa hasta 64 consolas virtuales;
tiene un sistema de archivos avanzado pero puede usar los de los otros sistemas; y soporta redes
tanto en TCP/IP como en otros protocolos.
.Es una implementación de libre distribución 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. También soporta máquinas
basadas en SPARC, DEC Alpha, PowerPC/PowerMac, y Mac/Amiga Motorola 680x0. En otros
sistemas operativos, como Windows 95 y 98, no existe un paralelismo real, pues son los procesos
los que se �ceden� el procesador. Por tanto, si un programa quiere acaparar el procesador no
tendrá excesivos problemas para hacerlo. Pero Linux no solo asigna el tiempo de procesador entre
los programas sino que también asigna de manera eficiente la memoria evitando que dos
programas intenten escribir en la misma porción de memoria. Y en el último caso de que esto
ocurra, el núcleo del sistema operativo para ambos procesos y en ningún caso reiniciará la
máquina.
Un sistema multiusuario concurrente (o multiusuario) permite que varios usuarios utilicen la
máquina simultaneamente, bien sea en local o en remoto, con su propio espacio de trabajo. En
Windows 95/98/Me/NT se maneja el concepto de multiusuario secuencial, esto significa que el
sistema puede albergar varios usuarios pero nunca simultaneamente.
GNU/Linux es multiplataforma porque existen versiones para PC, PowerPC, Sparc, Macintosh,
Amstrad, ARM, Motorola 68K. La filosofía de las maquinas con administrador y usuarios,
básicamente, se trata de un concepto muy sencillo: en el sistema habrá un administrador (root)
encargado de realizar las tareas básicas de configuracián, mantenimiento e instalacián de nuevos
programas, al servicio del resto de los usuarios. Este posee los privilegios de añadir, quitar y
modificar características de cualquier otro usuario de la máquina.
Así mismo, como se ha dicho antes cada usuario dispone de su propio espacio de trabajo,
individual e inviolable (salvo por el administrador, si se diera el caso), en el cual puede decidir si
quiere compartir su trabajo con algún grupo dentro de la misma máquina o dejarlo privado para
uso personal. Esto se consigue configurando los permisos del archivo.
El usuario root posee privilegios sobre todos los archivos del sistema. Por lo tanto, un despiste del
administrador puede provocar que toda la información que tengamos sea borrada, cambiar
archivos que no deberán tocarse, por lo que se recomienta trabajar como root solamente en caso
de que sea indispensable.
Esta forma de trabajo permite que un usuario normal "juegue" con el sistema sin poner en peligro
su integrad. La única información que podrá perderse será la propia del usuario, que se
solucionará volviendo a generar su cuenta. Esto es ideal para que un usuario investigue las
posibilidades de Linux, sin que esto pueda provocar perdidas en el sistema operativo.
Además, si algún programa es dañino para el sistema, por fallos en su ejecución, no podrá afectar
a todo el sistema, como mucho a los ficheros del usuario. Este es uno de los motivos por los que
apenas hay virus en sistemas unix ya que su distribución es muy dificil. Si se usa la máquina como
un usuario normal, los virus no podrán borrar ni el disco duro, ni infectar programas del sistema, ni
afectar a practicamente nada.
A diferencia de otros sistemas operativos el trabajo con Linux no se hace desde un
entorno grafico si no desde línea de consola dispone de varios programas que interpreta
los comandos asignados por el usuario este programa se llama Shell basado en UNIX.
Características de Linux
Los beneficios derivados del uso del sistema operativo UNIX, y por lo tanto de
Linux, provienen de su potencia y flexibilidad. Estos son resultado de
numerosas características integradas al sistema, las que están disponibles tan
pronto como se inicia.
Multitareas
Multitareas describe la habilidad de ejecutar aparentemente, al mismo tiempo,
numerosos programas sin obstaculizar la ejecución de cada aplicación. Esto se
conoce como multitareas preferente, porque cada programa tiene garantizada
la posibilidad de correr, esto es, cada programa no se ejecuta sino que hasta
que el sistema operativo lo aparta para permitir que otros programas corran.
Este tipo de multitareas es exactamente lo que Linux hace.
Para compreder mejor la capacidad de multitareas de Linux, se examinará
desde otra perspectiva. El microprocesador de una computadora puede hacer
una sola cosa a la vez, pero es capaz de completar esas tareas individuales en
periodos tan breves que son dificiles de captar. La mente humana es incapaz de
detectar la diferencia entre una demora tan breve y algo que ocurra
simultáneamente. De tal forma que pareciera que las tareas se realizan al
mismo tiempo.
Es fácil apreciar los beneficios de tener capacidades de multitareas preferente.
Además de reducir los tiempos muertos (lapso en el que no puede proseguir su
trabajo en una aplicación porque el proceso no termina aún), la flexibilidad de
no tener que cerrar las ventanas de aplicaciones antes de abrir y trabajar en
otras es mucho mas conveniente.
Multiusuario
La capacidad de Linux para asignar tiempo del microprocesador a numerosas
aplicaciones simultáneas se prestó como consecuencia a servir a numerosas
personas al mismo tiempo, cada una ejecutando una o más aplicaciones. La
particularidad en realidad destacada de Linux y sus características de
multiusuario y multitareas, es que mas de una persona puede trabajar en la
misma versión de la misma aplicación de manera simultánea, desde las mismas
terminales o desde terminales separadas. Esto no debe confundirse con
numerosos usuarios que actualizan un archivo a un tiempo, particularidad que
es potencialmente desconcertante y peligrosa a la vez que indeseable.
Shells programables
Esta es otra característica que hace de UNIX y en consecuencia de Linux, lo
que es: el sistema operativo más flexible.
Aunque en los últimos anõs se han agregado interfaces gráficas al sistema
UNIX, casi todas las utilerías para emplear y administrar Linux, se ejecutan
mediante la escritura de comandos. En Linux, al intérprete de la línea de
comando de le conoce como shell, que no es otra cosa mas que un programa
disenãdo para aceptar comandos y ejecutarlos. Varios tipos de programas
pueden emplearse como shells, pero en casi todas las versiones de Linux
existen diversos shells estándares disponibles.
Los shells de Linux, son equivalentes al COMMAND.COM que emplea MSDOS. Ambos aceptan y ejecutan comandos, y corren archivos de
procesamiento por lotes y programas.
Independencia de dispositivos bajo Linux
Al igual que UNIX, Linux comparte muchos de los mismos beneficios de la
independencia de dispositivos. Por desgracia, una de las mejores
características de Linux es al mismo tiempo una de sus mayores desventajas:
su independencia del mundo comercial. Linux ha sido desarrollado durante los
últimos anõs por una variedad de programadores de todo el mundo, quienes no
tienen acceso a todos los equipos creados para las PCs de IBM y las
compatibles. De hecho, Linux no corre en algunas PCs de IBM, en especial las
que utilizan el bus de microcanal.
Como último recurso, puesto que se tiene el código fuente para el núcleo, se
puede modificar el núcleo para trabajar con los nuevos dispositivos.
Comunicaciones y capacidades de red
La superioridad de UNIX y de Linux sobre otros sistemas operativos es igual
de evidente en sus utilerías para comunicaciones y red. El envío de mensajes
internos o la transferencia de archivos puede hacerse mediante algunos
comandos de Linux, entre los que están write, cal, mail, mailx asi como cu y
uucp. El intercambio de información entre usuarios del mismo sistema se lleva
a cabo por medio de comunicación terminal a terminal, correo electrónico y un
calendario automático que sirve como administrador y programador de
información.
Portabilidad de sistemas abiertos
En la interminable búsqueda de la estandarización, muchas organizaciones
han asumido un interés renovado en la dirección en la que están
evolucionando los sistemas operativos.
La portabilidad es la capacidad de transportar un sistema operativo de una
plataforma a otra para que siga funcionando del mismo modo en que lo hacía.
La portabilidad que proporciona los medios para que diferentes plataformas de
cómputo que corren UNIX se comuniquen adecuada y efectivamente con
cualquiera de las otras sin necesidad de agregar interfaces de comunicación
especiales, costosas y de última hora. Ningún otro sistema operativo puede
satisfacer esta demanda.
DISTRIBUCIONES LINUX
Distribuciones populares
Entre las distribuciones Linux más populares se incluyen:

Arch Linux, una distribución basada en el principio KISS, con un sistema de desarrollo continuo
entre cada versión (no es necesario volver a instalar todo el sistema para actualizarlo).

Debian, una distribución mantenida por una red de desarrolladores voluntarios con un gran
compromiso por los principios del software libre.

Fedora, una distribución lanzada por Red Hat para la comunidad.

Ubuntu, una popular distribución para escritorio basada en Debian y mantenida por Canonical.

Kubuntu, la versión en KDE de Ubuntu.

Linux Mint, una popular distribución derivada de Ubuntu.

Chakra project, una popular distribución para escritorio, inicialmente basada en Arch Linux,
actualmente se encuentra en un desarrollo independiente.

openSUSE, originalmente basada en Slackware es patrocinada actualmente por la compañía
SUSE (The Attachmate Group).

Puppy Linux, versión para equipos antiguos o con pocos recursos que pesa unos 130 MiB.

CentOS, una distribución creada a partir del mismo código del sistema Red Hat pero
mantenida por una comunidad de desarrolladores voluntarios.

Gentoo, una distribución orientada a usuarios avanzados, conocida por la similitud en su
sistema de paquetes con el FreeBSD Ports, un sistema que automatiza la compilación de
aplicaciones desde su código fuente.

Knoppix, fue la primera distribución live en correr completamente desde un medio extraíble.
Está basada en Debian.

Mandriva, mantenida por la compañía francesa del mismo nombre, es un sistema popular en
Francia y Brasil. Está basada en Red Hat.

PCLinuxOS, derivada de Mandriva, pasó de ser un pequeño proyecto a una popular
distribución con una gran comunidad de desarrolladores.

Red Hat Enterprise Linux, derivada de Fedora, es mantenida y soportada comercialmente por
Red Hat.

Slackware, una de las primeras distribuciones Linux y la más antigua en funcionamiento. Fue
fundada en 1993 y desde entonces ha sido mantenida activamente por Patrick J. Volkerding.

Slax, es un sistema Linux pequeño, moderno, rápido y portable orientado a la modularidad.
Está basado en Slackware.

Dragora y Trisquel, que van adquiriendo importancia entre las distribuciones que sólo
contienen software libre.

Canaima, es un proyecto socio-tecnológico abierto, construido de forma colaborativa,
desarrollado en Venezuela y basado en Debian.

Tuquito Basada en Ubuntu, distribución desarrollada en argentina con buenas interfaces
gráficas y drivers universales. Recomendada para usuarios iniciales.
Distribuciones especializadas
Otras distribuciones se especializan en grupos específicos:

OpenWrt, diseñada para ser empotrada en dispositivos enrutadores.

Edubuntu, un sistema del proyecto Ubuntu diseñado para entornos educativos.

LULA, distribución académica para universidades. Proyecto LULA.

MythTV, orientada para equipos multimedia o grabadores de vídeo digital.

Musix, una distribución de Argentina destinada a los músicos.

mkLinux, Yellow Dog Linux o Black Lab Linux, orientadas a usuarios de Macintosh y de la
plataforma PowerPC.

64 Studio, una distribución basada en Debian diseñada para la edición multimedia.

ABC GNU/Linux, distribución para la construcción de clusters Beowulf desarrollado por Iker
Castaños Chavarri, Universidad del País Vasco.
Mercado
Numerosos estudios cuantitativos sobre software de código abierto están orientados a tópicos como la
cuota de mercado y la fiabilidad, muchos de estos estudios examinan específicamente a Linux.El
mercado de Linux crece rapidamente, y los ingresos por software de servidores, escritorios, y
empaquetados, que corren bajo Linux, se estima que llegarán a $35.7 billones en 2008 .
La creciente popularidad de Linux se debe a las ventajas que presenta ante otros tipos de software.
Entre otras razones se debe a su estabilidad, al acceso a las fuentes (lo que permite personalizar el
funcionamiento y auditar la seguridad y privacidad de los datos tratados), a la independencia de
proveedor, a la seguridad, a la rapidez con que incorpora los nuevos adelantos tecnológicos ( IPv6 ,
microprocesadores de 64 bits ), a la escalabilidad (se pueden crear clusters de cientos de
computadoras ), a la activa comunidad de desarrollo que hay a su alrededor, a su interoperatibilidad y
a la abundancia de documentación relativa a los procedimientos.
Richard Stallman , creador del proyecto GNU
Hay varias empresas que comercializan soluciones basadas en Linux: IBM , Novell , Red Hat , Rxart ,
Canonical Ltd. ( Ubuntu ), así como miles de PYMES que ofrecen productos o servicios basados en esta
tecnología.
UBUNTU
La primera versión de Ubuntu fue lanzada el 20 de octubre de 2004,1 y en la actualidad ya lleva
varias versiones estables lanzadas.
Las versiones estables se liberan cada 6 meses, y Canonical proporciona ayuda técnica y
actualizaciones de seguridad para la mayoría de las versiones de Ubuntu durante 18 meses,
excepto para las versiones LTS (Long Term Support), para las que ofrece 3 años para la versión
de escritorio y 5 años para la versión de servidor, a partir de la fecha del lanzamiento. Luego de la
liberación de su versión 12.04, todas las versiones LTS sea de escritorio o de servidor, tendrán un
soporte de 5 años.2
La nomenclatura de las versiones no obedece principalmente a un orden de desarrollo, se
compone del dígito del año de emisión y del mes en que esto ocurre, por ejemplo: Ubuntu 10.04
(2010, abril).
Con cada nuevo lanzamiento del sistema operativo se incluye una nueva versión del entorno de
escritorio GNOME y de X.Org, ya que cada nueva versión de Ubuntu es publicada
aproximadamente un mes después de cada lanzamiento de GNOME, y estas a su vez ocurren un
mes después de cada lanzamiento de X.Org.
Cuando finaliza el soporte de una versión de Ubuntu se eliminan sus repositorios de todos los
servidores con los que cuenta esta distribución Linux, es decir, primero en los principales y luego
en el resto de servidores espejo repartidos por todo el mundo.
Debian Linux
Es un sistema operativo libre, desarrollado por más de mil voluntarios alrededor del mundo, que
colaboran a través de Internet.
La dedicación de Debian al software libre, su base de voluntarios, su naturaleza no comercial y su
modelo de desarrollo abierto la distingue de otras distribuciones del sistema operativo GNU. Todos
estos aspectos y más se recogen en el llamado Contrato Social de Debian.
Nació en el año 1993, de la mano del proyecto Debian, con la idea de crear un
sistema GNU usando Linux como núcleo ya que el proyecto Debian, organización responsable de
su mantenimiento en la actualidad, también desarrolla sistemas GNU basados en otros núcleos
(Debian GNU/Hurd, Debian GNU/NetBSD y Debian GNU/kFreeBSD).
Uno de sus principales objetivos es separar en sus versiones el software libre del software no libre.
El modelo de desarrollo es independiente aempresas, creado por los propios usuarios, sin
depender de ninguna manera de necesidades comerciales. Debian no vende directamente
susoftware, lo pone a disposición de cualquiera en Internet, aunque sí permite a personas o
empresas distribuir comercialmente este softwaremientras se respete su licencia.
Debian Linux puede instalarse utilizando distintos mecanismos de instalación, como DVD, CD, BluRay, memorias USB y diskettes, e incluso directamente desde la red.
Fedora (AFI: /fəˈdɔrə/) es una distribución Linux para propósitos generales basada en RPM, que se
caracteriza por ser un sistema estable, la cual es mantenida gracias a una comunidad internacional
de ingenieros, diseñadores gráficos y usuarios que informan de fallos y prueban nuevas
tecnologías. Cuenta con el respaldo y la promoción de Red Hat.
El proyecto no busca sólo incluir software libre y de código abierto, sino ser el líder en ese ámbito
tecnológico.3 4 Algo que hay que destacar es que los desarrolladores de Fedora prefieren hacer
cambios en las fuentes originales en lugar de aplicar los parches específicos en su distribución, de
esta forma se asegura que las actualizaciones estén disponibles para todas las variantes de
Linux.3 Max Spevack en una entrevista afirmó que: "Hablar de Fedora es hablar del rápido
progreso del software libre y de código abierto."3 Durante sus primeras 6 versiones se llamó Fedora
Core, debido a que solo incluía los paquetes más importantes del sistema operativo. La última
versión es Fedora 17, puesta a disposición del público el29 de mayo del 2012.
De acuerdo a DistroWatch, Fedora es la tercera distribución de Linux más popular, por detrás
de Linux Mint y Ubuntu.
2 estructura de directorios en Linux
Es “muy muy importante” conocer la estructura de directorios en Linux, ya que ello nos
permite saber que tipo de información contiene.
Esto nos ayudará para tener una mejor visión de cómo está organizado el sistema operativo
GNU/Linux, además con ello sabremos dónde localizar lo que necesitamos.
Aquí una breve explicación sobre el tema.
/: (Raíz) Es el nivel más alto dentro de la jerarquía de directorios (PRINCIPAL) . De aquí parten
los demás directorios y subdirectorios.
/bin: (Binarios) Contiene los binarios básicos, que son los ejecutables del sistema operativo.
/boot: (Arranque) Aquí se encuentran todos aquellos archivos necesarios para que el sistema
inicie.
/dev: (Dispositivos) En esta carpeta se encuentran todos los archivos que nos permiten
interactuar con los dispositivos hardware de nuestro ordenador. Por ejemplo los usb, sda (o hda)
con la información de cada uno de ellos.
/etc: (Etcétera) Aquí se guardan los ficheros de configuración de los programas instalados.
/home: (Hogar) Contiene las carpetas por defecto de los usuarios, (sería algo así como el
“Documents and Settings” del sistema operativo Windows).
/lib: (Bibliotecas) Contiene las librerías del sistema y los drivers.
/lost+found: (Perdidos y encontrados) información que se guardó de manera incorrecta
debido a algún fallo del sistema, se crea en cada partición independientemente.
/media: (Media/medios) Directorio donde puede ser utilizado como punto de montaje para
las Unidades Extraíbles. Por ejemplo, los dispositivos USB, disqueteras, unidades de CD/DVD.
/mnt: (Montaje) Es un directorio que se suele usar para montajes temporales de unidades. Por
ejemplo, Directorios compartidos dentro de una red, alguna partición de Windows, etc.
/opt: (Opcionales) Destinado para guardar/instalar paquetes adicionales de aplicaciones.
/proc: (Procesos) Información de los datos del kernel del sistema de ficheros de Linux,
Virtualización y procesos en ejecución.
/root: (Casa del Administrador) Es el directorio /home del administrador. Es el
único /homeque no está incluido -por defecto- en el directorio HOME.
/sbin (Binarios del Sistema): Son los ejecutables de administración, tales como mount,
umount, etc.
/srv: (Servicios) En este directorio residen las carpetas accesibles por el programa cliente de
un determinado servicio ofrecido por algunos servidores configurados en el sistema. Por ejemplo
Apache, ProFtpd, etc.
/sys: (Sistema) Información sobre los dispositivos tal y como los ve el kernel Linux.
/tmp: (Temporales) Es un directorio donde se almacenan ficheros temporales. Cada vez que
se inicia el sistema este directorio se borran.
/usr: (Compartido de Usuarios) Es el directorio padre de otros subdirectorios de importancia.
Se encuentran la mayoría de los archivos del sistema, aplicaciones, librerías, manuales, juegos…
Es un espacio compartido por todos los usuarios del sistema.
/var: (Variables) Ficheros y datos que cambian frecuentemente (logs, bases de datos, colas de
impresión…)
Hasta aquí hemos visto una descripción de los directorios principales, lo cual no quiere decir que
dentro no haya subdirectorios. Observemos algo un poco más completo:
Dentro de la categorización de los directorios encontramos:




Estáticos: Contiene archivos binarios, bibliotecas, y otros archivos están en Read Only (Solo
lectura) que no cambian sin la intervención del administrador. /bin, /sbin, /boot, /opt.
Dinámicos: Son aquellos que los archivos dentro de estos van cambiando. Generalmente se
encuentra como Read-Write (Lectura-Escritura). /var/spool, /var/lock, /var/mail, /home.
Compatibles: Se pueden encontrar archivos comunes que van a estar en cualquier
distribución. /usr/bin, /opt
No Compatibles: Contiene archivos que no son compatibles con otras distribuciones./etc,
/boot, /var/run, /var/lock.
http://www.linux-es.org/distribuciones
2 comandos básicos de Linux
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 través del análisis parcial de su contenido
find - hace una búsqueda a un archivo determinado
fsck - examina el sistema de archivos
gzip - descomprime un archivo en formato GZip
ln - crea un enlace simbólico o físico, dependiendo de la opción
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 partición en el sistema de archivos
mv - mueve un archivo y también 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 ubicación de un archivo señalando su "path"
umount - desmonta una unidad o partición 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 señalando el número de éste
ldd - muestra las librerías necesarias para ejecutar un proceso
ps - muestra todos los procesos que se están ejecutando en el sistema
pstree - muestra todos los procesos que se están 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 información 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 información de usuario y grupo de un determinado usuario
logout - se sale del sistema deslogueando al usuarui, peromitiendo iniciar sesión con otro usuario
passwd - cambia la contraseña 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 información de los usuarios conectados al sistema
whoami - muestra nuestra información
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"
3
MC
Midnight Commander es una aplicación 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 través de los ficheros, la tecla insertar se usa para seleccionar ficheros y las Teclas
de función realizan tareas tales como borrar, renombrar, editar, copiar ficheros, etc. Las versiones
más recientes de Midnight Commander incluyen soporte para el ratón para facilitar el manejo de la
aplicación.
Historia
El gestor de ficheros Midnight Commander fue creado por el desarrollador mexicano de software
libre Miguel de Icaza mientras cursaba la licenciatura en Matemáticas en la facultad de ciencias de
la Universidad Nacional Autónoma de México (UNAM) donde a la edad de 18 años comenzó a
participar en el proyecto GNU. Su primera aportación fue el gestor de archivos o ficheros Midnight
Commander.
[editar]Características
Midnight Commander posee características 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.
También incluye un editor llamado mcedit. Mcedit es un ejecutable independiente, el cual también
puede ser usado de forma independiente a Midnight Commander. Esta aplicación permite
visualizar el contenido de ficheros y disfrutar de características como la de resaltar la sintaxis para
ficheros de código fuente de ciertos lenguajes de programación, y la capacidad de trabajar tanto en
modo ASCII como en modo Hexadecimal. Los usuarios pueden reemplazar mcedit con el editor
que prefieran.
Midnight Commander también 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
manipulación de largas colecciones de ficheros, por ejemplo, para ajustar los nombres a un nuevo
sistema de nombrado. Midnight Commander también puede mover ficheros a otro directorio al
mismo tiempo que lo renombra. Permite al usuario especificar los nombres de ficheros originales y
finales empleando máscaras de caracteres. Esto hace que se puedan renombrar ficheros
empleando la potencia de las Expresiones Regulares de Unix o Linux con una interfaz de usuario
interesante que es el que ofrece Midnight Commander. Además, el usuario puede seleccionar
cuando utilizar y cuando no patrones del Shell o Interfaz de Comandos. Todas estas características
están disponibles a través del menú File > Rename/Move. (Pulsando F1 accedemos a una breve
explicación de las opciones, incluyendo ejemplos sobre como usar máscaras)
[editar]Tipo de Licencia
Midnight Commander es incluido en la mayoría de las distribuciones Linux y se distribuye bajo
la licencia pública general de GNU.
Es muy popular en GNU/Linux debido a que está basado en las versátiles interfaces de texto, tales
como Ncurses o S-Lang, la cual permite que se ejecute en una consola regular, en un terminalXWindow, sobre conexiones SSH y todos los tipos de shells remotos.
4- WINE
Wine (acrónimo recursivo en inglés para Wine Is Not an Emulator, que significa «Wine no es un
emulador») es una reimplementación de lainterfaz de programación de aplicaciones de Win16 y
Win32 para sistemas operativos basados en Unix. Permite la ejecución de programas diseñados
para MS-DOS, y las versiones de Microsoft Windows 3.11, 95, 98, Me, NT, 2000, XP, Vista y 7
El nombre Wine inicialmente fue un acrónimo para WINdows Emulator.1 Este significado fue
cambiado posteriormente al acrónimo recursivo actual.
Wine provee de:

Un conjunto de herramientas de desarrollo para portar código fuente de aplicaciones Windows
a Unix.

Un cargador de programas, el cual permite que muchas aplicaciones para Windows
2.0/3.x/9X/ME/NT/2000/XP/Vista y Win 7 se ejecuten sin modificarse en varios sistemas
operativos unix-like como GNU/Linux, BSD, Solaris y Mac OS X
Compatibilidad binaria

Soporte para programas de la familia MSDOS 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.

Código x86 de 64, 32 y 16 bits.

Extensas bibliotecas de interrupciones para programas utilizando llamadas de modo real
INTxx.

Capacidades avanzadas de trunking.

Posibilidad de añadirle más bibliotecas de enlace dinámico (DLL), incluso las nativas de
Windows, las cuales están ubicadas en la carpetaC:\Windows\System32, y pueden ser
instaladas en wine copiando dichas librerías en la carpeta ~/.wine/drive_c/windows/system32.

Diseño de ingeniería inversa para mejorar la solución frente a errores.

Ejecución sobre otras arquitecturas no Intel bajo emulación, con QEMU (Darwine era una
bifurcación de Wine hecha para Mac OS X PowerPC, pero el proyecto quedó abandonado).
[editar]Gráficos

Puede dibujar en entornos gráficos basados en X11, SDL texto/ttydrv.

Pantalla remota para cualquier terminal X.

Soporte total de GDI y parcial GDI32.

Soporte de DirectX para juegos.

Puede utilizar impresoras para sistemas Microsoft Windows de 16 bits de forma nativa.

Interfaz interna de impresión PostScript.

Capacidad de meta-archivo.

Capacidad de ejecución en una o varias ventanas.

Posibilidad de instalar temas visuales de formato msstyle, los nativos de Windows.
[editar]Otras
características

Soporte de sonido y entradas alternativas.

Soporte de módems o dispositivos por puerto serie.

Trabajo en red con Winsock TCP/IP.

Soporte de escáneres ASPI.

Soporte de controles avanzados típicos de programas para Microsoft Windows de 32 bits.
[editar]Wine
API

Diseñado para ser compatible con código para Windows de 32 bits.

Programas de muestra

Documentación generada automáticamente de las API

Compilador fuente de 32 bits

Capacidad parcial de codificación Unicode

Internacionalización: Wine está disponible en 16 lenguas

Depurador integrado y mensajes de rastreo configurables
procedimiento instalación packet traicer
Una vez descargado el .bin abrimos una consola y le damos permiso ejecución (x) al
paquete:

chmod +x PacketTracer533_i386_installer-deb.bin


Una vez que el paquete tiene los permisos necesarios procedemos a ejecutarlo con la
orden (./)


./PacketTracer533_i386_installer-deb.bin


Nos pedirá que demos “Enter” para leer la licencia del paquete




Una vez que terminemos de leer la licencia escribimos “Y”, y nos pedirá la contraseña para
instalar el programa



Y listo ya tenemos Packet Trace en nuestro Ubuntu luego de una larga y ardua instalación
:P.

Wine está soportado oficialmente por Ubuntu lo que implica que puedes instalarlo directamente utilizando el
Gestor de paquetes Synaptic. Acude, por tanto, a Sistema – Administración – Gestor de paquetes Synaptic e
introduce tu contraseña de root.
Utiliza el campo de búsqueda para localizar todos los paquetes disponibles tecleando la palabra wine.
Localiza el paquete wine y haz clic con el botón derecho del ratón para seleccionar la opción marcar para
instalar.
El sistema te ofrece el listado de paquetes que deberán ser instalados con la aplicación. Pulsa el
botón Marcar para aceptar la selección.
Haz clic sobre el botón Aplicar para iniciar el proceso.
Ubuntu te informará de los cambios que está a punto de realizar en el sistema: la instalación de nuevos
paquetes, la descarga de los mismos y su peso, el espacio que se utilizará en disco, etc.
Pulsa finalmente el botón Aplicar para finalizar el proceso.
Cuando el proceso finalice cierra la última ventana y, por último, cierra también Synaptic.
Ya completada la instalación acude a Aplicaciones – Wine – Programs – Accesorios – Bloc de notas y
comprueba como este programa de sistemas windows funciona sin problemas en Ubuntu.
Después de unos segundos (más la primera vez que uses Wine), aparecerá el bloc de notas de Windows en
pantalla.
ARES
1º Instalar Wine
sudo apt-get update
sudo apt-get install wine
2º Instalar Ares
Cuando ya tenemos wine instalado, descargamos la ultima version de Ares, hacemos clic derecho
sobre el paquete y seleccionamos "Abrir con Wine". (ahora wine abrirá el instalador de Ares tal
como si nos encontramos en windows)
Si al abrirse ares les aparece el aviso de "Instalador de Gecko de Wine", Le dan a "Instalar".
3º Recomendaciones
Al abrir Ares conectarse manualmente, es decir, ir a "Panel de Control", hacer clic en
"Desconectar" y luego en "Conectar". Sino, puede que tu ares quede en "conectando" por siempre
xD. Es normal que Ares se demore en conectar (más que en windows)
Recuerda cambiar la carpeta de descarga a una de tu preferencia
Para tener a Ares en el menú de Aplicaciones vallan a "Aplicaciones/Wine/Configure Wine". En la
Pestaña de aplicaciones, presionar el boton "Añadir Aplicación" y buscan el archivo ares.exe como
si estuviean en windows (osea entran a Archivos de programa, ares y seleccionan ares.exe) Luego
le dan a aceptar y deberia aparecer la aplicación en el menú dentro del apartado Wine.
No tratar de maximizar ni minimizar la ventana. Es muy probable que wine se cuelge al tratar de
hacerlo.
5 linux como router
Pasos para seguir:
1. Configuración de las interfaces de red
2. Activación de enrutamiento
3. Configuración de servicio NAT
4. Configuración de servicio DHCP
5. Configuración de servicio DNS de cache
Configuracion de las interfaces de red
Antes de todo nos deshacemos de network-manager:
apt-get remove network-manager
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 podéis ver hemos configurado la interfaz de red interna (eth0) para que tenga una IP
estática privada (192.168.0.1/24), y la interfaz externa para que obtenga su configuración de
red mediante dhcp.
Para aplicar la configuración 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 añadir la linea:
net.ipv4.ip_forward = 1
Para aplicar la configuracion ejecutamos:
sudo sysctl -p
Configuración 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 añadimos 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 añadir también a /etc/rc.local
Configuración de servicio DHCP
El servicio DHCP sirve para la suministrar la configuración 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 configuración es bastante simple. Teneis que abrir el archivo /etc/dnsmasq.conf, vaciar su
contenido y añadir estas lineas:
listen-address=192.168.0.1
cache-size=300
dhcp-range=192.168.0.4,192.168.0.20,24h
Especificamos la dirección IP en la que el programa va a escuchar las solicitudes DHCP y DNS, el
tamaño máximo de cache y el rango de direcciones IPs dinámicas disponibles a los equipos de
red local (dnsmasq es bastante inteligente para averiguar automáticamente el resto de los
parámetros de configuración de red que tendrá que ir suministrando a los equipos de nuestra
LAN).
Reiniciamos el programa:
sudo /etc/init.d/dnsmasq restart
Configuración de servicio DNS de cache
El servicio de DNS de cache hace la resolución 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 configuración de dnsmasq. El programa cogerá la
configuración 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 configuración de red mediante DHCP del router de proveedor de Internet. Esto se supone que
el contenido de /etc/resolv.conf se modificara automáticamente después 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 configuración 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 configuración. Para aplicarla ejecutamos el comando:
sudo /etc/init.d/networking restart
SERVIDOR VNC
Vamos a configurar un servidor y cliente vnc en Ubuntu 11.04. Hay varios servidores y clientes
disponibles, pero vamos a utilizar como servidor uno de los más sencillos que existen que es el
x11vnc y como cliente usaremos a vncviewer.
Primeramente daremos paso a la instalación del cliente, desde la consola hacemos:
sudo apt-get install x11vnc
Transcurridos unos minutos ya tendremos el servidor instalado. Ahora vamos a arrancar el
servidor utilizando la siguiente instrucción:
x11vnc -bg -gui -passwd mi_contraseña
-bg: Con este parametro iniciaremos el servidor en segundo plano (back ground), esto nos sirve
por si deseamos cerrar la consola desde donde lo lanzamos el servidor siga activo.
-gui: Con esto arrancamos junto con el servidor la interfaz grafica para que le podemos configurar
ciertas cosas.
-passwd: Seguido de esto debemos de colocar un password para que los clientes se conecten al
servidor.
Al ejecutar la linea anterior, la consola quedara bloqueda por el lanzamiento del servidor, y se
iniciara la consola grafica de configuración, como se muestra en la siguiente imagen:
En el menu Actions, se realizan operaciones como detener el servidor y salir de él.
Dentro del menu permissions se pueden hacer operaciones interesantes como:
allow: Aqui podemos especificar una lista de direcciones ip de equipos a los que se les permitira
acceso, esto es muy util cuando en nuestra red tenemso ip’s fijas.
Al darle clic en allow, se pone un cuadro de texto en la parte inferior, donde podemos especificar
separadas por comas, las direcciones ip permitidas, cuando hayamos terminado de escribir la lista
pulsamos en el boton “Ok”.
forever: Esta opcion la debemos de marcar para que cuando un cliente se desconecta, no se cierre
la conexión, es decir, que siga escuchando peticiones para nuevas conexiones.
viewonly: Solo ver, esta opción si esta marcada solo permitira a los clientes observar el escritorio
del servidor, pero no podra manipularlo.
La interfaz de configuración grafica la podemos cerrar sin problema y el servidor seguira corriendo.
Este servidor escucha por el puerto 5900, por lo que hay que asegurarnos que no este bloqueado
este puerto ni este siendo usado por otro servicio.
Y con esto terminamos la configuración del servidor, ya esta corriendo y listo para recibir
peticiones de un cliente y que este inicie sesión gráfica remota.
Si queremos cerrar el servidor desde consola hacemos:
sudo killall x11vnc
Ahora vamos a configurar un cliente.
Cliente vnc.
El cliente que vamos a utilizar se llama vncviewer, al igual que el servidor x11vnc se encuentra en
los1 repositorios oficiales de Ubuntu por lo que no hay nigún problema para instalarlo haciendo,
dicho cliente viene como parte del paquete xtightvncviewer, por lo que primero instalamos ese:
sudo apt-get install xtightvncviewer
Una vez hecho esto lanzamos el cliente de la siguiente manera:
vncviewer
Al hacer esto nos saldra la siguiente ventana, donde especificaremos el ip del servidor:
Escribimos el ip del servidor y pulsamos enter.
Despues se nos pide el password, que es el mismo que escribimos cuando arrancamos el servidor.
Despues de haber proporcionado el password ya se iniciara la sesión gráfica remota.
SERVIDOR FTP
Introducción.
FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos (o ficheros informáticos) es
uno de los protocolos estándar más utilizados en Internet siendo el más idóneo para la
transferencia de grandes bloques de datos a través de redes que soporten TCP/IP. El servicio
utiliza los puertos 20 y 21, exclusivamente sobre TCP. El puerto 20 es utilizado para el flujo de
datos entre cliente y servidor. El puerto 21 es utilizando para el envío de órdenes del cliente
hacia el servidor. Prácticamente todos los sistemas operativos y plataformas incluyen soporte
para FTP, lo que permite que cualquier computadora conectada a una red basada sobre TCP/IP
pueda hacer uso de este servicio a través de un cliente FTP.
VSFTPD (Very Secure FTP Daemon) es un sustento lógico utilizado para implementar servidores
de archivos a través del protocolo FTP. Se distingue principalmente porque sus valores por
defecto son muy seguros y por su sencillez en la configuración, comparado con otras alternativas
como Wu-ftpd. Actualmente se presume que VSFTPD es quizá el servidor FTP más seguro del
mundo.
Sustento lógico necesario.
yum -y install vsftpd
Ficheros de configuración.
/etc/vsftpd.user_list
Lista que definirá usuarios a enjaular o no a enjaular, dependiendo
de la configuración.
/etc/vsftpd/vsftpd.conf
Fichero de configuración.
Procedimientos.
Utilice un editor de texto y modifique el fichero /etc/vsftpd/vsftpd.conf. A continuación
analizaremos los parámetros a modificar o añadir, según serequiera para necesidades
particulares.
Parámetro anonymous_enable.
Se utiliza para definir si se permitirán los accesos anónimos al servidor. Establezca como
valor YES o NO de acuerdo a lo que se requiera.
anonymous_enable=YES
Parámetro local_enable.
Es particularmente interesante si se combina con la función de jaula (chroot). Establece si se
van a permitir los accesos autenticados de los usuarios locales del sistema. Establezca como
valor YES o NO de acuerdo a lo que se requiera.
local_enable=YES
Parámetro write_enable.
Establece si se permite el mandato write (escritura) en el servidor. Establezca como
valor YES o NO de acuerdo a lo que se requiera.
write_enable=YES
Parámetro ftpd_banner.
Este parámetro sirve para establecer el banderín de bienvenida que será mostrado cada vez que
un usuario acceda al servidor. Puede establecerse cualquier frase breve que considere
conveniente.
ftpd_banner=Bienvenido al servidor FTP de nuestra empresa.
Estableciendo jaulas para los usuarios: parámetros chroot_local_user y
chroot_list_file.
De modo predeterminado los usuarios del sistema que se autentiquen tendrán acceso a otros
directorios del sistema fuera de su directorio personal. Si se desea recluir a los usuarios a solo
poder utilizar su propio directorio personal, puede hacerse fácilmente con el
parámetro chroot_local_user que habilitará la función de chroot() y los parámetros
chroot_list_enable y chroot_list_file para establecer el fichero con la lista de usuarios que
quedarán excluidos de la función chroot().
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
Con lo anterior, cada vez que un usuario local se autentique en el servidor FTP, solo tendrá
acceso a su propio directorio personal y lo que este contenga. No olvide crear el
fichero /etc/vsftpd/vsftpd.chroot_list, ya que de otro modo no arrancará el servicio
vsftpd.
touch /etc/vsftpd/vsftpd.chroot_list
Control del ancho de banda.
Parámetro anon_max_rate.
Se utiliza para limitar la tasa de transferencia en bytes por segundo para los usuarios anónimos,
algo sumamente útil en servidores FTP de acceso público. En el siguiente ejemplo se limita la
tasa de transferencia a 5 Kb por segundo para los usuarios anónimos:
anon_max_rate=5120
Parámetro local_max_rate.
Hace lo mismo que anon_max_rate, pero aplica para usuarios locales del servidor. En el
siguiente ejemplo se limita la tasa de transferencia a 5 Kb por segundo para los usuarios locales:
local_max_rate=5120
Parámetro max_clients.
Establece el número máximo de clientes que podrán acceder simultáneamente hacia el servidor
FTP. En el siguiente ejemplo se limitará el acceso a 5 clientes simultáneos.
max_clients=5
Parámetro max_per_ip.
Establece el número máximo de conexiones que se pueden realizar desde una misma dirección
IP. Tome en cuenta que algunas redes acceden a través de un servidor proxy o puerta de enlace
y debido a esto podrían quedar bloqueados innecesariamente algunos accesos. en el siguiente
ejemplo se limita el número de conexiones por IP simultáneas a 5.
max_per_ip=5
Aplicando los cambios.
A diferencia de otros servicios FTP, VSFTPD no requiere configurarse como servicio sobre
demanda. Por lo tanto no depende de servicio xinetd. La versión incluida en distribuciones como
Red Hat™ Enterprise Linux 3.0 y White Box Enterprise Linux 3.0 puede inicializarse, detenerse o
reinicializarse a través de un guión similar a los del resto del sistema. De modo tal, podrá
inicializarse, detenerse o reinicializarse a través del mandato service y añadirse al arranque del
sistema en un nivel o niveles de corrida en particular con el mandato chkconfig.
Para ejecutar por primera vez el servicio, utilice:
service vsftpd start
Para hacer que los cambios hechos a la configuración surtan efecto, utilice:
service vsftpd restart
Para detener el servicio, utilice:
service vsftpd stop
Para añadir VSFTPD al arranque del sistema en todos los niveles de corrida, utilice:
chkconfig vsftpd on
Modificaciones necesarias en el muro cortafuegos.
Si se utiliza un cortafuegos con políticas estrictas, como por ejemplo Shorewall, es necesario
abrir los puerto 20 y 21 por TCP (FTP-DATA y FTP, respectivamente).
SERVIDOR HTTP
Servidor WEB
En primer lugar tendremos que tener instalado dicho programa, que estando en
Debian será de lo más fácil (siendo root):
# apt-get install apache
Una vez instalado, pasemos a su configuración, que se basará en la edición de
algunos archivos de configuración del apache (repito que es necesario tener
privilegios de administrador).
Lo primero de todo será editar /etc/apache/httpd.conf, su archivo principal, en el
cual personalizaremos apache para ajustarlo a nuestras necesidades. Recuerdo lo
de las copias de seguridad, para poder restaurar el archivo en caso de que
fallemos:
# cp /etc/apache/httpd.conf /etc/apache/httpd.conf.old
# vi /etc/apache/httpd.conf
Nos aparecerá una pantalla negro con líneas. Algunas de estas líneas empiezan
con el símbolo "#", eso indica que no serán leídas como código, sino como
comentarios, y por lo tanto serán ignoradas. Esto resulta útil para apuntar lo que
hacemos, aclarar alguna línea de código...
Es hora de modificar el archivo.
Para ello buscaremos la línea siguiente:
ServerType standalone
Esto significa que ServerType coje el valor de standalone. Es la manera en que se
ejecutará el servidor. Lo dejaremos así.
A medida que vayas bajando, notarás que hay muchas más definiciones del tipo
"Variable valor", de momento no tocaremos nada porque son propias del
funcionamiento de apache y no nos interesa cambiar nada, por lo tanto dejaremos
los valores por defecto que se nos indica.
Cuando llegamos a ### Section 2: 'Main' server
configuration es cuando empezaremos a indicar lo que deseemos.
Vamos bajando y encontraremos las siguientes definiciones:
Port 80
Es el puerto donde apache escuchará. Por defecto el 80, ya que si pusiéramos otro
cualquiera, deberíamos especificarlo en la petición de la URL. Si ponemos 7001
por ejemplo, para visitar la página tendríamos que poner en el navegador
"http://www.dominio.org:7001". Por lo que lo dejamos en 80.
User www-data
Group www-data
Nombre de usuario y grupo con el cual se ejecutará el servidor. Es necesario, por
razones de seguridad, no poner ni root ni cualquier usuario privilegiado. wwwdata es el que traía por defecto y me pareció el más apropiado.
ServerAdmin webmaster@dns
Se especifica la dirección de email a la que se enviarán los mensajes de error. En
nuestro caso pondremos webmaster@dns que es la dirección de email local del
administrador de la web.
ServerName dominio.org
Nombre del servidor. Este valor tiene que ser un DNS válido o la IP del servidor
web. Dado que compremos dominio.org, será lo que pondremos.
DocumentRoot /home/web
Indica el path (ruta completa) de la carpeta donde guardaremos los archivos de la
página principal. En nuestro caso /home/web.
<Directory /var/www/>
Esta etiqueta no debe quedarse así, sino que se tiene que canviar /var/www/ por
lo que pusimos en DocumentRoot. Así que quedaría: <Directory /home/web/>
UserDir /home/todos/*/tu_web
Path del directorio que almacenará la página personal de cada usuario.
/home/todos/*/tu_web es lo que puse. Así, si alguien escribe en el navegador
www.dominio.org/~eberney entrará en la página personal del usuario eberney.
DirectoryIndex index.html index.htm default.htm
index.php
Será el fichero o ficheros que tomará el servidor como índice del directorio web.
Se suele poner "index.html", aunque se admiten varios más separándolos con
espacios (default.html, index.php, index.asp...). No sabía con qué trabajarían los
usuarios, así que puse los que se me ocurrieron en ese momento.
Hay muchas más opciones que deberían comentarse, pero no es el caso, nosotros
solo queremos lo mínimo para que funcione bien.
Ahora falta poner una página en el DocumentRoot que hayamos escogido.
Crearemos la carpeta indicada, en mi caso:
# mkdir /home/web
Y editaremos cualquier archivo html para probar si funciona:
# vi /home/web/index.html
Escribimos:
<html>
Hola
</html>
Salimos del editor vi (:wq).
Después de haber configurado el apache toca reiniciarlo con el siguiente
comando:
# apachectl restart
Solo nos queda comprobar que todo funciona bien.
# lynx localhost
lynx es un navegador en modo texto para visitar páginas web desde la consola.
Tendría que aparecernos en pantalla "Hola" (el contenido de
/home/web/index.html).
Pero esto es en ámbito local, por lo que si desde cualquier ordenador conectado a
internet que esté fuera de la LAN ponemos en el navegador www.dominio.org no
saldrá la página, por varias razones:
-El router no tiene abierto el puerto publico 80 ni redirigido a nuestro servidor
apache.
-Falta aplicar el uso de VirtualHosts en el servidor apache.
La primera es lo mismo que hicimos con el servidor DNS, pero cambiando el
puerto a 80, que es el de la web.
El segundo problema se puede resolver fácilmente. De nuevo tenemos que editar
el archivo /etc/apache/httpd.conf e irnos al final de todo donde hay las etiquetas
llamadas VirtualHost.
Tenemos que buscar y sustituir lo siguiente:
NameVirtualHost 192.168.0.5:80
La dirección con el puerto 192.168.0.5:80 es la del servidor apache que tenemos
en la ethernet.
Y ahora abrimos la etiqueta siguiente:
<VirtualHost 192.168.0.5>
DocumentRoot /home/web/
DirectoryIndex index.php index.html index.htm
ServerAdmin [email protected]
ServerName dominio.org
ServerAlias *.dominio.org
ErrorLog /home/web/logs/logerror
CustomLog /home/web/logs/access-log common
</VirtualHost>
Esto crea un host virtual en 192.168.0.5 con características explicadas con
anterioridad, excepto el ErrorLog, archivo donde se guardan los errores, y el
CustomLog, fichero donde se almacenará un registro de todos los accesos a la
web.
Finalmente llega el esperado momento de la prueba, poner en marcha apache otra
vez:
# apachectl restart
Ahora, desde cualquier lugar de internet podría uno visitar www.dominio.org.
http://www.sorgonet.com/collaborations/servidor-ies/
SERVIDOR DE BASE DE DATOS
Procedimientos.
MySQL™ es incluido actualmente en la mayoría de las distribuciones de GNU/Linux de hoy en
día, por lo que no habrá problema alguno en conseguir los binarios necesarios y propios de la
distribución que se utilice. Bastará con instalar los incluidos en el CD de instalación o bien los
disponibles entre los paquetes de actualización para la distribución 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 más recientes entre las actualizaciones
disponibles, cambie a súper 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 más 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 gráfico), vaya a la pestaña de SELinux y en la sección de SELinux Service
Protection habilite la casilla que dice Disable SELInux protection for mysqld daemon. De otro
modo MySQL no podrá siquiera iniciar.
Desactivar protección de SELinux para mysqld.
La manera más 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
Después de iniciado MySQL™ por primera vez, como root ejecute el mandato mysql:
# mysql
Esto nos ingresará directamente y sin mayor preámbulo al Shell de MySQL™, donde lo primero
será asignar una contraseña 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 petición para que se muestren las tablas:
> show tables;
Procederemos hacer una petición 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 contraseña, por lo que cualquiera que
se identifique como root tendrá acceso. Asignaremos una contraseña del siguiente modo (sea
cuidadoso con lo que teclea como contraseña):
> 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 contraseña 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 contraseña.
> 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 contraseña (-p):
mysql -u root -p
A continuación se le pedirá ingrese una contraseña, 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
parámetro create:
mysqladmin -u root -p create dbejemplo
Si queremos eliminar dicha base de datos, utilizamos el parámetro 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 creación 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 más
común, y seguro, es asignar el acceso solo desde el mismo servidor (localhost), a menos que el
desarrollo web o aplicación 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 contraseña 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, según el DNS de la LAN, se denomina como maquina1.mi-red-local.org, es
[email protected].
GRANT
select, insert, update, create, alter, delete, drop
ON
directorio.*
TO
[email protected]
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 líneas 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 administración, como sería algunos casos particulares, se requerirá
añadir las siguientes líneas en el guión 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