sevr. updts.: recmmd. reading, JkMount stuff, postgres user permissions and apache...
authormh <mh>
Wed, 3 Jul 2002 12:07:58 +0000 (12:07 +0000)
committermh <mh>
Wed, 3 Jul 2002 12:07:58 +0000 (12:07 +0000)
doc/INSTALL.mir

index 190efc9..bdeec10 100755 (executable)
@@ -1,4 +1,6 @@
 MIR INSTALLATION HOWTO
+
+Last updated: $Date: 2002/07/03 12:07:58 $
 ----------------------------------------------------------------
 
 Here is a short installation-howto of Mir.
@@ -7,15 +9,19 @@ Here is a short installation-howto of Mir.
 prerequisites: 
 
 - tomcat 4.0.3 or above (3.3 works too as of 04.04.2002, but this could change)
-  tomcat is available from http://jakarta.apache.org
-- apache with mod_jk.so
-- postgres 7.1.x or 7.2.x
+  tomcat is available from http://jakarta.apache.org/tomcat/
+- apache with mod_jk.so http://httpd.apache.org
+- postgres 7.1.x or 7.2.x. http://www.postgresql.org
 - ant (a java-based make) 
 - jaxp-1.1 (a SAX 2.0 compliant XML parser, comes with ant >= 1.4)
 - the JAI image framework (Java Advanced Imaging) versin 1.1.1 . get it from 
   java.sun.com. ** NOTE: because JAI uses a native acceration library (a .so)
   it must be placed in tomcat's "lib" (i.e $TOMCAT_HOME/lib) directory and
   not under the default webapps/Mir/WEB-INF/lib directory **
+- A good reading of Tomcat, Apache and Postgresql documentation if you are not
+  familiar with any of them. The documentation is available at:
+  http://jakarta.apache.org/tomcat/tomcat-4.0-doc/index.html,
+  http://httpd.apache.org/docs/ and http://www.postgresql.org respectively.
 
 1. checkout the cvs
 
@@ -26,7 +32,7 @@ CVS LOGIN:
 
 CVS CHECKOUT:
 
-       cvs -d :pserver:anonymous@mir.indymedia.org:/var/lib/cvsco mir 
+       cvs -d :pserver:anonymous@mir.indymedia.org:/var/lib/cvs co mir 
 
 
 2. customize the config: 
@@ -67,14 +73,15 @@ the permissions and owners correctly.
 
 6. Link in the webapps directory of tomcat to the install directory (the 
 directory is called "Mir" and is located in the same directory in which 
-you installed the "mir" directory). 
+you installed the "mir" directory). (Here and in the rest of this document,
+we assume you called the link "Mir", but this could be named anything.)
        cd /path/to/tomcat/webapps (tomcat-4.0.x/webapps)
-       ln -s Mir-install-dir Mir
+       ln -s /path/to/Mir Mir
 
 with tomcat 4.0.x, you could dynamically reload and stop the Mir webapp without
 restarting tomcat by using the "Manager App" with the following url:
 
-http://localhost:8080/manager/stop?path=/mir
+http://localhost:8080/manager/stop?path=/Mir
 
 This is practical if you are running several installations of mir on one 
 tomcat or other webapps and can't afford to shutdown all of them.
@@ -126,7 +133,6 @@ this: "8ncx4un".
     
     CREATE USER Mir WITH PASSWORD 'joshua' NOCREATEDB NOCREATEUSER;
 
-
 8c. create base table
 Please note that we use the superuser "postgres" to connect to the "Mir"
 database, /not/ the user "mir". 
@@ -135,8 +141,25 @@ database, /not/ the user "mir".
     for i in dbscripts/help*.sql ; do psql -Upostgres -f $i Mir ; done
     for i in dbscripts/populate*.sql ; do psql -Upostgres -f $i Mir ; done
 
+8d. Grant the required permissions to the new user
+
+-- The following should be executed as the "postgres" DB user.
+-- Note that ID_FROM_PG_USER and DATABASENAME should be replace with the 
+   appropriate field values from the 2 prior selects.
+-- set owner of datbase
+select * from pg_database;
+select * from pg_user;
+update pg_database set datdba=ID_FROM_PG_USER where datname=DATABASENAME
+
+-- find all tables to grant privs / select is just building sql
+-- to be exectued
+
+select 'grant all on '||relname||' to "de_indy";'
+from pg_class
+where relname not like 'pg%'
+order by relname;
 
