Repairing contents to what it should have been, and testing commit.
[privoxy.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 25a10fb..51464e9 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,42 @@
-########## PRIVOXY INSTALL #############
-
-For more info after the install, configure and use refer to the README in the
-same dir as the INSTALL
+/*********************************************************************
+ *
+ * File        :  $Source: /cvsroot/ijbswa/current/INSTALL,v $
+ *
+ * Purpose     :  INSTALL file to help with installing from source.
+ *
+ * Copyright   :  Written by and Copyright (C) 2001,2002 the SourceForge
+ *                Privoxy team. http://www.privoxy.org/
+ *
+ *                Based on the Internet Junkbuster originally written
+ *                by and Copyright (C) 1997 Anonymous Coders and 
+ *                Junkbusters Corporation.  http://www.junkbusters.com
+ *
+ *                This program is free software; you can redistribute it 
+ *                and/or modify it under the terms of the GNU General
+ *                Public License as published by the Free Software
+ *                Foundation; either version 2 of the License, or (at
+ *                your option) any later version.
+ *
+ *                This program is distributed in the hope that it will
+ *                be useful, but WITHOUT ANY WARRANTY; without even the
+ *                implied warranty of MERCHANTABILITY or FITNESS FOR A
+ *                PARTICULAR PURPOSE.  See the GNU General Public
+ *                License for more details.
+ *
+ *                The GNU General Public License should be included with
+ *                this file.  If not, you can view it at
+ *                http://www.gnu.org/copyleft/gpl.html
+ *                or write to the Free Software Foundation, Inc., 59
+ *                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ *
+ *********************************************************************/
+   
+
+-------------------------------------------------------------------------------
+
+This file describes installing Privoxy from source. If you are installing a
+pre-built binary installation, you should probably read the appropriate section
+in User Manual.
 
 To build Privoxy from source, autoconf, GNU make (gmake), and, of course, a C
 compiler like gcc are required.
@@ -16,67 +51,103 @@ For retrieving the current CVS sources, you'll need CVS installed. Note that
 sources from CVS are development quality, and may not be stable, or well
 tested. To download CVS source:
 
-  cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login          
-  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co current 
+  cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login          
+  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current 
   cd current                                                                         
 
 This will create a directory named current/, which will contain the source
 tree.
 
-you can too check any privoxy branch, just change the "current" name with the
-wanted branch name (Example: v_3_0_branch for the 3.0 cvs tree)
-
-you should create the user and group that privoxy will run, the default is
-"privoxy" for both
+You can also check out any Privoxy "branch", just exchange the current name
+with the wanted branch name (Example: v_3_0_branch for the 3.0 cvs tree).
 
-you can change the user and group with --with-user= and --with-group= in the
-./configure step
+It is also strongly recommended to not run Privoxy as root, and instead it is
+suggested to create a "privoxy" user and group for this purpose. See your local
+documentation for the correct command line to do this.
 
-the user and group should have the login disabled for better safety
+/etc/passwd might then look like:
 
-here is my /etc/passwd entry 
+  privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell                         
 
-privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell
+And then /etc/group, like:
 
-and my /etc/group entry
+  privoxy:*:7777:                                                              
 
-privoxy:*:7777:privoxy
+Some binary packages may do this for you.
 
-Then, in either case, to build from unpacked tarball or CVS source:
+Then, to build from either unpacked tarball or CVS source:
 
  autoheader                                                                    
  autoconf                                                                      
- ./configure      # (--help to see options, see the warning below)                                    
- make             # (the make from gnu, gmake for *BSD)                        
+ ./configure      # (--help to see options)                                    
+ make             # (the make from GNU, sometimes called gmake)                
  su                                                                            
  make -n install  # (to see where all the files will go)                       
- make install     # (to really install)                                        
+ make -s install  # (to really install, -s to silence output)                  
 
-If you have gnu make, you can have the first four steps automatically done for
+If you have GNU make, you can have the first four steps automatically done for
 you by just typing:
 
-  make                 
+  make                                                                         
 
 in the freshly downloaded or unpacked source directory.
 
-** WARNING **
-
-1- if you are installing in /usr/local or / (root) the use of 
-
-  --sysconfdir=$prefix/etc/privoxy
-
-is recommended for a safer (there may already exist other program that uses a
-file with the "config" name) and cleaner and easier to use etc dir
-
-2- for user install dont forget to give the --with-user and --with-group equal
-to the current user or tune things later
-
-** END OF WARNING **
+WARNING: If installing as root, the install will fail unless a non-root user or
+group is specified, or a privoxy user and group already exist on the system. If
+a non-root user is specified, and no group, then the installation will try to
+also use a group of the same name as "user". If a group is specified (and no
+user), then the support files will be installed as writable by that group, and
+owned by the user running the installation.
+
+configure accepts --with-user and --with-group options for setting user and
+group ownership of the configuration files (which need to be writable by the
+daemon). The specified user must already exist. When starting Privoxy, it
+should be run as this same user to insure write access to configuration and log
+files.
+
+Alternately, you can specify user and group on the make command line, but be
+sure both already exist:
+
+ make -s install  USER=privoxy GROUP=privoxy                                   
+
+The default installation path for make install is /usr/local. This may of
+course be customized with the various ./configure path options. If you are
+doing a root install to anywhere else besides /usr/local, be sure to set the
+appropriate paths with the correct configure options (./configure --help).
+
+If you do install to /usr/local, the install will use sysconfdir=$prefix/etc/
+privoxy by default. All other destinations, and the direct usage of
+--sysconfdir flag behave like normal, i.e. will not add the extra privoxy
+directory. This is for a safer install, as there may already exist another
+program that uses a file with the "config" name, and thus makes /usr/local/etc
+cleaner.
+
+If installing to /usr/local, the docs will go by default to $prefix/share/doc.
+But if this directory doesn't exist, it will then try $prefix/doc and install
+there before creating a new $prefix/share/doc just for Privoxy.
+
+Again, if the installs goes to /usr/local, the localstatedir (ie: var/) will
+default to /var instead of $prefix/var so the logs will go to /var/log/privoxy
+/, and the pid file will be created in /var/run/privoxy.pid.
+
+make install will attempt to set the correct values in config (main
+configuration file). You may want to check this to make sure all values are
+correct. If appropriate, an init script will be installed, but it is up to the
+user to determine how and where to start Privoxy. The init script should be
+checked for correct paths and values, if anything other than a default install
+is done.
+
+If install finds previous versions of any configuration files, these will not
+be overwritten, and the new ones will be installed with a "new" extension. You
+will then need to manually update the installed configuration files as needed.
+All template files will be overwritten. If you have customized, local
+templates, you should save these first. If a previous version of Privoxy is
+already running, you will have to restart it manually.
 
 For more detailed instructions on how to build Redhat and SuSE RPMs, Windows
 self-extracting installers, building on platforms with special requirements
 etc, please consult the developer manual.
 
-For binary RPM installation, and other platforms, see the user-manual as well.
-
-Now go read the README to learn what should you do next
+The simplest command line to start Privoxy is $path/privoxy --user=privoxy
+$path/etc/privoxy/config. See privoxy --usage, or the man page, for other
+options, and configuration.