Commit 618e5b4e1fad12baa1b3580fb00ba125095b52cc

Authored by Sergio Oliveira
1 parent f1979c27

Removed out-dated install docs

Showing 1 changed file with 0 additions and 421 deletions   Show diff stats
install.rst
@@ -1,421 +0,0 @@ @@ -1,421 +0,0 @@
1 -.. -*- coding: utf-8 -*-  
2 -  
3 -.. highlight:: rest  
4 -  
5 -.. _colab_software:  
6 -  
7 -=================================  
8 -Installing a full colab environment  
9 -=================================  
10 -  
11 -This file will guide you through the installation of colab's dependencys,  
12 -external tools and its integration with colab to help you start using/working.  
13 -  
14 -The dependecys installation steps will be based of Ubuntu 13.04 but the tools,  
15 -integrations and the colab itself runs in a virtual machine so it'll be the same regardless of your system.  
16 -  
17 -  
18 -Fabric + VirtualBox + Vagrant  
19 -==============  
20 -  
21 -You can easily install fabric using pip with  
22 -  
23 -.. code-block::  
24 -  
25 - sudo apt-get install python-pip  
26 - sudo pip install fabric  
27 -  
28 -You can also instal Virtual Box with apt-get  
29 -  
30 -.. code-block::  
31 -  
32 - sudo apt-get install virtualbox  
33 -  
34 -Now, vagrant has an apt-get but its not supported anymore, so you'll have to manually download and install it from the site  
35 -  
36 - https://www.vagrantup.com/downloads.html  
37 -  
38 -Starting the VM and environment  
39 -===============================  
40 -  
41 -Clone the repository to your system  
42 -  
43 -.. code-block::  
44 -  
45 - git clone https://github.com/colab-community/colab.git  
46 - cd colab  
47 -  
48 -Create your local configuration file(we'll adjust it later)  
49 -  
50 -.. code-block::  
51 -  
52 - cp src/colab/local_settings-dev.py src/colab/local_settings.py  
53 -  
54 -To startup the VM simple do  
55 -  
56 -.. code-block::  
57 -  
58 - vagrant up  
59 -  
60 -*NOTE*  
61 -  
62 - In case you have problems creating the virtual machine you might need to download the linux header files  
63 -  
64 - .. code-block::  
65 -  
66 - linux-headers-generic  
67 -  
68 -Accessing the VM and configurating the database  
69 -===============================================  
70 -  
71 -You should now be able to access your VM through  
72 -  
73 -.. code-block::  
74 -  
75 - vagrant ssh  
76 -  
77 -*NOTE*  
78 -  
79 - In case you get a connection port refused or ssh error, you might need to activate manually an ssh server(rare)  
80 -  
81 - .. code-block::  
82 -  
83 - sudo apt-get install ssh; sudo service ssh start;  
84 -  
85 -The VM doesnt come with a databse so, you'll need to install one inside it.  
86 -Inside de VM download and install postgresql  
87 -  
88 -.. code-block::  
89 -  
90 - sudo apt-get install postgresql  
91 -  
92 -Access the postgresql database and create a new database and user colab user  
93 -  
94 -.. code-block::  
95 -  
96 - sudo -u postgres psql  
97 - CREATE USER colab SUPERUSER INHERIT CREATEDB CREATEROLE;  
98 - ALTER USER colab PASSWORD 'colab';  
99 - CREATE DATABASE colab;  
100 -  
101 -Also, create the Trac's database(note it needs to support UTF8)  
102 -  
103 -.. code-block::  
104 -  
105 - create database "trac_colab" with owner "colab" encoding 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' TEMPLATE=template0;  
106 - \q  
107 -  
108 -That's the database used for Trac, but its needed so colab can make its migrations correctly and adjust solr accordinly  
109 -  
110 -Installing Trac on the VM  
111 -=========================  
112 -  
113 -Inside the VM(vagrant ssh) download e install trac  
114 -  
115 -.. code-block::  
116 -  
117 - sudo apt-get install trac  
118 - sudo pip install --upgrade Trac  
119 -  
120 -Now you'll need to configure trac so it can access the previously created database.  
121 -  
122 -.. code-block::  
123 -  
124 - mkdir -p /var/local/trac  
125 - sudo trac-admin /var/local/trac initenv  
126 -  
127 -Set the project name to 'Colab' when asked, and the following postgresql connection string  
128 -  
129 -.. code-block::  
130 -  
131 - postgres://colab:colab@/trac_colab?host=localhost  
132 -  
133 -The trac database should be populated with relations, now need to give trac write access to its folders  
134 -  
135 -.. code-block::  
136 -  
137 - sudo chown -R www-data /var/local/trac  
138 - sudo chmod -R 775 /var/local/trac  
139 -  
140 -Finally, trac can be run by  
141 -  
142 -.. code-block::  
143 -  
144 - tracd --port 5000 /var/local/trac  
145 -  
146 -Use port 8000 and access it on port 8080 in your local machine to see it works if you'd like(vagrant has port redirects)  
147 -  
148 -Installing Solr and indexing colab's schemas  
149 -==========================================  
150 -In Progress of making it readable  
151 - #http servlet jetty  
152 - sudo apt-get install jetty  
153 -  
154 - #solr  
155 - wget http://ftp.unicamp.br/pub/apache/lucene/solr/4.6.1/solr-4.6.1.tgz  
156 - tar xvzf solr-4.6.1.tgz  
157 - sudo mv solr-4.6.1 /usr/share/solr  
158 -  
159 - sudo cp /usr/share/solr/example/webapps/solr.war /usr/share/solr/example/solr/solr.war  
160 -  
161 - python manage.py build_solr_schema >> schema.xml  
162 - #existe mais de uma referencia a stopwords_en  
163 - trocar no schema.xml stopwords_en.txt por lang/stopwords_en.txt  
164 -  
165 - sudo cp schema.xml /usr/share/solr/example/solr/collection1/conf  
166 -  
167 - #inclusive a tag  
168 - Remova <updateLog> em solrconfig.xml localizado em /usr/share/solr/example/solr/collection1/conf  
169 -  
170 - #executa servidor  
171 - cd /usr/share/solr/example/; java -jar start.jar;  
172 -  
173 - #indexa  
174 - python manage.py update_index  
175 -  
176 -  
177 -Installing Mailman with Nginx  
178 -=============================  
179 -  
180 -Nginx Configuration:  
181 -  
182 -In order to let nginx serve the Mailman web interface, we need to have the fcgiwrap package installed:  
183 -  
184 -.. code-block::  
185 -  
186 - sudo apt-get install fcgiwrap  
187 -  
188 -Setting the vhost:  
189 -  
190 -Create the www.example.com web site root as follows:  
191 -  
192 -.. code-block::  
193 -  
194 - mkdir -p /var/www/www.example.com/web  
195 -  
196 -Next create a basic nginx vhost configuration editing the .vhost file (editor /etc/nginx/sites-available/www.example.com.vhost):  
197 -  
198 -.. code-block::  
199 -  
200 - server {  
201 - listen 8000;  
202 - server_name www.example.com example.com;  
203 - root /var/www/www.example.com/web;  
204 - if ($http_host != "localhost:8080") {  
205 - rewrite ^ localhost$request_uri permanent;  
206 - }  
207 - index index.php index.html;  
208 - location = /favicon.ico {  
209 - log_not_found off;  
210 - access_log off;  
211 - }  
212 - location = /robots.txt {  
213 - allow all;  
214 - log_not_found off;  
215 - access_log off;  
216 - }  
217 - # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).  
218 - location ~ /\. {  
219 - deny all;  
220 - access_log off;  
221 - log_not_found off;  
222 - }  
223 - location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {  
224 - expires max;  
225 - log_not_found off;  
226 - }  
227 - }  
228 -  
229 -To enable the vhost, we create a symlink to it from the /etc/nginx/sites-enabled/ directory:  
230 -  
231 -.. code-block::  
232 -  
233 - cd /etc/nginx/sites-enabled/  
234 - ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost  
235 -  
236 -Reload nginx for the changes to take effect:  
237 -  
238 -.. code-block::  
239 -  
240 - /etc/init.d/nginx reload  
241 -  
242 -Mailman Configuration:  
243 -  
244 -.. code-block::  
245 -  
246 - sudo apt-get install mailman  
247 -  
248 -Create a new mailing list:  
249 -  
250 -.. code-block::  
251 -  
252 - sudo newlist mailman  
253 -  
254 -Open the /etc/aliases (editor /etc/aliases) and add the following:  
255 -  
256 -.. code-block::  
257 -  
258 - mailman: "|/var/lib/mailman/mail/mailman post mailman"  
259 - mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"  
260 - mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"  
261 - mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"  
262 - mailman-join: "|/var/lib/mailman/mail/mailman join mailman"  
263 - mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"  
264 - mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"  
265 - mailman-request: "|/var/lib/mailman/mail/mailman request mailman"  
266 - mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"  
267 - mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"  
268 -  
269 -Run:  
270 -  
271 -.. code-block::  
272 -  
273 - sudo newaliases  
274 -  
275 -Now restart postfix and mailman:  
276 -  
277 -.. code-block::  
278 -  
279 - sudo /etc/init.d/postfix restart  
280 - sudo /etc/init.d/mailman start  
281 -  
282 -Open /etc/nginx/sites-available/www.example.com.vhost and add the following part to the server {} container:  
283 -  
284 -.. code-block::  
285 -  
286 - server {  
287 - [...]  
288 - location /cgi-bin/mailman {  
289 - root /usr/lib/;  
290 - fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;  
291 - include /etc/nginx/fastcgi_params;  
292 - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
293 - fastcgi_param PATH_INFO $fastcgi_path_info;  
294 - fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;  
295 - fastcgi_intercept_errors on;  
296 - fastcgi_pass unix:/var/run/fcgiwrap.socket;  
297 - }  
298 - location /images/mailman {  
299 - alias /usr/share/images/mailman;  
300 - }  
301 - location /pipermail {  
302 - alias /var/lib/mailman/archives/public;  
303 - autoindex on;  
304 - }  
305 - [...]  
306 - }  
307 -  
308 -Now create the fastcgi_params file and add the following:  
309 -  
310 -.. code-block::  
311 -  
312 - fastcgi_param QUERY_STRING $query_string;  
313 - fastcgi_param REQUEST_METHOD $request_method;  
314 - fastcgi_param CONTENT_TYPE $content_type;  
315 - fastcgi_param CONTENT_LENGTH $content_length;  
316 -  
317 - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
318 - fastcgi_param SCRIPT_NAME $fastcgi_script_name;  
319 - fastcgi_param REQUEST_URI $request_uri;  
320 - fastcgi_param DOCUMENT_URI $document_uri;  
321 - fastcgi_param DOCUMENT_ROOT $document_root;  
322 - fastcgi_param SERVER_PROTOCOL $server_protocol;  
323 -  
324 - fastcgi_param GATEWAY_INTERFACE CGI/1.1;  
325 - fastcgi_param SERVER_SOFTWARE nginx;  
326 -  
327 - fastcgi_param REMOTE_ADDR $remote_addr;  
328 - fastcgi_param REMOTE_PORT $remote_port;  
329 - fastcgi_param SERVER_ADDR $server_addr;  
330 - fastcgi_param SERVER_PORT $server_port;  
331 - fastcgi_param SERVER_NAME $server_name;  
332 -  
333 -Now open the mm_config.py file (sudo editor /etc/mailman/mm_config.py) and modify the lines below to:  
334 -  
335 -.. code-block::  
336 -  
337 - DEFAULT_EMAIL_HOST = 'localhost'  
338 - DEFAULT_URL_HOST = 'localhost:8080'  
339 -  
340 -To these modifications have effect do the following:  
341 -  
342 -.. code-block::  
343 -  
344 - sudo withlist -l -a -r fix_url  
345 -  
346 -Also tt's needed to add permission to mailman to access the name_of_the_list.mbox because it needs to archive the emails:  
347 -  
348 -.. code-block::  
349 -  
350 - sudo chown -R root:list /var/lib/mailman/archives  
351 - sudo chown -R root:list /var/lib/mailman/data/aliases  
352 - sudo chown -R root:list /etc/aliases  
353 - sudo chmod -R u+rwX /var/lib/mailman/archives  
354 -  
355 -Now restart fcgi, mailman and nginx:  
356 -  
357 -.. code-block::  
358 -  
359 - sudo /etc/init.d/fcgiwrap restart  
360 - sudo /etc/init.d/mailman restart  
361 - sudo /etc/init.d/nginx reload  
362 -  
363 -To see if it's working:  
364 -  
365 -.. code-block::  
366 -  
367 - http://localhost:8080/cgi-bin/mailman/listinfo/mailman  
368 -  
369 -Setting up Colab  
370 -=========================  
371 -  
372 -You can exit the vagrant VM ('exit' inside the ssh shell) but for now leave it running Trac and start a new terminal tab  
373 -  
374 -Open the /src/colab/local_settings.py file  
375 -  
376 -Change COLAB_TRAC_URL to  
377 -  
378 -.. code-block::  
379 -  
380 - COLAB_TRAC_URL = 'http://localhost:5000/trac/'  
381 -  
382 -Or the port you're using to Trac  
383 -  
384 -After this it's needed to import the e-mails from Mailman:  
385 -  
386 -.. code-block::  
387 -  
388 - sudo python manage.py import_emails  
389 -  
390 -And also update Solr:  
391 -  
392 -.. code-block::  
393 -  
394 - sudo python manage.py update_index  
395 -  
396 -Then, use fabric at colab's root to update the requirements to your VM  
397 -  
398 -.. code-block::  
399 -  
400 - fabric runserver:update  
401 -  
402 -*NOTE:*  
403 -  
404 - The fabric installation on ubuntu through 'pip install' might not be added to the path so you'll need to find  
405 - where it was installed if thats your case  
406 -  
407 -Lastly, run fabric again to run the server (it'll also sync and migrate colab's database) and open new tabs to run trac and solr:  
408 -  
409 -.. code-block::  
410 -  
411 - fab runserver  
412 - fab trac  
413 - fab solr  
414 -  
415 -You should be able to see colab with its cms service already working at port 8000(because of vagrant redirects)  
416 -  
417 -*NOTE*  
418 -  
419 - In case login doesn't work, change the SITE_URL in src/colab/local_settings.py and in src/colab/custom_settings.py the reflect the django's port  
420 - Also, add the following line riht bellow it  
421 - BROWSERID_AUDIENCES = [SITE_URL, SITE_URL.replace('https', 'http')]