Join GitHub today
Installing Links on a fresh VM
Installing Links on a fresh VM using VirtualBox / Vagrant
Current as of 0.7.3
The following instructions explain how to install Links in a freshly installed Ubuntu 16.04 machine. You can use VirtualBox manually or use Vagrant to automate most of the steps. If you use Vagrant, you can use the
setup.sh files below: placing them in a new directory and typing "vagrant up" should perform the first three steps automatically. If this doesn't work, though, following the steps manually may help you to understand why.
Set up a fresh Ubuntu/xenial32 or xenial64 (as appropriate) virtual machine. One can do this manually using VirtualBox by downloading the appropriate disk images and installing, or more automatically using Vagrant and the Ubuntu standard vm images.
Set up IP forwarding for the VM from an appropriate host port (such as 8081) to Links's default port 8080 within the guest VM. Again, one can do this manually using VirtualBox or by adding an appropriate line of configuration to the Vagrantfile.
Within the VM, execute the following commands:
$ sudo apt install -y m4 postgresql libpq-dev opam $ opam init -a $ opam switch 4.06.0 $ eval `opam config env` $ opam install -y postgresql links links-postgresql
Again, if using Vagrant then one can automate this by placing the commands in a script "setup.sh" and configuring the Vagrantfile. (This will take several minutes.)
- To test that Links is working correctly, do the following (starting from home directory):
cd .opam/4.06.0/share/links linx -m --path=examples:examples/games examples/webserver/examples-nodb.links
The second command should not return; it starts a Web server running on port 8080 of the VM, which should be mapped to port 8081 of your machine. Stopping this process will kill the server.
- To test that the examples are working, visit url:
(type this exactly; if you forget the trailing slash you will likely get "Nope", Links's terse HTTP 404 error message.) This should result in a web page with links to a number of example programs, and to their source code. However, only the examples that do not require the database will work; configuring the examples that do use the database requires more work.
Vagrant.configure("2") do |config| config.vm.box = "ubuntu/xenial64" config.vm.network "forwarded_port", guest: 8080, host: 8081 config.vm.provision "shell", privileged: false, path: "setup.sh" end
sudo apt install -y m4 postgresql libpq-dev opam opam init -a opam switch 4.06.0 eval `opam config env` opam install -y postgresql links links-postgresql