allotjar diversos projectes a ubuntu server linux

Per accedir als teus projectes en funció del nom de la carpeta on es troben dins del directori /var/www, pots configurar un Virtual Host únic a Apache que redirigeixi les sol·licituds a la carpeta corresponent en funció de l'URL

Per accedir als teus projectes en funció del nom de la carpeta on es troben dins del directori /var/www, pots configurar un Virtual Host únic a Apache que redirigeixi les sol·licituds a la carpeta corresponent en funció de l'URL. A continuació t'explico com fer-ho:

1. Organització dels Projectes a /var/www

Suposem que tens les següents carpetes a /var/www:

  • /var/www/laravel
  • /var/www/wordpress
  • /var/www/codeigniter

2. Configura un Virtual Host per manejar múltiples projectes

Configura un Virtual Host a Apache que serveixi projectes basats en el nom de la carpeta dins de /var/www.

  1. Obre o crea un fitxer de configuració del Virtual Host a /etc/apache2/sites-available/:
  2. sudo nano /etc/apache2/sites-available/multiprojects.conf
  3. Afegeix la següent configuració al fitxer:
  4. <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www
    
        <Directory /var/www>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    
        # Redirigir per projectes específics
        Alias /laravel /var/www/laravel/public
        <Directory /var/www/laravel/public>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    
        Alias /wordpress /var/www/wordpress
        <Directory /var/www/wordpress>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    
        Alias /codeigniter /var/www/codeigniter/public
        <Directory /var/www/codeigniter/public>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    
        ErrorLog ${APACHE_LOG_DIR}/multiprojects_error.log
        CustomLog ${APACHE_LOG_DIR}/multiprojects_access.log combined
    </VirtualHost>

3. Activar el Virtual Host

Després de configurar el Virtual Host, activa'l amb el següent comandament:

sudo a2ensite multiprojects.conf

4. Reiniciar Apache

Després d'activar el Virtual Host, reinicia Apache perquè els canvis tinguin efecte:

sudo systemctl restart apache2

5. Accedir als Projectes

Ara podràs accedir a cada projecte mitjançant l'adreça IP del servidor seguit del nom de la carpeta del projecte.

Exemple:

  • Laravel: http://192.168.1.128/laravel
  • WordPress: http://192.168.1.128/wordpress
  • CodeIgniter: http://192.168.1.128/codeigniter

6. Consideracions Addicionals

  • Carpeta public: Si utilitzes frameworks com Laravel o CodeIgniter, on el fitxer index.php es troba dins d'una subcarpeta public, assegura't que l'Alias i el Directory apunten correctament a aquesta subcarpeta (/var/www/laravel/public).
  • Permisos: Assegura't que les carpetes i fitxers dins de /var/www tenen els permisos adequats perquè Apache pugui accedir-hi.
sudo chown -R www-data:www-data /var/www
sudo chmod -R 755 /var/www

Amb aquesta configuració, podràs cridar cada projecte pel nom de la seva carpeta dins de /var/www. Si tens més preguntes o necessites ajuda addicional, estic aquí per ajudar-te!