jueves, 21 de julio de 2011

UNIX

UNIX es uno de los sistemas operativos más populares en el mundo entero. Fue desarrollado originalmente como un sistema operativo multi-area para minicomputadoras i mainframes a mediados de los años 70
UNIX es un sistema operativo multiusuario, multitarea. Esto significa que muchas personas pueden estar usando la computadora al mismo tiempo, ejecutando diferentes aplicaciones.

Emulador de Terminal.
Para ingresar a un sistema UNIX remoto desde un PC se usa habitualmente un "emulador de terminal". Este programa permite al PC comportarse como una terminal (teclado y pantalla, sin procesador) conectada directamente a la máquina UNIX. En el emulador de terminal se deben fijar los siguientes parámetros:
• Nombre descriptivo de la conexión a establecer (arbitrario).
• Nombre en la red de la máquina a la que se quiere conectar.
• Tipo de terminal que se emulará (VT100 es el más conocido).
• Conexión vía TCP/IP, protocolo de comunicación en la red.

Ingreso al sistema (login).
Login: id-usuario
Password:
Id-usuario es el nombre identificador del usuario para ingreso al sistema, proceso que se denomina "login". Este nombre de usuario suele tener hasta 8 caracteres (letras, números y algunos símbolos), debe comenzar con minúscula. UNIX distingue entre mayúsculas y minúsculas. En el ingreso al sistema, no se permiten correcciones.


se despliega siempre después del login, es puesto por el administrador del sistema para información o bienvenida.


Aviso de noticias nuevas. Las noticias se usan para informaciones generales de mayor tiempo de validez. Las noticias no aparecen más después de haber sido leídas. Para leer las noticias debe digitarse el comando news.

You hove mail
Indica que hay mensajes de otros usuarios, o del sistema. El correo electrónico permite a cualquier usuario enviar y recibir mensajes.

$
Es el indicador de comandos del sistema; indica que el sistema está listo y aguarda una orden del operador, que debe ser escrita a continuación de $ y finalizada con la tecla .

En los siguientes ejemplos debe escribirse el comando tal cual se muestra, digitando la tecla al final.
Date
Comando que muestra la fecha y hora.
Who
Muestra los nombres de usuarios conectados al sistema en este momento.
Hostname
Muestra el nombre de la máquina UNIX.


Directorios.
Cada usuario tiene un directorio propio, llamado a veces "directorio home". Cuando el usuario ingresa al sistema ya está ubicado en su directorio propio. El comando
pwd
Muestra el directorio actual.
cd /home
Cambia hacia el directorio /home, lo que puede verificarse con el comando pwd.
cd
Sin parámetros devuelve al usuario a su directorio propio, desde cualquier lugar donde esté. Este comando es útil cuando se han hecho varios cambios de directorio y se quiere retornar a una situación conocida, ubicándose en el directorio propio.


Listado de archivos.
Ensayemos el comando ls:
ls
Lista archivos del directorio actual.
ls -l /bin
Lista archivos en el directorio /bin; aquí se encuentran los archivos de comandos ejecutables del sistema. No cambia de directorio; el directorio actual sigue siendo el mismo.
ls -l
Lista archivos en formato largo, dando detalles. El -l se llama opción o bandera; se lee "menos ele".
La salida obtenida consta de renglones parecidos a
-rw-rw-rw- 1 esteban users 138 Apr 5 19:34 leame
y se interpretan así:

-
Indica el tipo de archivo de que se trata, con esta convención:
- archivo común,
d directorio,
l enlace o referencia a otro archivo.

rw-rw-rw
Son los permisos del archivo;
r (read) permiso para leer el archivo
w (write) permiso para modificar o eliminar el archivo
x (execute) si se trata de un archivo, permiso para ejecutarlo como
programa; si se trata de un directorio, permiso para ingresar
en él y recorrerlo.
Los tres grupos de 3 caracteres indican permisos para el dueño del archivo (esteban), su grupo (users) y el resto del mundo.

1
Cantidad de enlaces, referencias a este archivo desde otros archivos ubicados en diferentes lugares.
esteban
Nombre del usuario dueño del archivo.
users
Nombre del grupo al que pertenece el archivo
138
Tamaño en bytes del archivo. Si se trata de un directorio, este número es de control del sistema, sin interpretación inmediata para el usuario.

Apr 5 19:34
Fecha y hora de última modificación. Si no aparece el año, se asume el año corriente.

leame
Nombre del archivo. Notar que el nombre del archivo está siempre al final.

