Es mostren els missatges amb l'etiqueta de comentaris Apache. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris Apache. Mostrar tots els missatges

28 d’octubre del 2013

Ubuntu Saucy 13.10 i els servidors web virtuals (VirtualHost)

Amb l'actualització a Ubuntu Saucy 13.10 m'he trobat que no em funcionaven els diferents projectes web que tenia en el servidor local.

El problema té fàcil solució. Resulta que Ubuntu ha actualitzat la versió del servidor Apache, tal com es pot veure amb la comanda:
$ apache2 -v
Server version: Apache/2.4.6 (Ubuntu)
Server built:   Aug  9 2013 14:28:56

En resum, simplement hem de fer que el fitxer que conté les declaracions del servidors virtuals acabi en .conf i reiniciar Apache:
$ cd /etc/apache2/sites-available
$ sudo mv vhosts vhosts.conf
$ sudo service apache2 restart

I ja ho tenim.

3 d’agost del 2012

Diferents projectes web en el servidor local

Hi ha diferents motius pels quals podem voler tenir diferents projectes web en el nostre ordinador, que actuarà com a servidor en la xarxa local: per desenvolupar projectes per diferents clients, per poder provar diferents gestors de continguts (Drupal, Joomla, etc...), o simplement per tenir un conjunt de servidors de continguts (fotos, música, etc...) sense que s'interfereixin.

Sigui com sigui, anem a veure com ho podem configurar de forma senzilla en el nostre Ubuntu Precise. En primer lloc, instal·lem el servidor web Apache i el PHP:
$ sudo apt-get install apache2 libapache2-mod-php5
En el meu cas, tenia una instal·lació prèvia que m'ha donat problemes amb el PHP (no executava els codis). M'ha calgut reinstal·lar amb:
$ sudo apt-get purge libapache2-mod-php5
$ sudo apt-get install libapache2-mod-php5
$ sudo a2enmod php5
$ sudo /etc/init.d/apache2 restart
Ara, caldrà definir els servidors virtuals que volem utilitzar:
$ gksudo gedit /etc/apache2/sites-available/vhosts
Amb un contingut semblant a (canvieu els noms dels servidors i el que volgueu):
# Use name-based virtual hosting.
#
NameVirtualHost *:80

# "fotos.localhost" VirtualHost:
#
<Directory "/var/www/fotos">
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 Allow from all
</Directory>

<VirtualHost *:80>
        ServerAdmin webmaster@fotos.localhost
        DocumentRoot "/var/www/fotos"
        ServerName fotos.localhost
 ErrorLog ${APACHE_LOG_DIR}/fotos_error.log
 CustomLog ${APACHE_LOG_DIR}/fotos_access.log combined
</VirtualHost>

# "web.localhost" VirtualHost:
#
<Directory "/var/www/web">
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 Allow from all
</Directory>

<VirtualHost *:80>
        ServerAdmin webmaster@web.localhost
        DocumentRoot "/var/www/web"
        ServerName web.localhost
 ErrorLog ${APACHE_LOG_DIR}/web_error.log
 CustomLog ${APACHE_LOG_DIR}/web_access.log combined
</VirtualHost>
 
I l'activem amb:
$ sudo a2ensite vhosts
$ sudo /etc/init.d/apache2 restart
En principi, amb això ja estaria. Només ens queda afegir els noms dels servidors virtuals al fitxer de noms coneguts:
$ gksudo gedit /etc/hosts
Només caldrà afegir una línia:
...
127.0.0.1 fotos.localhost web.localhost
...
I per provar que tot ha anat bé, afegim un fitxer 'index.php' a cadascún dels nostres projectes. El contingut pot ser un simple 'Hola món' en PHP:
<?php echo 'web.localhost diu: Hola a tothom!';?>
I comprovem que efectivament hi tenim accés i ens respon, anant a l'adreça http://web.localhost:

I ja ho tenim. Dues estructures de directoris separades per poder fer el que necessitem, sense que s'interfereixin. Objectiu assolit.