Instalar MySql, Apache, PHP, PHPMyAdmin y configurar directorio (Linux).

Ya se que existen muchos posts sobre como instalar MySql,Apache,PHP y PHPMyAdmin. Pero el simple hecho es que casi ninguno indica como personalizarlo después para evitar los problemas con los permisos y tal. En Windows es bastante fácil.. Buscas un WAMP (yo prefiero EasyPHP), lo instalas y tiras. Pero mi experiencia con los LAMP's (Debian en concreto) ha sido mas que desastrosa y por ello prefiero una instalación manual.


Nota: Esta entrada es bastante vieja, es posible que no sea la mejor manera de instalar/configurar actualmente.

MySql, Apache, PHP y PHPMyAdmin

Mysql

Para empezar vamos a instalar MySql. La forma mas sencilla posible es:
sudo apt-get install mysql-client mysql-server
Durante la instalación se te preguntara por la contraseña que vas a darle al usuario ROOT de la base de datos. Es muy importante recordarla para evitar futuros problemas. Una vez instalado podemos proceder al siguiente paso.

Apache

Ahora vamos por Apache.
sudo apt-get install apache2
Aquí una vez finalizada la instalacion, vamos a abrir nuestro navegador y ir a la siguiente dirección:
http://localhost
Si todo ha sido instalado correctamente, veras un bonito: It works! y podremos proceder al siguiente paso.

PHP

Lo siguiente es PHP.
sudo apt-get install php5 libapache2-mod-php5

Esto instalara php y la librería de php para apache2 (si no, Apache no sabrá que PHP existe). Una vez terminado, debemos reiniciar Apache para que cargue la librería y poder así procesar cargar la librería de php. Yo conozco 2 maneras:

sudo /etc/init.d/apache2 restart
y mi preferida:
sudo service apache2 restart
Te tendrá que devolver un: [ok].

Si por casualidad te tira este error:
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
No te tires por la ventana pues es algo normal y no perjudica el funcionamiento de Apache.
De todos modos si te molesta, ejecuta en modo root tu editor de texto preferido y abre el apache2.conf que esta en /etc/apache2/.
sudo nano /etc/apache2/apache2.conf

Debemos introducir ServerName localhost y guardar el archivo.
Volvemos a reiniciar Apache y *Plop* ya no aparece.

Bien, volviendo al tema, por defecto, la carpeta www de Apache esta en /var/www.
Ahí nos encontraremos un archivo index.html, que es el que contiene el "It Works".
Para tu sorpresa (o no) no podrás ni borrar, ni editar el archivo (a no ser que dispongas de privilegios root).

Aquí es cuando todas las guías que he leído hasta ahora se van por su camino y te dejan totalmente en blanco, diciéndote cosas como: "cambiar permisos","manejar bajo root" y un montón de cosas mas inútiles..

Lo mas sencillo, funcional y bonito es simplemente no usar /var/. NO!, usa tu propia carpeta (/home/usr) que para algo esta!.

Para cambiar eso, abrimos con nuestro editor favorito (bajo permisos) el siguiente archivo:
/etc/apache2/sites-available/default
Buscamos la linea: DocumentRoot /var/www y la reemplazamos por: DocumentRoot /home/usuario/carpetawww

* Nota: usuario, es tu nombre de usuario y carpetawww, es la carpeta donde vas a alojar tus archivos.

Justo después de esta linea cambiaremos Options FollowSymLinks por Options Indexes FollowSymLinks. Esto nos permitirá listar los archivos en los directorios que no contienen un index. Ademas, podemos agregar las lineas:
[apache]Order allow,deny
allow from all[/apache]

Para permitir a cualquiera ver dicha carpeta.

Después solo hace falta darle permisos a nuestra carpeta (chmod 777 carpetawww/*) (puesto que apache2 se ejecuta bajo root) y listo.. ya no nos volverá a molestar ese problema.

Y bien, reiniciamos Apache otra vez (sudo service Apache2 restart), nos vamos a la carpeta carpetawww y creamos un archivo index.php que va a contener:
Esto nos mostrara información tipo: que versión es, bajo que servidor corre (OS) etc..etc, pero la idea es simplemente ver que funciona.

Seguimos y instalamos complementos (librerías) adicionales para PHP.
Estas librerías van desde el manejo de mysql en php, hasta la famosa GD para crear y manejar imágenes.
sudo apt-get install php5-mysql php5-curl php5-gd
php5-idn php5-imagick php5-imap php5-mcrypt php5-memcache
php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp
php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json

PHPMyAdmin

Una vez instalado esto, lo ultimo que nos falta es PHPMyAdmin.
sudo apt-get install phpmyadmin
Durante su instalación te va a pedir que elijas el tipo de servidor que usas, en nuestro caso este es Apache así que no dudes en seleccionarlo.. Después te dará a elegir sobre si configurar el dbconfig-common manualmente o automáticamente, la opción que tienes que elegir (yes) es automáticamente a no ser que quieras cosas muy especificas... Justo después de ello te pedirá la contraseña del usuario root en mysql (la que has puesto durante la instalación de mysql) y la contraseña para la aplicación.

Si acabamos teniendo algun problema para acceder a PHPMyAdmin desde el navegador (localhost/phpmyadmin), podemos crear un acceso directo de la siguente forma:
sudo ln -s /usr/share/phpmyadmin /home/usuario/www/phpmyadmin
De esta forma podremos acceder a phpmyadmin desde http://localhost/phpmyadmin/

Una vez completado esto reiniciamos apache por ultima vez y vuala! Listo para desarrollar.

Saludos

Comentarios

Entradas populares de este blog