Si vous utilisez WordPress avec la pile LAMP, vous tomberez tôt ou tard sur le popup suivant :
Informations sur la connexion
Pour effectuer l’action demandée, WordPress doit accéder à votre serveur web. Veuillez saisir vos identifiants FTP pour continuer. Si vous ne vous souvenez pas de vos identifiants, vous devez contacter votre hébergeur.
Cela peut se produire lorsque vous essayez d’installer ou de mettre à jour un thème ou un plugin dans WordPress. Il est important de comprendre que la fenêtre contextuelle n’est pas une erreur, mais une mesure de sécurité. Néanmoins, elle peut être assez ennuyeuse, surtout si vous essayez de faire ce qui devrait être une opération simple comme l’installation ou la mise à jour d’un plugin ou d’un thème. En général, la fenêtre contextuelle apparaît parce que WordPress exige des autorisations élevées pour effectuer certaines actions sur votre site web. Il s’agit d’une mesure de sécurité visant à garantir que seuls les utilisateurs autorisés peuvent apporter des modifications susceptibles d’affecter la fonctionnalité ou la sécurité du site. Si vous êtes sur un serveur LAMP, cela signifie que l’utilisateur Apache n’a pas les autorisations nécessaires pour ajouter du code supplémentaire à votre site web. Dans certaines situations, il peut s’agir d’une excellente mesure de sécurité. Imaginez qu’un attaquant tente de s’authentifier en tant qu’utilisateur du serveur web. Si cette fonctionnalité est activée, même si son attaque réussit et qu’il s’authentifie en tant qu’utilisateur de votre serveur, il ne pourra pas effectuer d’opérations malveillantes. Les permissions des utilisateurs sont une fonctionnalité intéressante des systèmes Unix tels que Linux, mais elles doivent être manipulées avec précaution et sont source de nombreuses confusions. Ne modifiez pas les autorisations, sauf si vous savez ce que vous faites. Vous avez été prévenu.
Méthode 1 : Fournir les informations nécessaires
Si vous utilisez un fournisseur d’hébergement tel que HostArmada, vous recevrez, lors de l’achat d’un compte d’hébergement, toutes les informations nécessaires à remplir dans la fenêtre contextuelle ci-dessus (nom d’hôte, utilisateur FTP et mot de passe). Le nom d’hôte est l’adresse IP du serveur, l’utilisateur FTP est l’utilisateur Cpanel et le mot de passe est votre mot de passe Cpanel. Il suffit d’entrer les informations d’identification et les actions seront effectuées.
Méthode 2 : Mettre à jour le fichier wp-config.php
Si vous êtes d’accord pour autoriser WordPress à écrire dans wp-content, vous pouvez le faire en ajoutant le code ci-dessous juste avant la ligne « That’s all, stop editing ! Happy publishing. » dans wp-config.php :
define('FS_METHOD', 'direct');
De cette manière, le popup n’apparaîtra plus lorsque vous essayez d’ajouter ou de mettre à jour un plugin ou un thème.
Méthode 3 : Mettre à jour les autorisations des utilisateurs d’Apache
Cette approche nécessite que vous ayez un accès ssh à votre serveur web et que vous ayez quelques notions de base sur les permissions de fichiers. Afin de permettre à WordPress d’écrire dans le dossier wp-content, vous devez ajouter la propriété du dossier WordPress (récursivement) à l’utilisateur Apache. Vous pourriez être tenté de donner la propriété à l’utilisateur root, mais vous ne devriez jamais le faire, car c’est un gros problème de sécurité. Tout d’abord, trouvez le nom de l’utilisateur Apache en allant dans httpd.conf et inspectez le fichier. Selon votre configuration LAMP, le fichier apache.conf peut être situé à différents endroits. La façon la plus simple de le trouver est d’utiliser la commande locate :
locate httpd.conf
Vous obtiendrez le chemin d’accès au fichier. Il devrait ressembler à /etc/apache2/httpd.conf. Ouvrez le fichier avec l’éditeur nano et repérez les lignes suivantes :
sudo nano /etc/apache2/httpd.conf
<IfModule unixd_module> # # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # User apache Group apache </IfModule>
Dans cette situation, l’utilisateur est Apache, mais il peut s’agir d’un nom différent dans votre configuration. Une fois que vous connaissez le nom de l’utilisateur, mettez à jour les permissions du fichier. Dans le terminal ssh, ajoutez les permissions suivantes : (remplacez l’utilisateur et le chemin d’accès au fichier en conséquence)
sudo chown -R apache:apache /var/www/html/mywesomewebsite.com
sudo chmod -R 755 /var/www/html/myawesomewebsite.com
Attention : la modification des droits des utilisateurs est une opération dangereuse et parfois irréversible. Assurez-vous de savoir à 100 % ce que vous faites. Les deux commandes ci-dessus modifient la propriété et les permissions des fichiers et des répertoires de manière récursive dans le répertoire courant. Définir les permissions de tous les fichiers et répertoires du répertoire courant à 755 est un paramètre de permission courant pour les répertoires de serveurs web, qui garantit un fonctionnement correct tout en préservant la sécurité.