Installation » History » Version 1
Redmine Admin, 01/04/2017 05:22 PM
1 | 1 | Redmine Admin | h1. Installation |
---|---|---|---|
2 | |||
3 | h2. Additional steps after clean server installation |
||
4 | |||
5 | h3. Administration |
||
6 | |||
7 | * add ssh public keys |
||
8 | * setup ssh-agent forwarding on local machine for quest in ~/.ssh/config |
||
9 | * setup umask 0002 in .bashrc and source .bashrc from ~/.bash_profile |
||
10 | * fix locales: |
||
11 | <pre> |
||
12 | locale-gen en_US en_US.UTF-8 cs_CZ.UTF-8 |
||
13 | dpkg-reconfigure locales |
||
14 | </pre> |
||
15 | * install additional software: |
||
16 | <pre> |
||
17 | apt-get install vim mc locate git apache2 libapache2-mod-wsgi python-lxml python-pyicu python-docutils python-virtualenv man-db libantlr3c-3.2-0 mysql-server python-mysqldb apache2-utils python-cheetah npm nodejs-legacy sox libsox-fmt-mp3 |
||
18 | </pre> |
||
19 | * create group devs for developers |
||
20 | <pre> |
||
21 | groupadd devs |
||
22 | usermod -a -G devs <username> |
||
23 | ... |
||
24 | </pre> |
||
25 | * create basic directory structure |
||
26 | <pre> |
||
27 | mkdir -p /opt/projects/lindat-services-kontext/devel/ |
||
28 | chgrp -R devs /opt/projects |
||
29 | chmod -R g+w /opt/projects |
||
30 | find /opt/projects -type d | xargs chmod g+s |
||
31 | </pre> |
||
32 | |||
33 | * adjust limits |
||
34 | For large corpora the default limit of maximum number of open files (1024 on Ubuntu 14.04) has to be increased. |
||
35 | Add the followinf lines to /etc/security/limits.conf |
||
36 | <pre> |
||
37 | * hard nofile 65536 |
||
38 | * soft nofile 65536 |
||
39 | root hard nofile 65536 |
||
40 | root soft nofile 65536 |
||
41 | </pre> |
||
42 | Log off and log in again and verify the limit by issuing: |
||
43 | <pre> |
||
44 | ulimit -n |
||
45 | </pre> |
||
46 | |||
47 | h3. Corpus manager (Manatee) |
||
48 | |||
49 | * install the following development packages: |
||
50 | <pre> |
||
51 | apt-get install libantlr3c-dev libpcre3-dev python2.7-dev |
||
52 | </pre> |
||
53 | * download and unpack nosketch software: |
||
54 | ** finlib |
||
55 | <pre> |
||
56 | cd /opt/projects/lindat-services-kontext/vendor/nosketch/finlib |
||
57 | wget https://dl.dropboxusercontent.com/u/79180955/finlib-2.22.2.tar.gz |
||
58 | tar xzf finlib-2.22.2.tar.gz |
||
59 | cd finlib-2.22.2 |
||
60 | ./configure --with-pcre --prefix=/usr/local |
||
61 | make |
||
62 | sudo make install |
||
63 | </pre> |
||
64 | ** manatee-open |
||
65 | <pre> |
||
66 | cd /opt/projects/lindat-services-kontext/vendor/nosketch/manatee-open |
||
67 | wget https://dl.dropboxusercontent.com/u/79180955/manatee-open-2.83.3.tar.gz |
||
68 | tar xzf manatee-open-2.83.3.tar.gz |
||
69 | cd manatee-open-2.83.3 |
||
70 | ./configure CPPFLAGS='-I/opt/projects/lindat-services-kontext/vendor/nosketch/finlib/finlib-2.22.2' LDFLAGS='-L/usr/local/lib' --with-pcre --prefix=/usr/local |
||
71 | make |
||
72 | </pre> |
||
73 | * modify api/Makefile and remove --destdir "$(DESTDIR)" |
||
74 | * install |
||
75 | <pre> |
||
76 | sudo make install |
||
77 | </pre> |
||
78 | |||
79 | h3. Python 2.7 virtualenv |
||
80 | |||
81 | * *not needed for versions 0.5.x* |
||
82 | * activate python virtualenv and install Werkzeug |
||
83 | <pre> |
||
84 | cd /opt/projects/lindat-services-kontext/devel |
||
85 | virtualenv --system-site-packages pythonenv |
||
86 | . pythonenv/bin/activate |
||
87 | pip install Werkzeug |
||
88 | </pre> |
||
89 | |||
90 | * for version 0.5.x (cgi) the following error in apache error.log means that the first line of public/run.cgi (#!/bin/python) is not pointing to correct location: |
||
91 | |||
92 | <pre> |
||
93 | [Fri Oct 17 09:26:46.636768 2014] [cgid:error] [pid 5998:tid 139899360802688] (2)No such file or directory: AH01241: exec of '/opt/projects/lindat-services-kontext/production/lindat-kontext/public/run.cgi' failed |
||
94 | [Fri Oct 17 09:26:46.637452 2014] [cgid:error] [pid 3584:tid 139899261552384] [client 192.168.0.1:33875] End of script output before headers: run.cgi |
||
95 | [Fri Oct 17 09:39:10.377230 2014] [cgid:error] [pid 6161:tid 139899360802688] (2)No such file or directory: AH01241: exec of '/opt/projects/lindat-services-kontext/production/lindat-kontext/public/run.cgi' failed |
||
96 | </pre> |
||
97 | |||
98 | * for piwki tracker plugin piwikapi module is needed: |
||
99 | <pre> |
||
100 | . pythonenv/bin/activate |
||
101 | pip install piwikapi |
||
102 | </pre> |
||
103 | |||
104 | h3. HTTP Server (Apache2) |
||
105 | |||
106 | * configure apache2 |
||
107 | <pre> |
||
108 | a2enmod rewrite |
||
109 | # for master branch |
||
110 | a2enmod wsgi |
||
111 | # for release 0.5.x |
||
112 | a2enmod cgi |
||
113 | </pre> |
||
114 | * insert the following snippet into your wsgi configuration: /etc/apache2/mods-enabled/wsgi.conf |
||
115 | <pre> |
||
116 | WSGIPythonHome /opt/projects/lindat-services-kontext/devel/pythonenv |
||
117 | </pre> |
||
118 | * insert the following snippet into your virtual host configuration (e.g. /etc/apache2/sites-enabled/000-default.conf) for wsgi: |
||
119 | <pre> |
||
120 | # Kontext |
||
121 | WSGIScriptAlias /kontext /opt/projects/lindat-services-kontext/devel/lindat-kontext/public/app.py |
||
122 | |||
123 | <Directory /opt/projects/lindat-services-kontext/devel/lindat-kontext/public> |
||
124 | Require all granted |
||
125 | </Directory> |
||
126 | </pre> |
||
127 | * OR insert the following snippet into your virtual host configuration (e.g. /etc/apache2/sites-enabled/000-default.conf) for cgi: |
||
128 | <pre> |
||
129 | Alias /kontext /opt/projects/lindat-services-kontext/devel/lindat-kontext/public/ |
||
130 | |||
131 | <Directory /opt/projects/lindat-services-kontext/devel/lindat-kontext/public> |
||
132 | Require all granted |
||
133 | Options +ExecCGI |
||
134 | AddHandler cgi-script .cgi |
||
135 | AllowOverride FileInfo |
||
136 | RewriteEngine On |
||
137 | RewriteBase /kontext/ |
||
138 | RewriteRule ^$ http://quest.ms.mff.cuni.cz/kontext-dev/run.cgi/first_form [L,R=301] |
||
139 | </Directory> |
||
140 | </pre> |
||
141 | |||
142 | h3. Database (MySQL) |
||
143 | |||
144 | * setup MySQL database (mind the backticks in grant all privileges command) |
||
145 | <pre> |
||
146 | mysqladmin -p create lindat-kontext |
||
147 | mysql -p lindat-kontext |
||
148 | create user 'lindat-kontext'@'localhost' identified by 'somepassword\r |
||
149 | grant all privileges on `lindat-kontext`.* to 'lindat-kontext'@'localhost\r |
||
150 | </pre> |
||
151 | * create db schema (create-tables-mysql.sql not included in current version needed to be checkout from release 0.3.6, table had to be created manually) |
||
152 | <pre> |
||
153 | mysql -p -u lindat-kontext lindat-kontext < scripts/create-tables-mysql.sql |
||
154 | mysql -p -u lindat-kontext lindat-kontext < scripts/plugins/ucnk-create-tables.sql |
||
155 | </pre> |
||
156 | * setup log dir: |
||
157 | <pre> |
||
158 | mkdir -p /opt/projects/lindat-services-kontext/devel/log |
||
159 | chown www-data:devs /opt/projects/lindat-services-kontext/devel/log |
||
160 | chmod g+ws /opt/projects/lindat-services-kontext/devel/log |
||
161 | </pre> |
||
162 | * copy config file: |
||
163 | <pre> |
||
164 | cd /opt/projects/lindat-services-kontext/devel/lindat-kontext/ |
||
165 | cp config.sample.xml config.xml |
||
166 | </pre> |
||
167 | * modify config file (TODO, include diff) |
||
168 | |||
169 | h3. Grunt |
||
170 | |||
171 | * install javascript modules: |
||
172 | <pre> |
||
173 | npm install grunt-cli |
||
174 | npm install |
||
175 | </pre> |
||
176 | * run grunt |
||
177 | <pre> |
||
178 | ./node_modules/.bin/grunt |
||
179 | </pre> |