3a47c855fafa4ba092b06392d9ae6cc890e98e46
[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, python-daemon, sudo
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 python-daemon sudo
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
33 = Postgres setup
34 ================
35 createuser --no-superuser --no-createdb --no-createrole ais
36 psql -c '\password ais'
37 createdb ais -O ais
38 psql ais -h localhost -U ais -f structure.sql
39
40 = Config
41 ========
42 create your file in /etc/ais/config
43 chmod 660 /etc/ais/config
44 see etc/config.SAMPLE
45
46 create your file in /etc/ais/database
47 chmod 660 /etc/ais/database
48 see etc/database.SAMPLE
49
50 = Python module setup
51 =====================
52 ln -s /home/nirgal/kod/ais/bin /usr/share/pyshared/ais
53 find /usr/share/pyshared/ais/ -name *.py > /usr/share/python-support/ais.public
54 update-python-modules /usr/share/python-support/ais.public
55
56 = Kernel tuning
57 ===============
58
59 I suggest you add these lines to your /etc/sysctl.conf file:
60
61 # for postgres: a process may use up to 768MB of RAM
62 kernel.shmmax=805306368
63 # Udp recv queue max size. Note this is not the max size a default socket will
64 get. 256*1024-1 => doubled by kernel = 512KB
65 net.core.rmem_max=262143
66
67 = Autostart
68 ===========
69 ln -s /home/nirgal/kod/ais/etc/init.sh /etc/init.d/ais
70 update-rc.d ais defaults
71
72 = Apache setup
73 ==============
74 adduser www-data ais
75
76 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.
77
78 a2enmod ssl headers rewrite