Sobre un sistema operativo GNU/Linux hacemos correr un webserver Apache 2 con el modulo de Php 5, usando Mysql como base de datos, a este sistema se lo denomina LAMP.
La base de datos va a funcionar como medio de almacenamiento para la informacion que la aplicacion php, mientras el modulo de apache permite interpretar codigo php sobre el mismo webserver, sin la necesidad de usar el interprete del sistema operativo, de esta manera mejorando la performance.
Para armar esta primera parte del sistema necesitamos instalar los paquetes.
# apt-get install apache2 libapache2-mod-php5 mysql-server mysql-client php5-mysql
El script de post-instalacion de mysql-server nos va a pedir que asignemos una password al usuario root de la base de datos, es importante recordar lo que ponemos.
NOTA: para reconfigurar un paquete el comando amigo “dpkg-reconfigure nombre_paquete” puede ser de gran ayuda, pero no con mysql, asi que hay que hacer algo un poquito mas largo:
1 - paramos el servidor mysql: # /etc/init.d/mysql stop
2 - arrancamos la base pero sin permisos: # mysqld_safe --skip-grant-tables &
3 - nos conectamos a la base como root pero sin usar password: mysql -u root
4 - una vez conectados, cambiamos a la base interna de mysql: mysql> use mysql;
5 - seteamos en password de root a mano: mysql> update user set password=PASSWORD("NUEVO-PASSWORD") where User='root';
6 - recargamos los privilegios de usuarios: mysql> flush privileges;
7 - y salimos: mysql> quit
8 - finalmente restarteamos la base: # /etc/init.d/mysql restart
Habiendo terminado esto, tendriamos que poder ver los procesos corriendo en el sistema.
# ps -ef | grep apache
# ps -ef | grep mysql
Es recomendable restartear el apache por si el paquete php5-mysql fue instalado despues que el apache2.
# /etc/init.d/apache2 restart
NOTA: Todos los archivos de configuracion se encuentran en “/etc/apache2”, dentro se dividen en varias secciones: Los que se encuentran en “conf.d” se cargan al iniciar, tipicamente seteos de aplicaciones. Los virtual servers habiltados en “sites-enabled”, los disponibles en “sites-available”. (Para des/habilitar un virtual server los comandos amigos “a2dissite” y “a2ensite” vienen al rescate.) Los modulos disponibles en “/usr/lib/apache2/modules/”. (Para des/habilitar un modulo los comandos amigos “a2dismod” y “a2enmod” pueden ayudarnos.)
A este punto ya tenemos nuestro server listo para alojar una aplicacion php, asi que lo que hagamos de aca en adelante, va a variar segun la aplicacion que instalemos.
Primero instalamos el meta-paquete de la aplicacion:
# apt-get install egroupware
Nos va a pedir que definamos un usuario, por default admin y le asignamos una contraseña. De nuevo, es muy importante recordar los que escribimos. Este usuario y contraseña lo vamos a necesitar mas adelante cuando configuremos la aplicacion desde el browser.
Ahora vamos a crear un base de datos donde la aplicacion pueda escribiry guardar sus cosas. Primero nos conectamos a la base:
# mysql -u root -p
mysql> create database egroupware;
mysql> grant all privileges on egroupware.* to usuario0@localhost identified by 'usuario0';
mysql> quit
NOTA: "grant all privileges on NOMBRE_DATABASE.* to USUARIO@ORIGEN identified by 'PASSWORD';"
Ya habiendo hecho esto, estamos listos para instalar la aplicacion, abrimos un browser y ponemos la direccion IP de la maquina que estamos configurando seguido de /egroupware. Vale aclarar que todo esto lo podriamos estar haciendo remoto en un pentium ii con 128mb. Supongamos en este caso: http://localhost/egroupware
La primera pantalla que aparece es para crear el archivo de configuracion "/usr/share/egroupware/header.inc.php", aca les va a pedir el usuario Header admin, que es el antes configurado cuando instalamos el paquete.
Siguiente... siguiente... siguiente... y tienen una super aplicacion web arriba!