# Install Grima on a Web-Server Grima is a web-application and requires a web-server to run. There are two main ways to get this to happen: * use a general purpose (20th century) web-server and just extract these web-pages into a PHP-enabled web directory. * deploy to the cloud using containers Containers are much simpler for larger institutions and allow deploying all sorts of technology to the cloud without getting lost in the details. However, grima is a pretty simple web-app and Kathryn's institution is served by an old but reliable 20th century server just fine. We have [dedicated instructions](CLOUD.md) on deploying to the cloud with `docker` and/or `kubernetes`. We have tested them on cloud providers such as Digital Ocean, as well as run them on test instances of kubernetes (minikube) and docker swarm. This document will describe deploying to a 20th century server. Many "web hosting companies" provide such servers ("cPanel" is a popular product, and Kathryn's institution has a contract with "Reclaim Hosting" which provides an easy to use webserver). ## Will it just work? If you have web-space with PHP enabled, then just unpack the latest release of grima in a directory somewhere and see if it works. For example, University of Kentucky has a contract with Reclaim Hosting. Faculty and staff request an account name, let's use `treebeard` for example. A web directory is created for them, and suddenly `https://treebeard.createuky.net/` is a valid website. You then upload and unpack the `grima.tgz` into a directory in the default `public_html` directory, say `public_html/grima` and suddenly `https://treebeard.createuky.net/grima` is your very own copy of the [public grima server](https://public-grima.zemkat.org). XXX: Screenshots ## What if you run your own 20th century web-server If you are using ubuntu, then ``` apt-get install php-xml php-curl ca-certificates --no-install-recommends ``` should do it.