Here is a short installation-howto of Mir. prerequisites: - tomcat - apache with mod_jk.so - postgres 7.1.x - ant (a java-based make) - jaxp-1.1 (a SAX 2.0 compliant XML parser, comes with ant >= 1.4) 1. checkout the cvs CVS LOGIN: cvs -d :pserver: cvsanon@brazil.indymedia.de:/var/cvs login password: cvs CVS CHECKOUT: cvs -d :pserver: cvsanon@brazil.indymedia.de:/var/cvs co mir 2. customize the config: cd mir/source cp config.properties-dist config.properties now customize config.properties for your needs. 3. configure the build.sh file with java_home cp build.sh-dist build.sh chmod 755 build.sh 4. copy the mir/templates-dist-directory to mir/templates 5. compile (do this as root so the permissions script is able to set the permissions and owners correctly). sh build.sh 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 ln -s Mir-install-dir Mir 7. 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 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 8. create a new database the database name should be the same as in config.properties as user postgres: createdb dbname 9. create base table psql -Upostgres dbname < dbscripts/create_pg.sql cat dbscripts/help*.sql | psql -Upostgres dbname cat dbscripts/populate*.sql | psql -Upostgres dbname 10. Add the dupe prevention trigger to the database: cd dbscripts/dupetrigger There, read INSTALL and follow the instructions. 11. Set permissions -- IMPORTANT! READ THIS! We provide a script that sets all files' and direcories' permissions to a quite reasonable state. The most important thing you have to do after the invokation of this script is to ensure that the log files -- especially dbentity.log -- are not readable by users that could compromise system security, because all passwords and the like will be logged here. cp perms.sh-dist perms.sh # Now, change the install directory and group in perms.sh edit perms.sh ./perms.sh 12. restart tomcat 13. 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 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. 14. Add a password to your PostgreSQL user and link it to Mir (optional) Add a hard to guess password to the PostgreSQL user database: # psql -U postgres Mir alter user postgres with password 'yourpassword'; Then, in /etc/postgresql/pg_hba.conf you should make sure that nobody can use the database without a password: local all password host all 127.0.0.1 255.0.0.0 password host all 0.0.0.0 0.0.0.0 reject Then, change the database password line in config.properties: Database.Username=postgres Database.Password=yourpassword You should make sure that no copy of config.properties (neither in mir nor in Mir/src nor in Mir/WEB-INF/classes) is world-readable. Else you wouldn't have to install a password, anyway. If you can't access PostgreSQL after this for any reason, try and change "password" in /etc/postgresql/pg_hba.conf to "trust". This should disable any authentication method and make the database accessible again. that's it :) now the admin-application is accesable via: http://host/Mir and the openposting-servlet via http://host/OpenMir standard login is redaktion/indymedia TROUBLESHOOTING You can give these a try if anything goes wrong: + Restart Tomcat. Especially after compiling the sources Tomcat has to be restarted. + Check file permissions and ownership. Try and run perms.sh.