- Self signed SSL[https://deliciousbrains.com/ssl-certificate-authority-for-local-https-development/]
- Here's the tutorial. here[https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-18-04]
- on Ubuntu 20[https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-20-04]
- renewal process
-- execute via docker composesudo certbot renew --dry-run
docker compose run --rm --entrypoint "certbot renew --dry-run" certbot
- What is build-essential package ? [https://linuxize.com/post/how-to-install-gcc-on-ubuntu-20-04]
- Setup Nginx [https://www.nginx.com/blog/setting-up-nginx/]
- Setup Timezone first if you are interrupted on installing nginx on docker
timedatectl set-timezone UTC
- Setup UFW Ubuntu[https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04]
- Alpine User Command[https://linuxize.com/post/how-to-create-users-in-linux-using-the-useradd-command/]
- Service status list
rc-status --servicelist
- Service status list
- FIXED: This is WHY Wordpress doing infinite loop when we put wordpress behind reverse proxy that doesn't have SSLlink
- PHP FPM Running as user nobody ?? LOL link
- Add new sudoer user link
- dependency: modular script to build an image
- config: mounted to container, store config for every module on running
- script: commands to run after container running
- Add group webuser
groupadd webuser
- Assign www-data to webuser
usermod -a www-data -G webuser
- Directory is not exist yet
- Permisson issue
- Firewall issue
- Config must be cached (?)
- Make MySQL listen to all interface [https://www.garron.me/en/bits/mysql-bind-all-address.html] - hmm it should only listen to docker0 interface
# bind-address = 127.0.0.1
bind-address = 0.0.0.0
- Why cannot assign host port on network host in docker compose yaml ?
- Why nginx viewed as "Crashed" but it is actually running on Alpine docker container ?
- i have to restart php-fpm8 and nginx again hmmm