X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=doc%2FINSTALL.mir;h=f359b5e4bdb65c7272a143b0c193026bf87ae38c;hb=290bfaef53e70f4c17ec948b99f5f7eb36e28915;hp=c9bfd64e94236a56204805f8ec0938496d5f4e6a;hpb=8424d3a07885dc9e47c8d1ce0e40509fd6f2217e;p=mir.git diff --git a/doc/INSTALL.mir b/doc/INSTALL.mir index c9bfd64e..f359b5e4 100755 --- a/doc/INSTALL.mir +++ b/doc/INSTALL.mir @@ -1,26 +1,32 @@ +MIR INSTALLATION HOWTO +---------------------------------------------------------------- + Here is a short installation-howto of Mir. prerequisites: -- tomcat -- apache with mod_jk.so -- postgres 7.1.x +- 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 - 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: it must be placed in tomcat's common/lib directory ** + 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 ** 1. checkout the cvs CVS LOGIN: - cvs -d :pserver: cvsanon@brazil.indymedia.de:/var/cvs login - password: cvs + cvs -d :pserver:anonymous@mir.indymedia.org:/var/lib/cvs login + password: anonymous CVS CHECKOUT: - cvs -d :pserver: cvsanon@brazil.indymedia.de:/var/cvs co mir + cvs -d :pserver:anonymous@mir.indymedia.org:/var/lib/cvsco mir 2. customize the config: @@ -31,12 +37,7 @@ CVS CHECKOUT: now customize config.properties for your needs. -3. configure the build.xml file if neccessary - cd .. - cp build.xml-new build.xml - - -4. configure the perms.sh file if neccessary -- IMPORTANT! READ THIS! +3. configure the perms.sh file if neccessary -- IMPORTANT! READ THIS! We provide a script that sets all files' and direcories' permissions to a quite reasonable state. This script gets automagically called by ant after compilationl. The most important thing you have to do after @@ -51,35 +52,41 @@ Now, change the install directory and group in perms.sh edit perms.sh -5. copy the mir/templates-dist-directory to mir/templates +4. copy the mir/templates-dist-directory to mir/templates -6. compile +5. compile. For this step, you have to make sure that the TOMCAT_HOME +environment variable is set to the root of your tomcat installation. +The build.xml compile target will give up if this is not set. + Do this as root so the permissions script is able to set the permissions and owners correctly. ant -7. Link in the webapps directory of tomcat to the install directory (the +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). - cd /usr/share/tomcat/webapps + cd /path/to/tomcat/webapps (tomcat-4.0.x/webapps) ln -s Mir-install-dir Mir -8. Modify your tomcat startup script and add an LD_LIBRARY_PATH variable -that points to the WEB-INF/lib directory of your Mir install dir. (called -"Mir"). Add something like the following at the top of tomcat.sh (tomcat.sh -is found in the "bin/" dir. under $TOMCAT_HOME): - LD_LIBRARY_PATH=/path/to/Mir-install-dir/WEB-INF/lib +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 -An alternaive way to avoid this is to copy any dynamic library files -ending with ".so" in WEB-INF/lib to your jre/jdk lib directory (where the -other ".so" files live). Or, you can skip the whole thing and live without -"native" acceleration for image manipulation +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. +See the tomcat documentation to learn how to enable and use the manager app. +7. Copy any dynamic library files ending with ".so" (so far only the JAI native +acceleration library found in the JAI package tarball or zip from sun) to your +$JAVA_HOME/jre/lib/i386 directory (where the other ".so" files live). Or, you +can skip the whole thing and live without "native" acceleration for image +manupulation. -9a. create a new database +8a. create a new database The database name should be the same as in config.properties. Please look at the section "Database.*" to look up the names or change them to your needs. @@ -106,7 +113,7 @@ Please note that if you create the database from inside the psql application, the database name will likely be converted to lowercase letters. -9b. create an unprivileged database user for Mir +8b. create an unprivileged database user for Mir First, connect to the database as the database's superuser. psql -U postgres Mir @@ -120,7 +127,7 @@ this: "8ncx4un". CREATE USER Mir WITH PASSWORD 'joshua' NOCREATEDB NOCREATEUSER; -9c. create base table +8c. create base table Please note that we use the superuser "postgres" to connect to the "Mir" database, /not/ the user "mir". @@ -129,7 +136,7 @@ database, /not/ the user "mir". for i in dbscripts/populate*.sql ; do psql -Upostgres -f $i Mir ; done -9d. Apply neccessary changes to config.properties +8d. 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" @@ -141,8 +148,18 @@ 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 *** -9e. Setup PostgreSQL so that all connections have to pass a password +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 use the database without a password: @@ -169,22 +186,22 @@ database takeover harder. Rememer: Security is a process. -10. Add the dupe prevention trigger to the database: +9. Add the dupe prevention trigger to the database: cd dbscripts/dupetrigger There, read INSTALL and follow the instructions. -11. restart tomcat +10. restart tomcat -12. configure mod_jk +11. configure mod_jk insert the following patch into /etc/apache/httpd.conf. Edit the directories to suit your needs. -JkWorkersFile /usr/share/tomcat/conf/workers.properties -Include /usr/share/tomcat/conf/mod_jk.conf-auto +JkWorkersFile /path/to/tomcat/conf/workers.properties +Include /path/to/tomcat/conf/mod_jk.conf-auto Do not put any JkMount lines into your httpd.conf! @@ -193,7 +210,7 @@ If mod_jk.conf-auto doesn't get written or is 0 bytes in size, check your system for file ownership/permissions problems. -13. configure apache +12. configure apache edit http.conf: * set the document root to the same directory as in the mir config file @@ -215,6 +232,19 @@ and the openposting-servlet via standard login is redaktion/indymedia +SEARCHING + +The Mir code offers no internal search facilities, rather, the design +expects the use of an external program to crawl and index the static +site. One (recommended) tool for doing this is htdig +(http://htdig.org), which generates static databases of the site +content and then accesses those databases through a very fast CGI +program written in C. In the scripts directory, a perl CGI script +which wraps calls to htsearch is provided (scripts/search.pl) which +will allow searching based off of media type. (This is possible +because the standard templates will include META keywords like +hasAudio, hasVideo, etc.) + TROUBLESHOOTING @@ -224,3 +254,7 @@ You can give these a try if anything goes wrong: restarted. + Check file permissions and ownership. Try and run perms.sh. + +---------------------------------------------------------------- + +2001, 2002 - the Mir coders