Apache

[Python] Ejecutando scripts de Python y psp’s con Apache 2 en GNU/Linux Debian

Pues dándome espacio nuevamente, mientras estoy preparando nuevos posts, les pongo este que es lo que precisamente estoy preparando en mi Laptop con Debian Squeeze, que no es otra cosa mas que correr aplicaciones Python (y Django posteriormente) en Linux para saber mas.

Bueno suponemos que ya tenemos instalado Apache2 en Linux y si no pues pueden ver el post anterior, que fue el que puse ayer en vez de este.

Esto solo aplica para la distribución Debian.

Para hacer esto, es necesario estar logueado como root (su)

root@debian:/home/ajaxman# apt-get install libapache2-mod-python

Y listo con esto ya tenemos casi listo nuestro servidor para poder desarrollar paginas en python, solo hace falta agregar ciertos controladores a nuestro VirtualHost.

Para ello editaremos nuestro virtualHosts por default y le agregaremos algunas lineas que están en el siguiente código

root@debian:/home/ajaxman# vim /etc/apache2/sites-available/default
<Directory /home/ajaxman/htdocs>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride None
 Order allow,deny
 allow from all

 #####################################################################
 ##### Las siguientes lineas son las que agregaremos para python #####
 #####################################################################

 AddHandler mod_python .py
 PythonHandler mod_python.publisher
 PythonDebug On

 #####################################################################
 #####         Fin de las lineas para python             #####
 #####################################################################
</Directory>

Y reiniciamos nuestro Apache

root@debian:/home/ajaxman# /etc/init.d/apache2 restart

Y ahora crearemos un script en python, para probar que funciona (Lo podemos hacer en Vi,nano, Kwrite o en algún otro editor) y lo guardamos en nuestro DocumentRoot

Y agregamos el siguiente código (vim test.py)


def index(req):
 return "Python esta instalado correctamente con apache";

Y lo corremos para ver que efectivamente este funcionando bien nuestro python y apache, lo que nos tiene que mostrar es el resultado que esta entre comillas.

Si además de eso deseamos ejecutar paginas PSP(Python Server Pages), debemos editar nuevamente nuestro VirtualHost, y cambiar los controladores de los archivos .psp.

Nota Importante: Podemos correr scripts PSP’s y .py correctamente en apache pero al menos yo no logre que funcionaran ambos en el mismo VirtualHost, por ello si deseamos correr psp’s debemos modificar el contenido de nuestro VirtualHost o agregar un nuevo VirtualHost, ya que si queremos correr ambos generan errores.

Solo agregaremos el código que marco en las siguientes lineas a nuestro VirtualHost.

Leer más

[LAMP] Instalando un servidor Apache2, MySQL, PHP y PhpMyadmin en GNU/Linux Debian

Bueno les estaba preparando un post sobre Python-Django con apache pero creo que antes voy a postear esto.

Bueno la idea es instalar un servidor LAMP completo con Apache MySQL y PHP(de momento luego python también),en un entorno GNU/Linux, esto lo haremos mediante nuestro gestor de paquetes apt o aptitude, que vienen siendo casi lo mismo, luego quizá lo hagamos compilando nuestros propios binarios pero para la practica esta bien aprender con esto.

Primero abrimos nuestra Terminal(Konsole en KDE4) o vamos directamente a nuestra consola si no tenemos interfaz grafica y con el comando su nos logueamos como root.


ajaxman@debian:~$ su
Contraseña:

root@debian:/home/ajaxman#

Una vez como root procederemos a instalar nuestros paquetes los cuales serán los siguientes.

  • Apache
    • apache2
  • PHP
    • php5
    • php5-mysql
    • libapache2-mod-php5
    • php5-curl
    • php5-mcrypt
    • php5-gd
  • MySQL
    • mysql-server
    • mysql-client
    • phpmyadmin

Con la lista anterior estaremos instalando Apache, PHP y MySQL, además de algunos módulos necesarios para que estos tres softwares estén instalados y algunos módulos extras, los cuales a veces pueden ser necesario como en mi caso que le puse el modulo GD, el CURL y el MCRYPT.

GNU/Linux es muy practico y por ello nos permite instalar todo desde un solo comando, ojo puedes ser necesario tener instalado ncurses para que el MySQL no pida los datos de acceso, inserta la siguiente linea en tu consola y ahí te mostrara si las dependencias están completas o si necesitas algún software extra(para ncurses instala libncurses5-dev).


