Apache en Windows-Primera Parte
En el artículo anterior vimos como instalar Apache en Ubuntu y vimos alguna que otra configuración.
Ahora la instalación la haremos sobre Windows, no volveré a explicar que es un servidor web ni nada por el estilo, si queréis documentaros sobre eso visitad el POST anterior.
http://seifreed.wordpress.com/2009/02/24/apache-en-ubuntu-primera-parte/
Lo que primero haremos será ir a la página oficial de apache

Después de ir allí nos fijamos que en la parte de Apache 2.2.11 hay un link que pone Download le damos ahí y nos lleva a otra página desde donde podremos descargar Apache para Windows.

Una vez hemos descargado el archivo empezamos con la instalación, Le damos a siguiente hasta que nos salga una pantalla como esta:
En Network domain si lo queremos es hacer las pruebas en local, ponemos localhost, si por el contraio la web estará visible para otros hemos de poner el nombre del DNS correspondiente donde lo tenemos registrado, ejemplo: seifreed.es
Luego en apartado de server name el nombre del DNS.
Y luego abajo tenemos la dirección del WEBMASTER.
Luego seguimos con la instalación:

Una vez haya acabado la instalación vamos al navegador y le ponemos lo mismo que le habiamos puesto en el apartado de Network domain.
En mi caso localhost:

Como veis me sale la página por defecto del apache. Para poner las webs el directorio por defecto se encuentra en:
C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs
Y el archivo de configuración del Apache se encuentra:
C:\Archivos de programa\Apache Software Foundation\Apache2.2\conf
Las configuraciones son las mismas para UBuntu que para WIndows para mas dudas miradlo de aquí:
http://seifreed.wordpress.com/2009/02/24/apache-en-ubuntu-primera-parte/
Saludos espero que os sirva!
Apache en Ubuntu-Primera Parte
Hoy vamos a configurarnos un servidor WEB, de echo, el servidor WEB mas utilizado APACHE.
Todavía no sabemos lo que es un servidor WEB?
Miremos en la Wikipedia:
Un servidor web es un programa que implementa el protocolo HTTP (hypertext transfer protocol). Este protocolo pertenece a la capa de aplicación del modelo OSI y está diseñado para transferir lo que llamamos hipertextos, páginas web o páginas HTML (hypertext markup language): textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de música.
De ahí que podemos sacar? Pues que interpreta un protocolo que pertenece a la capa de aplicación y que es capaz de Interpretar ese código.
Sigamos leyendo:
Un servidor web se mantiene a la espera de peticiones HTTP por parte de un cliente HTTP que solemos conocer como navegador. El cliente realiza una petición al servidor y éste le responde con el contenido que el cliente solicita. A modo de ejemplo, al teclear www.wikipedia.org en nuestro navegador, éste realiza una petición HTTP al servidor de dicha dirección. El servidor responde al cliente enviando el código HTML de la página; el cliente, una vez recibido el código, lo interpreta y lo exhibe en pantalla. Como vemos con este ejemplo, el cliente es el encargado de interpretar el código HTML, es decir, de mostrar las fuentes, los colores y la disposición de los textos y objetos de la página; el servidor tan sólo se limita a transferir el código de la página sin llevar a cabo ninguna interpretación de la misma.
Es decir, que nos aparece un concepto de CLIENTE-SERVIDOR
La instalación la haremos sobre Ubuntu. Apache es multiplataforma, también tiene su versión para Windows y además es un proyecto de código libre.
Empezemos a hacer la instalación:
marc@seifreed:~$ sudo aptitude install apache2
[sudo] password for marc:
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes… Hecho
Escribiendo información de estado extendido… Hecho
Se instalarán los siguiente paquetes NUEVOS:
apache2 apache2-mpm-worker{a} apache2.2-common{a}
0 paquetes actualizados, 3 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 1062kB de ficheros. Después de desempaquetar se usarán 4317kB.
¿Quiere continuar? [Y/n/?] Y
Escribiendo información de estado extendido… Hecho
Des:1 http://es.archive.ubuntu.com intrepid/main apache2.2-common 2.2.9-7ubuntu3 [778kB]
Des:2 http://es.archive.ubuntu.com intrepid/main apache2-mpm-worker 2.2.9-7ubuntu3 [240kB]
Des:3 http://es.archive.ubuntu.com intrepid/main apache2 2.2.9-7ubuntu3 [44,7kB]
Descargados 1062kB en 4s (253kB/s).
Seleccionando el paquete apache2.2-common previamente no seleccionado.
(Leyendo la base de datos …
201103 ficheros y directorios instalados actualmente.)
Desempaquetando apache2.2-common (de …/apache2.2-common_2.2.9-7ubuntu3_i386.deb) …
Seleccionando el paquete apache2-mpm-worker previamente no seleccionado.
Desempaquetando apache2-mpm-worker (de …/apache2-mpm-worker_2.2.9-7ubuntu3_i386.deb) …
Seleccionando el paquete apache2 previamente no seleccionado.
Desempaquetando apache2 (de …/apache2_2.2.9-7ubuntu3_all.deb) …
Procesando activadores para ufw …
Procesando activadores para man-db …
Configurando apache2.2-common (2.2.9-7ubuntu3) …
Enabling site default.
Enabling module alias.
Enabling module autoindex.
Enabling module dir.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module status.
Enabling module auth_basic.
Enabling module deflate.
Enabling module authz_default.
Enabling module authz_user.
Enabling module authz_groupfile.
Enabling module authn_file.
Enabling module authz_host.Configurando apache2-mpm-worker (2.2.9-7ubuntu3) …
* Starting web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]Configurando apache2 (2.2.9-7ubuntu3) …
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes… Hecho
Escribiendo información de estado extendido… Hecho
Si utilizo aptitude es para que me instale las dependecias que necesite.
Miremos como funciona y como queda ponemos localhost en el navegador:

