989d14cc3ebffb8fb26835d5a4524224a63644ec
[mir.git] / doc / INSTALL.mir
1 Here is a short installation-howto of Mir.
2
3
4 prerequisites: 
5
6 - tomcat 
7 - apache with mod_jk.so 
8 - postgres 7.1.x
9 - ant (a java-based make) 
10
11
12 1. checkout the cvs
13
14 CVS LOGIN:
15
16         cvs -d :pserver: cvsanon@brazil.indymedia.de:/var/cvs login 
17         password: cvs 
18
19 CVS CHECKOUT:
20
21         cvs -d :pserver: cvsanon@brazil.indymedia.de:/var/cvs co mir 
22
23
24 2. customize the config: 
25
26         cd mir/source 
27         cp config.properties-dist config.properties 
28
29 now customize config.properties for your needs.
30
31
32 3. configure the build.sh file with java_home
33         cp build.sh-dist build.sh 
34         chmod 755 build.sh
35
36
37 4. copy the mir/template-dist-directory to mir/template 
38
39
40 5. compile
41         sh build.sh 
42
43
44 6. Link in the webapps directory of tomcat to the install directory (the 
45 directory is called "Mir" and is located in the same directory in which 
46 you installed the "mir" directory). 
47         cd /usr/share/tomcat/webapps
48         ln -s Mir-install-dir Mir
49
50
51 7. create a new database 
52 the database name should be the same as in config.properties
53 as user postgres: 
54         createdb dbname 
55
56
57 8. create base table
58         psql -Upostgres dbname < dbscripts/create_pg.sql
59         cat dbscript/help*.sql | psql -Upostgres dbname
60         cat dbscript/populate*.sql | psql -Upostgres dbname
61
62 9. Add the dupe prevention trigger to the database:
63         cd dbscripts/dupetrigger
64         
65         There, read INSTALL and follow the instructions.
66         
67
68 10. Set permissions
69         We provide a script that sets all files' and direcories' permissions to
70         a quite reasonable state.
71         
72         cp perms.sh-dist perms.sh
73         # Now, change the install directory and group in perms.sh
74         edit perms.sh 
75         ./perms.sh
76
77
78 11. restart tomcat 
79
80 12. configure mod_jk 
81
82 insert the following patch into /etc/apache/httpd.conf. Edit the directories
83 to suit your needs.
84
85 <IfModule mod_jk.c>
86 JkWorkersFile /usr/share/tomcat/conf/workers.properties
87 Include /usr/share/tomcat/conf/mod_jk.conf-auto
88 </IfModule>
89
90 Do not put any JkMount lines into your httpd.conf!
91
92 If mod_jk.conf-auto doesn't get written or is 0 bytes in size, check your
93 system for file ownership/permissions problems.
94
95
96 13. Add a password to your PostgreSQL user and link it to Mir (optional)
97
98 Add a hard to guess password to the PostgreSQL user database:
99
100 # psql -U postgres Mir
101 alter user postgres with password 'yourpassword';
102
103
104 Then, in /etc/postgresql/pg_hba.conf you should make sure that nobody can
105 use the database without a password:
106
107 local            all                                                                               password
108 host         all         127.0.0.1     255.0.0.0           password
109 host         all         0.0.0.0       0.0.0.0             reject
110
111
112 Then, change the database password line in config.properties:
113
114 Database.Username=postgres
115 Database.Password=yourpassword
116
117 You should make sure that no copy of config.properties (neither in mir nor
118 in Mir/src nor in Mir/WEB-INF/classes) is world-readable. Else you wouldn't
119 have to install a password, anyway.
120
121 If you can't access PostgreSQL after this for any reason, try to change
122 "password" in /etc/postgresql/pg_hba.conf into "trust". This should disable
123 any authentication method and make the database accessible again.
124
125 that's it :)
126
127 now the admin-application is accesable via:  
128
129         http://host/Mir 
130
131 and the openposting-servlet via  
132         
133         http://host/OpenMir
134
135 standard login is redaktion/indymedia