Lleva un servidor PHP/MySQL en tu pendrive by @DGLibre

fuente: http://dglibre.com/tutoriales/lleva-un-servidor-phpmysql-en-tu-pendrive/

En este tutorial explicaré como montar un servidor portable Apache/PHP/MySQL en un pendrive. Lo cual nos puede resultar útil cuando necesitamos ejecutar una web dinámica sin disponer de acceso a Internet y no podemos, o no queremos, instalar un servidor completo en el ordenador.

Instalando una distribución de GNU/Linux portable personalizada.

La primera opción que tuve en cuenta fue instalar una distribución de GNU/Linux capaz de iniciarse desde el pendrive. Aunque le veo 3 grandes desventajas:

  • No todos los ordenadores son capaces de arrancar el sistema operativo por USB.
  • El problema del reconocimiento de hardware. Pues la distribución de GNU/Linux podría no ser compatible con el ordenador donde quisiera ejecutar el servidor.
  • Y aparte de los archivos de Apache/PHP/MySQL, obligaba a instalar un sistema operativo completo.

Aún así puede tener ciertas ventajas  y usando la distribución Slax es muy sencillo de hacer. Por si alguien le interesa explicare los pasos a realizar.

Lo primero sería descargar Slax, en mi opinión la mejor distribución para pendrives de la actualidad, muy completa, sencilla y ligera. Pero no descargaremos la versión básica, sino que añadiremos más software desde su propia página web (una estupenda herramienta para hacer distribuciones personalizadas al alcance de todos los usuarios).

slax.org/build.php

Desde la sección Build Slax podemos añadir o eliminar software, esta vez solo añadiremos XAMPP y todas sus dependencias: Mysql, sqlite, python, tcl y tk. Quedando de la siguiente forma:

tuto5

Una vez añadidos los paquetes necesarios, descargamos Slax haciendo clic en Download TAR. El archivo .tar contendrá la distribución de GNU/Linux personalizada con los paquetes que hemos añadido ya instalados y configurados, más sencillo imposible.

El fichero .tar lo descomprimimos dentro de nuestro pendrive, de forma que queden en el directorio raíz una carpeta llamada slax y otra llamada boot.

Para hacer “arrancable” el pendrive, ejecutamos dentro de la carpeta boot el archivo bootinst.bat si estamos en Windows o bootinst.sh si estamos en Linux. Y listo, Slax estará instalada y al iniciar el ordenador con el pendrive insertado en un puerto USB arrancaremos el sistema operativo nuevo, sin modificar los datos alojados en el disco duro.

Aclaración: Si nunca has usado nada parecido, es muy probable que tu ordenador no esté configurado para arrancar por USB. Para cambiar esto deberás meterte en la BIOS y cambiar el orden de arranque. Esto es peligroso si no sabes realmente lo que estás haciendo, lee antes el manual de la placa base para saber cómo realizarlo.

Una vez arrancada la distribución Slax nos encontraremos con el típico escritorio de KDE 3.5 y bastante software instalado de serie. Pero lo que realmente nos interesa es iniciar XAMMP y saber cómo instalar nuestra aplicación dinámica. Para ello nos vamos a la carpeta home y dentro de ella a la carpeta xampp, donde entre otras cosas tendremos los siguientes 3 scripts:

tuto6

Como habréis adivinado, 1_lampp_start inicia el servidor Apache/PHP y Mysql, mientras que 3_lampp_stop los cierra. Una vez iniciados si entramos en localhost con un navegador, en este caso Konqueror, nos encontraremos con sus clásicas opciones. Entre ellas el acceso a PhpMyAdmin, desde donde podremos importar cómodamente las bases de datos MySQL que necesitemos.

Por último, tendremos que mover los archivos de nuestra aplicación dinámica a la carpeta: /opt/lampp/htdocs/

Mediante software portable para Windows.

La segunda opción era instalar un servidor portable que funcionará sobre Windows (sistema operativo que, por suerte o por desgracia, encontramos en el 99% de los PC empresariales). Me parece la solución más adecuada, pues no tendremos que preocuparnos de modificar la BIOS o el reconocimiento de hardware.