root@debian:/home/ajaxman#apt-get install apache2 php5 php5-mysql libapache2-mod-php5 php5-curl php5-mcrypt php5-gd mysql-server mysql-client phpmyadmin

Leer más

[Tutorial] Creando Virtual Host de Apache usando Linux

Hasta hoy creo que voy a escribir algo util, pero pues y saben que mi tiempo es poco y hay que aprovecharlo al máximo.

Bueno la idea de este post es platicarles sobre como se pueden crear los famosos virtualhosts.Pero antes de empezar enterémonos bien que es un virtualhost.

Con los virtualhosts podremos tener varios dominios apuntando a una misma pc. Dentro de cada virtualhost podremos definir las condiciones para cada dominio que esté representando.

Es como si tuviéramos varios dominios dentro de nuestro servidor osea 127.0.0.1.

Es decir que aparte de usar http://localhost, podríamos usar http://localweb, http://proyecto, http://www.beta.com o el nombre que mas nos guste, para ello lo primero que necesitamos es tener instalado apache2 (la ultima versión) y funcionando.

Ahora veamos como crear y usar los virtualhost(Es necesario tener permisos de root para algunos cambios)

Entraremos  a nuestra consola y nos moveremos a   cd /etc/apache2/sites-available/

ajaxman@debianJS:~$ su
Contraseña:
debianJS:/home/ajaxman# cd /etc/apache2/sites-available/
debianJS:/etc/apache2/sites-available#

Una vez ahí veremos que hay un archivo llamado default (en mi caso hay dos el otro se llama default-ssl es digamos que la “plantilla” de los sitio con ssl)

debianJS:/etc/apache2/sites-available# ls -la
total 24
drwxr-xr-x 2 root root 4096 abr 14 16:37 .
drwxr-xr-x 7 root root 4096 nov  6 16:46 ..
-rw-r–r– 1 root root 1428 nov  6 17:44 default
-rw-r–r– 1 root root 7366 oct  1  2008 default-ssl

El archivo default es el que contiene la información que usaremos en los virtualHost por lo cual simplemente copiaremos todo el archivo en uno nuevo eso lo hacemos mediante el comando cat.

debianJS:/etc/apache2/sites-available# cat default> website

Ahora nuestro ls se vera asi

debianJS:/etc/apache2/sites-available# ls -la
total 24
drwxr-xr-x 2 root root 4096 abr 14 16:37 .
drwxr-xr-x 7 root root 4096 nov  6 16:46 ..
-rw-r–r– 1 root root 1428 nov  6 17:44 default
-rw-r–r– 1 root root 7366 oct  1  2008 default-ssl
-rw-r–r– 1 root root 1480 abr 14 16:35 website

Ahora lo abrimos y lo editamos con el Vi y lo unico que modificaremos sera lo siguiente.

debianJS:/etc/apache2/sites-available# vim website

< VirtualHost *:80 >
ServerAdmin webmaster@localhost

DocumentRoot /home/www/
< Directory / >
Options FollowSymLinks
AllowOverride None
< /Directory >
< Directory /home/www/ >
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
< / Directory >
………
……………
…………….
< VirtualHost >

Por esto

< VirtualHost *:80 >
ServerAdmin webmaster@ajaxman.net
ServerName prog
ServerAlias www.website.net

DocumentRoot /home/www/prog
< Directory / >
Options FollowSymLinks
AllowOverride None
< /Directory >
< Directory /home/www/prog >
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
< / Directory >
………
……………
…………….
< VirtualHost >

Nota: Tiene espacios intencionales para evitar que wordpress lo tome como si fueran tags HTML

Lo que cambiamos fue

  • Agregamos Server Name, que es donde estará el nombre de nuestro servidor en este caso se llama prog
  • Le agregamos un ServerAlias, que es como otro nombre para acceder a este VirtualHost, en este caso es www.website.net.
  • Y le modificamos el DocumentRoot, el cual sera la carpeta del sitio que queremos Virtualizar

Los guardamos con [Esc]:wq

Ahora lo agregamos a apache

debianJS:/etc/apache2/sites-available# a2ensite website

Y apache nos dira que lo agrego con éxito, Ojo: para evitar que Apache nos de errores, es necesario que la carpeta que el indicamos en DocumentRoot exista, si no no nos va a funcionar.

a2ensite, lo único que hace es un enlace simbólico dentro de la carpeta /etc/apache2/sites-enabled a algunos de los sitios que están en la otra carpeta /etc/apache2/sites-available , es decir  en sites-available están los sitios disponibles, y en sites-enabled están  los que podemos usar.

