Page 1 sur 1

Que manque-t-il pour que je puisse accepter, HTML, PHP et MySQL, un site sur disque dur ?...

Posté : jeu. 18 juil. 2024 17:22
par Lou_Papet
.
Bonjour tout le monde et particulièrement "Cyrille"

Je souhaiterais accepter, en pages HTML, PHP et MySQL, plusieurs sites sur disque partagé avec le système Windows 10 que j'utilise habituellement avec "EasyPHP" et "Microsoft Expression Web 4".
Pour le test sous Linux Mint, j'ai donc (Windows 10) créé sur le site "DATA(D:) Site_papet" de la page "(http://)localhost/Site_papet/(index.html)", en parenthèses non écrits.

Sous Linux Mint, j'ai : Si le site "Site_papet" se trouvant sur le disque Windows 10 "DATA(D:)" est copié sur le dossier "/var/www/html" de LAMP, toutes les pages "(http://)localhost/Site_papet/(index.html ou index.php)" sont bien affichées comme le sont indiquées sur Apache et PHP.
Mais c'est le site "Site_papet" du disque Windows 10 qui devrait être pris en compte !... Une commande "ln -s media/r-j-p/DATA/Site_papet /var/www/html/Site_papet" n'est pas permise.

J'ai suivi le conseil. Si j'ai bien compris, j'ai plutôt codé un shell " Site_sudo.btc' pour permettre de créer/détruire un, plusieurs sites :

A - Configurer le répertoire de publication web local "Site_papet"

Code : Tout sélectionner

#! /bin/bash
#set -x
#***************************************************************************************************
# 
#                          LAMP : configuration du "site_sudo.btc"
#                          ---------------------------------------
#
#                       Utilisation des Virtuals Hosts sous Apache 2
#                           et configuration Serveur LAMP local
#                     proposé par "Cyrille', administrateur Linux Mint
#
#***************************************************************************************************
#                                                                                                  1
#        1         2         3         4         5         6         7         8         9         0
#234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

  site=$2

case $1 in
-h)
  echo ''
  echo '    Installer un site LAMP "site_sudo.btc"'
  echo ''
  echo '- Utilisation des Virtuals Hosts sous Apache 2 -'
  echo '      Configuration Serveur LAMP local'
  echo ''
  echo 'Appel de la commande shell :'
  echo '--------------------------'
  echo '             site.btc $1 $2'
  echo ''
  echo ' $1 = "-h"       : help'
  echo '    = " help"    : help'
  echo '    = "créer"    : création un site'
  echo '    = "détruire" : détruire un site'
  echo ''
  echo ' $2 = nom du site à créer ou en détruire'
  echo ''
;;

