Apache2 failed : erreur de syntaxe depuis Mint 21.1

Postez ici toutes vos demandes d’assistance générale concernant le fonctionnement de Linux Mint, qui n'entrent pas dans les autres rubriques.
Did

Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Bonjour/bonsoir à tous,
hier j'ai mis à niveau avec succès Linux Mint 21, puis une màj à 21.1.

J'utilise Apache2 pour afficher en local des pages html ou php que j'ai chez moi. Cela fonctionnait avant la mise à niveau. Là, quand je lance une page sur FF ( https://localhost/dossier/index.php ), j'ai comme message que "La connexion a échoué".

J'ai tenté 2-3 vérifications, comme de voir si les modifs que j'avais faites étaient encore là, et c'est encore bon. Je parle des modifs de certains fichiers, pour donner le chemin du dossier où se trouvent mes pages .html .php, ce qui est expliqué sur cette page https://blog.pascal-martin.fr/public/zf ... hosts.html

Puis je me suis demandé si Apache2 était actif, j'ai tenté le "restart"... puis je me suis aidé de cette page : https://www.linuxcapable.com/upgrade-ap ... ntu-linux/
Comme je suis plutôt novice, j'ai tenté de tout réinstaller comme c'est expliqué.
Mais à la fin, je me retrouve quand même avec une "erreur de syntaxe", et un "failed".

Je ne sais plus quoi faire, et je me demande si je ne dois pas tout effacer, et tout refaire, pour que ce soit "propre"...

Quand je tente un start, voici le retour :

Code : Tout sélectionner

sudo systemctl start apache2
[sudo] Mot de passe de dud :          
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xeu apache2.service" for details.

Voici ce que renvoient 2 consignes au Terminal :

Code : Tout sélectionner

systemctl status apache2.service
× apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
     Active: failed (Result: exit-code) since Fri 2022-12-30 21:47:05 CET; 1min>
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 22756 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/F>
        CPU: 41ms

déc. 30 21:47:05 dud-ThinkPad-E560 systemd[1]: Starting The Apache HTTP Server.>
déc. 30 21:47:05 dud-ThinkPad-E560 apachectl[22759]: apache2: Syntax error on l>
déc. 30 21:47:05 dud-ThinkPad-E560 apachectl[22756]: Action 'start' failed.
déc. 30 21:47:05 dud-ThinkPad-E560 apachectl[22756]: The Apache error log may h>
déc. 30 21:47:05 dud-ThinkPad-E560 systemd[1]: apache2.service: Control process>
déc. 30 21:47:05 dud-ThinkPad-E560 systemd[1]: apache2.service: Failed with res>
déc. 30 21:47:05 dud-ThinkPad-E560 systemd[1]: Failed to start The Apache HTTP >
lines 1-14/14 (END)
et :

Code : Tout sélectionner

journalctl -xeu apache2.service
déc. 30 21:20:10 dud-ThinkPad-E560 apachectl[21811]: apache2: Syntax error on l>
déc. 30 21:20:10 dud-ThinkPad-E560 apachectl[21808]: Action 'start' failed.
déc. 30 21:20:10 dud-ThinkPad-E560 apachectl[21808]: The Apache error log may h>
déc. 30 21:20:10 dud-ThinkPad-E560 systemd[1]: apache2.service: Control process>
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ An ExecStart= process belonging to unit apache2.service has exited.
░░ 
░░ The process' exit code is 'exited' and its exit status is 1.
déc. 30 21:20:10 did-ThinkPad-E560 systemd[1]: apache2.service: Failed with res>
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ The unit apache2.service has entered the 'failed' state with result 'exit-co>
déc. 30 21:20:10 dud-ThinkPad-E560 systemd[1]: Failed to start The Apache HTTP >
░░ Subject: L'unité (unit) apache2.service a échoué
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ L'unité (unit) apache2.service a échoué, avec le résultat failed.
En plus, je ne sais pas comment sortir de cette réponse, alors je suis obligé de fermer le Terminal (pas top)... (quelle la consigne qui correspond à un "END" ou "Exit" ou "Return" svp ?)

Voilà... Si quelqu'un comprend quelque chose, ou peut m'aider.. ?
Merci d'avance. :)
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Bonjour,
Que retourne sudo apachectl configtest
Voici :

Code : Tout sélectionner

apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php7.4.load: Cannot load /usr/lib/apache2/modules/libphp7.4.so into server: /usr/lib/apache2/modules/libphp7.4.so: cannot open shared object file: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.
(à tout hasard, voici la ligne 146 de apache2.conf :

Code : Tout sélectionner

# Include module configuration:
IncludeOptional mods-enabled/*.load
)

Ah ? php n'est peut-être plus là ? À tout hasard, je viens de vérifier, en effet, alors j'ai (ré)installé phpmyadmin par la logithèque. J'ai redémarré. Mais ça ne passe pas mieux.

J'ai revérifié les fichiers à modifier pour indiquer le chemin de mon dossier, car ils ont été possiblement modifiés...
Après plusieurs autres essais... redémarrage, etc toujours pas bon.
Est-ce que c'est qu'il me manque un paquet, ce "libphp7.4." ? Pourtant, je ne pense pas, puisque j'ai remis phpmyadmin, non ?
Bon... je préfère attendre un conseil, plutôt de que faire une erreur...
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Hello, merci pour le tuto, je ne connais pas du tout nginx, je vais aller voir.

Pour php7, voici le retour :

Code : Tout sélectionner

aptitude show libapache2-mod-php7.4
Paquet : libapache2-mod-php7.4                          
Version : 8.1.2-1ubuntu2.9
État: installé
Automatiquement installé: non
Priorité : optionnel
Section : universe/httpd
Responsable : Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture : amd64
Taille décompressée : 6 144 
Dépend: libapache2-mod-php, php8.1-common (= 8.1.2-1ubuntu2.9)
Est en conflit: libapache2-mod-php7.4:i386
Casse: libapache2-mod-php7.4 (< 7.4.3-5~), libapache2-mod-php7.4:i386 (<
       7.4.3-5~)
Remplace: libapache2-mod-php7.4 (< 7.4.3-5~), libapache2-mod-php7.4:i386 (<
          7.4.3-5~)
Description : Transitional package
 This is a transitional dummy package to libapache2-mod-php8.1.  It can be
 safely removed and libapache2-mod-php installed instead.
Site : http://www.php.net/
Euh ? j'avoue que ... :)
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Euh, et il faudrait que j'installe quoi ?
Puisque j'ai déjà installé phpmyadmin ?

Ce paquet là ? « libapache2-mod-php7.4 »

C'est juste que je ne suis pas sûr de savoir comment faire...
Je cherche par exemple ici : https://pkgs.org/download/libapache2-mod-php7.4 :
Install Howto
Update the package index:

Code : Tout sélectionner

# sudo apt-get update
Install libapache2-mod-php7.4 deb package:
# sudo apt-get install libapache2-mod-php7.4
C'est ça ??
Au point où j'en suis de toute façon, foutu pour foutu... je ne peux voir actuellement une page php en local, alors...

Je me garde ton tuto, mais c'est clair que j'aurais besoin de temps pour le mettre en oeuvre, ne serait-ce que pour être sûr de comprendre le vocabulaire. Et il faudrait que je me plonge dedans, pour redonner toutes les infos, chemin du dossier etc...
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Merci.
si tu ne purges pas les fichiers de conf.
ok ok. Mais euh... le paquet que je dois purger, du coup, c'est lequel ?
(désolé, mais je ne suis pas sûr du tout... c'est dans Apache, ou dans Mint ou comment ?)
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Super ! Merci, ça progresse, j'y suis presque !!!

Donc j'ai purgé, réinstallé apache2. J'ai de nouveau vérifié les fichiers à modifier, comme indiqué dans ce tuto que j'ai déjà indiqué : https://blog.pascal-martin.fr/public/zf ... hosts.html

J'ai d'abord eu un 404, donc c'était un mieux, et là, j'ai la page index.php de mon dossier dans var/www/dossier. qui s'affiche sous FF, mais sans le css !
Donc le chemin est bon... mais il manque un petit truc.... :)

En cherchant dans mes marques-pages, je tombe sur un ancien sujet que j'avais déjà posté ici : https://forum-francophone-linuxmint.fr ... 87#p158887
C'est loin alors je ne sais pas si j'avais vu le dernier comm' après coup... La personne a raison : formuler une question claire, c'est mieux.. le souci c'est de connaître le vocabulaire adéquat... c'est complexe et j'en suis désolé... :)

Mais en tout cas, on dirait que j'en suis au même point, je me cite :
J'ai tenté à tout hasard d'installer un paquet "php" avec le paquet "phpmyadmin" et là, c'est bon, la page index.php s'affiche correctement, et donc avec le CSS.
Est-ce que la manip de purger, ou de réinstaller Apache2, ou je ne sais.. ? Est-ce que tout cela a pu changer qlq chose au fait que j'ai commencé aujourd'hui par installer phpmyadmin ?
En clair, est-ce qu'il faut que je réinstalle quelque chose de php ? Et si oui quoi ?

Je suis désolé, mais je crois avoir vérifié dans la logithèque, un paquet "php" est bien installé...
This package is a dependency package, which depends on latest stable PHP version (currently 8.1).
Une idée pour faire afficher la page .php avec le CSS ? :)


Et sinon, je n'ai pas bien compris cette partie de ton dernier comm' :
Tu crées un fichier php de ce style
<?php
phpinfo()
?>
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Hello,
Essaye de dire exactement où tu bloques.
Ben là, j'ai adapté tout ce que j'ai pu (avec l'aide de la page internet déjà citée), et pourtant ça reste affiché en html, il me manque la mise en forme. L'adresse est donc bonne, mais en effet, comme déjà précédemment (probablement à la précédente mise à niveau d'ailleurs), un truc coince, peut-être à propos de php, la version ou autre chose...
Est-ce que je fais réinstaller là dessus, un php 7.4 ?
Quel est ton niveau en php ? Sais tu l'écrire ou utilises des scripts tout fait ?
Appréhendes tu la notion de site dynamique (répertoire de pub et interprétation php ) ?
Je sais à peine bidouiller. :) J'ai par exemple créé une boucle de calcul en php avec affichage de résultats de 1 à 100 (mais il me faut du temps, car je ne pratique pas), je m'inspire de scripts déjà écrits, et je sais un peu créer, mais très très basique. Suis incapable de t'écrire un truc là, tout seul, sans aide, sans aller chercher/vérifier comment tout cela s'organise.
Je suis surtout passé de html à php, quand j'ai eu besoin de faire des include *.inc.php ! Donc des morceaux de code que je pouvais intégrer sur plusieurs pages.
Je n'utilise pas de bases de données (mais j'aimerais bien, si j'ai le temps, un jour, d'apprendre... ), donc affichage de pages, sans inscription, et pas dynamique donc.
J'ai bidouillé en html et css, par exemple à adapter un script pour faire un menu déroulant.. Voilà, me suis formé sur le tas. (site du zéro notamment)

https://www.php.net/manual/fr/function.phpinfo.php
phpinfo() sert généralement à vérifier la configuration ainsi que les variables prédéfinies, pour une plate-forme donnée.
Bon.. ok ... :) mais... :)
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Le CSS n'a rien à voir la dedans

Tu peux faire voir ton code ?
Oui, le CSS n'est pas en cause, je me dis ça aussi, car de toute façon, le chemin au dossier est bon, et c'est aussi là qu'est le fichier CSS. Alors je ne sais pas trop pourquoi la mise ne forme n'apparaît pas, mais bon...

Te faire une copie du code ? Ben en fait, ça servirait à rien.. car c'est très basique, et je viens de revérifier, il n'y a aucune référence à, par exemple une version de php, ou quoi que ce soit qui touche de près ou de loin à php...
Mais aussi, parce que j'ai déjà eu ce souci, et cela s'est arrangé sans avoir à toucher au code des pages php que j'ai, donc le problème ne vient pas de là. (cf post précédent déjà cité)

Je te fais une copie du début de la page index, rien de spécial :

Code : Tout sélectionner

<!DOCTYPE html>
<html lang="fr" prefix="og: http://ogp.me/ns#">
<!--<html lang="fr" xmlns:og="http://ogp.me/ns#">--> 

<?php
session_start();
$pagencours = $_SERVER['PHP_SELF']; // Récupère le nom de la page en cours
?> 

puis :

Code : Tout sélectionner

    <head>  
		<?php 
			include('head_title.inc.php');
		?>
etc...

puis dans ce fichier head_title.inc.php :

Code : Tout sélectionner

    <meta charset="utf-8"/>
    <!-- [if lt IE 9]>
	<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
	<![endif] -->
	<link rel="stylesheet" href="Style.css" /> <!-- ligne pour relier au fichier mise en forme -->
	<!-- [if lte IE 7]>
    <link rel="stylesheet" href="style_ie.css" />
    <![endif] -->
(pfiou... j'ai pas mis les pattes là dedans depuis un bail... et quand je vois le mot "gogole", même juste en com'... )

Si quelque chose manque, ou pose souci, ça serait alors dès le début...
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Oui oui, j'ai bien sûr ma propre feuille de style, regarde dans le code, elle s'appelle style.css.
Ce que tu pointes n'est pas activé, c'est entre parenthèses <!-- -->, donc passe pour être un commentaire.
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Ok.
Le reste du code n'apporterait rien de plus.
Bon, toute façon, le code est opérationnel, et en local, ça ne pose souci que depuis la mise à niveau de Mint. Donc la solution n'est pas dans le code des pages html/php.
Faut que je cherche au niveau de php etc, de la configuration d'Apache2....
Merci en tout cas.
Je vais m'y replonger quand j'aurai plus de temps.
Verrouillé