Leer más

[Noticias]Microsoft invierte en la Fundación Apache!!

Para salirnos un poco de la rutina (GNU/Linux Debian jaja) hoy les platicare de un post que me ha intrigado un poco, ya que es algo inesperado.

Apache

Resulta que hoy me he enterado que Microsoft va a invertir en el Proyecto Apache.

Se que a muchos se nos queda la cara de ¿WTF?, y eso es por que como es posible que Microsoft sea capaz de invertir en dicho proyecto justo cuando acaba de salir hace poco al mercado IIS 7.

Ahora bien si reflexionamos un poco, puede ser que al igual y como dicen en theinquirer, no sea tan descabellada la idea.

Si pensamos que de esta forma, se podría dar un mayor poder a Apache para poder manipular archivos Open XML de Microsoft, de esta forma Apache podría soportar facilmente y trabajar bastante bien con este tipo de archivos, y esto en resumidas cuentas daría a Microsoft mayor poder, si no revisen la película “Los piratas de Silicon Valey” y verán como Microsoft tiene sus tentaculos y hasta en la compañía de Cupertino, si ,me refiero a Apple.

De esta forma Microsoft, se une a Google y Yahoo como inversores en la fundación  Apache, el cual como informan en dicho blog, estaría siendo un patrocinador platinum, de esta manera estaría invirtiendo unos 60,000 Euros al año en esta fundación.

Ojala y no se les ocurra meter sus ideas en Apache y querer hacerse de el, ya que recordemos que Suse, hace unos meses no iba(va?) por buen camino ya que estaba dando demasiados privilegios al gigante de Redmon.

Vía | Microsoft invierte en Apache, qué extraño

Leer más

[Manual] El archivo de configuracion del servidor Apache httpd.conf

Lamentablemente a pesar de que había empezado bien ha postear en este mes otra vez estoy dejándolo, y culpen de eso a meneame jaja y a microsiervos entre otros, no ya en serio, si que he tenido unos días complicados, pero bueno ya pasaran, por cierto en 3 meses exactamente me caso , luego les platicare mas de esto.

Bien esto les platico por que he recibido un par de comentarios que me piden que postee mi archivo de configuracion de apache el httpd.conf, pero como les comente a veces me quedo sin tiempo, por eso en hoy en una escapada que me he dado les pondré mi archivo de configuracion httpd.conf, en su configuracion para Windows.

Les cuento brevemente donde esta regularmente y para que sirve o vamos en pocas palabras que es este archivo con este nombre tan raro para muchos.

Apache

Cuando instalamos apache en windows a mano, osea sin usar Wamp o appserver o algunas de esas cosas, si seguimos el manual que postee, aqui “Manual de instalación y configuración de Apache, Php y MySQL“, y se instala Apache por default en la carpeta: C:\Archivos de programa\Apache Software Foundation\Apache2.2\conf , se crear un archivo llamado httpd.conf, el cual guarda los parámetros de la configuracion global y completa de nuestro servidor apache, en Linux regularmente se guardaria en /etc/apache2/http.conf.

En dicho archivo podremos instalar modulos para que funcione php, cgi’s, compresion gzip, proxies, modrewrite (para reescribir urls y en vez de tener direcciones art.php?id=1,art.php?id=2 etc, se vea como articulos/vendemos_gatos_a_domicilio, articulos_renta_de_autos, etc), SSI (es i no es l), etc.

Tambien dentro de este archivo podremos configurar los mimetypes, con lo cual le decimos a apache como debe de interpretar ciertos tipos de archivos, asi como posibilidad usar vhosts, configurar rutas, email del administrador, bueno en pocas palabras casi todo, lo que queramos hacer con Apache lo podemos hacer desde este archivo, a continuación les posteo el archivo es un poco grande, solo remarcare y comentare los punto importantes.

Cabe destacar que si deseamos hacer un comentario desde nuestro httdp.conf podemos usar la el carácter de numero o de gato como se le conoce a este (#) y a continuación el comentario.

Archivo httpd.conf
Lo puse en lo siguiente por que el archivo es muy grande y deformaria mucho la pagina de inicio, :-)

Leer más

[Ajax] Jaxer, ejecutando Ajax y Javascript en el servidor

En muchos blogs, he escuchado hablar sobre Jaxer, asi que, como sabran que me encanta programar en Javascript, les voy a platicar si es que no se han enterado sobre Jaxer.

Jaxer Javascript web server

