X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=doc%2Fsource%2Fbuildsource.sgml;h=afc2c6b9582fd88e76d1e06ad5046ad1f2828cbf;hb=7b6a23a1fddd4997ccd35abdc54651710e5c33f9;hp=3c09f25ce5b9fd9f1afdc17b19c8b39d5a3fb200;hpb=6956ba51e2d97c18695d2fa5bf5e549ff4f75ca2;p=privoxy.git
diff --git a/doc/source/buildsource.sgml b/doc/source/buildsource.sgml
index 3c09f25c..afc2c6b9 100644
--- a/doc/source/buildsource.sgml
+++ b/doc/source/buildsource.sgml
@@ -2,71 +2,110 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/buildsource.sgml,v $
Purpose : Entity included in other project documents.
-
- $Id: buildsource.sgml,v 1.6 2002/04/26 05:25:23 hal9 Exp $
- Written by and Copyright (C) 2001 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
+ $Id: buildsource.sgml,v 2.18 2009/02/23 09:03:12 fabiankeil Exp $
+ Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
+ See LICENSE.
======================================================================
This file used for inclusion with other documents only.
======================================================================
- If you make changes to this file, please verify the finished
+ If you make changes to this file, please verify the finished
docs all display as intended.
This file is included into:
user-manual
- README
+ INSTALL
-->
-
- To build Privoxy from source,
- autoheader, autoconf, Privoxy from source,
+ autoconf,
+ GNU make
- (gmake), and, of course, a C compiler are required.
+ (gmake), and, of course, a C compiler like gcc are required.
- When building from a source tarball (either release version or
- nightly CVS tarball), first unpack the source:
+ When building from a source tarball,
+ first unpack the source:
- tar xzvf privoxy-&p-version;-src* [.tgz or .tar.gz]
- cd privoxy-&p-version;
+ tar xzvf privoxy-&p-version;-src.tar.gz
+ cd privoxy-&p-version;
- 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:
+ For retrieving the current CVS sources, you'll need a CVS client installed.
+ Note that sources from CVS are typically development quality, and may not be
+ stable, or well tested. To download CVS source, check the Sourceforge
+ documentation, which might give commands like:
- 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
+ This will create a directory named current/, which will
contain the source tree.
- Then, in either case, to build from unpacked tarball or CVS source:
+ 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).
+
+
+
+ It is also strongly recommended to not run Privoxy
+ as root. You should configure/install/run Privoxy as
+ an unprivileged user, preferably by creating a privoxy
user
+ and group just for this purpose. See your local documentation for the correct
+ command line to do add new users and groups (something like
+ adduser, but the command syntax may vary from platform
+ to platform).
+
+
+
+ /etc/passwd might then look like:
+
+
+
+ privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell
+
+
+
+ And then /etc/group, like:
+
+
+
+ privoxy:*:7777:
+
+
+
+ Some binary packages may do this for you.
+
+
+
+ Then, to build from either unpacked tarball or CVS source:
@@ -74,15 +113,14 @@
autoheader
autoconf
./configure # (--help to see options)
- make # (the make from gnu, gmake for *BSD)
- su
+ make # (the make from GNU, sometimes called gmake)
+ su # Possibly required
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
+ Using GNU make, you can have the first four steps
automatically done for you by just typing:
@@ -97,16 +135,122 @@
- For more detailed instructions on how to build Redhat and SuSE RPMs,
+ To build an executable with security enhanced features so that
+ users cannot easily bypass the proxy (e.g. Go There Anyway
), or
+ alter their own configurations, configure like this:
+
+
+
+ ./configure --disable-toggle --disable-editor --disable-force
+
+
+Then build as above. In Privoxy 3.0.7 and later, all of these options
+can also be disabled through the configuration file.
+
+
+ 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 must 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
+ an install to anywhere besides /usr/local, be
+ sure to set the appropriate paths with the correct configure options
+ (./configure --help). Non-privileged users must of course
+ have write access permissions to wherever the target installation is going.
+
+
+
+ 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 documentation 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 should
+ 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 local configuration files, most of
+ these will not be overwritten, and the new ones will be installed with a
+ new
extension. default.action and default.filter
+ will be overwritten. You will then need
+ to manually update the other installed configuration files as needed. The
+ default template files will be overwritten. If you have
+ customized, local templates, these should be stored safely in a separate
+ directory and defined in config by the
+ templdir
directive. It is of course wise to always back-up any
+ important configuration files just in case
. 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 RPMs,
Windows self-extracting installers, building on platforms with
special requirements etc, please consult the developer manual.
+ url="http://www.privoxy.org/developer-manual/newrelease.html">developer manual.
+
- For binary RPM installation, and other platforms, see the user-manual
- as well.
-
+
+ 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.
+
]]>