This article is a step-by-step check-list for launching a new virtual server for a web-to-print storefront on Amazon hosting platform.
The checklist is targeted at IT professionals with sufficient level of expertise. We use it internally for setting up customer servers under our premium web-to-print support. Note that some AWS screens and processes may be different as they update their systems often.
- AWS credentials (login / password or 2 security keys)
- Access to EC2 tab in AWS console indicates account approved and ready (https://console.aws.amazon.com)
- AMI to use is as per free Magento AMI description. Read the instructions and notes there carefully.
- Key pair – choose existing if instructed, otherwise create a new key, save PEM file to your computer as you will DEFINITELY need it later
- Security group – choose existing if instructed, otherwise create a new with these rules
- Add rule HTTP – port 80, Source: 0.0.0.0/0
- Add rule HTTPS – port 443, Source: 0.0.0.0/0
- Add rule SSH: port 22, source: your_ip/32
- Add rule Custom TCP rule: port: 50000-51000, source: 0.0.0.0/0 – ftp server passive connection ports
- Add rule Custom TCP rule: port: 10000, source: your_ip/32 – webmin
- Zone – any, unless instructed
- Secret key and security group names should be meaningful and self explanatory
- Launch the instance (small, unless instructed otherwise)
- Allocate Elastic IP if none is available.
- Associate Elastic IP with the instance.
- Reboot the instance
- Rename script /usr/local/bin/FixBaseURL.sh to stop it running at boot time (run this command in webmin if FTP doesn’t have permissions mv /usr/local/bin/FixBaseURL.sh /usr/local/bin/_FixBaseURL.sh)
- Contact the customer and request to set up A-record using Elastic IP.
- Print out the home page with logins and passwords
- Login to Magento, navigate to CMS/Pages and clear or replace contents of Home page page
- Change all passwords listed in the printout
– Magento (System / My account, change the email as well)
– Webmin (System / Users and Groups / unix user “webmin” / Normal password)
– FTP (System / Users and Groups / unix user “magento” / Normal password)
– any other services listed on the homepage
- Write new passwords down on the same printout and share with other team members as required
AWS email setup
- Request email limitation to be lifted for the instance – https://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request.
- request reverse DNS record for the Elastic IP, if A-record exists
- otherwise come back to this step once A-record was created
- Clarify if SES is required. Request SES access.
Initial Magento config
- Make sure caching is disabled
- Change Admin timeout to at least 3600 under System / Configuration / Advanced / Admin / Security / Session lifetime
- Assign given domain to base unsecure URL, once A-record was created
- Assign given domain to secure url – if SSL is configured use HTTPS, otherwise HTTP, once A-record was created
- Hide default home page. After setup is done, delete it.
- Create customer admin account for administrative tasks (Sys/Config/Permissions/Users, check on Admin option)
- Disable default Magento admin user
Magento email config
- Install SMTP Pro extension.
- Request SMTP (preferred), Gmail(preferred) or SES details. Ask the customer for details, if needed.
- Configure extension under Sys / Config / Advanced / System (use temp a/c if the customer isn’t ready).
- Remove temporary account before handing over the control.
- Run a self test, make sure an email was received.
Web-to-print config on Magento
This section is optional for users running a storefront with no web-to-print enabled. It can be enabled at any later stage.
- Proceed to web-to-print installation and configuration as per web-to-print installation guide.
- Enable 1 or 2 web-to-print products in the front end for testing
- Test the products work OK with web-to-print
- Follow our web-to-print theme customization guide or call in programmers. This step is only required if the site will use a custom theme with our web-to-print.
- Check magento user account (system) has read/write access to theme folders after the install.
Create an AMI as a backup at this stage: [site-name]-[20xxmmdd]-with-theme
Additional set up and config
Work of checklist in [work in progress] to do additional configs.
Create one more AMI as a backup at this stage: [site-name]-[20xxmmdd]-configured
The following info must be provided to the customer after completing the installation:
- Site access URL
- Admin URL
- Magento login/pwd
- Magento encryption key
- FTP login/pwd
- Webmin login/pwd
- MySQL login/pwd
- Elastic IP
- .pem file
Pass the task with the details above for testing and quality control.