Fix destination helptext in HistoryForm
[ais.git] / INSTALL
1 This software is known to work on GNU/Debian 6.0 (squeeze).
2 It has been tested on architectures i386 and amd64.
3
4 = Required packages
5 ===================
6 libgps-dev
7 postgresql
8 python (>= 2.5)
9 python-serial
10 python-rrdtool
11 python-psycopg2
12 python-cracklib
13 libjs-jquery
14 apache2
15 libapache2-mod-python
16 python-django
17 xz-utils
18 python-daemon
19 ntp
20
21 python-decoratedstr (from nirgal.com)
22 python-htmlentities (from nirgal.com)
23
24
25 = File system setup
26 ===================
27 addgroup ais
28 mkdir --mode 2775 /var/lib/ais # mode g+ws
29 chown :ais /var/lib/ais
30 mkdir --mode 2775 /var/lib/ais/db
31 mkdir --mode 2775 /var/lib/ais/db/bydate
32 mkdir --mode 2775 /var/lib/ais/db/last
33 mkdir --mode 2775 /var/lib/ais/stats/
34 mkdir --mode 2775 /var/lib/ais/nmea/
35 mkdir --mode 2775 /var/lib/ais/areas/
36 mkdir --mode 2775 /var/lib/ais/cron/
37 mkdir --mode 2775 /var/lib/ais/cron/fleets/
38 mkdir --mode 2775 /var/lib/ais/jobs/
39 mkdir --mode 2775 /etc/ais
40 chown :ais /etc/ais
41 mkdir --mode 2775 /var/log/ais
42 chown :ais /var/log/ais
43 mkdir --mode 2775 /var/run/ais/
44 chown :ais /var/run/ais
45
46 = Postgres setup
47 ================
48 createuser --no-superuser --no-createdb --no-createrole ais
49 psql -c '\password ais'
50 createdb ais -O ais
51 psql ais -h localhost -U ais -f structure.sql
52
53 = Config
54 ========
55 create your file in /etc/ais/config
56 chmod 660 /etc/ais/config
57 see etc/config.SAMPLE
58
59 create your file in /etc/ais/database
60 chmod 660 /etc/ais/database
61 see etc/database.SAMPLE
62
63 = Python module setup
64 =====================
65 ln -s /home/nirgal/kod/ais/bin /usr/lib/python2.6/ais
66 OR
67 sudo deploy.sh
68 OR
69 ln -s /home/nirgal/kod/ais/bin /usr/share/pyshared/ais
70 find /usr/share/pyshared/ais/ -name *.py > /usr/share/python-support/ais.public
71 update-python-modules /usr/share/python-support/ais.public
72
73 = Kernel tuning
74 ===============
75
76 I suggest you add these lines to your /etc/sysctl.conf file:
77
78 # for postgres: a process may use up to 768MB of RAM
79 kernel.shmmax=805306368
80 # Udp recv queue max size. Note this is not the max size a default socket will
81 get. 256*1024-1 => doubled by kernel = 512KB
82 net.core.rmem_max=262143
83
84 = Apache setup
85 ==============
86 adduser www-data ais
87
88 change apache umask in /etc/apache2/envvars from 022 to 002 so that new folders are group writables. If there is no such line, just add "umask 002" at the end of the file.
89
90 a2enmod ssl headers rewrite
91
92 = Real time acquisition
93 =======================
94 umask 002
95 python -m ais.inputs.run --db --background
96
97 = Job queue runner
98 ==================
99 umask 002
100 python -m ais.jobrunner --daemon
101