créer)
  # 1.- Configurer le répertoire de publication web local :
  # -------------------------------------------------------
  #    - On crée la structure :

    if [[ "$site" == "" ]]
    then 
      echo "(R999): nom du site omis !..."
      exit 999
    else
      echo ''
      echo " ====> site \"$site\" <===="
      echo ''
    fi

    echo ''
    echo  "mkdir -p /var/www/$site/public_html"
           mkdir -p /var/www/$site/public_html
    echo  "chown -R r-j-p: /var/www/$site"
           chown -R r-j-p: /var/www/$site
    echo ''

  #    - Dans le site $site, on va y placer le fichier d'accueil :
    echo "<!DOCTYPE html>"                                   > /var/www/$site/public_html/index.html
    echo "<html lang="fr">"                                 >> /var/www/$site/public_html/index.html
    echo "  <head>"                                         >> /var/www/$site/public_html/index.html
    echo "    <meta charset="utf-8">"                       >> /var/www/$site/public_html/index.html
    echo "    <title>$site</title>"                         >> /var/www/$site/public_html/index.html
    echo "  </head>"                                        >> /var/www/$site/public_html/index.html
    echo "  <body>"                                         >> /var/www/$site/public_html/index.html
    echo "    <h1>Cool, $site disponible :)</h1>"           >> /var/www/$site/public_html/index.html
    echo "  </body>"                                        >> /var/www/$site/public_html/index.html
    echo "</html>"                                          >> /var/www/$site/public_html/index.html

    echo "cat  /var/www/$site/public_html/index.html"
          cat  /var/www/$site/public_html/index.html
 
    echo ''
    echo "====> Il s'agit juste d'une page html pour annoncer que ça fonctionne. <===="
    echo ''

  # 2.- Configurer les Virtuals hosts :
  # -----------------------------------
  #    - On crée le fichier de conf :
    echo "cd   /etc/apache2/sites-available/"
          cd   /etc/apache2/sites-available/
    echo "touch $site.conf"
          touch $site.conf

  #    - Avec le contenu :
    echo "<VirtualHost *80>"                                                            > $site.conf
    echo "  ServerName $site"                                                          >> $site.conf
    echo "  ServerAlias www.$site"                                                     >> $site.conf
    echo "  ServerAdmin webmaster@$site"                                               >> $site.conf
    echo "  DocumentRoot /var/www/$site/public_html"                                   >> $site.conf
    echo "  DirectoryIndex index.php"                                                  >> $site.conf
    echo ""                                                                            >> $site.conf
    echo "<Directory /var/www/$site/public_html"                                       >> $site.conf
    echo "  Options -Indexes +FollowSymLinks"                                          >> $site.conf
    echo "  AllowOverride All"                                                         >> $site.conf
    echo "</Directory>"                                                                >> $site.conf
    echo ""                                                                            >> $site.conf
    echo "ErrorLog ${APACHE_LOG_DIR}/$site-error.log"                                  >> $site.conf
    echo "CustomLog ${APACHE_LOG_DIR}/$site-access.log combined>"                      >> $site.conf
    echo "</VirtualHost>"                                                              >> $site.conf

    echo "cat  $site.conf"
          cat  $site.conf

    echo ''
    echo '====> Le fichier "VirtualHost"" créé . <===='
    echo ''

  #    - Une fois crée, ce fichier doit être activé. Il s'agit juste d'un lien symbolique de ce
  #      répertoire vers le répertoire /etc/apache2/sites-enabled/
    echo "cd      /etc/apache2/sites-enabled/"
          cd      /etc/apache2/sites-enabled/
    echo "ln -s ../sites-available/$site.conf $site.conf"
          ln -s ../sites-available/$site.conf $site.conf

  #    - Les distributions basées sur DEBIAN disposent d'outils afin de réaliser cordialement cette 
  #      opération
  #            a2disconf  a2dismod   a2dissite  a2enconf   a2enmod    a2ensite   a2query 

  #    - Donc pour activer le site
    echo ''
    echo "====> a2ensite $site"
                a2ensite $site

  #    - Enabling site $site.
  #      To activate the new configuration, you need to run:
  #      Dès lors activés, on recharge la configuration d'Apache pour qu'ils soient pris en compte
    echo "====> service apache2 reload"
                service apache2 reload
    echo ''

  #    - On peut aussi redémarrer le service entier 
  # systemctl restart apache2

  # Les sites sont activés mais si vous essayez de vous y connecter, vous allez taper dans des
  # sites extérieurs (normal la requête tapera dans les DNS d'internet).

  # Dernère étape donc, demander à votre système de rester en local pour ces sites et c'est le 
  # rôle du fichier /etc/hosts

  # 3.- Editer et configurer le fichier /etc/hosts :
  # ------------------------------------------------
    echo ''
    echo "====> Dans le fichier \"/etc/hosts\", ajouter la ligne \"127.0.0.1       $site\" <====="
    cat  /etc/hosts
    echo ''

  # 4.- Le module PHP :
  # -------------------

  #   On va reprendre le premier site créé et on va créer un fichier php tout simple
    fic_html=/var/www/$site/public_html/index.php
    echo "<?php"                                                                         > $fic_html
    echo "phpinfo()"                                                                    >> $fic_html
    echo "?>"                                                                           >> $fic_html

    cat  $fic_html
;;

détruire)
  #   Détruire le site $site
  #   ----------------------
    echo "********** le fichier \"/etc/hosts\" ***********"
    cat /etc/hosts
    echo "**********************************************"

    echo ''
    echo "====> Dans le fichier \"/etc/hosts\", supprimer la ligne \"127.0.0.1       $site\" <====="
    echo ''

  #    - le fichier doit être désactivé
    echo "unlink /etc/apache2/sites-enabled/$site.conf"
          unlink /etc/apache2/sites-enabled/$site.conf
    echo "rm /etc/apache2/sites-available/$site.conf"
          rm /etc/apache2/sites-available/$site.conf

  #    - On va y supprime le fichier d'accueil :
    echo "rm    /var/www/$site/public_html/index.html"
          rm    /var/www/$site/public_html/index.html
    echo "rm    /var/www/$site/public_html/index.php"
          rm    /var/www/$site/public_html/index.php
    echo "rmdir /var/www/$site/public_html"
          rmdir /var/www/$site/public_html

  #    - Désactiver le site
    echo ''
    echo "====> a2dissite $site"
                a2dissite $site
#   echo "====> service apache2 reload"
#               service apache2 reload
    echo "====> systemctl restart apache2"
                systemctl restart apache2
    echo ''

    echo "rmdir /var/www/$site"
          rmdir /var/www/$site
;;

$1)
  ./$0 -h
esac
B - ce qui donne :

Code : Tout sélectionner

r-j-p:/var/www/html$ cd /media/r-j-p/DATA
r-j-p:/media/r-j-p/DATA$ sudo ./site_sudo.btc créer Site_papet
[sudo] Mot de passe de r-j-p :          

 ====> site "Site_papet" <====


