Help:LanguageTool/Vagrant
Attempt on a common Vagrant instance.
Initial setup of Mediawiki-Vagrant edit
The usual setup is as described on MediaWiki-Vagrant, and yes you need Git
$ mkdir ~/ltspace
$ cd ~/ltspace
$ git clone --recursive https://gerrit.wikimedia.org/r/mediawiki/vagrant .
$ ./setup.sh
$ vagrant box update
$ vagrant up
Git update edit
At this point you should do a $ vagrant git-update
in the host directory, otherwise you will probably run into problems later. Then do a $ vagrant reload
to make sure everything works.
At this point you should clean up the client for outdated apt pakages. Do a
$ vagrant ssh
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get autoremove
$ exit
Note that this still leaves the box running old software, and you should do a sudo apt-get update && sudo apt-get upgrade
from time to time.
Roles for the host edit
Use the following additional roles
VisualEditor edit
This is the new visual editor, which would be the primary accesspoint for LanguageTool.
$ vagrant enable-role visualeditor && vagrant provision && vagrant git-update
Java in the guest edit
Not clear if the version should be 7 or 8. Only thing I got to pass was Java 8 from Oracle.
$ sudo sh -c 'echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list'
$ sudo sh -c 'echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list'
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install oracle-java8-installer
$ sudo apt-get install oracle-java8-set-default
Maven would now install as 3.0.5, which is to old for some packages as they need 3.3+. Latest as of this writing is 3.5.0[1][2]
$ sudo apt-get purge -y maven
$ wget http://apache.uib.no/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz
$ tar -zxf apache-maven-3.5.0-bin.tar.gz
$ sudo mv apache-maven-3.5.0 /usr/local
$ ln -s /usr/local/apache-maven-3.5.0/bin/mvn /usr/bin/mvn
$ echo "export M2_HOME=/usr/local/apache-maven-3.5.0" >> ~/.profile
Check versions, they should all report 1.8 -ish and 3.5 -ish
$ javac -version
$ java -version
$ mvn -version
Additional tweaks for maven is to set the environment variable MAVEN_OPTS in ~/.profile
[3]
export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"
It could also be necessary to add maven to the PATH
export PATH=/opt/apache-maven-3.5.0/bin:$PATH
Clone LanguageTool edit
Create the dir for the LanguageTool and clone the repo[4] (Please avoid hammering the public API.[5])
$ mkdir /vagrant/languagetool
$ cd /vagrant/languagetool
For the official repo use
$ git clone --depth 5 https://github.com/languagetool-org/languagetool.git .
For the forked repo use
$ git clone --depth 5 https://github.com/jeblad/languagetool.git .
Now do a first test run (before this you should probably set more memory for the guest, like 3072MB)
$ mvn clean test package
Add the classpath to ~/.profile
(could also be the common /etc/profile
)
export CLASSPATH="$CLASSPATH:/vagrant/languagetool/languagetool-standalone/target/LanguageTool-3.9-SNAPSHOT/LanguageTool-3.9-SNAPSHOT/*"
Now source the ~/.profile
(could also be the common /etc/profile
) and start the server[6]
$ source ~/.profile
$ java org.languagetool.server.HTTPServer --port 8081
The server can now be tested by a call
$ curl --data "language=en-US&text=a simple test" http://localhost:8081/v2/check