ls -a
Muestra también archivos ocultos, normalmente no visibles en el listado. Los archivos cuyo nombre empieza con un punto son ocultos, en este sentido. Las entradas . y .. representan el directorio actual y el directorio padre, respectivamente.
ls -la
Formato largo y archivos ocultos.
ls -la /var
Listado de archivos visibles y ocultos en formato largo del directorio /var.


Manual de UNIX.
UNIX dispone de un manual en línea o "páginas man" con información sobre comandos, archivos y otros elementos del sistema operativo. Aunque muy técnicas y a veces difíciles de comprender, son una referencia obligada para operar con solvencia.
man ls
Muestra la página man del comando ls, paginada para poder leer una pantalla por vez. Para salir antes de terminar, digitar 'q'.
man man
Muestra la página man del propio comando man.
man man > man.txt
Redirecciona la salida y graba el contenido de la página man en el archivo man.txt, lo que se puede verificar con ls.


Contenido de un archivo.
cat man.txt
Muestra el contenido del archivo. El archivo man.txt, por provenir de una página man, contiene muchos caracteres de control para regular su despliegue en pantalla. El comando cat no intrepreta estos caracteres de control. El comando cat permite también concatenar archivos, según se verá.
head man.txt
Muestra las primeras 10 líneas de un archivo.
tail man.txt
Muestra las 10 líneas finales de un archivo.
cat man.txt | more
Lee una nota larga paginando; la salida de cat es tomada por more, que presenta la información página por página. Para interrumpir el paginado de more, digitar 'q'. La tecla espaciadora avanza una pantalla, la combinación de teclas Ctrl-B retrocede una pantalla.
more man.txt
Presenta la información de man.txt ya paginada.
ls -l /etc | more
Muestra el extenso contenido del directorio /etc paginando la salida.


Crear y borrar un archivo.
touch nota.vacia
Crea el archivo nota.vacia, sin contenido alguno.
ls -l nota.vacia
Muestra datos del archivo creado.
cat nota.vacia
No muestra nada, el archivo está vacío.

touch .archivo_oculto
Crea un archivo vacío y oculto.
ls
No muestra el archivo oculto creado, pero
ls -a
Sí lo muestra.
ls -la
Muestra datos en formato largo del archivo oculto.

rm nota.vacia
Borra el archivo nota.vacia. Como muchos comandos de UNIX, su nombre deriva de palabras inglesas: rm proviene de "remove", eliminar o borrar.

rm -i man.txt
Borrado interactivo, pide confirmación antes de actuar.

rm .archivo_oculto
ls -la
Borra el archivo oculto y verifica listando los archivos del directorio.

echo Mensaje en pantalla
Muestra en la pantalla la leyenda indicada.
echo Este es el archivo mensaje1 > mensaje1
Direcciona la salida del comando echo y graba la leyenda en el archivo mensaje1.
ls -l mensaje1
cat mensaje1
Muestra datos del archivo y verifica su contenido.
echo Esta línea es agregada >> mensaje1
echo Esta es otra línea agregada >> mensaje1
cat mensaje1
Redirecciona la salida de echo para agregar dos líneas más al archivo ya existente mensaje1. Verifica el contenido con cat.


Correo electrónico de UNIX.
Para leer el correo, digitar
mail
Este comando ingresa al usuario en el sistema de correo electrónico de UNIX. Revisa la casilla de entrada de mensajes mostrando la lista de recibidos. De ahora en adelante, sólo se aceptan los comandos propios de mail. El indicador de comandos de mail es
&
Comandos disponibles dentro del sistema de correo:
d borra mensaje corriente, marcado con '>'
? muestra lista de comandos para manejo de mensajes
5 muestra el mensaje 5
h muestra la lista de mensajes
h 3 muestra la lista de mensajes comenzando en el 3
q sale del programa de correo
Para enviar un correo al usuario juan, desde la línea de comando de UNIX digitar
mail juan
Escribir entonces el texto del mensaje. Antes de llegar al fin de la pantalla, digitar para que cambie al otro renglón. El comando mail no es un editor: no arregla las líneas ni permite corregir líneas anteriores. Al finalizar de escribir el mensaje, digitar
.
(Un punto solo en una línea) y dar . Un punto solo en la línea termina el mensaje y devuelve al usuario a la línea de comandos de UNIX.
El usuario puede probar el correo enviándose un mensaje a sí mismo y luego leyéndolo.

mail juan esteban
Envía mensaje al usuario juan y al usuario esteban.
mail -s "Mensaje de prueba" juan
Envía un mensaje de prueba al usuario juan con el título "Mensaje de prueba". Es de cortesía indicar siempre el tema del mensaje, para que el destinatario sepa inmediatamente de qué se trata.

