Notice

This page show a previous version of the article

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

on windows: use 7zip [http://www.7-zip.org/]

on linux: use file-roller or from the terminal:

tar -xvf vmfile

  • Get and install virtual box [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 commandline: 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, just point 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's 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 is tatoeba 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):

      • Setup 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 DE) to work directly from the vm:

    apt-get install task-gnome-desktop

  • Make sure your codebase is up to date before coding anything with:

    cd ~/tatoeba-www

    svn update

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

    • make sure your config files aren't being commited:

      svn ingore config/*

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

      svn update

      svn commit