¿Que demonios es Jaxer?
Jaxer es un servidor ajax el cual nos permitira ejecutar aplicaciones Javascript dentro del servidor (Server-Side), este servidor fue creado por los mismos desarrolladores de el IDE Aptana.

¿Y de que nos sirve ejecutar Javascript en el servidor?

Bueno, recordemos que hace años Javascript era un lenguaje, que practicamente estaba por desaparecer, y solo servia para la validacion de formularios, sin embargo gracias a la llegada de Ajax, el mundo cambio la forma de ver a Javascript, como una herramienta extra a verlo de forma necesaria e implementar nuevas soluciones con esta valiosisima herramienta.

Imaginemos entonces, cuanto a crecido el mundo Ajax-Javascript, tanto que hoy en dia podemos encontrar juegos desarrollados con este lenguaje(precarios pero algo es algo), animaciones, librerias, Frameworks, he inclusive hasta sistemas que emulan ser un verdadero Sistema Operativo(WEB – OS).

Lo mas avanzado sin duda que hemos visto ultimamente desarrollado con Javascript ha sido la implementacion de Ajax, Desarrollo de Juegos, Web-Os, Paginas Offline que se almacenan en una base de datos embedida(Google Gears), etc.

Entonces si Javascript ha crecido tanto en tan poco tiempo, imaginemos que pasaria si se ejecutara en el servidor, sin duda las posibilidades serian muchas.

Bueno ya sabemos para que es, que es y sus ventajas(creo), ahora vayamos a ver como funciona.

Jaxter trabaja como un servidor el cual esta implementado bajo Apache Web Server.

Lo primero que haremos sera ir a bajar el servidor web Jaxer en la siguiente direccion Web http://www.aptana.com/jaxer/, y lo bajamos a nuestro equipo.

Nota: Existen versiones para descargar tanto en Windows, Linux y Mac.

Una vez descargado lo descomprimimos, y ya que lo hemos descomprimido ejecutamos el archivo configure FireWall.exe, para que nos permita configurar el puerto donde vamos a correr nuestro servidor, que por default correra en el puerto 8081.

Ahora ejecutamos, el archivo (en caso de windows) StartServers.bat el cual (para los curiosos) contiene lo siguiente.

Leer más

Modrewrite Parte 1

Recientemente tuve problemas con los permalinks, el modrewrite y el .htaccess, y poste una solución de este tema (con wordpress).

Sin embargo me surgió una duda, que pasa si ustedes desean aplicar modrewrite a un sitio web que no utilice wordpress como motor CMS, sin no construida directamente sobre php o alguna otra plataforma.

Resumiendo los pasos vamos a aprender a usar modrewrite lo mejor que podamos, por cierto voy a basarme en un articulo que hace tiempo publico IBM No apache que esta muy bueno, digamos que hare una especie de traduccion y tambien mejora de ese articulo.

Bueno ya vayamos al grano.

¿Que es MODREWRITE?

Modrewrite es una manera es reescribir las url en formas mas amigables tanto como para el usuario, como para que los buscadores nos indexen mejor.

Imaginemos el siguiente ejemplo, tenemos la siguiente direccion

www.miweb.com/index.php?articulo=12
www.miweb.com/index.php?articulo=11
www.miweb.com/index.php?articulo=15

Para todos seria difícil recordar cual articulo nos gusto ademas de que los buscadores como google quizá, pensarían que se trata de una sola pagina y no de 3 diferentes.

Sin duda se vería mejor de la siguiente manera.

www.miweb.com/articulo/12/javascript
www.miweb.com/articulo/11/xul
www.miweb.com/articulo/15/python

Bueno pues de esto trata modrewrite, ahora veamos como empezar a implementarlo.

En estos ejemplos usare Apache y Php y expresiones regulares

Si no saben expresiones regulares no se preocupen yo les ayudare.

Es recomendable que lo hagan lo puedan hacer con Vhost, pero no necesario

Empecemos

Primero hay que activar el modulo en el servidor apache

Leer más

Historico de entradas

febrero 2012
L M X J V S D
« ene    
 12345
6789101112
13141516171819
20212223242526
272829  

Ajaxman

Mi nombre es Javier, soy desarrollador web con especialización en PHP (avanzado), HTML, CSS y Javascript(Medio).

Me considero evangelizador de Kohana Framework, Mozilla Firefox y GNU/Linux Debian.

Estoy casado, y tengo dos hermosos hijos.

Todos los contenidos a menos que se exprese lo contrario estan bajo licencia Creative Commons.

Enlazanos!!

hit counters online counter