Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
logiciel:internet:xampp:linux:start [2021/02/15 15:53] – ↷ Page déplacée de logiciel:internet:xampp:linux:start à fr:logiciel:internet:xampp:linux:start admin | logiciel:internet:xampp:linux:start [2022/08/13 22:14] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | {{logiciel: | ||
+ | ====== XAMPP : un serveur LAMP (Apache + MariaDB + PHP + Perl) ====== | ||
+ | |||
+ | Le paquet open source **XAMPP** est un serveur LAMP complet et préconfiguré. Il contient : | ||
+ | * un serveur HTTP **Apache** | ||
+ | * une base de données **MariaDB** | ||
+ | * **PHP** | ||
+ | * **Perl** | ||
+ | * et un serveur FTP : **ProFTPd**. | ||
+ | {{ logiciel: | ||
+ | |||
+ | XAMPP est très pratique pour créer un serveur local de développement : il fournit au néophyte un serveur de test en quelques clics, sans avoir à choisir ni à connaître les différents services à installer. | ||
+ | |||
+ | Il est multiplateforme : il existe pour Linux, Windows et OS X | ||
+ | |||
+ | Tout est installé de façon conjointe avec les emplacements et autorisations qui vont bien. | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | **__Remarque préliminaire importante__** : ne demandez pas à XAMPP ce pour quoi il n'est pas fait ! | ||
+ | |||
+ | XAMPP n'est __**pas un serveur de production** mais un petit serveur local perso__. Pour cet usage, il est parfait. | ||
+ | |||
+ | **Pour un serveur de production définitif, mieux vaut [[tutoriel: | ||
+ | |||
+ | Cependant, le serveur XAMPP installe des valeurs sûres : | ||
+ | * [[logiciel: | ||
+ | * [[logiciel: | ||
+ | * [[logiciel: | ||
+ | * [[: | ||
+ | * Perl, | ||
+ | * [[logiciel: | ||
+ | * et de nombreuses bibliothèques | ||
+ | |||
+ | Les sites qui fonctionnent sur XAMPP fonctionneront donc sur LAMPP : il suffit de copier le répertoire et éventuellement de déplacer la base de données. A partir de là, vous pourrez mettre en place les réglages. | ||
+ | |||
+ | Vous pouvez cependant modifier XAMPP moyennant quelques " | ||
+ | </ | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * Une connexion internet | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Tout XAMPP tient en un seul répertoire : **/ | ||
+ | |||
+ | Son installation est donc d'une extrême simplicité (de même que sa désinstallation = supprimer le répertoire **/ | ||
+ | |||
+ | Sur la page [[https:// | ||
+ | |||
+ | Modifiez les autorisations du programme d' | ||
+ | < | ||
+ | $ sudo chmod +x xampp-linux-*-installer.run | ||
+ | $ sudo ./ | ||
+ | |||
+ | {{ logiciel: | ||
+ | |||
+ | Acceptez toutes les étapes en cliquant sur < | ||
+ | |||
+ | Pour la dernière fenêtre, cliquez sur < | ||
+ | {{ logiciel: | ||
+ | |||
+ | Ouvrez l' | ||
+ | {{ logiciel: | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | Pour que Xampp se lance au démarrage, lancez dans un terminal : | ||
+ | < | ||
+ | $ sudo update-rc.d lampp defaults</ | ||
+ | |||
+ | Au redémarrage, | ||
+ | </ | ||
+ | |||
+ | ==== Aliases à créer ==== | ||
+ | |||
+ | Créez les aliases en ajoutant au fichier **~/ | ||
+ | ... | ||
+ | # Alias pour permettre sudo [un_alias] | ||
+ | alias sudo=' | ||
+ | |||
+ | # Aliases pour Xampp | ||
+ | alias lampp='/ | ||
+ | alias ctlampp='/ | ||
+ | |||
+ | # Aliases pour proftp | ||
+ | alias ftpasswd='/ | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | L' | ||
+ | </ | ||
+ | |||
+ | Activez les aliases par un < | ||
+ | |||
+ | ==== Arborescence créée par l' | ||
+ | |||
+ | L' | ||
+ | < | ||
+ | /opt/lampp/ | ||
+ | ├── apache2 | ||
+ | ├── bin | ||
+ | ├── build | ||
+ | ├── cgi-bin | ||
+ | ├── docs | ||
+ | ├── error | ||
+ | ├── etc | ||
+ | ├── htdocs | ||
+ | ├── icons | ||
+ | ├── img | ||
+ | ├── include | ||
+ | ├── info | ||
+ | ├── lib | ||
+ | ├── libexec | ||
+ | ├── licenses | ||
+ | ├── logs | ||
+ | ├── man | ||
+ | ├── manual | ||
+ | ├── modules | ||
+ | ├── mysql | ||
+ | ├── pear | ||
+ | ├── php | ||
+ | ├── phpmyadmin | ||
+ | ├── proftpd | ||
+ | ├── sbin | ||
+ | ├── share | ||
+ | ├── temp | ||
+ | └── var | ||
+ | |||
+ | 28 directories | ||
+ | </ | ||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | **__Une suggestion__** | ||
+ | |||
+ | Pour vous simplifier la vie, créez des aliases en éditant ou créant le fichier **~/ | ||
+ | <code bash ~/ | ||
+ | # Alias pour permettre sudo [un_alias] | ||
+ | alias sudo=' | ||
+ | |||
+ | # Aliases pour Xampp | ||
+ | alias lampp='/ | ||
+ | alias ctlampp='/ | ||
+ | |||
+ | # Aliases pour proftp | ||
+ | alias ftpasswd='/ | ||
+ | </ | ||
+ | |||
+ | On obtient les raccourcis suivants : | ||
+ | ^ Description ^ Raccourci ^ Effet | | ||
+ | ^ lampp | sudo lampp ... | -> sudo / | ||
+ | ^ panneau de contrôle | sudo ctlampp | -> sudo / | ||
+ | ^ gérer les utilisateurs de proftpd | sudo ftpasswd ... | -> sudo / | ||
+ | |||
+ | L' | ||
+ | < | ||
+ | |||
+ | Activez les aliases par : | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | ==== Accès FTP : proFTPD ==== | ||
+ | |||
+ | XAMPP inclut **proFTPD**, | ||
+ | |||
+ | Voir : | ||
+ | * [[logiciel: | ||
+ | * [[logiciel: | ||
+ | |||
+ | Le fichier de configuration est **/ | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | ++++ Fichier de la distribution | | ||
+ | <code - / | ||
+ | # This is a basic ProFTPD configuration file (rename it to | ||
+ | # ' | ||
+ | # and a single anonymous login. | ||
+ | # " | ||
+ | |||
+ | ServerName " | ||
+ | ServerType standalone | ||
+ | DefaultServer on | ||
+ | |||
+ | # Port 21 is the standard FTP port. | ||
+ | Port 21 | ||
+ | # Umask 022 is a good standard umask to prevent new dirs and files | ||
+ | # from being group and world writable. | ||
+ | Umask 022 | ||
+ | |||
+ | # To prevent DoS attacks, set the maximum number of child processes | ||
+ | # to 30. If you need to allow more than 30 concurrent connections | ||
+ | # at once, simply increase this value. | ||
+ | # in standalone mode, in inetd mode you should use an inetd server | ||
+ | # that allows you to limit maximum number of processes per service | ||
+ | # (such as xinetd) | ||
+ | MaxInstances 30 | ||
+ | |||
+ | # Set the user and group that the server normally runs at. | ||
+ | User daemon | ||
+ | #Group daemon | ||
+ | |||
+ | # Normally, we want files to be overwriteable. | ||
+ | < | ||
+ | AllowOverwrite on | ||
+ | </ | ||
+ | |||
+ | # only for the web servers content | ||
+ | DefaultRoot / | ||
+ | |||
+ | <Limit SITE_CHMOD> | ||
+ | DenyAll | ||
+ | </ | ||
+ | |||
+ | # daemon gets the password " | ||
+ | UserPassword daemon 2TgxE8g184G9c | ||
+ | |||
+ | # daemon is no normal user so we have to allow users with no real shell | ||
+ | RequireValidShell off | ||
+ | |||
+ | # daemon may be in / | ||
+ | UseFtpUsers off | ||
+ | </ | ||
+ | |||
+ | ++++ | ||
+ | </ | ||
+ | |||
+ | Nous choisissons de ne pas toucher au fichier principal et d' | ||
+ | |||
+ | === Mise en place du répertoire / | ||
+ | |||
+ | Donc : | ||
+ | - Créez les répertoires **/ | ||
+ | $ sudo mkdir / | ||
+ | - ajoutez la ligne suivante à la fin du fichier principal :<code - / | ||
+ | (...) | ||
+ | # Inclure les fichiers de configuration personnalisés | ||
+ | Include | ||
+ | </ | ||
+ | - avec les droits d' | ||
+ | |||
+ | === Présentation === | ||
+ | |||
+ | Supposons que vous ayez dans votre répertoire de base un script PHP simple, exemple.php, | ||
+ | |||
+ | <code - ~/ | ||
+ | <!-- example.php --> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Pour transférer des fichiers via proFTPD, vous devez d’abord configurer les règles d’accès FTP. Suivez ces étapes. | ||
+ | - Ouvrez un terminal. | ||
+ | - Créez un groupe ftp qui contiendra les utilisateurs autorisés à télécharger des fichiers via FTP:< | ||
+ | - Ajoutez votre compte (moi dans cet exemple) au nouveau groupe. Ajoutez d' | ||
+ | - Modifiez le propriétaire et les permissions du sous-répertoire htdocs/ du répertoire d’installation de XAMPP (généralement, | ||
+ | $ sudo chown root:ftp htdocs | ||
+ | $ sudo chmod 775 htdocs</ | ||
+ | Si vous utilisez XAMPP avec un seul utilisateur qui est seul à transférer des fichiers via FTP, vous pouvez ignorer la création d’un nouveau groupe et simplement rendre cet utilisateur propriétaire du répertoire htdocs/. Pour cela, utilisez la commande< | ||
+ | - Vérifiez dans le panneau de configuration de XAMPP, onglet Manage servers, que proFTPD est en cours d’exécution.{{ logiciel: | ||
+ | |||
+ | Vous pouvez maintenant transférer des fichiers sur le serveur XAMPP en procédant comme suit : | ||
+ | - Démarrez un client FTP et entrez les détails de la connexion comme ci-dessous. | ||
+ | * adresse de l' | ||
+ | * 127.0.0.1 si vous vous connectez au serveur à partir du même système | ||
+ | * le nom d’hôte ou l’adresse IP du serveur XAMPP si vous vous connectez depuis un autre système. | ||
+ | * port : 21 | ||
+ | * votre nom d' | ||
+ | - Transférez les fichiers depuis votre ordinateur vers le serveur comme d' | ||
+ | - Une fois le fichier transféré, | ||
+ | |||
+ | === Utilisateurs virtuels === | ||
+ | |||
+ | Créez le répertoire : | ||
+ | < | ||
+ | |||
+ | éditez avec les droits d' | ||
+ | DefaultRoot ~ | ||
+ | |||
+ | AuthUserFile / | ||
+ | AuthGroupFile / | ||
+ | </ | ||
+ | |||
+ | Vérifiez l' | ||
+ | uid=33(www-data) gid=33(www-data) groupes=33(www-data)</ | ||
+ | |||
+ | ++++ Sinon, créez-le | | ||
+ | < | ||
+ | $ sudo useradd -g www-data -d /var/www -s /bin/false www-data</ | ||
+ | ++++ | ||
+ | |||
+ | On constate que l’identifiant du groupe www-data est 33. | ||
+ | |||
+ | Créons l' | ||
+ | $ sudo ftpasswd --passwd --name=admiweb --uid=33 --gid=33 --home=/ | ||
+ | ftpasswd: creating passwd entry for user admiweb | ||
+ | |||
+ | ftpasswd: /bin/false is not among the valid system shells. | ||
+ | ftpasswd: " | ||
+ | ftpasswd: module configuration may need to be adjusted. | ||
+ | |||
+ | Password: | ||
+ | Re-type password: | ||
+ | |||
+ | ftpasswd: entry created</ | ||
+ | |||
+ | Vérifiez que l' | ||
+ | Connected to localhost.localdomain. | ||
+ | 220 ProFTPD 1.3.4c Server (ProFTPD) [:: | ||
+ | Name (localhost: | ||
+ | 331 Password required for xxxxxxx | ||
+ | Password: | ||
+ | 230 User xxxxxxx logged in | ||
+ | Remote system type is UNIX. | ||
+ | Using binary mode to transfer files. | ||
+ | ftp> ls | ||
+ | 200 PORT command successful | ||
+ | 150 Opening ASCII mode data connection for file list | ||
+ | -rw-r--r-- | ||
+ | -rw-r--r-- | ||
+ | drwxr-xr-x | ||
+ | -rw-r--r-- | ||
+ | drwxr-xr-x | ||
+ | -rw-r--r-- | ||
+ | drwxr-xr-x | ||
+ | 226 Transfer complete | ||
+ | ftp> bye | ||
+ | 221 Goodbye.</ | ||
+ | |||
+ | De même pour admiweb :< | ||
+ | Connected to localhost.localdomain. | ||
+ | 220 ProFTPD 1.3.4c Server (ProFTPD) [:: | ||
+ | Name (localhost: | ||
+ | 331 Password required for admiweb | ||
+ | Password: | ||
+ | 230 User admiweb logged in | ||
+ | Remote system type is UNIX. | ||
+ | Using binary mode to transfer files. | ||
+ | ftp> ls | ||
+ | 200 PORT command successful | ||
+ | 150 Opening ASCII mode data connection for file list | ||
+ | -rw-r--r-- | ||
+ | -rw-r--r-- | ||
+ | drwxr-xr-x | ||
+ | -rw-r--r-- | ||
+ | drwxr-xr-x | ||
+ | -rw-r--r-- | ||
+ | drwxr-xr-x | ||
+ | 226 Transfer complete | ||
+ | ftp> bye | ||
+ | 221 Goodbye.</ | ||
+ | |||
+ | Vous pouvez maintenant créer tous les utilisateurs nécessaires en répétant cette commande. | ||
+ | |||
+ | === Configuration === | ||
+ | |||
+ | La configuration de proftpd se fait dans **/ | ||
+ | |||
+ | Pour faciliter la configuration, | ||
+ | |||
+ | Liste des directives : Voir [[http:// | ||
+ | |||
+ | == Contextes == | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | |||
+ | Contextes : | ||
+ | * configuration du serveur | ||
+ | ++++ < | ||
+ | ; < | ||
+ | : Directives à appliquer dans l' | ||
+ | : Contexte : | ||
+ | * configuration du serveur | ||
+ | * < | ||
+ | ++++ | ||
+ | ++++ < | ||
+ | ; < | ||
+ | : Définit un serveur FTP virtuel | ||
+ | : Contexte : | ||
+ | * configuration du serveur | ||
+ | : Le bloc VirtualHost crée un ensemble de directives qui s' | ||
+ | : Souvent utilisé avec des IP ou des interfaces réseau factices pour établir un ou plusieurs serveurs virtuels qui s' | ||
+ | : Avec la directive Port dans un bloc VirtualHost, | ||
+ | : Au démarrage de proftpd, les connexions au serveur virtuel sont gérées de deux façons selon la paramètre ServerType : | ||
+ | * **inetd** : Le démon examine l' | ||
+ | * **standalone** : Après avoir analysé le fichier de configuration, | ||
+ | ++++ | ||
+ | ++++ < | ||
+ | ; < | ||
+ | : Définit un serveur anonyme | ||
+ | : Contexte : | ||
+ | * configuration du serveur | ||
+ | * < | ||
+ | * < | ||
+ | : Le bloc de configuration Anonymous crée une connexion FTP anonyme. | ||
+ | : Les paramètres du répertoire racine spécifient le répertoire dans lequel le démon va d' | ||
+ | : Une fois l' | ||
+ | : Par défaut, proftpd suppose une connexion anonyme si le client distant tente de se connecter en tant qu' | ||
+ | : Pour forcer les connexions anonymes à être liées à un utilisateur autre que l' | ||
+ | : De plus, si une directive User ou Group est présente dans un bloc < | ||
+ | : Normalement, | ||
+ | : Si ce comportement n'est pas souhaitable pour un bloc de configuration < | ||
+ | ++++ | ||
+ | ++++ < | ||
+ | ; < | ||
+ | : Directives limitées à un répertoire | ||
+ | : Contexte : | ||
+ | * configuration du serveur | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | : Bloc de directives pour le répertoire spécifié et ses sous-répertoires. | ||
+ | : Si le nom du répertoire se termine par "/ | ||
+ | : Les blocs < | ||
+ | : Les chemins doivent toujours être absolus (sauf dans un bloc < | ||
+ | : Si les chemins commencent par ' | ||
+ | : Cette fonction est pas prise en charge dans un bloc < | ||
+ | : Exemple :<code - > | ||
+ | # Utilisation par défaut de la directive directory | ||
+ | < | ||
+ | HideNoAccess on | ||
+ | </ | ||
+ | |||
+ | # Exemple avec extension de nom d' | ||
+ | < | ||
+ | <Limit WRITE> | ||
+ | DenyAll | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | ++++ | ||
+ | ++++ < | ||
+ | ; < | ||
+ | : Définit les commandes / actions à contrôler | ||
+ | : Contexte : | ||
+ | * configuration du serveur | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * .ftpaccess | ||
+ | : Le bloc de configuration Limit permet d' | ||
+ | : Les limites s' | ||
+ | : Vous pouvez spécifier n' | ||
+ | : La commande peut être n' | ||
+ | ; CWD (Change Working Directory) | ||
+ | : Envoyé par le client lors du changement de répertoire. | ||
+ | ; MKD / XMKD (MaKe Directory) | ||
+ | : Envoyé par le client pour créer un nouveau répertoire. | ||
+ | ; RNFR (ReName FRom), RNTO (ReName TO) | ||
+ | : Envoyé en paire par le client pour renommer une entrée de répertoire. | ||
+ | ; DELE (DELEte) | ||
+ | : Envoyé par le client pour supprimer un fichier. | ||
+ | ; RMD / XRMD (ReMove Directory) | ||
+ | : Envoyé par le client pour supprimer un répertoire. | ||
+ | ; RETR (RETRieve) | ||
+ | : Transférer un fichier du serveur vers le client. | ||
+ | ; STOR (STORe) | ||
+ | : Transférer un fichier du client vers le serveur. | ||
+ | |||
+ | De plus, les groupes de commandes suivants sont acceptés.\\ Leur priorité est inférieure à celle des commandes réelles, ce qui signifie qu'une limite de commande réelle aura priorité sur le groupe de commandes. | ||
+ | * READ Commandes FTP traitant de la lecture de fichiers (liste de répertoires non incluse) : | ||
+ | * RETR | ||
+ | * SITE | ||
+ | * SIZE | ||
+ | * STAT | ||
+ | * WRITE Commandes FTP traitant de l’écriture / création / suppression de fichiers ou de répertoires : | ||
+ | * APPE | ||
+ | * DELE | ||
+ | * MKD | ||
+ | * RMD | ||
+ | * RNTO | ||
+ | * STOR | ||
+ | * XMKD | ||
+ | * XRMD DIRS Commandes FTP traitant du listing des répertoires : | ||
+ | * CDUP | ||
+ | * CWD | ||
+ | * LIST | ||
+ | * MDTM | ||
+ | * NLST | ||
+ | * PWD | ||
+ | * RNFR | ||
+ | * XCUP | ||
+ | * XCWD | ||
+ | * XPWD ALL Commandes FTP (identiques à READ WRITE DIRS). Notez que ce groupe a la priorité la plus basse de tous ; il ne remplacera pas une limite imposée par un autre groupe de commandes (par exemple, DIRS). | ||
+ | * Enfin, une commande spéciale qui peut contrôler l’accès à la connexion : LOGIN Connexion ou connexion au serveur.\\ On peut appliquer une < | ||
+ | * ABOR | ||
+ | * HELP | ||
+ | * MODE (non implémenté, | ||
+ | * NOOP PASS (utiliser <Limit LOGIN>) | ||
+ | * PASV | ||
+ | * PORT | ||
+ | * QUIT | ||
+ | * REST (utiliser AllowRetrieveRestart, | ||
+ | * STRU (non implémenté, | ||
+ | * SYST | ||
+ | * TYPE | ||
+ | * USER (utiliser <Limit LOGIN>) | ||
+ | ++++ | ||
+ | ++++ .ftpaccess| | ||
+ | ; .ftpaccess | ||
+ | : | ||
+ | ++++ | ||
+ | |||
+ | </ | ||
+ | |||
+ | == Directives utiles == | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | Quelques directives utiles : | ||
+ | ++++ UseIPv6| | ||
+ | * Active ou désactive le support IPv6 | ||
+ | * Syntaxe :<code - >UseIPv6 [ " | ||
+ | * Valeur par défaut :<code - >UseIPv6 on</ | ||
+ | * Contexte : | ||
+ | * configuration du serveur | ||
+ | * exemple :<code - > | ||
+ | ++++ | ||
+ | ++++ User| | ||
+ | * Définit l' | ||
+ | * Syntaxe :<code - >User [ User userid]</ | ||
+ | * Valeur par défaut : aucune | ||
+ | * Contexte : | ||
+ | * configuration du serveur | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * exemple :<code - > | ||
+ | ++++ | ||
+ | ++++ Group| | ||
+ | * Définit le groupe sous lequel le démon s' | ||
+ | * Syntaxe :<code - >Group [ Group groupid]</ | ||
+ | * Valeur par défaut : aucune | ||
+ | * Contexte : | ||
+ | * configuration du serveur | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * exemple :<code - > | ||
+ | ++++ | ||
+ | ++++ UseFtpUsers| | ||
+ | * Bloc basé sur / | ||
+ | * Syntaxe :<code - > | ||
+ | * Valeur par défaut :<code - > | ||
+ | * Contexte : | ||
+ | * configuration du serveur | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * exemple :<code - > | ||
+ | ++++ | ||
+ | ++++ RequireValidShell| | ||
+ | * Autoriser les connexions basées sur / | ||
+ | * Syntaxe :<code - > | ||
+ | * Valeur par défaut :<code - > | ||
+ | * Contexte : | ||
+ | * configuration du serveur | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * exemple :<code - > | ||
+ | ++++ | ||
+ | ++++ DefaultRoot| | ||
+ | * Contrôle le répertoire racine attribué à un utilisateur lors de la connexion.\\ Si DefaultRoot est défini sur un répertoire autre que "/", | ||
+ | * Syntaxe :<code - > | ||
+ | * Valeur par défaut :<code - > | ||
+ | * Contexte : | ||
+ | * configuration du serveur | ||
+ | * < | ||
+ | * < | ||
+ | * exemple :<code - > | ||
+ | ++++ | ||
+ | ++++ umask| | ||
+ | * Définit le masque des autorisations pour les fichiers et répertoires nouvellement créés dans un contexte donné.\\ Les arguments doivent être un nombre octal, au format 0xxx.\\ Un deuxième argument facultatif peut spécifier un Umask pour la création de répertoires.\\ Si aucun second argument n'est spécifié, les répertoires sont créés en utilisant l' | ||
+ | * Syntaxe :<code - >Umask [ Umask file octal-mask [directory octal-mask]]</ | ||
+ | * Valeur par défaut : Aucune | ||
+ | * Contexte : | ||
+ | * configuration du serveur | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * .ftpaccess | ||
+ | * exemple :<code - >umask 0027 0027</ | ||
+ | ++++ | ||
+ | ++++ AuthOrder| | ||
+ | * La directive AuthOrder configure les noms des modules auth et l' | ||
+ | * Syntaxe :<code - > | ||
+ | * Valeur par défaut : Aucune | ||
+ | * Contexte : | ||
+ | * configuration du serveur | ||
+ | * < | ||
+ | * < | ||
+ | * exemple :<code - > | ||
+ | ++++ | ||
+ | </ | ||
+ | |||
+ | == Serveurs virtuels == | ||
+ | |||
+ | Les serveurs virtuels, ((ou hôte virtuel, en abrégé vhost)), servent plusieurs adresses ou sites sur un même ordinateur hôte. Ils sont basés sur des IP et des noms. | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | Les mots " | ||
+ | * Un " | ||
+ | * Un " | ||
+ | Un processus proftpd autonome, peut être considéré à la fois comme un " | ||
+ | Un " | ||
+ | </ | ||
+ | |||
+ | Le fichier de configuration proftpd.conf comporte trois contextes serveur (ou sections) : | ||
+ | * **< | ||
+ | * **< | ||
+ | * et **configuration du serveur**. | ||
+ | |||
+ | Le contexte < | ||
+ | * Par exemple :<code - > | ||
+ | < | ||
+ | ... | ||
+ | </ | ||
+ | </ | ||
+ | * ou avec un nom DNS :<code - > | ||
+ | < | ||
+ | ... | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Au démarrage, proftpd résout le nom DNS fourni en son adresse IP et utilise cette adresse IP. | ||
+ | ProFTPD crée automatiquement une directive ServerAlias pour ce nom DNS, ce qui permet de définir plusieurs sections < | ||
+ | |||
+ | Pour utiliser le même vhost pour plusieurs noms, répertoriez ces noms avec la directive ServerAlias comme suit :<code - > | ||
+ | < | ||
+ | # Utilisez cet hôte aussi pour d' | ||
+ | ServerAlias ftp.mydomain.org ftp2.mydomain.com ftp.otherdomain.org | ||
+ | ... | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ++++ Exemple de Virtualhost fourni par proftpd à placer dans conf.d | | ||
+ | <code - / | ||
+ | # Exemple de configuration Proftpd pour les hôtes virtuels et les racines virtuelles. | ||
+ | |||
+ | # Notez que le protocole FTP nécessite un hôte virtuel basé sur IP, et non sur un nom. | ||
+ | |||
+ | # Un exemple d’hôte virtuel générique. | ||
+ | < | ||
+ | # adresse électronique de l' | ||
+ | ServerAdmin | ||
+ | |||
+ | # chaîne qui s' | ||
+ | ServerName | ||
+ | |||
+ | # chemin vers le journal de transfert | ||
+ | TransferLog | ||
+ | | ||
+ | # nombre de tentatives de mot de passe autorisées avant déconnexion | ||
+ | MaxLoginAttempts | ||
+ | | ||
+ | # Autoriser les connexions basées sur /etc/shells | ||
+ | RequireValidShell | ||
+ | | ||
+ | # répertoire racine attribué à un utilisateur lors de la connexion | ||
+ | DefaultRoot | ||
+ | | ||
+ | # Permettre le remplacement des fichiers | ||
+ | AllowOverwrite | ||
+ | </ | ||
+ | |||
+ | # Le module vroot n'est pas obligatoire, | ||
+ | |||
+ | #< | ||
+ | # | ||
+ | # | ||
+ | #VRootAlias upload / | ||
+ | |||
+ | #< | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | #</ | ||
+ | #</ | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | == section < | ||
+ | |||
+ | Supposons de nombreuses sections < | ||
+ | Au lieu d' | ||
+ | < | ||
+ | ... | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Le contenu d'une section < | ||
+ | |||
+ | == Configuration du serveur == | ||
+ | |||
+ | Le contexte " | ||
+ | <WRAP center round tip 60%> | ||
+ | Proftpd démarre même avec un fichier proftpd.conf complètement vide : essayez ! | ||
+ | Le démon utilisera tous les paramètres par défaut, ce qui n’est généralement pas souhaitable, | ||
+ | Le contexte de serveur par défaut est appelé " | ||
+ | </ | ||
+ | |||
+ | Les directives de configuration de la section " | ||
+ | C’est ce à quoi sert la section < | ||
+ | |||
+ | La directive **DefaultAddress** spécifie l' | ||
+ | |||
+ | Par défaut, chaque serveur écoute le port 21, le port standard IANA pour FTP. | ||
+ | Pour changer le port, utilisez la directive Port. | ||
+ | Comme mentionné ailleurs, si vous avez plusieurs sections < | ||
+ | La RFC 959 spécifie que le port source pour un transfert de données actif (à lire ici) doit être L-1, L étant le port sur lequel votre serveur écoute. En outre, comme indiqué dans la documentation du port, | ||
+ | Dans n' | ||
+ | C'est parfois utilisé pour désactiver la " | ||
+ | |||
+ | Lorsqu' | ||
+ | Si un vhost correspond, on utilise cette configuration. | ||
+ | Sinon, proftpd utilise la configuration qui porte la directive **DefaultServer**. | ||
+ | En l' | ||
+ | DefaultServer peut indiquer qu'un < | ||
+ | |||
+ | Il y a une dernière directive de configuration qu'un administrateur devrait connaître : SocketBindTight. | ||
+ | Par défaut, le démon proftpd écoutera toutes les adresses sur le port 21, pour les demandes de connexion des clients distants. | ||
+ | Parfois, l' | ||
+ | Pour ce faire, utilisez simplement la directive de configuration SocketBindTight : | ||
+ | <code - > | ||
+ | SocketBindTight on | ||
+ | </ | ||
+ | |||
+ | Ceci configure le démon pour qu'il "lie étroitement" | ||
+ | Par défaut, le démon proftpd écoute toutes les adresses de la machine hôte. | ||
+ | |||
+ | ===== Utilisation ===== | ||
+ | |||
+ | ==== Commandes ==== | ||
+ | |||
+ | Avec ces aliases, voici les commandes : | ||
+ | * **Démarrer** le serveur :< | ||
+ | Starting XAMPP for Linux 7.3.10-0... | ||
+ | XAMPP: Starting Apache...ok. | ||
+ | XAMPP: Starting MySQL...ok. | ||
+ | XAMPP: Starting ProFTPD...ok. | ||
+ | </ | ||
+ | * **Redémarrer** le serveur :< | ||
+ | Restarting XAMPP for Linux 7.3.10-0... | ||
+ | XAMPP: Stopping Apache...ok. | ||
+ | XAMPP: Stopping MySQL...ok. | ||
+ | XAMPP: Stopping ProFTPD...ok. | ||
+ | XAMPP: Starting Apache...ok. | ||
+ | XAMPP: Starting MySQL...ok. | ||
+ | XAMPP: Starting ProFTPD...ok.</ | ||
+ | * **Sécuriser** le serveur :< | ||
+ | * **Arrêter** le serveur :< | ||
+ | Stopping XAMPP for Linux 7.3.10-0... | ||
+ | XAMPP: Stopping Apache...ok. | ||
+ | XAMPP: Stopping MySQL...ok. | ||
+ | XAMPP: Stopping ProFTPD...ok.</ | ||
+ | * **Liste des options** possibles :< | ||
+ | * Lancer le **panneau de contrôle** :< | ||
+ | |||
+ | Bien sur, vous pourrez toujours utiliser ces commandes avec / | ||
+ | |||
+ | ==== Test ==== | ||
+ | |||
+ | Pour tester en ligne de commande : | ||
+ | < | ||
+ | Connected to localhost.localdomain. | ||
+ | 220 ProFTPD 1.3.4c Server (ProFTPD) [:: | ||
+ | Name (localhost: | ||
+ | 331 Password required for xxxxxxx | ||
+ | Password: | ||
+ | 230 User xxxxxxx logged in | ||
+ | Remote system type is UNIX. | ||
+ | Using binary mode to transfer files. | ||
+ | ftp> dir | ||
+ | 200 PORT command successful | ||
+ | 150 Opening ASCII mode data connection for file list | ||
+ | -rw-r--r-- | ||
+ | -rw-r--r-- | ||
+ | drwxr-xr-x | ||
+ | -rw-r--r-- | ||
+ | drwxr-xr-x | ||
+ | -rw-r--r-- | ||
+ | drwxr-xr-x | ||
+ | 226 Transfer complete | ||
+ | ftp> bye | ||
+ | 221 Goodbye. | ||
+ | $ </ | ||
+ | |||
+ | ===== Désinstallation ===== | ||
+ | |||
+ | Lancez en ligne de commande :< | ||
+ | |||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * **(fr)** [[https:// | ||
+ | |||
+ | ---- | ||
+ | //Basé sur << [[https:// |