Existen en UNIX muchos programas para manejo de correo, más potentes y sofisticados; aquí nos limitamos a mail como ejemplo de un comando de UNIX más bien artesanal, pero siempre presente y útil para mensajería sencilla.
Usuarios en el sistema.
who
Muestra los usuarios que están actualmente en el sistema. Indica identificador de usuario, terminal en que está conectado, fecha y hora de ingreso al sistema.
who am i
Da información sobre el usuario que está trabajando, indicando su máquina y nombre de usuario, terminal, fecha y hora.
whoami
Presenta sólo el nombre del usuario que está operando.
id

XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl.
El programa está liberado bajo la licencia GNU y actúa como un servidor web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está disponible para Microsoft Windows, GNU/Linux, Solaris y MacOS X.

Muchos usuarios saben por experiencia propia que la instalación de un servidor web Apache no es fácil y que se complica aún más si se desea agregar MySQL, PHP y Perl.
XAMPP es una forma fácil de instalar la distribución Apache que contiene MySQL, PHP y Perl. XAMPP es realmente simple de instalar y usar, basta descargarlo, extraerlo y comenzar.
En este momento hay cuatro versiones de XAMPP:
XAMPP para Linux
La versión para sistemas Linux (testeado para SuSE, RedHat, Mandrake y Debian)contiene: Apache, MySQL, PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, gdbm, zlib, expat, Sablotron, libxml, Ming, Webalizer, pdf class, ncurses, mod_perl, FreeTDS, gettext, mcrypt, mhash, eAccelerator, SQLite e IMAP C-Client.
XAMPP para Windows
Versión para Windows 98, NT, 2000, XP y Vista. Esta versión contiene: Apache, MySQL, PHP + PEAR, Perl, mod_php, mod_perl, mod_ssl, OpenSSL, phpMyAdmin, Webalizer, Mercury Mail Transport System para Win32 y NetWare Systems v3.32, JpGraph, FileZilla FTP Server, mcrypt, eAccelerator, SQLite, y WEB-DAV + mod_auth_mysql.
XAMPP para Mac OS X
La versión para Mac OS X contiene: Apache, MySQL, PHP & PEAR, SQLite, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, zlib, Ming, Webalizer, mod_perl, eAccelerator.
XAMPP para Solaris
La versión para Solaris (desarrollada y probada con Solaris 8, probada con Solaris 9) contiene: Apache, MySQL, PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL, Freetype2, libjpeg, libpng, zlib, expat, Ming, Webalizer, pdf class.


XAMPP es gratuito






XAMPP se instala fácilmente bajo Linux: Apache, MySQL, PHP y Perl óptimamente juntos. (Screenshot Linux de demo PHP/Ming) Simple instalación y desinstalación
Para instalar XAMPP sólo se requiere descargar y extraer XAMPP, es todo. No hay cambios en el registro de Windows (a no ser que se utilice la versión de XAMPP para el instalador de Windows) y no es necesario editar ningún archivo de configuración. No podría ser más fácil!
Para verificar si XAMPP está funcionando, se han incluido algunos programas de muestra, hay un pequeño programa de colección de CD (escrito en PHP usando MySQL) y un pequeño libro de visitas, así como varias otras utilidades de demostración.
Si decide que no necesita más XAMPP, simplemente borre el directorio XAMPP y el programa será removido completamente de su sistema.
Si se utiliza la versión de XAMPP para el instalador de Windows, se recomienda usar la utilidad para desinstalar. Como es habitual en las utilidades para instalar, ésta hará un registro de entrada para recordar los archivos instalados.
La filosofía
La filosofía detrás de XAMPP es la construcción de una versión fácil de instalar para los desarrolladores que entran al mundo de Apache. Para hacerlo más conveniente para los desarrolladores, XAMPP está configurado con todas las funciones activadas.
La configuración por defecto no es buena desde el punto de vista de la seguridad y no es suficientemente segura para un ambiente de producción - por favor, no utilice XAMPP en dicho ambiente.
Desde LAMPP 0.9.5 podrá hacer la instalación de XAMPP de un modo seguro usando »/opt/lampp/lampp security«.
Licencia
XAMPP es una compilación de software libre (comparable a una distribución Linux), es gratuito y libre para ser copiado conforme los términos de la licencia GNU General Public Lucense. Sin embargo, sólo la compilación de XAMPP está publicada bajo la licencia GPL. Por favor, remítase a cada licencia contenida en los productos para saber qué es y qué no es permitido.
En el caso de uso comercial, por favor dé una mirada a las licencias de los productos (especialmente MySQL), desde el punto de vista de XAMPP, el uso comercial es también libre.

