Automated HTTPS with certbot

This commit is contained in:
Marwolf
2018-08-25 13:54:57 -04:00
parent cf0705a0d6
commit ee1e218865
4 changed files with 73 additions and 8 deletions

View File

@@ -1,8 +1,38 @@
#!/bin/bash
exec 0</dev/tty
rm installer.log
touch certbot.log && chmod 777 certbot.log | tee certbot.log &>/dev/null
clear
echo "Please enter your server's public domain name."
read -s publicdomain
clear
echo "Please enter your server's private domain name if one exists or re-enter the public domain name again."
read -s privatedomain
clear
echo "Please enter your email address for Lets Encrypt HTTPS registration."
read -s email
sudo docker stop nginx | tee -a certbot.log &>/dev/null
sudo mv etc/nginx/default.conf etc/nginx/default.conf.BAK | tee -a certbot.log &>/dev/null
sudo mv etc/nginx/HTTPS_default.conf.BAK etc/nginx/default.conf | tee -a certbot.log &>/dev/null
sudo sed -i 's/live\/openrsc.com/live\/'"$publicdomain"'/g' etc/nginx/default.conf | tee -a certbot.log &>/dev/null
clear
echo "Enabling HTTPS"
sudo certbot certonly \ sudo certbot certonly \
--standalone \ --standalone \
--preferred-challenges http \ --preferred-challenges http \
--agree-tos -n \ --agree-tos -n \
--config-dir ./etc/letsencrypt \ --config-dir ./etc/letsencrypt \
-d wolfkingdom.net \ -d $publicdomain -d $privatedomain --expand \
-m cleako@gmail.com \ -m $email | tee -a certbot.log &>/dev/null
-q
sudo docker start nginx | tee -a certbot.log &>/dev/null
clear
echo "Done!"

View File

@@ -219,10 +219,47 @@ elif [ "$choice" == "2" ]; then
read -s publicdomain read -s publicdomain
clear clear
echo "Please enter your server's private domain name if one exists or re-enter" echo "Please enter your server's private domain name if one exists or re-enter the public domain name again."
echo "the public domain name again."
read -s privatedomain read -s privatedomain
clear
echo "Do you want a Lets Encrypt HTTPS certificate installed?
Choices:
${RED}1${NC} - Yes
${RED}2${NC} - No
"
echo ""
echo "Which of the above do you wish to do? Type the choice number and press enter."
read httpsask
if [ "$httpask" == "1" ]; then
clear
echo "Please enter your email address for Lets Encrypt HTTPS registration."
read -s email
sudo docker stop nginx
sudo mv etc/nginx/default.conf etc/nginx/default.conf.BAK
sudo mv etc/nginx/HTTPS_default.conf.BAK etc/nginx/default.conf
sudo sed -i 's/live\/openrsc.com/live\/'"$publicdomain"'/g' etc/nginx/default.conf | tee -a installer.log &>/dev/null
clear
echo "Enabling HTTPS"
sudo certbot certonly \
--standalone \
--preferred-challenges http \
--agree-tos -n \
--config-dir ./etc/letsencrypt \
-d $publicdomain -d $privatedomain --expand \
-m $email \
-q
sudo docker start nginx
elif [ "$httpask" == "2" ]; then
continue
fi
clear clear
echo "Please enter the name of your game." echo "Please enter the name of your game."
read -s gamename read -s gamename

View File

@@ -69,7 +69,7 @@ restore-windows:
create-user: create-user:
@docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"root" -p"root" -Bse "DROP USER IF EXISTS 'openrsc'@'%';FLUSH PRIVILEGES;" 2>/dev/null @docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"root" -p"root" -Bse "DROP USER IF EXISTS 'openrsc'@'%';FLUSH PRIVILEGES;" 2>/dev/null
@docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"root" -p"root" -Bse "CREATE USER '$(MARIADB_ROOT_USER)'@'%' IDENTIFIED BY '$(MARIADB_ROOT_PASSWORD)';GRANT ALL PRIVILEGES ON * . * TO '$(MARIADB_ROOT_USER)'@'%';FLUSH PRIVILEGES;" 2>/dev/null @docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"root" -p"root" -Bse "CREATE USER '$(MARIADB_ROOT_USER)'@'%' IDENTIFIED BY '$(MARIADB_ROOT_PASSWORD)';GRANT ALL PRIVILEGES ON * . * TO '$(MARIADB_ROOT_USER)'@'%'; CREATE USER '$(MARIADB_ROOT_USER)'localhost'%' IDENTIFIED BY '$(MARIADB_ROOT_PASSWORD)';GRANT ALL PRIVILEGES ON * . * TO '$(MARIADB_ROOT_USER)'@'%'; FLUSH PRIVILEGES;" 2>/dev/null
clean-users: clean-users:
@docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"$(MARIADB_ROOT_USER)" -p"$(MARIADB_ROOT_PASSWORD)" -Bse "DROP USER IF EXISTS 'root'@'localhost'; DROP USER IF EXISTS 'root'@'%'; DROP USER IF EXISTS 'user'@'%'; DROP USER IF EXISTS 'Any'@'%'; FLUSH PRIVILEGES;" 2>/dev/null @docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"$(MARIADB_ROOT_USER)" -p"$(MARIADB_ROOT_PASSWORD)" -Bse "DROP USER IF EXISTS 'root'@'localhost'; DROP USER IF EXISTS 'root'@'%'; DROP USER IF EXISTS 'user'@'%'; DROP USER IF EXISTS 'Any'@'%'; FLUSH PRIVILEGES;" 2>/dev/null

View File

@@ -42,8 +42,6 @@ services:
- MYSQL_ROOT_USER=${MARIADB_ROOT_USER} - MYSQL_ROOT_USER=${MARIADB_ROOT_USER}
- MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD} - MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
- MYSQL_ALLOW_EMPTY_PASSWORD=no - MYSQL_ALLOW_EMPTY_PASSWORD=no
- MYSQL_USER=${MARIADB_USER}
- MYSQL_PASSWORD=${MARIADB_PASS}
ports: ports:
- "127.0.0.1:3306:3306" - "127.0.0.1:3306:3306"
volumes: volumes: