Difference between revisions of "Create WeBWorK Amazon Machine Image (AMI) File"

From WeBWorK_wiki
Jump to navigation Jump to search
(Created page with "===Instructions for creating a WeBWorK Amazon Machine Image (AMI) === Build the server on VMWare Workstation Player # 12 GBk disk (single file) # 4 GB memory # 2 cpu The...")
 
Line 2: Line 2:
   
   
  +
Log into EC2 Dashboard
   
  +
Locate the current Ubuntu LTS AMI in http://cloud-images.ubuntu.com/locator/ec2/ and search us-east-2 and click on link
   
Build the server on VMWare Workstation Player
 
  +
Choose an Instance Type e.g. T4g small
   
# 12 GBk disk (single file)
 
  +
ADD Storage
# 4 GB memory
 
# 2 cpu
 
The above resources are small.
 
   
  +
15 GM storage
  +
Also make sure that Delete on Termination is unchecked.
   
# Download the ubuntu live CD (server version)
 
   
# Install following the standard directions with the following options
 
  +
Launch
   
# Don't partition disks separately
 
  +
Follow direction in
# User name: wwadmin
 
  +
https://webwork.maa.org/wiki/WeBWorK_2.16_Ubuntu_Server_20.04_LTS_Amazon_Machine_Image
# login: wwadmin
 
  +
about adding security groups, etc
# password: wwadmin
 
# Computer name: wwserver
 
   
  +
Security groups have to be setup from the AMS dashboard
   
  +
add the wwadmin user
  +
sudo aduser wwadmin
   
====Workstation Player====
 
When you see REBOOT, reboot and login (wwadmin/wwadmin)
 
   
Do not accept any updates (save disk space)
 
  +
Install WW following https://webwork.maa.org/wiki/Installation_Manual_for_2.16_on_Ubuntu
   
Check if tools are installed
 
  +
Before configuring WeBWork, set the server time zone
vmware-toolbox-cmd -v
 
  +
sudo timedatectl set-timezone America/New_York
(they should be) and if so, remove them
 
 
sudo apt remove open-vm-tools
 
sudo apt autoremove
 
   
  +
Configure WeBWorK, set URL to ip address in site.conf for testing. Set to aws.apizer.org and use Google domains to forward to ip address.
  +
Set up HW sets with due dates, class lists, etc the same way as in current AMI's or the current virtual machine image
   
After system boots check that openssh-server is installed
 
  +
Create the AMI see https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/tkv-create-ami-from-instance.html
run
 
sudo lsof -i -P -n | grep LISTEN
 
to check if it is listening on port 22
 
If not install openssh-server
 
sudo apt install openssh-server
 
 
Find the ip address of your guest
 
The Guest IP is the IP address your guest WeBWorK server is using. You can find it (after you login) by entering the command
 
$ ip address show
 
and looking at the output, something like
 
link/ether 00:0c:29:4f:2c:1d brd ff:ff:ff:ff:ff:ff
 
inet 192.168.204.128/24 brd 192.168.204.255 scope global dynamic ens33
 
 
====Login from Terminal program====
 
At this point you can login to your server from your host machine using SSH (non secure telnet and FTP are not allowed but secure SSH and SFTP are) using your favourite terminal emulator program.
 
E.g. set your terminal to connect to 192.168.204.128
 
 
 
You can do all of the remaining installation from a terminal emulator on your host. The advantage of doing this is that you can copy commands from these instructions (with copy from the Edit menu or ^C) and paste them into a terminal window (with paste from the Edit menu list or <Shift> <Ctrl> <V> or <Shift> <Insert> depending on your application).
 
   
 
===Follow the standard instructions===
 
===Follow the standard instructions===

Revision as of 11:33, 9 August 2021

Instructions for creating a WeBWorK Amazon Machine Image (AMI)

Log into EC2 Dashboard

Locate the current Ubuntu LTS AMI in http://cloud-images.ubuntu.com/locator/ec2/ and search us-east-2 and click on link

Choose an Instance Type e.g. T4g small

ADD Storage

15 GM storage Also make sure that Delete on Termination is unchecked.


Launch

Follow direction in https://webwork.maa.org/wiki/WeBWorK_2.16_Ubuntu_Server_20.04_LTS_Amazon_Machine_Image about adding security groups, etc

Security groups have to be setup from the AMS dashboard

add the wwadmin user sudo aduser wwadmin


Install WW following https://webwork.maa.org/wiki/Installation_Manual_for_2.16_on_Ubuntu

Before configuring WeBWork, set the server time zone sudo timedatectl set-timezone America/New_York

Configure WeBWorK, set URL to ip address in site.conf for testing. Set to aws.apizer.org and use Google domains to forward to ip address. Set up HW sets with due dates, class lists, etc the same way as in current AMI's or the current virtual machine image

Create the AMI see https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/tkv-create-ami-from-instance.html

Follow the standard instructions

site.conf and localoverrides.conf

  1. use the ip address (e.g. 192.168.201.128) everywhere. Do not use localhost
  2. set password for webworkWrite (wwadmin)

set up MyTestCourse

  1. add practice users and jsmith/jsmith to myTestCourse
  2. add profa
  3. add the standard sets to myTestCourse

Implement all options A-E

Clean up the system

  • rm apache's error.log's in /var/log/apache2/
  • rm apache's access.log's in /var/log/apache2/
  • rm webwork's timing.log's in /opt/webwork/webwork2/logs/
  • Remove unneeded backup's in /opt/webwork/webwork2/conf/
  • Remove contents of /var/www/html/wwtmp/

wwadmin@wwserver:~$ du -sh /var/cache/apt/archives/ du: cannot read directory '/var/cache/apt/archives/partial': Permission denied 71M /var/cache/apt/archives/ wwadmin@wwserver:~$ sudo apt clean [sudo] password for wwadmin: wwadmin@wwserver:~$ du -sh /var/cache/apt/archives/ du: cannot read directory '/var/cache/apt/archives/partial': Permission denied 44K /var/cache/apt/archives/


sudo apt autoremove --purge

Remove openssh-server

Keeeo openssh

sudo apt remove openssh-sftp-server
sudo apt autoremove

Reset CPU's amd Memory

Set the memory to 4 GB and processors to 2

Export to an .ova file

Workstation Player

Find the path to your VM.

Open a command prompt as administrator

cd E:\Programs\VMware\OVFTool\

Enter

ovftool “C:\the path to your VM\your VMname.vmx”  c:\new directory\name.ova