Installation d'un serveur HTTP

Bonjour,
Je vais apprendre à coder du PHP avec Eclipse. Si j’ai bien compris, je dois installer un serveur HTTP donc :

aptitude install apache2 libapache2-mod-php5 php5 php5-mysql mysql-server
Puis le moment de vérité avec le test :

Pour moi, c’est râté, je n’ai pas “It works !” mais "Index of / …"
Merci.

Ce n’est pas grave, le serveur web fonctionne quand même. C’est juste que tu n’as pas le fichier index.html d’exemple dans ton dossier /var/www/html

Si ton serveur web ne fonctionnait pas, ta page aurait chargée dans le vide, jusqu’à afficher une erreur de ton navigateur “La connexion a échoué”.

Bonjour,
Exact, si je déplace le fichier dans le répertoire que tu indiques, cela fonctionne, merci.
J’ai installé Eclipse dans le home. J’ai voulu tester mon installation avec le fichier test.php.
Voici ce que j’obtiens :

[quote]Not Found

The requested URL /LearnPHP/application/test.php was not found on this server.

Apache/2.4.12 (Debian) Server at localhost Port 80[/quote]
Je suppose que je dois configurer un fichier ?
Lequel ?

Non, il y a assez peu de configuration pour faire fonctionner apache. (Je dis bien pour le faire fonctionner, et non pas pour le sécuriser !)
Ton URL indique que tu cherches le fichier /vqr/www/html/LearnPHP/application/test.php. C’est un peu long. Je parie que ton fichier est dans /vqr/www/html/. Dans ce cas, accède à localhost/test.php

Petit pense bête que j’ai pour toujours être en mesure de me faire mon petit serveur local LAPP (je n’ai mis que la partie concernant apache et PHP) :

[code]Packages :

  • apache2
  • php5
  • libapache2-mod-php5

Apache :

  • systemctl disable apache2 --> disable apache on start
  • /var/www/html/ --> localhost/
  • /home/#/public_html --> localhost/~#/
    • a2enmod userdir --> enable userdir mod
    • systemctl restart apache2 --> restart apache
    • ~/ and ~/public_html/ must be executables (+x)
    • files must be 755

PHP :

  • /etc/apache2/mods-available/php5.conf :
    • comment the last lines (…)
  • /etc/php5/apache2/php.ini :
    • display_errors = Off --> display_errors = On
  • verification --> <?php phpinfo(); ?>[/code]

Après moi je comprend tout, mais ça peut ressembler à un langage crypté pour toi. Si tu as des questions, n’hésite pas.

Bonsoir,

Non car j’ai installé eclipse dans mon home, et ce fichier se trouve dans

Oh que oui !
Mes fichiers créés avec eclipse se trouve dans /home/fab/workspace/Myproject_PHP/test.php, et je veux que le serveur local les trouve pour pouvoir les compiler.
Merci.

[quote=“Fab83”]Non car j’ai installé eclipse dans mon home, et ce fichier se trouve dans

Donc totalement pas accessible par apache.
Tout le contenu de ton site web doit être dans /var/www/html. Copie donc ce fichier test.php dans ce dossier.

[quote=“Dunatotatos”][quote=“Fab83”]Non car j’ai installé eclipse dans mon home, et ce fichier se trouve dans

Donc totalement pas accessible par apache.
Tout le contenu de ton site web doit être dans /var/www/html. Copie donc ce fichier test.php dans ce dossier.[/quote]

Sauf que [mono]/var/www/html[/mono] ne devrait être accessible que par le root en écriture, donc pas très pratique pour développer…
D’où l’intérêt d’activer les userdir.

Pour essayer d’être plus clair sur ce point :

  • pour apache, un userdir c’est un dossier public_html qui se trouve dans le home d’un des utilisateurs (donc finalement, pour l’utilisateur courant ~/public_html).
  • par défaut cette fonctionnalité est désactivée.
  • on notera aussi que comme l’a dit duna, seul quelques dossiers très spécifiques sont accessibles par apache. Ce qui semble logique, tu ne voudrais par que, dans le cas ou tu as un serveur accessible de l’extérieur, suite à une erreur de manipulation de droit, un parfait inconnu puisse modifier des fichiers importants du système.

Pour activer les userdir :

  • [mono]a2enmod userdir[/mono] --> activer le module userdir dans apache
  • vérifier que le dossier ~/public_html a bien été créé, le créer manuellement sinon
  • coller ton fichier PHP et éventuellement l’arborescence qui va avec dans ton ~/public_html
  • [mono]chmod -R 755 ~/public_html[/mono] --> appliquer récursivement les droits 755 à ~public_html
  • vérifier que ton dossier /home/fab est bien executable, sinon faire un [mono]chmod +x /home/fab[/mono]
  • modifier le fichier [mono]/etc/apache2/mods-available/php5.conf[/mono] et commenter la ligne [mono]…[/mono] qui devrait se trouver vers la fin du fichier
  • [mono]systemctl restart apache2[/mono] --> redémarrer apache
  • et la normalement en entrant dans ton navigateur l’adresse localhost/~fab, tu devrais tomber dans ton repertoire ~/public_html. Le plus simple pour tester que tout fonctionne bien c’est de faire un [mono]cat “<?php phpinfo(); ?>” > ~/public_html/index.php[/mono].

Sinon, si tu veux faire du développement PHP, tu devrais aussi penser à modifier le fichier [mono]/etc/php5/apache2/php.ini[/mono] en changeant la ligne [mono]display_errors = Off[/mono] en [mono]display_errors = On[/mono]. Sinon, tu ne verra pas les messages d’erreur de PHP.

Voila voila, en espérant que c’est un peu plus clair cette fois…

Bonjour,

Oui !
Merci pour toutes ces explications très claires.
Mon soucis maintenant est de parvenir à faire tourner les fichiers à partir de l’interface d’Eclipse.
Fabrice