Configurer correctement un serveur web apache et PHP

Par kouokam.ubald, il y a 7 ans


Bonjour, je suis entrain de suivre la formation Mise en pratique de la POO en PHP, et j'ai probablement un soucis de configuration de mon serveur web apache et/ou de PHP. Je rappelle que mon serveur tourne en virtuelle (vmware) sous CentOS 6.10. Le formateur utilise dans son cours utilise le serveur interne à PHP en lançant une commande similaire à :

php -S mondomaine.com:8000 -d display_errors=1 -t public/

Jusque là, tout marche correctement chez moi aussi. J'ai alors eu des soucis lorsque j'ai crée un VirtualHost pour exécuter mon application sans exécuter chaque fois la commande ci-dessus, surtout au moment je veux par exemple ouvrir le lien http://mondomaine.com/blog, je recois une Erreur 404.

Ce qui est configurer sur mon serveur

Fichier /etc/httpd/conf/http.conf

NameVirtualHost mondomaine.com:80

Fichier /etc/httpd/conf.d/mondomaine.conf

<VirtualHost mondomaine.com:80> DocumentRoot /home/user/public/ ServerName mondomaine.com ServerAlias mondomaine.com DirectoryIndex index.html index.php ErrorLog logs/mondomaine-error_log CustomLog logs/mondomaine-access_log common </VirtualHost>

Ce qui s'affiche sur mon navigateur

Lorsque j'ouvre le lien mondomaine.com/blog, j'obtiens une erreur 404.
Quelqu'un peut-il m'aider
Cordialement

8 réponses

benoure, il y a 7 ans

Salut,

je pense que dans ton "DocumentRoot /home/user/public/" les dernier "/" est de trop.

kouokam.ubald, il y a 7 ans

J'ai essayé ce que tu m'as demandé benoure mais pas de changement. J'ai tout de même jeté un coup d'oeil dans les logs. Il ressort que lorsque j'ouvre le lien mondomaine.com, il n'ya pas de message d'erreur dans le log. Mais lorsque j'ouvre le lien mondomaine.com/blog, le message d'erreur suivant s'affiche: "File does not exist: /home/user/public/blog"

benoure, il y a 7 ans

tu utilise un .htaccess ?

kouokam.ubald, il y a 7 ans

Non j'utilise pas un .htaccess

benoure, il y a 7 ans

ton site pointe dans le dossier public.
Tu as mis en place un fichier index qui redirige ver les bon dossiers ?

kouokam.ubald, il y a 7 ans

En fait en suivant le cours Mise en pratique de la POO en PHP, il y a un fichier index.php qui se trouve dans le dossier public. Ce fichier marche correctement lorsque j'utilise le serveur interne de PHP en exécutant la commande php -S comme dans la description de mon problème.

MacBee, il y a 7 ans

Ajoute des fichiers .htaccess :

Un à la racine du site.
Voici son contenu :

RewriteEngine On RewriteRule (.*) public/$1 [L]

L'autre dans le répertoire public.
Voici son contenu :

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (.*) index.php/$1 [L]
kouokam.ubald, il y a 7 ans

Merci bien MacBee, tes configurations marche super bien