1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    novembre 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2007
    Messages : 162
    Points : 86
    Points
    86

    Par défaut debian stretch : Serveur Web

    Bonjour à tous,

    Je me suis installé une VM avec la distribution debian 9 Stretch mais je tombe sur un soucis pour l'installation de serveur Web multi hébergement.
    Lorsque je lance mon firefox (sur mon PC) que je tape l'ip de ma VM je tombe bien sur la page par défaut apache, j'ai ajouter un utilisateur et créer le virtualhost mais impossible d'y accéder.

    Je vous décris ci-dessous toute la procédure que j'ai faite pour l'installation.
    1) J'ai fait une netinstall sans environnement graphique tout s'est passé correctement
    2) Connection en super admin correct

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    # mise à jour système [OK]
    apt-get update
    apt-get upgrade
     
    # installation apache2 [OK]
    apt-get install apache2
     
    # installation PHP (dans la version 7) [OK]
    apt-get install php
     
    # installation mysql [OK]
    apt-get install mysql-server
     
    # installation librairies php-mysql [OK]
    apt-get install php-mysql
     
    # installation phpmyadmin [OK]
    apt-get install phpmyadmin
     
    # Création du lien phpmyadmin
    ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
    # test http://192.168.56.1/phpmyadmin [OK] phpmyadmin s'affiche bien
     
    # Modification de etc/apache2/apache2.conf
    # Modification de User et Group
    User www-data
    Group www-data
     
    # A la dernière ligne du fichier
    include /etc/apache2/sites-enabled/*.conf
     
    # Création de mon premier user
    useradd -g www-data -m user1
     
    # Création du virtualhost via la création d'un nouveau fichier dans /etc/apache2/sites-available/user1.com
    <VirtualHost *>
        ServerAdmin postmaster@user1.com
        ServerName www.user1.com
        ServerAlias user1.com *user1.com
        DocumentRoot /home/user1/public_html/
        <Directory /home/user1/public_html/>
            Option -Indexes FollowSymLinks MultiViews AllowOverride All
        </Directory>
        ErrorLog /home/user1/logs/error.log
        LogLevel warn
        CustomLog /home/user1/logs/access.log combined
        ServerSignature Off
    </virtualHost>
     
    # Création du lien
    ln -s /etc/apache2/sites-available/user1.com /etc/apache2/sites-enabled/user1.com
     
    # Redémarrage de apache2
    systemctl restart apache2
    J'ai donc suivit toutes les étape que j'avais fait sur des distribution debian précédente.
    Mais pourtant quand je tape dans mon navigateur l'adresse : http://192.168.56.1/~user1
    J'obtiens :
    Not Found
    The requested URL /~user1 was not found on this server.
    Mon objectif étant donc un hébergement multi-site je ne vois pas d'où viens le problème
    J'ai chercher quelques part si il y avait une commande "RedirectMatch" mais ne le trouve nul part.
    J'ai vérifier que le lien était bien fait et c'est le cas

    Pouvez-vous m'aider s'il vous plaît ?
    Sur les précédente distribution Debian cela à fonctionner, ai-je loupé quelque chose ?

    une fois ok je pourrais passer à l'installation de bind9, vsftpd

    D'avance merci pour votre participation.
    Spliffer

  2. #2
    Membre confirmé

    Inscrit en
    juin 2012
    Messages
    301
    Détails du profil
    Informations forums :
    Inscription : juin 2012
    Messages : 301
    Points : 466
    Points
    466

    Par défaut

    J'ai donc suivit toutes les étape que j'avais fait sur des distribution debian précédente
    Tout dépend de la date de ces installations, au fil des années il y-a eu quelques modifications pour les configs.
    Serait peut être mieux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ServerAlias user1.com *user1.com
    *user1.com me laisse perplexe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ln -s /etc/apache2/sites-available/user1.com /etc/apache2/sites-enabled/user1.com
    Pour ma part je suis sous Linux Mint mais la base étant debian ça devrait être pareil. Ce lien ne sert à rien et ne peut fonctionner, l'extension doit être .conf, une fois enregistré le fichier de config dans /etc/apache2/sites-available avec une extension .conf il faut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sudo ad2ensite user1.com
    sudo /etc/init.d/apache2 reload
    Il faut aussi editer /etc/hosts et y ajouter le(s) site(s), chez moi je ne suis pas sur une VM donc je ne sais pas trop si il faut conserver les IP's locales ou y mettre celles de la VM mais quoi qu'il en soit les sites doiivent y être définis.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    127.0.0.1 localhost
    127.0.0.2	www.lesite1.com lesite1.com ( Pour avoir http://www et http:// )
    Etc...
    et refaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo /etc/init.d/apache2 reload
    PS1: Dans une VM http:/:localhost n'affiche pas la page d'accueil apache ?
    PS2: Pour mes sites en local je n'utilise jamais d'extensions publiques ( .com, .net, etc... ) ce n'est utile que si le site doit être accessible depuis l'extérieur.

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    7 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 7 480
    Points : 16 089
    Points
    16 089

    Par défaut

    Pourquoi y a t'il un tilde dans l'URL ?
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    novembre 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2007
    Messages : 162
    Points : 86
    Points
    86

    Par défaut

    Alors j'ai tout repris à 0 en me basant sur le tuto de Olivier Lange http://olange.developpez.com/article...serveur-dedie/

    J'ai refait une netinstall propre, sans environnement bureau et je me connecte en root pour faire les différentes étapes de l'installation.

    1) Mise à jour du system
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    # Mise à jour du system
    apt-get update
    apt-get upgrade
    2) Installation de apache2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # Installation de apache2
    apt-get install apache2
    3) On test l'installation de apache2, puisque débian est installer sur une VM et que j'ai configurer celle-ci pour que le port 80 de l'hôte (PC) redirige vers le 80 de l'invité(VM) j'essaye avec localhost résultat : localhost => J'arrive sur la page par défaut de apache2

    4) Supprimer la redirection
    Là je tombe sur une différence, je n'ai pas cette ligne je cherche donc cette ligne dans quelques fichiers
    Du coup petite commande grep pour essayer de trouver où se trouve cette redirection.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -i -r redirectmatch /etc/apache2/*
    Aucun résultat, je passe à la suite.

    5) Installation de PHP7
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # Installation de PHP7
    apt-get install php
    6) Installation de MySQL Alias MariaDB dans Debian stretch
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # Installation de MySQL Alias MariaDB dans Debian stretch
    apt-get install mysql-server
    7) Test de MySql réussi

    7) Installation de la librairie php-mysql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # Installation de la librairie php-mysql
    apt-get install php-mysql
    8) Installation de phpmyadmin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    # Installation de phpmyadmin
    apt-get install phpmyadmin
    # Choix du serveur : Apache2
    # Redémarrage de Apache2
    systemctl restart apache2
    9)Test d'accès phpmyadmin réussi: localhost/phpmyadmin

    10) Installation de bind9
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # Installation de bind9
    apt-get install bind9
    11) Installation postfix
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    # Installation postfix et postfix-mysql
    apt-get install postfix postfix-mysql
    # Pas de configuration
    12) Installation VSFTPD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # Installation VSFTPD (SERVEUR FTP)
    apt-get install vsftpd
    13) On modifie le fichier /etc/apache2/apache2.conf
    - On commence par les utilisateur et groupe vers la ligne 100 (ligne 116 pour être précis)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    User www-data
    Group www-data
    14) Décommente UserDir pour autoriser les connexions des utilisateurs
    SAUF QUE : cette ligne n'existe pas dans apache2.conf, du coup un petit grep pour la retrouver, je retrouve cette ligne dans le fichier /etc/apache2/mods-available/userdir.conf et qui n'est pas commenté, je ne fait donc rien

    15) On vérifie la présence de cette ligne à la fin du fichier /etc/apache2/apache2.conf
    [CODE]
    # Include the virtual host configurations:
    Include /etc/apache2/sites-enabled/[^.#]*
    [CODE]
    Cette ligne existe mais est un peux différente, je la modifie donc pour la faire correspondre à ce qui est demandé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    # Include the virtual host configurations: (AVANT)
    # includeOptional sites-enabled/*.conf
    # (APRES)
    Include /etc/apache2/sites-enabled/[^.#]*
    16) Création d'un squelette
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    mkdir /etc/skel/public_html
    mkdir /etc/skel/logs
    echo "<h1>Nouvel espace Web</h1>" > /etc/skel/public_html/index.html
    17) On crée un nouvel utilsateur (test1 pour l'essai)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # Ajoute un utilisateur
    useradd -g www-data -m test1
    18) Création du virtualhost pour cet utilisateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    # Ajout du :80 comme conseillé plus haut
    # Je met le .com pour respecter le tuto, je n'en vois pas l'intéret, je vais donc quand meme rajouter l'alias sans le .com
    <VirtualHost *:80>
        ServerAdmin postmaster@test1.com
        ServerName www.test1.com
        ServerAlias test1 test1.com *.test1.com
        DocumentRoot /home/test1/public_html/
        <Directory /home/test1/public_html/>
            Options -Indexes FllowSymLinks MultiViews
            AllowOverride All
        </Directory>
        ErrorLog /home/test1/logs/error.log
        LogLevel warn
        CustomLog /home/test1/logs/access.log combined
        ServerSignature Off
    </VirtualHost>
    19) On crée le lien symbolique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ln -s /etc/apache2/sites-available/test1.com /etc/apache2/sites-enabled/test1.com
    20) Redémarrage de apache2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    systemctl restart apache2
    Erreur au redémarrage, problème avec les Options du VirtualHost à ligne 7 que j'ai corriger comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <VirtualHost *:80>
        ServerAdmin postmaster@test1.com
        ServerName www.test1.com
        ServerAlias test1 test1.com *.test1.com
        DocumentRoot /home/test1/public_html/
        <Directory /home/test1/public_html/>
            Require all granted
            Options -Indexes FllowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
        </Directory>
        ErrorLog /home/test1/logs/error.log
        LogLevel warn
        CustomLog /home/test1/logs/access.log combined
        ServerSignature Off
    </VirtualHost>
    Et maintenant je peux redémarrer apache2 sans erreur

    Ensuite comme indiquer nous pouvons tester avec : localhost/~test1
    Mais ca ne fonctionne pas

    Pour ce qui est d'un tilde dans l'url, je ne sais pas mais dans tous les tuto que j'ai vue c'est comme celà, je suppose que c'est dû au fait que se sont des users et pas simplement des dossier dans le WWW

    Pour l'extension conf lors du lien symbolique, aucuns tuto trouver y compris celui de olivier lange qui reste quand même une très bonne référence n'en parle, l'extension étant .com dans son tuto

    Voilà ou j'en suis, donc page de apache2 par défaut ok, phpmyadmin ok, mais pas les users....
    le dossier public_html existe bien dans le dossier home/test1/
    le lien symbolique est fait mais rien n'y fait j'ai toujours le
    Not Found
    The requested URL /~test1 was not found on this server.
    Je comprend plus rien, tout est fait dans les règles je pense
    ...

    D'avance merci pour votre participation

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    novembre 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2007
    Messages : 162
    Points : 86
    Points
    86

    Par défaut

    Je viens de refaire un test avec des .conf au lieu de .com et ca ne change rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    a2ensite test1
    # Me retourne le message disant que le site à bien été activer
    # Mais toujours pas accessible

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    novembre 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2007
    Messages : 162
    Points : 86
    Points
    86

    Par défaut

    Et bien voilà, en me creusant un peu les méninges, je me suis dit qu'il fallait peut-être activer un module et en effet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    a2enmod userdir
    systemctl restart apache2
    et là comme par magie localhost/~test1 est accessible et j'obtiens bien mon test "Nouvel espace web"

    Donc ce problème est résolu, je m'attelle au reste (bind9 pour des url plus aisée, vsftpd et postfix)

    Merci pour votre participation et bonne continuation.
    Spliffer

  7. #7
    Membre confirmé

    Inscrit en
    juin 2012
    Messages
    301
    Détails du profil
    Informations forums :
    Inscription : juin 2012
    Messages : 301
    Points : 466
    Points
    466

    Par défaut

    Alors j'ai tout repris à 0 en me basant sur le tuto de Olivier Lange http://olange.developpez.com/article...serveur-dedie/
    C'est un bon tuto mais il date de 10 ans, apache a bien changé depuis.
    Pour l'extension conf lors du lien symbolique, aucuns tuto trouver
    http://www.linux-france.org/prj/edu/...e/ch16s02.html
    ( Entres autres, faire une recherche sur apache2 extension conf pour en trouver des dizaines et faire attention aux dates de publication ).
    Et tu verra que cette étape:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ln -s /etc/apache2/sites-available/test1.com /etc/apache2/sites-enabled/test1.com
    N'est plus nécessaire et peut être même gênante puisque ad2ensite s'occupe de le créer tout en activant le site. ad2dissite fait l'inverse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Installation complète d'un serveur web sur debian
    Par onet dans le forum Contribuez
    Réponses: 18
    Dernier message: 18/02/2011, 00h48
  2. configuration matérielle debian 4 etch serveur web + ftp
    Par tro2blabla dans le forum Matériel
    Réponses: 1
    Dernier message: 22/09/2008, 16h34
  3. Outil de maintenance serveur WEB (debian)
    Par Vil'Coyote dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 18/02/2008, 20h47
  4. serveur web sous debian
    Par logili dans le forum Réseau
    Réponses: 0
    Dernier message: 25/09/2007, 17h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo