Notice

This page show a previous version of the article

How to Prepare a Development Environment for Tatoeba Using a Pre-made Virtual Machine

  • Grab the vm file http://mirrors.bouah.net/pub/tatoeba/Tatovm/

  • Untar the file:

    On Windows: use 7zip [http://www.7-zip.org/]

    On Linux: use file-roller or from the terminal, type:

    tar -xvf vmfile

  • Get and install VirtualBox [https://www.virtualbox.org/wiki/Downloads]

  • Load the VM files in VirtualBox:

    From the GUI: Machine -> Add then browse to the location of the .vbox file

    From the command line: VBoxManage registervm /path/to/vm.vbox

  • The default http port is 8080 and the default SSH port is 4242.

  • To SSH into the machine, use the username tatoeba and password tatoeba:

    ssh -p 4242 tatoeba@127.0.0.1

  • Now you can see the website running in your browser by pointing it to the following address:

    127.0.0.1:8080

  • The mysql user is root and password is tatoeba in case you need to do operations directly on the table or import more data.

  • To hack the codebase in your favorite editor in the comfort of your host computer, there are 3 ways:

  • Mount a drive over SSH:

    • On Windows: download NetDrive [www.netdrive.net] and use the aforementioned credentials and port

    • On Linux: install SSHFS and then mount it using:

      sshfs tatoeba@127.0.0.1:4242 /path/to/mountpoint

  • Mount a drive over WebDAV:

    • On Windows: use NetDrive. The user and password are tatoeba, and the port is 8080.

    • On Linux: use your favorite file manager with WebDAV support, or install cadaver and connect using the above credentials.

  • Mount a shared file (slow and not recommended):

    • Set up Guest additions [https://help.ubuntu.com/community/VirtualBox/GuestAdditions]

    • In the GUI select Devices -> Shared Folders -> Add

    • Browse to the folder you want to share from your host and select it

    • Select the Make permanent option

    • Now mount the shared file on the guest system:

      mount -t vboxfs /media/sharefoldername /path/to/mountpoint

  • You can also install a graphical environment (GNOME or any other development environment) to work directly from the VM:

    apt-get install task-gnome-desktop

  • Before coding anything, make sure your codebase is up to date by executing the following commands:

    cd ~/tatoeba-www

    svn update

  • After you have changed the code enough and want to update the main repository, do the following:

    • Make sure your config files aren't being committed:

      svn ignore config/*

    • Double-check your changes:

      svn diff

    • Make sure you're still up to date, then commit your changes:

      svn update

      svn commit