Support for empty input tag
[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, postgresql, python (>= 2.5), python-serial, python-rrdtool, python-psycopg2, python-cracklib, libjs-jquery, apache2, libapache2-mod-python, python-django, xz-utils, python-daemon, ntp
7
8 libgps-dev postgresql python-serial python-rrdtool python-psycopg2 python-cracklib libjs-jquery apache2 libapache2-mod-python python-django xz-utils python-daemon ntp
9
10 python-decoratedstr (from nirgal.com)
11 python-htmlentities (from nirgal.com)
12
13
14 = File system setup
15 ===================
16 addgroup ais
17 mkdir --mode 2775 /var/lib/ais # mode g+ws
18 chown :ais /var/lib/ais
19 mkdir --mode 2775 /var/lib/ais/db
20 mkdir --mode 2775 /var/lib/ais/db/bydate
21 mkdir --mode 2775 /var/lib/ais/db/last
22 mkdir --mode 2775 /var/lib/ais/stats/
23 mkdir --mode 2775 /var/lib/ais/nmea/
24 mkdir --mode 2775 /var/lib/ais/areas/
25 mkdir --mode 2775 /var/lib/ais/cron/
26 mkdir --mode 2775 /var/lib/ais/cron/fleets/
27 mkdir --mode 2775 /var/lib/ais/jobs/
28 mkdir --mode 2775 /etc/ais
29 chown :ais /etc/ais
30 mkdir --mode 2775 /var/log/ais
31 chown :ais /var/log/ais
32 mkdir --mode 2775 /var/run/ais/
33 chown :ais /var/run/ais
34
35 = Postgres setup
36 ================
37 createuser --no-superuser --no-createdb --no-createrole ais
38 psql -c '\password ais'
39 createdb ais -O ais
40 psql ais -h localhost -U ais -f structure.sql
41
42 = Config
43 ========
44 create your file in /etc/ais/config
45 chmod 660 /etc/ais/config
46 see etc/config.SAMPLE
47
48 create your file in /etc/ais/database
49 chmod 660 /etc/ais/database
50 see etc/database.SAMPLE
51
52 = Python module setup
53 =====================
54 ln -s /home/nirgal/kod/ais/bin /usr/lib/python2.6/ais
55 OR
56 sudo deploy.sh
57 OR
58 ln -s /home/nirgal/kod/ais/bin /usr/share/pyshared/ais
59 find /usr/share/pyshared/ais/ -name *.py > /usr/share/python-support/ais.public
60 update-python-modules /usr/share/python-support/ais.public
61
62 = Kernel tuning
63 ===============
64
65 I suggest you add these lines to your /etc/sysctl.conf file:
66
67 # for postgres: a process may use up to 768MB of RAM
68 kernel.shmmax=805306368
69 # Udp recv queue max size. Note this is not the max size a default socket will
70 get. 256*1024-1 => doubled by kernel = 512KB
71 net.core.rmem_max=262143
72
73 = Autostart
74 ===========
75 ln -s /home/nirgal/kod/ais/etc/init.sh /etc/init.d/ais
76 update-rc.d ais defaults
77
78 = Apache setup
79 ==============
80 adduser www-data ais
81
82 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.
83
84 a2enmod ssl headers rewrite
85
86 = Real time acquisition
87 =======================
88 umask 002
89 python -m ais.inputs.run --db --background
90
91 = Job queue runner
92 ==================
93 umask 002
94 python -m ais.jobrunner --daemon
95