Impossible de restart apache2

Résolu
Tortue_25 Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour, j'ai tout essayé mais je n'arrive pas a restart apache2, pouvez-vous m'aider svp.

voici configtest :

voici quand je fais restart ou reload :

et voici status d'apache2 :

1 réponse

  1. luckydu43 Messages postés 4497 Date d'inscription   Statut Membre Dernière intervention   1 177
     

    Bonjour

    Déjà, il convient de lire ce que disent journalctl -xeu apache.service et autres ${$APACHE_LOG_DIR}/global.log

    A noter aussi que je mentionne httpd, ça peut s'appeler apache2 ou apache selon la distribution

    Ce qui me fait tiquer en premier lieu est le "cannot access directory ${$APACHE_LOG_DIR}", les répertoires TEMP LOG définis dans le httpd.conf sont pourtant nécessaires au démarrage.

    Faites

    echo ${$APACHE_LOG_DIR}

    pour voir si c'est défini puis

    ls -lisa ${$APACHE_LOG_DIR}

    pour voir les droits de ce répertoire.

    Selon le système ça peut réclamer du www-data ou du apache, à confirmer et modifier selon avec chown.

    chown -R www-data:www-data /var/log/httpd

    Côté droits il faut à minima du 744 récursif avec

    chown -R www-data:www-data /var/log/httpd

    Recoupez bien avec ce qui est défini dans /etc/httpd/conf et tenez au jus


    0
    1. luckydu43 Messages postés 4497 Date d'inscription   Statut Membre Dernière intervention   1 177
       

      *erratum, j'ai posté trop vite

      "le répertoire TEMP et le répertoire LOG", pas "TEMP LOG", ça n'a pas de sens sinon

      Les droits c'est chmod, pas chown, pour "CHange MODifier" contre "CHange OWNer"

      0
      1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944 > luckydu43 Messages postés 4497 Date d'inscription   Statut Membre Dernière intervention  
         

        Bonjour,

        • En effet, sous Debian, les logs sont dans /var/log/apache2 et non dans /var/log/httpd.
        • Avant de changer les droits, vérifie si c'est vraiment nécessaire, car généralement c'est une mauvaise idée de relâcher des droits.

        Dans ton cas il semble que tu aies besoin de netstat. Pour l'installer :

        sudo apt update
        sudo apt install net-tools

        Vu que tu sembles vouloir installer wordpress, je te donne la procédure que j'utilise ci-dessous.

        Installation des paquets

        sudo apt update
        sudo apt install apache2 default-mysql-server libapache2-mod-php wordpress curl

        Configuration de MySQL

        Ensuite je t'invite à suivre ce qui est expliqué ici.

        sudo mysql_secure_installation

        Configuration de PHP

        On récupère la version de PHP installée, on l'active et on redémarre apache :

        ls /etc/apache2/mods-available/php*conf
        a2enmod php8.2  # À adapter si besoin
        systemctl restart apache2

        On configure PHP :

        cp /usr/lib/php/8.2/php.ini-production /usr/share/wordpress/php.ini

        ... puis dans ce fichier, si on augmenter la taille des uploads on ajoute :

        upload_max_filesize = 20M
        post_max_size = 20M
        memory_limit = 20M

        Configuration apache

        Admettons que ton site s'appelle www.monsite.fr :

        <VirtualHost *:80>
           ServerName monsite.fr
           Redirect permanent / https://www.monsite.fr/
        </VirtualHost>
        
        <VirtualHost *:80>
           ServerName www.monsite.fr
           DocumentRoot /usr/share/wordpress
           Alias /wp-content "/var/lib/wordpress/wp-content"
        
           <Directory /usr/share/wordpress>
               Options FollowSymLinks
               AllowOverride Limit Options FileInfo
               DirectoryIndex index.php
               Require all granted
           </Directory>
        
           <Directory /var/lib/wordpress/wp-content>
               Options FollowSymLinks
               Require all granted
           </Directory>
        
            RewriteEngine on
            RewriteCond %{SERVER_NAME} =www.monsite.fr
            RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
        </VirtualHost>

        Note que le chemin des logs n'est pas spécifié dans cet exemple. Par défaut les logs sont dans /var/log/apache2 et ce dossier appartient à root:adm (on ne l'assigne pas à www-data).

        Tu peux aussi avoir envie de reconfigurer /etc/wordpress/htaccess. Voici les lignes que j'ai décommentées dans mon cas :

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

        Configuration wordpress

        On crée /etc/wordpress/config-www.monsite.fr.php dans lequel on met, ici je suis pour le nom de la base et le nom de l'utilisateur de la base les conventions choisies ici  :

        <?php
        define('DB_NAME', 'wordpress');
        define('DB_USER', 'wordpress');
        define('DB_PASSWORD', '....');
        define('DB_HOST', 'localhost');
        define('WP_CONTENT_DIR', '/var/lib/wordpress/wp-content');
        define('WP_SITEURL', 'http://www.monsite.fr/');
        define('FS_METHOD', 'direct');
        ?>

        Ensuite on lance les commandes :

        sudo chmod 600 /etc/wordpress/config-www.monsite.fr.php
        sudo a2ensite http.www.monsite.fr
        sudo service apache2 reload

        Letsencrypt (https)

        Cette étape suppose que le site est publiquement accessible depuis Internet.

        sudo a2enmod ssl
        sudo systemctl restart apache2
        sudo apt install certbot python3-certbot-apache
        sudo certbot --apache
        sudo certbot renew --dry-run 

        Si la dernière commande marche :

        sudo certbot renew --quiet

        Bonne chance

        0