Version at: 09/02/2014, 12:58

#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/](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

version at: 09/02/2014, 13:41

#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/](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

* If you see warning messages introduced by "Strict standards:", you probably have a version of PHP that is newer than 5.3, the version recommended for Tatoeba development. You can verify this by executing "php -v". To downgrade to PHP 5.3, follow [these instructions](http://blog.wpkg.org/2013/06/20/downgrading-to-php-5-3-on-debian-wheezy-7-0/).

* 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

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.