Configuració dels Projectes per a estudijoanpuig.com

Aquest document conté tots els codis necessaris per configurar els quatre projectes (Laravel, WordPress, wp_nitida, i index.php) al servidor. Copia i enganxa els codis segons les instruccions.

1. Configuració del Virtual Host (/etc/apache2/sites-available/000-default.conf)

Aquest fitxer configura Apache per gestionar els quatre projectes sota el domini estudijoanpuig.com.

<VirtualHost *:80>
    ServerName estudijoanpuig.com
    ServerAlias www.estudijoanpuig.com
    DocumentRoot /var/www/html

    # Configuració per a Laravel
    Alias /laravel /var/www/html/laravel/public
    <Directory /var/www/html/laravel/public>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    # Configuració per al primer WordPress
    Alias /wordpress /var/www/html/wordpress
    <Directory /var/www/html/wordpress>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    # Configuració per al segon WordPress (wp_nitida)
    Alias /wp_nitida /var/www/html/wp_nitida
    <Directory /var/www/html/wp_nitida>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    # Configuració per a l'arrel (index.php)
    <Directory /var/www/html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/estudijoanpuig.com-error.log
    CustomLog ${APACHE_LOG_DIR}/estudijoanpuig.com-access.log combined
</VirtualHost>

2. .htaccess per a l'arrel (/var/www/html/.htaccess)

Aquest fitxer gestiona les peticions a l'arrel per servir index.php.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # Si index.php existeix, serveix-lo directament
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^index\.php$ - [L]

    # Redirigeix altres peticions a subcarpetes si cal
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(laravel|wordpress|wp_nitida) - [L]
</IfModule>

3. .htaccess per a Laravel (/var/www/html/laravel/public/.htaccess)

Aquest fitxer gestiona les peticions a /laravel i evita conflictes amb altres subcarpetes.

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Exclou altres subcarpetes de les regles de Laravel
    RewriteCond %{REQUEST_URI} !^/(wordpress|wp_nitida|index\.php) [NC]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

4. .htaccess per a WordPress (/var/www/html/wordpress/.htaccess)

Aquest fitxer gestiona les peticions a /wordpress.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /wordpress/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wordpress/index.php [L]
</IfModule>

5. .htaccess per a WordPress wp_nitida (/var/www/html/wp_nitida/.htaccess)

Aquest fitxer gestiona les peticions a /wp_nitida.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /wp_nitida/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wp_nitida/index.php [L]
</IfModule>

6. Configuració de wp-config.php

Afegeix aquestes línies als fitxers wp-config.php de cada instal·lació de WordPress per definir les URLs correctes.

Per a /var/www/html/wordpress/wp-config.php

define('WP_HOME', 'http://estudijoanpuig.com/wordpress');
define('WP_SITEURL', 'http://estudijoanpuig.com/wordpress');

Per a /var/www/html/wp_nitida/wp-config.php

define('WP_HOME', 'http://estudijoanpuig.com/wp_nitida');
define('WP_SITEURL', 'http://estudijoanpuig.com/wp_nitida');

7. Comandes per configurar permisos

Executa aquestes comandes al terminal per configurar els permisos correctes.

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
sudo chmod -R 775 /var/www/html/laravel/storage /var/www/html/laravel/bootstrap/cache
sudo chmod -R 775 /var/www/html/wordpress/wp-content
sudo chmod -R 775 /var/www/html/wp_nitida/wp-content

8. Comandes per actualitzar el sistema

Executa aquestes comandes per actualitzar el sistema i reiniciar si cal.

sudo apt update
sudo apt full-upgrade
sudo reboot

9. Instruccions finals

Després d'aplicar aquests codis:

Felicitats!

Has aconseguit configurar els teus quatre projectes després de dos anys d'esforç! Gaudeix del teu èxit i continua aprenent!