NOTE: For assistance, contact us at email@example.com or use the MediaManager.net Live Chat service in the lower right hand corner of the MediaManager.net website.
NOTE: These procedures are only to be used with MediaManager.net on the AWS Marketplace found here – https://aws.amazon.com/marketplace/pp/prodview-42z3eukyyeeco
NOTE: Contact us at firstname.lastname@example.org at anytime to be given access to additional videos, presentations and chat groups.
NOTE: These steps ONLY need to be completed once Mysql and Redis are running on the instance and are here to point your selected domain and wildcard ssl to the MediaManager.net instance and configure SMTP. Email templates exist in the application and can be edited from admin-portal.[yourdomain].com.
NOTE: NGINX has been configured so that a Load Balancer is not necessary, but it can be added. Contact us at email@example.com for access to additional configuration options for increased scalability.
NOTE: Once the following steps are completed, on the first visit to the custom domain (yourdomain.com), there will be an automated installation workflow to setup the initial administrator username and password. DNS and SMTP configuration must be completed first.
NOTE: The following videos demonstrate each step in setting the custom domain, adding ssl and SMTP
Step 1: Launch the AMI from the AWS Marketplace (launch EC2 from AMI)
Step 2: Once the EC2 is running, record the following details
Step 3: Setup DNS
Create the following DNS records in Route 53 or your host replacing ‘example.com’ with your domain
example.com A 3600 <PUBLIC_IP_EC2>
*.example.com CNAME 3600 example.com.
Step 4: Generate a Wildcard SSL
- Once the DNS changes have been made, generate a wildcard SSL certificates for your domain name using Certbot.
- Follow these steps to set up automatic DNS renewal:
sudo apt install python3-certbot-dns-route53
sudo certbot certonly --dns-route53 -d example.com -d *.example.com
# don’t forget to set up a cron job to automatically renew the certificate
# 00 3 * * 1 /usr/bin/certbot renew –dns-route53 –dns-route53-propagation-seconds 30
# or generate the certificate manually
sudo certbot certonly –manual -d example.com -d *.example.com
Store the following details for future steps:
private key path
Step 5: Update the config files in
/var/www/www/config with SSL fullchain and private key path
- Replace these values with your ssl_certificate fullchain and private key path.
Certificate is saved at: /etc/letsencrypt/live/example.com-0001/fullchain.pem
- ssl_certificate /etc/letsencrypt/live/example.com-0001/fullchain.pem; # managed by Certbot
- Replace example.com with your domain name in the config file
Key is saved at: /etc/letsencrypt/live/example.com-0001/privkey.pem
ssl_certificate_key /etc/letsencrypt/live/example.com-0001/privkey.pem; # managed by Certbot
Step 6: Update SITES folder to DOMAIN NAME
- Rename this folder to your domain name: /var/www/www/sites/example.com
Step 7: Edit the Domain Folder config file
- Edit the following config.json file: /var/www/www/sites/yourdomain.com/config/config.json
(Required) Replace SERVER_NAME and SITE_DOMAIN
(Required) Add your SMTP config to be able to send email
(Optional) Update your database config to point to an external database
(Optional) Update your cache config to point to an external redis cluster
- Replace example.com with your domain name everywhere in the config file
Step 8: Replace the ssl_certificate fullchain and private key path values in /var/www/www/sites/example.com/scripts/nginx-vhost-create.sh
Update the script and replace the certificate with the certificates generated in Step 1
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/prisml.com-0001/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/prisml.com-0001/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
Step 9: Restart the nginx server
sudo service nginx restart
Step 10: (Optional) If you want to run MySQL on an external database, import the following SQL file /var/www/data/sql/import.sql into the database
Step 11: Visit [YOURDOMAIN.COM] to complete the administrator user setup by following the installation wizard