Accéder à ses fichiers depuis Internet

Décembre 2016

Accéder à ses fichiers depuis n'importe où.

Note de sebsauvage: Je n'apporte pas la *moindre* aide à l'installation de ce logiciel. Si ça ne marche pas, c'est que vous avez fait une erreur. Lisez les messages d'erreur et essayez de les comprendre.
Tout email que je reçois concernant cette documentation ira directement à la poubelle, sans réponse.


But: Installer un mini-serveur web sur votre PC pour vous permettre d'accéder à vos fichiers à partir de n'importe où avec un simple navigateur (en HTTPS).
Permet l'upload et download de fichiers, ainsi que la manipulation (copier/renommer/supprimer/éditer/rechercher/zipper...).
Cela vous fait un espace de stockage web... avec la capacité de votre disque dur !

Voici à quoi ressemble le gestionnaire de fichiers une fois installé:


Nécessaire:
  • Windows 95/98/ME/NT/2000/XP/2003
  • connexion à internet (de préférence permanente comme l'ADSL), avec IP dynamique ou fixe.


Outils utilisés:
  • pi3web (serveur web)
  • Quixplorer (gestionnaire de fichiers en PHP)


Ces 2 outils sont gratuits et opensource.
Pi3web est un serveur web très compact (2,3 Mo à télécharger), OpenSource, qui supporte PHP, rapide, peu gourmand en ressources (environ 10 Mo de mémoire vive), fonctionne sous toutes les versions de Windows (de 95 à 2003), rapide à installer, génération certificats SSL ultra-simple, fonctionne en tant que service ou application, se désinstalle proprement.

Quixplorer est un gestionnaire de fichiers en PHP pratique et efficace, ne nécessitant pas de base mySQL.
La gestion des droits est pratique et simple.

===================================================================
ÉTAPE 1 - Mise en place DNS

Il faut déjà que votre PC soit accessible d'internet avec un nom fixe (pour éviter d'avoir à connaître son adresse IP).

Pour cela, vous pouvez utiliser des services gratuits comme dyndns.org.
Inscrivez-vous sur le site et installez le programme DynDns sur votre ordinateur.
Cela vous permettra d'accéder à votre ordinateur avec un nom fixe (par exemple toto.dyndns.org)
Vérifiez que votre DNS fonctionne bien en pinguant votre ordinateur: ping toto.dyndns.org

Pour la suite, on supposera que votre machine s'appelle toto.dyndns.org

===================================================================
ÉTAPE 2 - Installation de pi3web


2.1)  Téléchargez pi3web de http://pi3web.sourceforge.net/pi3web/
      ( Pi3Web-x86Win32-2_0_3.exe ou version supérieure. )
    
2.2)  Installez pi3web:

    2.2.a) Lancez Pi3Web-x86Win32-2_0_3.exe, suivez l'installation.
    
    2.2.b) Dans l'écran "Configure server identity", cochez "SSL".
           
    2.2.c) Dans l'écran "Generate SSL demo server keys and certificates":
             - Dans "Common name" et "Server name", entrez toto.dyndns.org
             - Videz tous les autres champs.
    
    2.2.d) Dans l'écran "Server Server Run Mode", choisissez "System service".
           et terminez l'installation.
         
         
2.3)  Configurez pi3web. Dans la fenêtre "Pi3web Server Admin"

    2.3.a) Dans l'onglet "Mappings", supprimer toutes les lignes *sauf* celles dont le "From" est:
            - /icons/
            - /images/
            - /errors/
            - /
    
    2.3.b) Toujours dans l'onglet "Mappings", ajouter les 2 mappings suivants:
           Type       From             To                  Realm
           -------------------------------------------------------
           Document   /quix/.config/   dummy-directory/    (none)
           Document   /quix/.include/  dummy-directory/    (none)
    
            
    2.3.c) Dans l'onglet "HTTP":
          - Dans la zone "Server stamp", videz le texte ("Pi3Web/2.0.3")
          - Dans "Index files", supprimez tout, puis ajoutez: index.php et index.html
          - Dans "Methods", cochez POST
          - Dans "Size limit", entrez 99999999
    
           Cliquez sur "OK".
    
    2.3.d) Supprimez les fichiers contenus dans le répertoire C:\Pi3Web\WebRoot
          
    2.3.e) Créez un fichier vide: C:\Pi3Web\WebRoot\index.html

    2.3.f) Sur votre disque dur, créez le répertoire c:\tmp
    
    2.3.g) Modifiez le fichier C:\Pi3Web\bin\php.ini :
    
           - Changez: post_max_size = 8M
                  en: post_max_size = 99M

           - Changez: upload_max_filesize = 2M
                  en: upload_max_filesize = 99M

           - Changez: memory_limit = 8M
                  en: memory_limit = 99M

           - Changez: max_execution_time = 30 
                  en: max_execution_time = 1800 
        
        (Cela permettra l'upload de fichiers jusqu'à 99 Mo)