Lo primero es instalar la plataforma que hará portable el servidor, por comodidad use PortableApps, gratuito y software libre (GPL). En su web oficial podemos descargar 3 versiones, según queramos PortableApps solo o con varios programas ya instalados de serie. Yo descargue solo la plataforma, que además es la única versión multilenguaje:

PortableApps.com

También necesitaremos los archivos del servidor, que en este caso será XAMPP Lite y el plugin para usarlo con PortableApps:

XAMPP Lite

XAMPP Launcher 1.3

En primer lugar instalamos PortableApps en nuestro pendrive. Es recomendable que indiquemos para la instalación el directorio raíz del pendrive y no una carpeta.

Luego descomprimimos XAMPP Lite dentro del pendrive, obligatorio que sea en el directorio raíz o el plugin luego no lo encontrará. Si nuestro pendrive no es muy rápido en escritura de archivos podemos ir a tomar un café, tardara un buen rato. Una vez terminado tendremos una carpeta llamada xampplite (o xampp si no elegimos la versión reducida), dentro de la cual estarán todos los archivos del servidor.

Ahora nos toca instalar el plugin que conectara PortableApps con XAMPP. Ejecutamos su instalador y nos aseguramos de que sea correcta la ruta de instalación, que deberá ser la carpeta PortableApps.

Solo nos queda el último paso, ejecutamos StartPortableApps.exe y nos saldrá el típico menú de esta aplicación. Primero vamos a Opciones y seleccionamos el idioma español. Luego buscamos el icono de XAMPP Control Panel, si aparece es que ha reconocido el plugin automáticamente. En caso contrario, vamos a Opciones y hacemos clic en Actualizar Iconos.

portableapps

¡Ya tenemos un servidor PHP/MySQL portable en nuestro pendrive!

Hacerlo funcionar será tan fácil como instalarlo, pinchamos en XAMPP Control Panel para iniciar el programa y seleccionamos Start en Apache y MySQL.

xampp

Ya tenemos los servidores de archivos y de base de datos en funcionamiento. Ahora desde cualquier navegador accedemos alocalhost y XAMPP nos preguntara el idioma, tras lo cual podemos acceder a todo el software que viene de serie, incluyendo phpMyAdmin y Webalizer.

xampp2

Para instalar una web dinámica dentro de nuestro servidor portable procederemos como siempre. Por ejemplo, desde phpMyAdmin podemos importar la base de datos MySQL. Y los archivos bastara con copiarlos en la carpetaxampplite\htdocs.

Desactivar PHP Notice y PHP Warning o tipico error undefined index por recoger una variable por GET que no existe by systemadmin.es

Fuente: systemadmin.es

En PHP, mediante el parámetro de configuración error_reporting podemos definir que tipo de errores quedemos almacenar en el log.

En el caso que lo tengamos a E_ALL, veremos como se van guardando en el log “PHP Notice“, los cuales muchas veces conocemos pero no nos interesan en un servidor de producción. Podemos desactivarlos “restando” de E_ALL los notices mediante E_NOTICE:

error_reporting = E_ALL & ~E_NOTICE

Otro tipo de errores que pueden llenar los logs son los PHP Warning. Para eliminarlos podemos hacerlo “restando” a la expresión anterior E_WARNING:

error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING

easyphp cambiar directorio www de publicacion web local del servidor apache

Tenemos que buscar el fichero httpd.conf que debería encontrarse dentro de la carpetaEasyPHP/apache/conf.

Una vez ubicado el mismo lo abrimos con el Bloc de Notas, buscamos dentro del mismo la línea que dice DocumentRoot y modificamos la ruta que figura a continuación.

Por ejemplo si dice DocumentRoot “C:/PROGRA~1/EASYPH~1.9/www”  la reemplazamos porDocumentRoot “D:\Mis sitios Web\mi_sitio1” por ejemplo, o la ruta que deseemos

Y en algunos casos deberemos modificar tambien la linea donde pone <Directory “C:/PROGRA~1/EASYPH~1.9/www”>

Por ultimo reiniciamos el servidor si lo teniamos abierto