Notice
This page show a previous version of the articleHow 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.
Performing Additional Configuration Steps
These steps will eventually be folded into a new VM, but for now, they must be performed after the VM is installed.
The current VM was assembled shortly before we made the transition from a Subversion repository on Assembla to a Git repository on GitHub, so execute the following steps to update your code from the new repository:
Install the git package if "which git" does not show you that you already have it installed. This requires superuser privileges.
Rename ~/tatoeba-www to ~/tatoeba-www-bak .
In your home directory (~), pull the code from the GitHub Tatoeba repository as follows:
git clone https://github.com/Tatoeba/tatoeba2.git ~tatoeba/tatoeba-www
- 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
You may find it useful at this point to back up your databases so that you can return them to their virgin state. Make a directory (for instance, /backup ; this may require root permission) and then execute a command such as this one:
mysqldump -ptatoeba -A > /backup/all_dbs.sql
Install curl using these commands (which will require superuser permissions, so you'll need to use "su -" beforehand and "exit" afterwards):
apt-get update
apt-get install php5-curl
As root, install poedit and bzr for use with UI translations stored on Launchpad (which uses a Bazaar repository): apt-get install poedit apt-get install bzr
Optional: add the following to .bashrc: export TERM=xterm-256color
Customizing Your Installation
There are three ways to access the codebase via your favorite editor in the comfort of your host computer:
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