Ubuntu (Linux) Server Setup Bash Script
- Update && Upgrade
- Add New User
- Granting The New User Administrative Privileges
- Copying The SSH Key to the New User
- Setting up Firewall (uwf allow OpenSSH,http,https)
- Disabling Root Login (PermitRootLogin no) in '/etc/ssh/sshd_config'
bash <(curl -s https://raw.githubusercontent.com/AhmedAlaa23/ubuntu-server-setup/main/init-setup.sh)
- Install Nodejs & Install pm2
- Install MYSQL & Configure MySQL
- Install Nginx
bash <(curl -s https://raw.githubusercontent.com/AhmedAlaa23/ubuntu-server-setup/main/stack-setup.sh)
curl -o domain-setup.sh -s https://raw.githubusercontent.com/AhmedAlaa23/ubuntu-server-setup/main/domain-setup.sh && sudo bash domain-setup.sh
curl -o app-setup.sh -s https://raw.githubusercontent.com/AhmedAlaa23/ubuntu-server-setup/main/app-setup.sh && bash app-setup.sh
1. @ => "v=spf1 mx a -all"
2. dkim._domainkey => "v=DKIM1; k=rsa; t=s; s=email; p=..."
3. _dmarc => "v=DMARC1; p=reject; rua=mailto:[email protected]"
- Configure Nginx
- Install Docker & Docker-Compose
- Install MailCow
- Configure MailCow
- Run MailCow
- Configure ufw to allow (SMTP,IMAP,POP3) ports
curl -o email-setup.sh -s https://raw.githubusercontent.com/AhmedAlaa23/ubuntu-server-setup/main/email-setup.sh && sudo bash email-setup.sh
curl -o letsencrypt-setup.sh -s https://raw.githubusercontent.com/AhmedAlaa23/ubuntu-server-setup/main/letsencrypt-setup.sh && sudo bash letsencrypt-setup.sh