===================================================================
ÉTAPE 3 - Installation de Quixplorer

    3.a) Téléchargez Quixplorer de http://quixplorer.sourceforge.net/
         (Par exemple quixplorer_2_3_1.zip)

    3.b) Créez le répertoire C:\Pi3Web\WebRoot\quix
    
    3.c) Décompressez le fichier ZIP dans C:\Pi3Web\WebRoot\quix
         (index.php doit se trouver là: C:\Pi3Web\WebRoot\quix\index.php )
         
    3.d) Éditez le fichier C:\Pi3Web\WebRoot\quix\.config\conf.php:
    
           - Changez: $GLOBALS["require_login"] = false;
                  en: $GLOBALS["require_login"] = true;
        
           - Changez: $GLOBALS["script_name"] = "[http://]".$GLOBALS['__SERVER']['HTTP_HOST'].$GLOBALS['__SERVER']["PHP_SELF"];
                  en: $GLOBALS["script_name"] = "[https://]".$GLOBALS['__SERVER']['HTTP_HOST'].$GLOBALS['__SERVER']["PHP_SELF"];
                  
           - Changez: $GLOBALS["home_dir"] = "/home/you/public_html";
                  en: $GLOBALS["home_dir"] = "/";

           - Changez: $GLOBALS["zip"] = false;	//function_exists("gzcompress"); 
                  en: $GLOBALS["zip"] = true;	//function_exists("gzcompress"); 

    3.e) Éditez le fichier C:\Pi3Web\WebRoot\quix\.config\.htusers.php:
    
           - Changez: array("admin","9628d0d187029e6337baa86780b2abb6",".","http://localhost",1,"",7,1),
                  en: array("admin","9628d0d187029e6337baa86780b2abb6","c:/","http://localhost",1,"",7,1),


===================================================================
ÉTAPE 4 - configuration finale

4.a)  Lancez votre navigateur, et allez à l'adresse https://localhost/quix/
    
      Connectez vous avec le login "admin", mot de passe "pwd_admin".
    
      Allez immédiatement dans la page d'admin, et changez le mot de passe admin.
      (Avant-dernier bouton, juste avant le bouton "Logoff").
      
      A partir de là, vous pouvez créer des utilisateurs.
      (Y compris attribuer des répertoires spécifiques à chaque utilisateur.)
    
      Notez que les liens en cliquant sur les fichiers ne fonctionneront pas
      (Il faudra toujours cliquer sur le bouton "Download" dans la colonne
      de droite pour télécharger un fichier.)
      Ceci est normal puisque votre disque dur n'est pas partagé sur internet
      en dehors du gestionnaire de fichiers Quixplorer.

4.b)  Maintenant que les users sont configurés, ouvrez votre serveur web à internet:
      Menu Démarrer > Programmes > Pi3Web > Server Admin
      Dans l'onglet "General", sélectionnez "Remotely using a hostname".
      Dans "Hostname", entrez toto.dyndns.org
      Cliquez sur "OK"

4.c)  Vous pouvez désormais accéder à votre machine à partir de l'adresse https://toto.dyndns.org/quix/
      Avec l'admin Quixplorer, vous pouvez créer des espaces de stockage séparés pour chaque user,
      ou encore créer des utilisateurs qui peuvent faire de la lecture seule.


===================================================================
Remarques sécurité:



A)
Pourquoi /quix et la présence d'un index.html vide ?
Parce que si par hasard un hacker arrive sur votre site web, il ne verra qu'une page blanche.
Il ne saura pas que Quixplorer est installé. Cela réduit le risque d'attaques sur Quixplorer.


B)
Dans le fichier C:\Pi3Web\WebRoot\quix\.include\footer.php
supprimer tout ce qui se trouve entre les lignes: function show_footer() { // footer for html-page
et: }
(Cela évite que le webmaster du site de Quixplorer connaisse l'adresse de votre site web grâce au HTTP Referer.)

C)
Dans le fichier C:\Pi3Web\WebRoot\quix\.include\login.php
trouvez l'emplacement de ce code:

---%-----------
		if(isset($GLOBALS['__POST']["p_user"])) {
			// Check Login
			if(!activate_user(stripslashes($GLOBALS['__POST']["p_user"]), md5(stripslashes($p_pass)))) {
				logout();
			}

---%-----------

et ajoutez le sleep(10).
---%-----------
		if(isset($GLOBALS['__POST']["p_user"])) {
			// Check Login
			sleep(10);			if(!activate_user(stripslashes($GLOBALS['__POST']["p_user"]), md5(stripslashes($p_pass)))) {
				logout();
			}

---%-----------

Cela imposera une attente de 10 secondes sur la fenêtre de login, ce qui protège Quixplorer contre les attaques de type "brute force".



D)
Attention à l'ordinateur sur lequel vous tapez votre mot de passe:
Si un keylogger est installé, vous risquez de vous faire voler votre mot de passe,
et cela permettra à d'autres d'accéder à vos fichiers et votre disque dur !
Soyez donc méfiant, que ce soit dans un cybercafé ou chez des amis.

Tant que possible, utilisez un CD bootable comme Knoppix (http://www.knoppix-fr.org): Vous serez assurés qu'il n'y a pas de keylogger.

E)
Utilisez de préférence des logins Quixplorer avec des droits limités.
(Accès à un répertoire seulement par exemple, ou bien que en lecture.)

En cas de vol de mot de passe, les dégâts seront moindres si le pirate ne peut accéder
qu'à un seul répertoire plutôt qu'à la totalité de votre disque dur.

N'utilisez pas le compte administrateur pour vous connecter de l'extérieur:
Si quelqu'un vous vole le mot de passe, il pourra accéder à tout votre disque dur !

A voir également :

Ce document intitulé «  Accéder à ses fichiers depuis Internet  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.