Skip to main content

Add a password to your website or web directory

In my cases, you may want to add a password to one of your website or web folder.

For example in my case, I have a file.freedif.org website where I can simply download some files I’ve downloaded with my Deluge web-ui. This is done with Apache, where I simply have a virtualhost to link file.freedif.org to a folder with the Option +Indexes to display all the files.

But obviously I don’t want anyone else to access to this folder. Hence I’ve set up a simple username/password with the Apache htpasswd option.It can works with pretty anything, that does not includes per default a login system, like Yify-pop for the moment.

Here is how to do it.

1) Create a dedicated directory to store the password file

In Root, run

2) Create a password file with users

Still in root:

And you will need to enter a password

If you have multiple users, simply redo the command with user2, then user3, etc…

3) Modify your virtualhost

Now, you will need to edit (Or create) your virtualhost to add the authentication.

Inside the Directory path values

add:

Save and reload apache

Now, everytime you navigate to the website linked to the modified virtualhost, Apache will ask you your username and password.

7 thoughts on “Add a password to your website or web directory

  1. Salut,
    Déjà je te remercie de faire un tutoriel dédié à ça.
    Mais… Je dois vraiment être un boulet car ça ne marche pas chez moi, au moment de recharge apache2, j’ai ça me met :
    [FAIL] Reloading web server config: apache2 failed!

    Voilà comment j’ai mis ça : (j’ai essayé avec “Jirafeau” car je n’ai pas le avec yifi-pop) :

    ServerAdmin xxxx@mondomaine.fr
    ServerName jirafeau.mondomaine.fr

    DocumentRoot /var/www/jirafeau

    Options FollowSymLinks
    AllowOverride None
    AuthType Basic
    AuthName "Authentication Required"
    AuthUserFile "/etc/htpasswd/.htpasswd"
    Require valid-user

    ErrorLog ${APACHE_LOG_DIR}/jirafeau_SSL.error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/jirafeau_SSL.access.log combined

    # Add ssl protocol
    SSLEngine On
    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
    SSLCertificateFile /etc/ssl/certs/mondomaine.fr_cert.pem
    SSLCertificateKeyFile /etc/ssl/private/mondomaine.fr_key.pem


    Je suis vraiment désolé, vu que je suis débutant je pioche des tutoriels à droite à gauche et je n’ai pas encore la logique pour décoder mes erreurs.

    En tout cas merci pour ce tutoriel

  2. J’ai également failed, il me met ça comme erreur :

    apache2: Syntax error on line 268 of /etc/apache2/apache2.conf: Syntax error on line 14 of /etc/apache2/sites-enabled/jirafeau.conf: Expected but saw

    La ligne 265 & 268 de /etc/apache2/apache2.conf :

    # Include the virtual host configurations:
    Include sites-enabled/

    et la ligne 14 de /etc/apache2/sites-enabled/jirafeau.conf :

    Si je comprend bien il s’attend à avoir mais j’ai bien regardé, tout les sont bien fermé par >/span> (je viens de me relire et si tu comprends cette phrase t’es un bon… )

  3. Désolé pour le flood mais je vais quand même donner une explication de mon problème (même si j’ai un peu honte…)

    En fait il y a un soucis dans ton tuto, il y a les codes html qui s’affiche et comme j’ai recopié bêtement, évidemment qu’apache n’a rien compris…
    Par contre dans ma 1ere réponse les codes html on bien été pris en compte donc il n’y avait effectivement pas d’erreur…

    Donc Bref ça fonctionne désormais à merveille et je te remercie pour ton aide mais j’aurais une dernière question, vu que pour le virtualhost de yifypop il n’y pas de su qu’on utilise le proxy, à quel endroit doit on mettre les ligne pour le .htpasswd ?

    Merci pour tout (pense quand même à modifier ton tuto…)

  4. Désolé pour le flood mais je vais quand même donner une explication de mon problème (même si j’ai un peu honte…)

    En fait il y a un soucis dans ton tuto, il y a les codes html qui s’affiche et comme j’ai recopié bêtement, évidemment qu’apache n’a rien compris…
    Par contre dans ma 1ere réponse les codes html on bien été pris en compte donc il n’y avait effectivement pas d’erreur…

    Donc Bref ça fonctionne désormais à merveille et je te remercie pour ton aide mais j’aurais une dernière question, vu que pour le virtualhost de yifypop il n’y pas de “Directory” qu’on utilise le proxy, à quel endroit doit on mettre les ligne pour le .htpasswd ?

    Merci pour tout (pense quand même à modifier ton tuto…)

Leave a Reply

Your email address will not be published. Required fields are marked *