Como también querremos luego que aparte de Interpretar HTML, interprete PHP instalaremos el módulo PHP.
Instalamos el módulo PHP:
pruebas@pruebas:~$ sudo aptitude install php5
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes… Hecho
Se instalarán los siguiente paquetes NUEVOS:
apache2-mpm-prefork{a} libapache2-mod-php5{a} php5 php5-common{a}
Se ELIMINARÁN los siguientes paquetes:
apache2-mpm-worker{a}
0 paquetes actualizados, 4 nuevos instalados, 1 para eliminar y 0 sin actualizar.
Necesito descargar 3084kB de ficheros. Después de desempaquetar se usarán 6300kB.
¿Quiere continuar? [Y/n/?] y
Escribiendo información de estado extendido… Hecho
Des:1 http://es.archive.ubuntu.com intrepid/main apache2-mpm-prefork 2.2.9-7ubuntu3 [235kB]
Des:2 http://es.archive.ubuntu.com intrepid-updates/main php5-common 5.2.6-2ubuntu4.1 [365kB]
Des:3 http://es.archive.ubuntu.com intrepid-updates/main libapache2-mod-php5 5.2.6-2ubuntu4.1 [2482kB]
Des:4 http://es.archive.ubuntu.com intrepid-updates/main php5 5.2.6-2ubuntu4.1 [1116B]
Descargados 3084kB en 12s (249kB/s).
dpkg: apache2-mpm-worker: problemas de dependencias, pero se desinstalará de todas formas
tal y como se solicitó:
apache2 depende de apache2-mpm-worker (>= 2.2.9-7ubuntu3) | apache2-mpm-prefork (>= 2.2.9-7ubuntu3) | apache2-mpm-event (>= 2.2.9-7ubuntu3); sin embargo:
El paquete `apache2-mpm-worker’ va a ser desinstalado.
El paquete `apache2-mpm-prefork’ no está instalado.
El paquete `apache2-mpm-event’ no está instalado.
(Leyendo la base de datos …
108120 ficheros y directorios instalados actualmente.)
Desinstalando apache2-mpm-worker …
* Stopping web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
… waiting [ OK ]
Seleccionando el paquete apache2-mpm-prefork previamente no seleccionado.
(Leyendo la base de datos …
108112 ficheros y directorios instalados actualmente.)
Desempaquetando apache2-mpm-prefork (de …/apache2-mpm-prefork_2.2.9-7ubuntu3_i386.deb) …
Seleccionando el paquete php5-common previamente no seleccionado.
Desempaquetando php5-common (de …/php5-common_5.2.6-2ubuntu4.1_i386.deb) …
Seleccionando el paquete libapache2-mod-php5 previamente no seleccionado.
Desempaquetando libapache2-mod-php5 (de …/libapache2-mod-php5_5.2.6-2ubuntu4.1_i386.deb) …
Seleccionando el paquete php5 previamente no seleccionado.
Desempaquetando php5 (de …/php5_5.2.6-2ubuntu4.1_all.deb) …
Configurando apache2-mpm-prefork (2.2.9-7ubuntu3) …
* Starting web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]Configurando php5-common (5.2.6-2ubuntu4.1) …
Configurando libapache2-mod-php5 (5.2.6-2ubuntu4.1) …Creating config file /etc/php5/apache2/php.ini with new version
* Reloading web server config apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]Configurando php5 (5.2.6-2ubuntu4.1) …
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes… Hecho
Escribiendo información de estado extendido… Hecho
Entonces…como saber que el servidor nos está interpretando bien el código PHP..
Lo que haremos será una prueba para ver que sale.
Todas las páginas WEBS por defecto en Apache se haen de colocar en el directorio /var/www.
Asi que vamos a hacer la prueba.
pruebas@pruebas:~$ sudo nano /var/www/index.php
Con esto editaremos el archivo PHP en la carpeta donde apache guarda todas las páginas WEBS.
Para hacer la prueba PHP el fichero ha de contener eso:
pruebas@pruebas:~$ cat /var/www/index.php
<?php
phpinfo();
?>
Con un cat, pinto el archivo por pantalla, ha de contener a partir de <?php.
Entonces, cada vez que hacemos un cambio, reiniciamos el apache.
pruebas@pruebas:~$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
… waiting apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
Muy bien, nos vamos a cualquier navegador, y ponemos localhost/index.php
Y nos ha de salir una cosa como esta:

Muy bien, ahora vamos a configurar a nuestro gusto el Apache
Todas las configuraciones se hacen sobre el fichero httpd.conf.
Vamos a empezar a editar el archivo:
pruebas@pruebas:~$ sudo nano /etc/apache2/httpd.conf
Dentro de este fichero hemos de colocar las dos siguientes lineas.
ServerName localhost
Include /etc/apache2/mods-available
Estas dos lineas sirven para lo siguiente:
La de serverName es que, cada vez que le haciamos un Restart al Apache nos salía el mensaje de error de:
.. waiting apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
Asi que con esto, lo que hacemos es que le decimos al apache que nosotros mismo seremos el servidor DNS.
Luego la siguiente linea, lo que hace es cargar todos los módulos del apache cada vez que se inicia. Veamos como queda ahora que hacemos un restart.
pruebas@pruebas:~$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2 [Fri Feb 20 13:47:59 2009] [warn] module alias_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module auth_basic_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module authn_file_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module authz_default_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module authz_groupfile_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module authz_host_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module authz_user_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module autoindex_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module cgi_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module deflate_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module dir_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module env_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module mime_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module negotiation_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module php5_module is already loaded, skipping
[Fri Feb 20 13:47:59 2009] [warn] module setenvif_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module status_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] The Alias directive in /etc/apache2/mods-available/alias.conf at line 15 will probably never match because it overlaps an earlier Alias.
[Fri Feb 20 13:48:00 2009] [warn] module alias_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module auth_basic_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module authn_file_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module authz_default_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module authz_groupfile_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module authz_host_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module authz_user_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module autoindex_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module cgi_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module deflate_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module dir_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module env_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module mime_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module negotiation_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module php5_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module setenvif_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] module status_module is already loaded, skipping
[Fri Feb 20 13:48:00 2009] [warn] The Alias directive in /etc/apache2/mods-available/alias.conf at line 15 will probably never match because it overlaps an earlier Alias.
Vale, muchas letras lo se, pero es le mensajito de cuando está cargando los módulos.
Vamos otra vez a editar el archivo httpd.conf igual que antes y le vamos a añadir las siguientes lineas.
DirectoryIndex start.html
ErrorDocument 404 /error.html
<Directory /var/www/pruebas>
DirectoryIndex startpruebas.html
</Directory>
<Directory /var/www/pruebas2>
DirectoryIndex startpruebas2.html
</Directory>
Queda bastante feo poner localhost y que nos muestre una lista de los archivos de nuestro servidor,esto no pasaría si hubiese un fichero index.html o index.php, pero y si le quiero poner yo el nombre que a mi me de la gana.
Para ello está la directiva DirectoryIndex, esta directiva nos permite establecer como se llamará la página de inicio de nuestro servidor.
La siguiente linea, vosotros habeis visto, cuando navegais por Internet que si os equivocais en escribir la dirección nos sale un mensaje de error no?
Pues también podemos personalizar ese mensaje o esa página en si, a la mia la he puesto en la raíz del servidor y le llamado error html.
Si queremos tener nuestros Site web organizado por carpetas se lo tendremos que especificar al apache.
E incluso podemos especificar dentro de esa directiva OTRA directiva para poder especifixar cual será la página de inicio. Asi que preparemos el entorno:
root@pruebas:/var/www# nano start.html
Dentro colocaremos:
<html>
<head>
<title>Pagina de Pruebas</title>
</head>
<body>
Esta es una pagina de pruebas
</body>
</html>
Sigamos con el siguiente fichero el del error:
root@pruebas:/var/www# nano error.html
Dentro colocamos:
<html>
<head>
<title>Pagina de Errores</title>
</head>
<body>
ERROR LA PAGINA QUE BUSCAS NO ESTA
</body>
</html>
Ahora veremos en el Apache se pueden poner las webs por carpetas, se lo especicamos tal y como hemos echo alli arriba. Sigamos creando el entorno:
root@pruebas:/var/www# nano error.html
root@pruebas:/var/www# mkdir pruebas
root@pruebas:/var/www# cd pruebas/
root@pruebas:/var/www/pruebas# nano startpruebas.html
Dentro del fichero startpruebas.html, colocamos esto:
<html>
<head>
<title>Pagina de de pruebas</title>
</head>
<body>
Hemos creado una pagina dentro de una carpeta
</body>
</html>
Sigamos con la siguiente preparación:
root@pruebas:/var/www/pruebas# cd ..
root@pruebas:/var/www# mkdir pruebas2
root@pruebas:/var/www# nano startpruebas2.html
Ahora hagamos las comprobaciones.
Primero reiniciamos el apache.
Vámonos al navegador y pongamos localhost/
Nos tendría que salir directamente la página que le hemos dicho que era la principal en el fichero httpd.conf la de start.html

Como podemos ver nos sale la página de start, ahora metamos algo que no exista..a ver si sale la página de error.

También me sale la página de error, ahora vamos a ver si podemos ver la página dentro de una carpeta.

Y hasta aquí acaba la primera parte de APACHE
Añadir una impresora con un .bat
HAce ya algun tiempo un usuario del foro Microsoft comentó de añador una impresora con un .bat
Lo consiguió con un .bat y un .vbs
Primero el .BAT
cscript .\puertos\IP201_P9100.vbs
rundll32 printui.dll,PrintUIEntry /if /b “HP Color LaserJet 5550 Prueba” /f “.\hp_5550\hpc5550c.inf” /r “IP_10.192.3.201_0″ /m “HP Color LaserJet 5550 PCL 6″exit
Luego el .vbs
Set objWMIService = GetObject(“winmgmts:”)
Set objNewPort = objWMIService.Get _
(“Win32_TCPIPPrinterPort”).SpawnInstance_
objNewPort.Name = “IP_10.192.3.201_0“
objNewPort.Protocol = 1
objNewPort.HostAddress = “10.192.3.199“
objNewPort.PortNumber = “9100″
objNewPort.SNMPEnabled = False
objNewPort.Put_
Luego hay que seguir sus instrucciones:
Para instalar una impresora de red por puerto TCP/IP.
Crear puerto TCP/IP.
- Hay que modificar en el fichero .vbs de la carpeta puertos, el puerto al que queremos apuntar y la ip que tenga asignada la impresora.Instalar impresora.
- En la segunda linea del fichero instalador.bat los parametros ha pasar son lo escrito entre comillas.
- las primeras “” son el nombre de la impresora, ponemos lo que queramos
- las segundas son la ruta del fichero .inf del driver de la impresora
- las terceras es el nombre del puerto (para impresoras locales el puerto seria el lpt1 o usb0*, depende de la conexion, en este
deshabilitariamos la primera linea del fichero instalador.bat, para evitar que cree un puerto TCP/IP).
- las cuartas son el nombre exacto de la impresora que tiene en fichero .inf del driver de la misma
Asi que le agradecemos al usuario blackadder79 del foro de Microsoft este aporte
El post original está aqui
Ubuntu IV
Bueno sigamos mas y mas con Ubuntu..
Esta vez nos encargaremos de la gestión del menú de arranque ,es decir, el GRUB. Que se instala automáticamente cuando instalamos Ubuntu en nuestra máquina.
Como siempre, hay dos alternativas, de manera gráfica o modo texto.
Lo explicaremos sólo de manera gráfica ya que en modo texto ya se encargo explicarlo mi compañero Hanouk
Bueno empecemos con el modo gráfico:
Lo primero que hay que hacer es añadir el programita que se encargará de hacernos toda la faena.
Instalaremos dos cosas, Administrador de arranque y KGrubEditor:

Ahora confirmamos la instalación:

Y empezamos a ver como se instala y se configuran los paquetes:


AHora abriremos la aplicación que se encuentra en aplicaciones herramientas del sistema, y nada mas abrirla nos sale:

Aqui nos pide password ya que vamos a tocar un archivo de sistema.
Ahora nos saldría el menú con las entradas que tenemos, en mi caso ya lo tengocomo quiero salvo por el sistema por defecto sobre el cual arranca.
Asi que solo hemos de cambiarlo por el de abajo o lo que sea.

también tenemos cosas bastantes interesantes, fijaros en esta imagen:

Como veis podemos hacer backups del grub podemos modificar ficheros de configuración y demás. Ademas de instalar el grub otra vez.
Y además tenemos MAS OPCIONES de las cuales hay unas cuantas que son bastantes interesantes:

Aquí podremos configurar mas cosas para nuestro Gestor de Arranque.
Y ahora configuraremos la otra aplicación que hemos instalado antes, la de admnistrador de arranque.
La aplicación está en Sistema Administración, administrador de arranque.
Lo abrimos y nos sale una cosa como esta:

Ahora si os fijais por defecto sale el XP que es como yo lo e dejado con Kgrubeditor antes. Aqui hay una serie de Opciones poned la que mas os guste.
Navegemos por las pestañas de configuración:

Podemos configurar Seguridad si queremos y las demás pestañas contienen otras configuraciones.
Alguna duda no dudéis en comentar
Y eso es todo, naturalmente en mas importante saber editar el Grub en modo Texto.