Added README.russian_apache from Konstantin Riabitsev.
[squirrelmail.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index db5c0ecc1951ad3b2bf08ea1ba13bc8247e33aba..38605af84de6d5b8fda7577018ab3a09fbb8b5f5 100644 (file)
--- a/INSTALL
+++ b/INSTALL
-Sorry for the incomplete documentation at this time.  Here is a quick
-overview of how to install SquirrelMail.
+1. CONFIGURE YOUR WEBSERVER TO WORK WITH PHP4
+---------------------------------------------
 
-1.  Configure PHP4 --with-gettext for internationalization.
+  If your webserver does not already have PHP4 you must configure it
+  to work with PHP4. SquirrelMail uses the standard suffix .php for
+  all PHP4 files. This is a quick and dirty guide to installing PHP4
+  to run as CGI under Apache. How you end up doing this is up to you
+  (your mileage may vary).
 
-2.  Make Apache (or whatever web server) happy with PHP4.
+a. Obtaining and compiling PHP4
 
-3.  Unarchive SquirrelMail in a subdirectory that is accessable by the
-    web server.  EX: /home/httpd/html/squirrelmail-0.1
+  Point your favorite webserver at http://www.php.net/version4/ and
+  download the source. Untar (tar xvfz filename-you-downloaded.tgz)
+  the source, cd into the directory and run configure. To make PHP4
+  work with SquirrelMail a commandline like this should do:
 
-4.  Copy the config file config/config_default.php to config/config.php.
+   ./configure --enable-track-vars --enable-force-cgi-redirect --with-gettext
 
-4.  Edit the config file, config/config.php for your network.
+  If you have a database like MySQL you might want to add something
+  like --with-mysql to get database functionality.
 
-6.  Change the permissons for the "data/" directory so it's writable to
-    the web server.  Under Red Hat Linux 6.0, this is done by:
+  If you're going to use LDAP in the addressbook, you must compile PHP4
+  with --with-ldap (see the PHP4 docs for more information).
+
+  Run make to build the binary file. This will generate a binary file
+  called "php". Move this file into a CGI-directory.
+
+  You might also want to read the INSTALL file in the PHP-distribution
+  :-)
+
+b. Changing php.ini
+
+  PHP defaults to look for php.ini (PHP's configuration file) in
+  /usr/local/lib.  However, for security reasons, it is suggested
+  that the location of this file is changed to someplace else.  This
+  can be done at configure time with the configuration directive
+  --with-config-file-path=PATH.
+
+  Squirrelmail does not use cookies as of version 0.4.  Edit the 
+  php.ini file and change session.use_cookies to 0 (false).  Also be
+  sure to change the session.save_path to someplace that can only be
+  read and written to by the webserver.  session.save_path is the
+  location that PHP's session data will be written to.
+
+  SECURITY WARNING - SquirrelMail saves non plaintext passwords in 
+  PHP's session data to log on to the IMAP server.  If a user has 
+  access to write PHP scripts on your system and knows the location 
+  where PHP stores session data, he could get a listing of the 
+  sessions being used and then read a given session's data with his 
+  own PHP script.  Caution should be used when setting up permissions
+  and locations of php.ini and the session data.
+
+c. Setting up .php files to use PHP4
+
+  You need to create a .htaccess file in you SquirrelMail directory
+  that looks something like this:
+
+    AddType application/php4script .php
+    Action application/php4script /cgi-bin/php
+
+  You could also add these lines to your Apache configuration file.
+
+d. Running into trouble
+
+  Setting up Apache with PHP4 can be a non-trivial task. Read the PHP4
+  and Apache documentation carefully if you run into trouble. If you
+  have an experienced system administrator around ask her/him to help
+  you.
+
+2. SETTING UP IMAP
+------------------
+
+  This is not covered here :-/
+
+3. OBTAINING AND INSTALLING SQUIRRELMAIL
+----------------------------------------
+
+  SquirrelMail is still under development. Therefore you should always
+  get the newest version around. Look at
+  http://squirrelmail.sourceforge.net/index.php3?page=5 to see what it
+  is. If you want to be bleeding edge you might want to consider using
+  the latest CVS version (with the latest and most fashionable of
+  bugs).
+
+a. Download SquirrelMail
+
+  Get SquirrelMail from the address above if you do not have it or are
+  uncertain if you have the newest version. Untar (again tar xvfz
+  filename.tgz) SquirrelMail in a directory that is readable for your
+  webserver.
+
+b. Setting up directories
+
+  SquirrelMail uses two directories to store user configuration and
+  attachments that are about to be sent. You might want to have these
+  directories outside of your web tree.
+
+  The data directory is used for storing user preferences, like
+  signature, name and theme. When unpacking the sources this directory
+  is created as data/ in you SquirrelMail directory. This directory
+  must be writable by the webserver. If your webserver is running as
+  the user nobody you can fix this by running:
 
     chown -R nobody data
     chgrp -R nobody data
+  
+  There also needs to be a directory where attachments are stored
+  before they are sent. Since personal mail is stored in this
+  directory you might want to be a bit careful about how you set it
+  up. It should be owned by another user than the webserver is running
+  as (root might be a good choice) and the webserver should have write
+  and execute permissions on the directory, but should not have read
+  permissions. You could do this by running these commands (still
+  granted that the webserver is running as nobody/nobody)
+
+    cd /var/some/place
+    mkdir SomeDirectory
+    chgrp -R nobody SomeDirectory
+    chmod 730 SomeDirectory
+
+  If you trust all the users on you system not to read mail they are
+  not supposed to read change the last line to chmod 777 SomeDirectory
+  or simply use /tmp as you attachments directory. If a user is
+  aborting a mail but has uploaded som attachments to it the files
+  will be lying around in this directory forever if you do not remove
+  them.
+
+c. Setting up SquirrelMail
+
+  All configuration directives you need to worry about in SquirrelMail
+  is in the file config/config.php in you SquirrelMail directory. This
+  file is pretty well commented.
+
+4. RUNNING SQUIRRELMAIL
+-----------------------
+
+  Point your browser at the URL at which SquirrelMail is installed. It
+  should be pretty stright forward to use. Some more documentation
+  might show up onbe day or another.
+
 
-    "nobody" is the user and group for the apache server for this
-    example.
+5. RUSSIAN CHARSETS
+-------------------
 
-7.  Point your browser to the location you specified in step 2.
-    In this example, it's:  http://YOURHOST/squirrelmail-0.1/index.html
+  For information on how to make SquirrelMail work with Russian
+  Apache, see the README.russian_apache in the doc/ subdirectory.