-8d. Apply neccessary changes to config.properties
+8e. Apply neccessary changes to config.properties
 
 Please open config.properties and look for the lines that begin with
 "Database.". The interesting properties are "Username", "Password", "Host"
@@ -148,17 +171,6 @@ in Mir/src nor in Mir/WEB-INF/classes nor in the directory tree you compiled
 Mir from) is world-readable. Else you wouldn't have to install a password,
 anyway.
 
-8e. Tweak mime-type extensions mappings in etc/web.xml file.
-
-*** Note the defaults should be o.k for most installations ***
-
-Add or remove any mime types you wish to support. This is used to figure
-out the mime-type when (broken browsers?) browsers don't send the mime-type
-in the content-type header field when uploading a media file. Note add the
-moment you still have to add these to the media_type SQL table as well which
-maps the mime-types to the correct mediaHandler class. See the comments in
-the MirMedia class in javadoc for more details.
-
 8f. Setup PostgreSQL so that all connections have to pass a password
 
 In /etc/postgresql/pg_hba.conf you should make sure that nobody can
@@ -192,9 +204,33 @@ database takeover harder. Rememer: Security is a process.
        There, read INSTALL and follow the instructions.
        
 
-10. restart tomcat 
+10. Tweak mime-type extensions mappings in etc/web.xml file.
+
+*** Note the defaults should be o.k for most installations ***
+
+Add or remove any mime types you wish to support. This is used to figure
+out the mime-type when (broken browsers?) browsers don't send the mime-type
+in the content-type header field when uploading a media file. Note add the
+moment you still have to add these to the media_type SQL table as well which
+maps the mime-types to the correct mediaHandler class. See the comments in
+the MirMedia class in javadoc for more details.
+
+11. restart tomcat 
 
-11. configure mod_jk 
+12. configure mod_jk 
+
+There are 2 ways to do this. auto-generation of mod_jk.conf or manula JKMount
+lines. (rumour has it that Tomcat 4.0.x doesn't support auto-generation, but
+this is unconfirmed).
+
+In both examples please note that the JkWorkersFile line only needs to appear
+once per Apache config.
+
+Also this assumes that your tomcat installation has it's ajp13 conenctor 
+turned on. See tomcat's server.xml file and documentation for this. Chances
+are that it is turned on.
+
+Method a). The automatic mod_jk.conf method:
 
 insert the following patch into /etc/apache/httpd.conf. Edit the directories
 to suit your needs.
@@ -209,27 +245,50 @@ Do not put any JkMount lines into your httpd.conf!
 If mod_jk.conf-auto doesn't get written or is 0 bytes in size, check your
 system for file ownership/permissions problems.
 
+Method b). Manual JKMount lines
+
+insert the following patch into /etc/apache/httpd.conf. Edit the directories
+to suit your needs.
+
+<IfModule mod_jk.c>
+JkWorkersFile /path/to/tomcat/conf/workers.properties
+JkMount /Mir ajp13
+JkMount /Mir/* ajp13
+</IfModule>
+
 
-12. configure apache
+13. configure apache
 
 edit http.conf:
 * set the document root to the same directory as in the mir config file
 * enable shtml includes:
   - add LoadModule includes_module /usr/lib/apache/1.3/mod_include.so
   - make sure your directory contains "Options Includes"
-
+* Determine if you need to modify any apache mime-mappings
+  - The web-server host must recognize the .m3u, .pls and other file extensions
+    and send the proper "audio/x-mpegurl" and "audio/x-scpls" mime-types
+    respectively.  If the web server is apache, it's easy, just
+    add:
+    
+    audio/x-mpegurl                 m3u
+    audio/x-scpl                    pls
+    
+    to the file pointed to by the "TypesConfig" command in your apache config
+    file. Or add and equivalent AddType command to your httpd.conf.  Of course
+    this assumes that the mod_mime is loaded.
 
 that's it :)
 
 now the admin-application is accesable via:  
 
-       http://host/Mir 
+       http://host/Mir/servlet/Mir 
 
 and the openposting-servlet via  
        
-       http://host/OpenMir
+       http://host/Mir/servlet/OpenMir
 
-standard login is redaktion/indymedia
+standard login is admin/indymedia. See the webdb_users SQL table to change/add
+users or passwords.
 
 
 SEARCHING
@@ -260,4 +319,4 @@ You can give these a try if anything goes wrong:
 
 ----------------------------------------------------------------
 
-2001, 2002 - the Mir coders
+$Date: 2002/07/03 12:07:58 $ - the Mir coders