Difference between revisions of "Apertium-apy/Debian"
| Line 25: | Line 25: | ||
</pre>  | 
  </pre>  | 
||
(Here we're assuming you only want packaged pairs, see [[Installation]] on how to install SVN pairs.)  | 
  (Here we're assuming you only want packaged pairs, see [[Installation]] on how to install SVN pairs.)  | 
||
Now try starting APY and checking its status:  | 
  Now try starting APY and checking its status:  | 
||
| Line 32: | Line 33: | ||
sudo systemctl status apertium-apy  | 
  sudo systemctl status apertium-apy  | 
||
</pre>  | 
  </pre>  | 
||
It should look like  | 
  It should look like  | 
||
<pre>  | 
  <pre>  | 
||
| Line 53: | Line 55: | ||
Press q to get your terminal back.  | 
  Press q to get your terminal back.  | 
||
=== Testing it out ===  | 
  |||
Open a new terminal to check that it's OK:  | 
  Open a new terminal to check that it's OK:  | 
||
<pre>  | 
  <pre>  | 
||
| Line 75: | Line 77: | ||
Now open port 2737 in your firewall and point your [[apertium-html-tools|website]] or [[Android|app]] at it :-)  | 
  Now open port 2737 in your firewall and point your [[apertium-html-tools|website]] or [[Android|app]] at it :-)  | 
||
If you ran into trouble, please ask for help on [[IRC]] or the [[Contact|mailing list]].  | 
  If you ran into trouble, please ask for help on [[IRC]] or the [[Contact|mailing list]].  | 
||
Revision as of 09:42, 13 June 2016
This is a quickstart guide to setting up your very own Apertium API server on Debian-based systems (including Ubuntu).
Why?
Running your own API server means
- you get to decide what kinds of crazy half-finished language pairs to serve (or you can just serve a few of the high-quality ones that you like)
 - you can run Apertium within your super-fortified network without your highly confidential translations touching anyone else's computer
 - you don't have to worry about anyone else's API server going down right when you need it the most
 - you have control over how many concurrent apertium processes you run (if your site or program calls plain `apertium` on each request, you can easily overload your server)
 
Contents | 
Quickstart
Install apt-repo and APY:
wget http://apertium.projectjj.com/apt/install-nightly.sh sudo bash install-nightly.sh sudo apt-get install apertium-apy
And install the language pairs you want:
sudo apt-get install apertium-eng-kaz apertium-sme-nob apertium-hbs-mkd apertium-eo-en apertium-tat-rus # etc.
(Here we're assuming you only want packaged pairs, see Installation on how to install SVN pairs.)
Now try starting APY and checking its status:
sudo systemctl start apertium-apy sudo systemctl status apertium-apy
It should look like
● apertium-apy.service - Apertium APY service
   Loaded: loaded (/lib/systemd/system/apertium-apy.service; disabled; vendor preset: enabled)
   Active: active (running) since må. 2016-06-13 11:38:10 CEST; 3s ago
     Docs: http://wiki.apertium.org/wiki/Apertium-apy
 Main PID: 14813 (python3)
   CGroup: /system.slice/apertium-apy.service
           └─14813 /usr/bin/python3 servlet.py /usr/share/apertium/modes
juni 13 11:38:10 gamlepadda systemd[1]: Started Apertium APY service.
juni 13 11:38:11 gamlepadda python3[14813]: [W 160613 11:38:11 servlet:865] Unable to import CLD2, continuing using naive method of lang
juni 13 11:38:11 gamlepadda python3[14813]: [I 160613 11:38:11 servlet:792] 7 pair modes found
juni 13 11:38:11 gamlepadda python3[14813]: [I 160613 11:38:11 servlet:792] 0 analyzer modes found
juni 13 11:38:11 gamlepadda python3[14813]: [I 160613 11:38:11 servlet:792] 0 generator modes found
juni 13 11:38:11 gamlepadda python3[14813]: [I 160613 11:38:11 servlet:792] 0 tagger modes found
juni 13 11:38:11 gamlepadda python3[14813]: [I 160613 11:38:11 servlet:898] Serving at http://localhost:2737
Press q to get your terminal back.
Open a new terminal to check that it's OK:
curl http://localhost:2737/listPairs
It should contain a list of pairs.
Say the list contains {"sourceLanguage": "sme", "targetLanguage": "nob"}, then we can try translating the sentence "in leat doppe" from sme to nob:
curl 'http://localhost:2737/translate?langpair=sme|nob&q=in+leat+doppe'
That should give something like {"responseData": {"translatedText": "jeg er ikke der borte"}, "responseDetails": null, "responseStatus": 200}
.
If everything worked, congrats, you have your own Apertium API server running! You can enable it on startup with
sudo systemctl enable apertium-apy
Now open port 2737 in your firewall and point your website or app at it :-)
If you ran into trouble, please ask for help on IRC or the mailing list.
More info
See Apertium-apy for other things you can do with Apy and more documentation.