Notice

This page show a previous version of the article

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

Installing the VM

  • 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

Accessing the VM

  • 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

  • If you see warning messages introduced by "Strict standards:", you probably have a version of PHP that is newer than 5.3.3, the version recommended for Tatoeba development. You can verify this by executing "php -v". To downgrade to PHP 5.3.3, execute "su -" (with password tatovm) and then follow these instructions. Once the operation is complete, type "exit" to end superuser access.

  • 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 be able to access 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

Additional Configuration Steps

  • The current VM was assembled shortly before we made the transition from a Subversion repository on Assembla to a Git repository on GitHub. Eventually, we will make a new VM that has the Git repository ready to go, but in the meantime, execute the following steps:

    • Rename ~/tatoeba-www to ~/tatoeba-www-bak .

    • In your home directory (~), pull the code from the GitHub Tatoeba repository.

    • Your new directory ~/tatoeba-www should have the same directory structure as the old ~/tatoeba-www-bak. You can now delete ~/tatoeba-www-bak .

  • Execute the two SQL scripts 2013-05-31.sql and 2013-08-13.sql as follows:

    mysql -u root -ptatoeba tatoeba < /home/tatoeba/tatoeba-www/docs/database/updates/2013-05-31.sql

    mysql -u root -ptatoeba tatoeba < /home/tatoeba/tatoeba-www/docs/database/updates/2013-08-13.sql