Version at: 12/03/2014, 00:15
#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/](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](http://blog.wpkg.org/2013/06/20/downgrading-to-php-5-3-on-debian-wheezy-7-0/). 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](https://github.com/Tatoeba/tatoeba2).
* 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
version at: 12/03/2014, 00:20
#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/](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](http://blog.wpkg.org/2013/06/20/downgrading-to-php-5-3-on-debian-wheezy-7-0/). 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](https://github.com/Tatoeba/tatoeba2) 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
Note
The lines in green are the lines that have been added in the new version.
The lines in red are those that have been removed.
Actions