X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=doc%2Fsource%2Fbuildsource.sgml;h=ea3307469bdd2c596b214b97e5d2a6f74dd2cc2b;hb=d222bd86302c36ac2b2058d6cfcc7bc6ed2a3a5b;hp=bc439bacf7a6b37d4e4c765d1c0fc93b02e88ab6;hpb=d7cc11956d778be9da159f012e80733d2d082706;p=privoxy.git
diff --git a/doc/source/buildsource.sgml b/doc/source/buildsource.sgml
index bc439bac..ea330746 100644
--- a/doc/source/buildsource.sgml
+++ b/doc/source/buildsource.sgml
@@ -1,89 +1,236 @@
- There are several ways to install Privoxy.
+ To build Privoxy from source,
+ autoconf,
+ GNU make (gmake),
+ and, of course, a C compiler like
+ gcc are required.
- To build Privoxy from source,
- autoconf and GNU make (gmake) are required. Source is available as gzipped
- tar archives. For this, first unpack the source:
+ When building from a source tarball,
+
+ first unpack the source:
+
+ tar xzvf privoxy-&p-version;-src.tar.gz
+ cd privoxy-&p-version;
+
+
-
- tar xzvf privoxy-&p-version;-src* [.tgz or .tar.gz]
- cd privoxy-&p-version;
-
+ To build the development version, you can get the source code by doing:
+
+ cd <root-dir>
+ git clone https://www.privoxy.org/git/privoxy.git
+
- For retrieving the current CVS sources, you'll need the CVS
- package installed first. Note CVS source is development quality,
- and may not be stable, or well tested. To download CVS source:
+ This will create a directory named <root-dir>/privoxy/,
+ which will contain the source tree.
-
- cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
- cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co current
- cd current
-
+ Note that source code in GIT is development quality, and may not be
+ stable or well tested.
+
+
+
+
+
+ It is 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
+
- This will create a directory named current/, which will
- contain the source tree.
+ And then /etc/group, like:
+ privoxy:*:7777:
+
- Then, in either case, to build from unpacked tarball or CVS source:
+ Some binary packages may do this for you.
+ Then, to build from either unpacked tarball or CVS source:
+
+
autoheader
autoconf
- ./configure (--help to see options)
- make (the make from gnu, gmake for *BSD)
- su
- make -n install (to see where all the files will go)
- make install (to really install)
-
+ ./configure # (--help to see options)
+ make # (the make from GNU, sometimes called gmake)
+ su # Possibly required
+ make -n install # (to see where all the files will go)
+ make -s install # (to really install, -s to silence output)
+
+
+ Using GNU make, you can have the first four steps
+ automatically done for you by just typing:
+
+
+
+ make
+
+
+
+ in the freshly downloaded or unpacked source directory.
- Redhat and SuSE src and binary RPMs can be built with
- make redhat-dist
or
- make suse-dist
from unpacked sources. You
- will need to run autoconf; autoheader;
- ./configure
beforehand. *BSD will require gmake (from
- http://gnu.org).
-
+ 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
+
+ Note that 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.
+
+
+
+
- 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.
+
]]>