El teu blog de Linux en català

Fa un temps vam crear un tutorial per configurar un servidor Apache, MySQL, PHP i phpmyadmin a l’Ubuntu. El pas de l’Ubuntu a Fedora em va portar inicialment alguns maldecaps a l’hora de muntar el meu servidor local. SELinux actua de moltes maneres que provoquen errors 403 Forbidden Access que em va costar molt resoldre. A continuació explique els passos que s’han de seguir, senzills i ràpids, per muntar un servidor Apache+PHP+MySQL i amb phpMyAdmin a Fedora (15). (més…)

Existeixen moltes formes de configurar un servidor Apache, MySQL i PHP al nostre ordinador. Fins ara, jo havia fet servir Xampp, una eina molt útil i fàcil d’instal·lar i fer servir. Ara bé, també és cert que no hi ha molta documentació (tot i que realment el Xampp no és més que un lampp, conegut per molts i per tant no ha d’haver-ne molta documentació perquè no és necessari).

Hui explicaré una altra manera, i ho faig més a mode d’enrecordar-me jo per a un futur de com fer-ho que per altra cosa (per això mateix ho explique només per a Ubuntu…). Si algú ho veu interessant o vol apuntar alguna cosa, no dubteu a fer-ho.

Paquets que cal instal·lar

Bàsicament executant la següent ordre serà suficient:
sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server phpmyadmin
Durant la instal·lació, a la configuració del mysql us demanarà que introduïu una contrasenya. No ho deixeu buit, perquè si no, el phpmyadmin no us deixarà entrar després (per defecte no permet entrar sense contrasenya). Una vegada instal·lat, cada vegada que inicieu el sistema tot allò necessari del servidor s’arrencarà per defecte.

Activació del phpmyadmin

A l’hora de configurar llocs web a local, caldrà modificar dos fitxers: /etc/apache2/sites-available/default [1] i /etc/hosts [2]. Per configurar el phpmyadmin, haurem d’editar el fitxer [1] i afegir les següents línies:
<VirtualHost *:80>
DocumentRoot /usr/share/phpmyadmin
ServerName phpmyadmin.local
</VirtualHost>

Seguidament haurem d’editar el fitxer [2] i al costat de localhost, just al costat d’on us posa el nom de la màquina (en el meu cas “karmic”), haureu d’afegir la referència  a local del phpmyadmin. En aquest cas, phpmyadmin.local. Així quedarà:
127.0.0.1    localhost
127.0.1.1    karmic phpmyadmin.local

Finalment caldrà fer un reload o reiniciar l’apache amb l’ordre:
sudo /etc/init.d/apache reload (o restart)
Activació de llocs web a local

Jo, per exemple, he creat la carpeta “webs” a dins de la meua carpeta d’usuari. Allà he ficat una altra carpeta amb nom “somgnu”, que serà el lloc web que tindré a local. Per tant, la ruta serà /home/pau/webs/somgnu. Amb això, editem el fitxer [1] i afegim la línia següent:
<VirtualHost *:80>
DocumentRoot /home/pau/webs/somgnu
ServerName somgnu.local
</VirtualHost>

Ara haurem de fer el mateix que hem fet amb el phpmyadmin. Editem el fitxer [2] i al costat de phpmyadmin.local afegim somgnu.local, cosa que vol dir que des del navegador, si introduïm http://somgnu.local accedirem a la pàgina web en local. A l’igual que abans, caldrà reiniciar o fer un reload a l’apache per a que tot funcione.

Aquesta guia pot fer-se més i més gran, per ara així m’està bé. Si coneixeu guies més esteses o alguna cosa millor en català (no serà difícil trobar-ne), apunteu-ho als comentaris i en faré referència ací.

Altra forma d’habilitar VirtualHosts i mod_rewrite

Si volem poder fer servir mod_rewrite (fitxers .htaccess), caldrà activar aquesta opció amb l’ordre següent:
sudo a2enmod rewrite

Per altra part, he estat tenint problemes a l’hora d’activar els virtualhost. Llavors, l’alternativa ha estat crear un fitxer diferent per cada virtualhost que volem crear. Simplement, si tenim un domini.local que volem activar, crearem el fitxer:
sudo gedit /etc/apache2/sites-available/domini.local.conf

I dins hi posarem les dades:
<VirtualHost *:80>
DocumentRoot /ruta_a_les_dades/
ServerName domini.local
</VirtualHost>

I finalment activar aquest lloc amb a2ensite:
sudo a2ensite domini.local.conf

Possibles errors

Un dels errors més comuns que es presenta és el de:
Forbidden
You don't have permission to access / on this server.

El primer que heu de fer és mirar el registre a /var/log/apache/error.log. Potser que veieu un missatge com el següent:
(13)Permission denied: /home/pau/webs/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

El que heu de tindre en compte seria que la carpeta «webs» tinga permisos oberts:
chmod 777 /home/pau/webs