guides:ubnetdef_new_domain

UBNetDef New Domain

How do we setup mycoolsubdomain.ubnetdef.org? First, you'll need to grab SSH access to ubnetdef.org. Once you have that, sudo up to root, and run this handy-dandy script James wrote for you!

cd /root/create_website
./create.sh <domain>

After that, you should be done! Dump the files into /web/DOMAIN_NAME/public.

Why thank you for asking! Here is the latest version of the create scripts

create.sh
#!/bin/bash
 
HOSTNAME=$1
 
# Make the directories
mkdir -p /web/$HOSTNAME/{public,logs}
 
# Move over the nginx config, replace some variables
cp nginx.tpl /etc/nginx/sites-available/$HOSTNAME
sed -i "s/#HOSTNAME#/$HOSTNAME/g" /etc/nginx/sites-available/$HOSTNAME
 
# Enable it
pushd /etc/nginx/sites-enabled
ln -s ../sites-available/$HOSTNAME .
popd
 
# Reload nginx before we get a SSL cert
systemctl reload nginx
 
# Grab a SSL cert
certbot-auto certonly --webroot -w /web/$HOSTNAME/public -d $HOSTNAME
 
# Add SSL config, replace some variables
cat nginx_ssl.tpl >> /etc/nginx/sites-available/$HOSTNAME
sed -i 's/#\treturn/\treturn/g' /etc/nginx/sites-available/$HOSTNAME
sed -i '/#temp/d' /etc/nginx/sites-available/$HOSTNAME
sed -i "s/#HOSTNAME#/$HOSTNAME/g" /etc/nginx/sites-available/$HOSTNAME
 
# Permissions
chown www-data:web-admins -R /web/$HOSTNAME/public
 
# We're done
systemctl reload nginx
nginx.tpl
server {
	listen 80;
 
	server_name #HOSTNAME#;
 
	# Redirect
#	return 301 https://$host$request_uri;
root /web/#HOSTNAME#/public; #temp
}
nginx_ssl.tpl
server {
	listen 443 ssl http2;
	server_name #HOSTNAME#;
	root /web/#HOSTNAME#/public;
 
	# Logs
	access_log /web/#HOSTNAME#/logs/access.log;
	error_log /web/#HOSTNAME#/logs/error.log;
 
	index index.php index.html index.htm;
	error_page 404 /404.html;
 
	include snippets/ssl.conf;
	ssl_certificate /etc/letsencrypt/live/#HOSTNAME#/fullchain.pem;
	ssl_certificate_key /etc/letsencrypt/live/#HOSTNAME#/privkey.pem;
 
	include snippets/php.conf;
	include snippets/allow_wellknown.conf;
	include snippets/deny_dotfiles.conf;
	include snippets/favicon_robots.conf;
 
	location / {
		try_files $uri $uri/ /index.php?$args;
	}
}
  • guides/ubnetdef_new_domain.txt
  • Last modified: 2019/03/04 02:51
  • by sjames5