Preparando el entorno de desarrollo web
Contenido |
Instalación de Paquetes
Para preparar el entorno de desarrollo en Debian es necesario instalar algunos paquetes lo cual implica tener configurado apropiadamente el archivo sources.list.
Las indicaciones acá descritas son para preparar un entorno de desarrollo web con Apache, PHP, PostgreSQL y, opcionalmente, MySQL.
Asegurarse que la máquina está actualizada, en una terminal como usuario root escribir:
aptitude update && aptitude full-upgrade
Debian 7.0 "Wheezy"
Instalar los paquetes necesarios con la siguiente instrucción, como usuario root:
aptitude install apache2-mpm-prefork php5 php5-gd php-apc libgd2-xpm \ libapache2-mod-php5 php5-intl php-pear php5-cli php5-pgsql postgresql postgresql-contrib \ php-soap openjdk-7-jdk openjdk-7-jre ssh
Debian 6 "Squeeze"
Instalar los paquetes necesarios con la siguiente instrucción, como usuario root:
aptitude install apache2-mpm-prefork php5 php5-gd libgd2-xpm php-apc \ libapache2-mod-php5 php5-intl php-pear php5-cli php5-pgsql postgresql postgresql-contrib \ php-soap openjdk-6-jdk openjdk-6-jre
Opcional
Instalar los siguientes paquetes para administrar la base de datos PostgreSQL
aptitude install phppgadmin pgadmin3
Instalar lo siguiente si se utilizará MySQL. En este caso, durante el proceso de instalación el gestor de paquetes preguntará por la contraseña del usuario root de MySQL y por la contraseña para phpmyadmin.
aptitude install mysql-server php5-mysql phpmyadmin
NetBeans IDE
Ir a la página de NetBeans y descargar la versión para PHP. Al momento de escribir este artículo, la versión más reciente es la 7.3
En una terminal como usuario normal ir a la carpeta en la que se encuentra el archivo de NetBeans que se ha descargado y escribir lo siguiente para darle permiso de ejecución:
chmod a+x netbeans-7.3-php-linux.sh
Para instalar
./netbeans-7.3-php-linux.sh
Seguir las instrucciones del asistente de instalación. Las opciones predeterminada, en general, son las correctas y las que se han de usar.
Algunos Complementos
- PHP Symfony2 Framework
Es un complemento que permite manejar la estructura del Framework Symfony2. Para instalarlo véase Desarrollo web Symfony2.
- PHP Twig
Este complemento permite poder distinguir el código Twig del código HTML en una página web y poder crear archivos de tipo Twig. Se utiliza en Symfony para la construcción de la vistas. Para instalarlo descargar de la siguiente página PHP Twig; luego agregar en NetBeans, para ello ir a Tools -> Plugins, en la pestaña Downloaded hacer clic en Add Plugins... buscar en la carpeta donde se descargó, seleccionar e instalar haciendo clic en Install.
- Git
Este complemento permite integrar la funcionalidad de Git en NetBeans. Para instalarlo hacer el mismo proceso de PHP Symfony2 Framework pero buscando como Git . Generalmente, en las nuevas versiones del IDE ya está integrado.
PostgreSQL
Para Debian Squeeze, la versión de PostgreSQL es la 8.4; para Debian Wheezy es la versión 9.1. Tomar esto en cuenta al momento de editar los archivos de configuración.
Editar el archivo /etc/postgresql/9.1/main/pg_hba.conf como usuario root, con cualquier editor de texto, puede ser nano o vi:
vi /etc/postgresql/9.1/main/pg_hba.conf
o bien
nano /etc/postgresql/9.1/main/pg_hba.conf
ir al final del archivo e identificar las siguientes líneas:
# "local" is for Unix domain socket connections only local all all peer
cambiar el valor ident o peer por md5; la línea debería quedar como se muestra a continuación
# "local" is for Unix domain socket connections only local all all md5
Reiniciar el servicio de PostgreSQL
/etc/init.d/postgresql restart
El archivo pg_hba.conf almacena la configuración de la autenticación de clientes de bases de datos postgres.
Consideraciones
Para realizar todas las operaciones relacionadas con el gestor de base de datos PostgreSQL se debe de trabajar como usuario postgres. Se escribe en consola como usuario root lo siguiente:
su postgres
Con esto se cambia de usuario root a usuario postgres manteniéndose en el directorio de trabajo actual.
Creación de usuarios y base de datos desde consola
Primero se debe crear el usuario con el que se trabajará, para ello se escribe en consola:
createuser -DRSP nombreUsuario
D: No puede crear base de datos R: No puede crear roles S: No es superusuario P: Para que muestre un mensaje en donde se pida la contraseña del nuevo usuario
Para crear la base de datos se escribe:
createdb nombreBaseDatos -O nombreUsuario
O: Dueño de la base de datos
Copia de seguridad y restauración de bases de datos usando pg_dump y psql
- Copia de Seguridad
Para realizar la copia de seguridad se escribe en consola:
$ pg_dump -U nombreUsuario nombreBase -f nombreArchivo.sql
En la parte de nombreArchivo.sql se puede coloca una ruta específica, si no se coloca la ruta se creará en el directorio en donde se encuentre el usuario al momento de ejecutar la sentencia. Se debe de tener permiso de escritura en ese directorio para ese usuario.
Al ejecutar la sentencia se deberá escribir la contraseña del usuario para realizar la copia de seguridad.
- Restauración
Para cargar la copia a la base de datos, se ejecuta la siguiente sentencia:
$ psql -U nombreUsuario -d nombreBase -f nombreArchivoACargar.sql
PHP
Editar el archivo /etc/php5/apache2/php.ini como usuario root, con cualquier editor de texto, puede ser nano o vi:
vi /etc/php5/apache2/php.ini
o bien
nano /etc/php5/apache2/php.ini
ir a la sección Module Settings y modificar o agregar la línea ;date.timezone = con lo siguiente
date.timezone = America/El_Salvador
Opcional
Si se desea que PHP permita adjuntar archivos de gran tamaño, en la sección File Uploads modificar la línea upload_max_filesize = 2M y modificarla por el tamaño de archivo que se desee, por ejemplo
upload_max_filesize = 10M
Apache
Véase Virtual_Host
Iceweasel
Si aún no se ha actualizado el Iceweasel a su versión más reciente, se pueden seguir las indicaciones que se encuentran en Instalación de paquetes.
Ir a la página de Mozilla e instalar los siguientes complementos:
- Firebug
- Web Developer
- YSlow
PHPUnit
Librería para Pruebas unitarias y funcionales. Una breve introducción a su uso puede ser encontrada como parte del Tutorial Jobeet con Symfony2, específicamente en Pruebas unitarias y Pruebas Funcionales Si bien se supone integrado con Symfony, habrá que instalarlo independientemente
aptitude install phpunit