linux:webhosting
Table of Contents
Webhosting Commands
sudo chown -R www-data:www-data /var/www/html*
sudo find /var/www/html/ -type d -exec chmod 775 {} \;
sudo find /var/www/html/ -type f -exec chmod 664 {} \;
sudo find /var/www/html -type d -exec chmod g+s {} \;
sudo systemctl restart nginx
htpasswd
Generate Basic Auth Credentials
Installation
sudo apt update sudp apt install htpasswd
Generate Credentials
insecure default MD5
htpasswd -n testuser # generate cerdentials for user "werner" and display the results
# on standard output rather than updating a file
htpasswd -c ~/public_html/.htpasswd testuser # generate ".htpasswd" file and create credentials for user "werner"
htpasswd ~/public_html/.htpasswd testuser # create or modify credentials for user "werner" in ".htpasswd" file
secure bcrypt
htpasswd -nBC 10 testuser # -n Show ouput on stdout # -B Use bcrypt encryption algorithm # -C 10 Computing time used for the bcrypt algorithm (higher is more secure but slower, default: 5, valid: 4 to 17)
Traefik
Don't forget to escape dollar signs ($ → $$) in traefik docker compose files!
use this command:
echo $(htpasswd -nB werner) | sed -e s/\\$/\\$\\$/g
in the docker compose file:
...
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik-prod"
- "traefik.http.services.nginx-web-prod.loadbalancer.server.port=8180"
- "traefik.http.routers.nginx-web-prod.middlewares=basicauth-prod"
- "traefik.http.middlewares.basicauth-prod.basicauth.users=werner:$$apr1$$3FS0FG.s$$rc0h/7C36ABYDS45XKEQ."
...
linux/webhosting.txt · Last modified: by gsys