* run **npm update** in virl-scheduler root directory (only if you want to test in devmodes, apache is enough otherwise)
* run **bower update** in virl-scheduler root directory, afterwards verify **bower_components** directory was created
* run **composer update** in virl-scheduler root directory, afterwards verify **vendor** directory was created
* configure apache to use **virl-scheduler** and **index.html** as webroot (make sure rewrite engine is on and .htaccess files are parsed by apache)
** e.g. for Ubuntu 16.04 (VIRL 1.3.156 host):
*** copy virl-scheduler to your webroot: "sudo cp -a virl-scheduler /var/www/html/"
*** add "ProxyPass /virl-scheduler !" to the ProxyPass directives in **/etc/apache2/sites-available/000-default.conf**
*** allow .htaccess in virl-scheduler api directory, e.g., by appending the following lines to **/etc/apache2/sites-available/000-default.conf**
<Directory/var/www/html/virl-scheduler/api>
AllowOverride All
</Directory>
*** give the Apache2 process write permissions to the sqlite3 db by running "sudo chown www-data:www-data api/db.sqlite3" and "sudo chown www-data:www-data api" in the virl-scheduler directory
*** run **service apache2 restart**
* e.g. for Ubuntu 16.04 (VIRL 1.3.156 host):
* copy virl-scheduler to your webroot: "sudo cp -a virl-scheduler /var/www/html/"
* add "ProxyPass /virl-scheduler !" to the ProxyPass directives in **/etc/apache2/sites-available/000-default.conf**
* allow .htaccess in virl-scheduler api directory, e.g., by appending the following lines to **/etc/apache2/sites-available/000-default.conf**
```
<Directory/var/www/html/virl-scheduler/api>
AllowOverride All
</Directory>
```
* give the Apache2 process write permissions to the sqlite3 db by running "sudo chown www-data:www-data api/db.sqlite3" and "sudo chown www-data:www-data api" in the virl-scheduler directory
* run **service apache2 restart**
* Change hostname for **VIRLRestangular factory** in **app/topologyManager.js** and **api/cron.php** to your VIRL-API-Hostname or IP-Address.
* Add a cron job to run the scheduler, e.g., every five minutes and start planned simulations
** e.g. for Ubuntu 16.04 (VIRL 1.3.156 host):
*** "sudo crontab -e" add "*/5 * * * * /usr/bin/curl -o /var/log/virl-scheduler-cron.log http://localhost/virl-scheduler/api/cron.php" at the end of the file
* e.g. for Ubuntu 16.04 (VIRL 1.3.156 host):
* "sudo crontab -e" add "*/5 * * * * /usr/bin/curl -o /var/log/virl-scheduler-cron.log http://localhost/virl-scheduler/api/cron.php" at the end of the file
* Have fun using the scheduler to start VIRL simulations automatically, by accessing /virl-scheduler on your VIRL host. Login using a VIRL username and password, be sure to add a Session name (simulation name) and a VIRL topology (XML source of a topology file)
* output of the cron job can be seen in **/var/log/virl-scheduler-cron.log** or by accessing http://<VIRL-Host>/virl-scheduler/api/cron.php" manually in your browser