Hoy se me ha apetecido explicar en como instalar un servidor web con Apache donde podrán hacer sus pruebas con php y mysql, nose si esta manera de instalar el servidor sea la mejor pero es la que he usado yo :).
A través del terminal instalamos los paquetes que necesitamos con lo siguientes comandos:
sudo apt-get install apache2 php5 mysql-server php5-mysql php5-gd
Después de la instalacion de mysql-server se les pedirá una contraseña de root, pero no es el root de su sistema linux sino de mysql, no la olviden!
Con un poco de paciencia ya tendremos todo listo. Una vez bajados todos los paquetes ahí que configurar la carpeta raíz de los archivos que por defecto esta en /var/www/
No hay ningún problema dejarla como está, podríamos añadir archivos en esa carpeta a través del explorador si lo ejecutamos como super usuario (sudo nautilus), pero si queremos cambiar la ubicación de la carpeta con teclear en la consola:
sudo gedit /etc/apache2/sites-available/default
Y reemplazamos /var/www/ por el directorio que queramos, guardamos y listo.
En mi caso es en /home/YoFriki/webserver/
Luego después de esto también podemos instalar phpmyadmin para poder manejar las bases de datos MySQL a través del interfaz web, lo hacemos de tecleando:
sudo apt-get install phpmyadmin
Bien, ya esta todo listo, ahora solo falta reiniciar el Apache para que tome los cambios realizados, se hace con el siguiente comando:
$ sudo /etc/init.d/apache2 restart
Para comprobar que todo funciona bien vallan a la carpeta que definieron como raiz (en mi caso /home/YoFriki/servidor_web/) y creen un archivo llamado index.php con el siguiente contenido:
<?php
phpinfo();
?>
Ahora abran cualquier navegador que usen (firefox/chrome..) y en la barra de direcciones pongan:
http://localhost/
o
127.0.0.1
deberían ver una pagina con los datos del php.
Para acceder al phpmyadmin deberían ingresar en http://localhost/phpmyadmin
En mi distribucion después de seguir estos pasos no he tenido que iniciar o detener el servidor apache nunca, arranca solo al iniciar sesion pero para aquellos que no les arranque automáticamente tienen estos 2 comandos que les pueden ser utiles:
sudo /etc/init.d/apache2 stop #parar apache
sudo /etc/init.d/apache2 start #iniciar apache
Otras anotaciones:
- Si necesitamos cambiar los permisos de una carpeta que hallamos copiado a nuestra carpeta del servidor web, y tenemos problemas al ejecutarlo, deberíamos de conceder los permisos con el siguiente comando:
sudo chown -R www-data:www-data webserver/nueva_carpeta
- Si queremos activar el mod_rewrite (para creal urls más amigables)
apt-get install libapache2-mod-proxy-html
Para habilitar el modulo en apache, ejecutamos:
a2enmod rewrite
sudo /etc/init.d/apache2 restart
si da error:
libxml2 is installed, but as on amd64 architecture, the libxml2 file is in :
/usr/lib/x86_64-linux-gnu/libxml2.so.2
Se soluciona cambiando el archivo:
sudo gedit /etc/apache2/mods-available/proxy_html.load
la línea:
LoadFile /usr/lib/libxml2.so.2
a :
LoadFile /usr/lib/x86_64-linux-gnu/libxml2.so.2
y luego:
sudo gedit /etc/apache2/sites-available/default
y modificamos none por all
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride none
Order allow,deny
allow from all
</Directory>
Quedando....:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
Tengan en cuenta que si nuestra carpeta host del webserver no es var/www tenemos que cambiarla a la que proceda.. :)