Difference between revisions of "Create WeBWorK Virtual Machine (.OVA) File"

From WeBWorK_wiki
Jump to navigation Jump to search
(33 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
Note that the resulting .ova image can be used to create a virtual machine
 
Note that the resulting .ova image can be used to create a virtual machine
   
Build the server on VMWare Workstation (Player or Pro)
+
Build the server on VMWare Workstation Player
   
# 10 GBk disk (single file)
+
# 20 GBk disk (single file)
# 1 GB memory
+
# 4 GB memory
# 1 cpu
+
# 2 cpu
The above resources are very minimal and (except for disk space) correspond to a AWS t2-micro level machine which is free.
+
The above resources are small.
   
   
 
# Download the ubuntu live CD (server version)
 
# Download the ubuntu live CD (server version)
 
 
# Install following the standard directions with the following options
 
# Install following the standard directions with the following options
 
 
# Don't partition disks separately
 
# Don't partition disks separately
 
# User name: wwadmin
 
# User name: wwadmin
Line 25: Line 23:
   
 
====Workstation Player====
 
====Workstation Player====
'''When you see REBOOT, Do not reboot the system''' Close the window and pick power off
+
When you see REBOOT, reboot and login (wwadmin/wwadmin)
Open VMWare player, select (right click) guest and select settings. And remove all the autoinst CD and floppy (check if this is the correct thing to do).
+
Then boot and login (wwadmin/wwadmin)
+
Do not accept any updates (save disk space)
   
 
Check if tools are installed
 
Check if tools are installed
 
vmware-toolbox-cmd -v
 
vmware-toolbox-cmd -v
and if so, remove them
+
(they should be) and if so, remove them
  +
 
sudo apt remove open-vm-tools
 
sudo apt remove open-vm-tools
 
 
sudo apt autoremove
 
sudo apt autoremove
   
Line 58: Line 55:
 
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).
 
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===
  +
  +
====site.conf and localoverrides.conf====
  +
# use the ip address (e.g. 192.168.201.128) everywhere. Do not use localhost
 
# set password for webworkWrite (wwadmin)
 
# set password for webworkWrite (wwadmin)
=== set up MyTestCourse===
 
  +
  +
=== set up MyTestCourse===
 
# add practice users and jsmith/jsmith to myTestCourse
 
# add practice users and jsmith/jsmith to myTestCourse
  +
# add profa
 
# add the standard sets to myTestCourse
 
# add the standard sets to myTestCourse
# implement all options A-E except C (run WW through SSL)
 
   
====Remove openssh-server====
 
  +
===Implement options B and C (not A, SSL) ===
====Reset CPU's amd Memory====
 
  +
===Implement Housekeeping (cron jobs) ===
Set the memory to 1 GB and processors to 1
 
   
  +
====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/
   
sudo apt remove openssh-sftp-server
 
  +
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/
   
Export to an .ova file.
 
  +
  +
sudo apt autoremove --purge
  +
  +
  +
  +
====Reset CPU's amd Memory====
  +
Set the memory to 4 GB and processors to 2
  +
  +
===Export to an .ova file===
   
 
====Workstation Player====
 
====Workstation Player====
Find the path to your VM
+
Find the path to your VM.
  +
 
Open a command prompt as administrator
 
Open a command prompt as administrator
 
  +
cd D:\program files\vmware\vmware OVF_Tool
 
  +
E:
  +
cd \Programs\VMware\OVFTool\
   
 
Enter
 
Enter
ovftool “C:\the path to your VM\your VMname.vmx” c:\new directory\name.ova
+
ovftool --maxVirtualHardwareVersion=13 “C:\the path to your VM\your VMname.vmx” c:\new directory\name.ova
+
where you should pick the highest hardware version which is still low enough to support all currently supported VMware products.
  +
  +
E.G.
  +
E:\Programs\VMware\OVFTool>ovftool --maxVirtualHardwareVersion=13 "C:\Users\arnol\OneDrive\Documents\Virtual Machines\WW2.17_Ubuntu22.04_Server.vmx" "C:\Virtual Machines\OVA_Files\WW2.17_Ubuntu22.04_Server.ova"
  +
  +
The double quotes are needed because file names have spaces.
   
 
[[Category:Developers]]
 
[[Category:Developers]]

Revision as of 15:10, 8 August 2022

Instructions for creating a WeBWorK Virtual Machine (.OVA) Image

Note that the resulting .ova image can be used to create a virtual machine

Build the server on VMWare Workstation Player

  1. 20 GBk disk (single file)
  2. 4 GB memory
  3. 2 cpu

The above resources are small.


  1. Download the ubuntu live CD (server version)
  2. Install following the standard directions with the following options
  3. Don't partition disks separately
  4. User name: wwadmin
  5. login: wwadmin
  6. password: wwadmin
  7. Computer name: wwserver


Workstation Player

When you see REBOOT, reboot and login (wwadmin/wwadmin)

Do not accept any updates (save disk space)

Check if tools are installed

vmware-toolbox-cmd -v

(they should be) and if so, remove them

sudo  apt remove open-vm-tools
sudo apt autoremove


After system boots check that openssh-server is installed 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

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 options B and C (not A, SSL)

Implement Housekeeping (cron jobs)

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


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

E:
cd \Programs\VMware\OVFTool\

Enter

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

where you should pick the highest hardware version which is still low enough to support all currently supported VMware products.

E.G. E:\Programs\VMware\OVFTool>ovftool --maxVirtualHardwareVersion=13 "C:\Users\arnol\OneDrive\Documents\Virtual Machines\WW2.17_Ubuntu22.04_Server.vmx" "C:\Virtual Machines\OVA_Files\WW2.17_Ubuntu22.04_Server.ova"

The double quotes are needed because file names have spaces.