LAMPP (Linux)
El acrónimo 'LAMP' se refiere a un conjunto de subsistemas de software necesarios para alcanzar una solución global, en este caso configurar sitios web o servidores dinámicos con un esfuerzo reducido. En las tecnologías LAMP esto se consigue mediante la unión de las siguientes tecnologías: Linux, el sistema operativo; En algunos casos también se refiere a LDAP.
Apache, el servidor web; MySQL, el gestor de bases de datos; Perl, PHP, o Python, los lenguajes de programación.
La combinación de estas tecnologías es usada primariamente para definir la infraestructura de un servidor web, utilizando un paradigma de programación para el desarrollo. A pesar de que el origen de estos programas de código abierto no ha sido específicamente diseñado para trabajar entre sí, la combinación se popularizó debido a su bajo coste de adquisición y ubicabilidad de sus componentes (ya que vienen pre-instalados en la mayoría de las distribuciones Linux). Cuando son combinados, representan un conjunto de soluciones que soportan servidores de aplicaciones.


SERVIDOR ES WEB
Un servidor web o servidor HTTP es un programa que procesa cualquier aplicación del lado del servidor realizando conexiones bidireccionales y/o unidireccionales y síncronas o asíncronas con el cliente generando o cediendo una respuesta en cualquier lenguaje o Aplicación del lado del cliente. El código recibido por el cliente suele ser compilado y ejecutado por un navegador web. Para la transmisión de todos estos datos suele utilizarse algún protocolo. Generalmente se utiliza el protocolo HTTP para estas comunicaciones, perteneciente a la capa de aplicación del modelo OSI. El término también se emplea para referirse al ordenador que ejecuta el programa.


SERVIDOR WEB LOCAL
Un Servidor Web Local es aquel Servidor Web que reside en una red local al equipo de referencia. El Servidor web Local puede estar instalado en cualquiera de los equipos que forman parte de una red local. Es por tanto obvio, que todos los Servidores Web, son locales a la red local en la que se encuentran, o como mínimo, locales al sistema en el que están instalados.
Cuando un servidor Web se encuentra instalado en el mismo equipo desde el cual se desea acceder puede utilizarse la dirección de Loopback, 127.0.0.1 en Ipv4 y :: 1 en Ipv6. El puerto TCP 80 se obvia. Los archivos se almacenan en un directorio determinado por la configuración, generalmente modificable.
Existen numerosas aplicaciones que facilitan la instalación automática de servidores web Apache y aplicaciones adicionales como MySQL y PHP (entre otros), de forma conjunta, como XAMPP, JAMP o EasyPHP. Estas aplicaciones reciben el nombre de LAMP cuando se instalan en plataformas Linux, WAMP en sistemas Windows y MAMP en sistemas Apple Macintosh.


SERVIDORES WEB MÁS UTILIZADOS
APACHE
MICROSOFT IIS
GOOGLE GFE
LIGHTTPD
NGINX
SUN

Esta lista es teniendo en cuenta el número de servidores totales, es decir, suponiendo que cada dominio equivale a un servidor. En el informe también hay datos de los servidores activos, es decir, aquellos dominios que no tienen una mera página de parking.




RUTAS ABSOLUTAS Y RELATIVAS
Muchas veces necesitamos insertar un archivo en nuestra página web y cuando lo hacemos no se ve nada, es un error muy frecuente por no entender cómo funcionan las rutas o paths relativas y absolutas.
Ruta Absoluta:
La ruta absoluta indica la dirección completa del archivo sin importar donde estemos, es decir, si yo tengo una foto de mi perro llamada miperro.jpg dentro de la carpeta imágenes en mi dominio comocrearunsitioweb.com la ruta absoluta sería: http://www.comocrearunsitioweb.com/imagenes/miperro.jpg
Podemos utilizar esa ruta para llamar a la imagen desde cualquier sitio (ya sea en nuestro dominio o en otro).
Ruta Relativa:
La ruta relativa llama al mismo archivo pero desde el lugar donde estamos parados, es decir que solo funciona dentro de nuestro dominio. Por ejemplo: si nosotros estamos en el directorio principal y queremos insertar la foto desde el index la ruta relativa DESDE el index sería: imágenes/miperro.jpg
Nosotros ya estábamos en comocrearunsitioweb.com/ solo había que entrar a una carpeta llamada imágenes y buscar la foto. Ahora supongamos que estamos dentro de una categoría llamada "artículos" y queremos insertar la foto, la ruta relativa DESDE ese punto sería: ../imágenes/miperro.jpg
Los dos puntos antes de la barra (../) Significa un paso hacia atrás, porque teníamos que salir de la carpeta "artículos" y entrar a la carpeta "imágenes" donde está la foto.