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.
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>
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>
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>
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>
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>
Afegeix aquestes línies als fitxers wp-config.php de cada instal·lació de WordPress per definir les URLs correctes.
define('WP_HOME', 'http://estudijoanpuig.com/wordpress');
define('WP_SITEURL', 'http://estudijoanpuig.com/wordpress');
define('WP_HOME', 'http://estudijoanpuig.com/wp_nitida');
define('WP_SITEURL', 'http://estudijoanpuig.com/wp_nitida');
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
Executa aquestes comandes per actualitzar el sistema i reiniciar si cal.
sudo apt update
sudo apt full-upgrade
sudo reboot
Després d'aplicar aquests codis:
sudo systemctl restart apache2.sudo tail -n 50 /var/log/apache2/error.log/var/www/html/laravel/storage/logs/laravel.logWP_DEBUG a wp-config.php i revisa wp-content/debug.log.Has aconseguit configurar els teus quatre projectes després de dos anys d'esforç! Gaudeix del teu èxit i continua aprenent!