Instalando un servidor de pruebas (apache2)

Para completar un entorno de pruebas y desarrollo sobre nuestra openSUSE 11 es “recomendable” contar con un servidor Web de pruebas, en un artículo anterior había mencionado (entre uno de los pasos) como montar apache2, php5 y mysql, en esta ocasión pretendo profundizar un poco, lo suficiente como para tener un sistema listo tara realizar pruebas en nuestro PC.

La instalación de paquetes es tan simple como lanzar el comando:
zypper in php5-gd php5-bz2 apache2-mod_php5 php5-mysql php5-zlib php5-zip phpMyAdmin mysql
php5 tiene un buen número de extensiones, sin embargo la idea en este caso es tener un entorno lo más similar al que nos provee un hosting común, de forma tal que evitemos situaciones como que tu aplicación funciona en local, pero no lo haga en el hosting (no te preocupes, php5-dom se instala como dependencia).
Luego de esto tienes tu entorno apache completamente funcional, sin embargo notarás que (afortunadamente) apache2 y mysql no arrancan desde el inicio, a menos que quieras que así sea, te recomiendo crear un pequeño script que te permita arrancar y detener ambos servicios a gusto, también puedes habilitar estos servicios desde yast, sin embargo no veo muchas situaciones donde necesites apache corriendo (y gastando recursos) al 100% todo el día.
Puedes crear un archivo en tu carpeta bin y llamarlo (por ejemplo) webserv, luego darle permiso de ejecución y escribir en el:
#!/bin/bash
# arranca o detiene apache y mysql segun el parametro start, stop, restart/reload
sudo /etc/init.d/apache2 $1
sudo /etc/init.d/mysql $1

Simple! jejeje, (extra) bueno, si utilizaste vim para editar el archivo habrás notado que no “colorea” el texto, esto es porque (y ahora parece costumbre de las distribuciones) vim viene algo capado, tienes que instalar el paquete vim-data.
Por defecto mysql “no” tiene password, deberás asignarle uno, puedes decidir no hacerlo, pero recomendaría que sí (nunca sabemos cuando alguien se pasa la seguridad de nuestro firewall adsl/antena/modem/radio/etc. para esto entra a http://127.0.0.1/phpMyAdmin/ (puedes reemplazar el 127.0.0.1 por tu IP o por localhost) enseguida notarás que entra de una sin pedir clave ni nada, ahora sigues a Privilegios, buscas root – localhots y click en editar privilegios.


Por último asigna un password y click en continuar.

Ahora necesitas crear el archivo config.inc.php en /srv/www/htdocs/phpMyAdmin para esto solo copia el archivo config.sample.inc.php (que está en la misma carpeta) y llamalo config.inc.php, esto no será suficiente, ahora necesitas crear una palabra secreta para las sesiones, edita el archivo y busca la línea
$cfg[‘blowfish_secret’] = ”; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
y déjala así:
$cfg[‘blowfish_secret’] = ‘UnaPalaBraSeCreta’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Ahora solo recarga la página de phpMyAdmin y listo, te pedirá una clave, en usuario pones root y la clave que elegiste.
Así tal cual está el servidor apache es funcional, puedes agregar tus archivos en /srv/www/htdocs/ o en /home/$usuario/public_html y verlos en http://127.0.0.1/~$usuario el detalle es que no te funcionará el modulo rewrite necesario para muchas pruebas (es el que te deja funcionar el archivo .htaccess que usas en tus cuentas de hosting), pero esto es bastante simple, basta editar el archivo /etc/sysconfig/apache2 y en APACHE_MODULES agregar a la lista rewrite, reiniciar apache y listo, modrewrite funcionando.