mkdir -p /var/www/Site_papet/public_html
chown -R r-j-p: /var/www/Site_papet

cat  /var/www/Site_papet/public_html/index.html
<!DOCTYPE html>
<html lang=fr>
  <head>
    <meta charset=utf-8>
    <title>Site_papet</title>
  </head>
  <body>
    <h1>Cool, Site_papet disponible :)</h1>
  </body>
</html>

====> Il s'agit juste d'une page html pour annoncer que ça fonctionne. <====

cd   /etc/apache2/sites-available/
touch Site_papet.conf
cat  Site_papet.conf
<VirtualHost *80>
  ServerName Site_papet
  ServerAlias www.Site_papet
  ServerAdmin webmaster@Site_papet
  DocumentRoot /var/www/Site_papet/public_html
  DirectoryIndex index.php

<Directory /var/www/Site_papet/public_html
  Options -Indexes +FollowSymLinks
  AllowOverride All
</Directory>

ErrorLog /Site_papet-error.log
CustomLog /Site_papet-access.log combined>
</VirtualHost>

====> Le fichier "VirtualHost"" créé . <====

cd      /etc/apache2/sites-enabled/
ln -s ../sites-available/Site_papet.conf Site_papet.conf

====> a2ensite Site_papet
Site Site_papet already enabled
====> service apache2 reload


====> Dans le fichier "/etc/hosts", ajouter la ligne "127.0.0.1       Site_papet" <=====
127.0.0.1	    localhost
127.0.0.1	    site_papet
127.0.1.1	    rjp-OMEN-by-HP-Laptop-17-an0xx
#
# The following lines are desirable for IPv6 capable hosts
::1       ip6-localhost ip6-loopback
fe00::0   ip6-localnet
ff00::0   ip6-mcastprefix
ff02::1   ip6-allnodes
ff02::2   ip6-allrouters

<?php
phpinfo()
?>
r-j-p:/media/r-j-p/DATA$ 
C - Mais cela ne se passer pas comme je l'aurais souhaité !...
  1. Pourquoi le site est-il en HTTPS alors que HTTP est écrit comme l'est fait dans le "Firefox" ?...
  2. Pourquoi dans le module PHP, un site est-il nommé "http://site-1.com/index.php/" c'est à dire "http://Site_papet/(index.php ou index.html)/" alors que "http://localhost/Site_papet/'index.php ou index.html" comme l'est sous "Windows 10" ?...
  3. Pourquoi "www" est-il en privilégié ?... Les sites sont-ils aussi privilégiés ?... j'aurais écrits qu'ils ne le sont pas ?...
  4. .
  5. Pour le moment, je ne laisse de côté MySQL pour un peu plus tard !...
J'ai dû oublier quelque chose, car je ne comprends pas pourquoi le disque du Windows 10 n'est été concerné ?...
Merci. Salutations
Lou Papet

Re: Que manque-t-il pour que je puisse accepter, HTML, PHP et MySQL, un site sur disque dur ?...

Posté : mer. 24 juil. 2024 05:42
par Lou_Papet
Bonsoir,

Cela fait 6 jours que je suis sans réponse !...

Mon message n'était pas conforme : il y avait 3 questions que je pensais très liées.

Toutes mes excuses. Je les reformule.
Salutations
Lou Papet

Re: Que manque-t-il pour que je puisse accepter, HTML, PHP et MySQL, un site sur disque dur ?...

Posté : mer. 24 juil. 2024 05:42
par Lou_Papet
Bonsoir,

Question n°1 : Pourquoi le site est-il en HTTPS alors que HTTP est écrit comme l'est fait dans le "Firefox" ?...

En fait, je ne peux rien faire de Apache et de PHP car le système n'accepte que http://localhost/ en non https://localhost/.

Merci. Salutations.
Lou Papet

Re: Que manque-t-il pour que je puisse accepter, HTML, PHP et MySQL, un site sur disque dur ?...

Posté : mer. 24 juil. 2024 05:43
par Lou_Papet
Bonsoir,

Question n°2 : Pourquoi dans le module PHP, un site est-il nommé http://site-1.com/index.php/ c'est à dire http://Site_papet/(index.php ou index.html) alors que http://localhost/Site_papet/(index.php ou index.html) comme l'est sous "Windows 10" ?...

Merci. Salutations.
Lou Papet

Re: Que manque-t-il pour que je puisse accepter, HTML, PHP et MySQL, un site sur disque dur ?...

Posté : mer. 24 juil. 2024 05:43
par Lou_Papet
Bonsoir,

Question n°3 : Pourquoi "www" est-il en privilégié ?... Les sites sont-ils aussi privilégiés ?... j'aurais écrits qu'ils ne le sont pas ?...

Merci. Salutations.
Lou Papet.