X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fsource%2Fbuildsource.sgml;h=4225a2cb9a24a14e2ab5b4c18a2a50e3de72cf5b;hp=a24da213e5a8211f044f18788bcd77d62ed58a4f;hb=2563f75c78b46877ac0679fceb23ff4b714ad49a;hpb=06cef9d127852e844e3e22926e9b58db77e2a78c diff --git a/doc/source/buildsource.sgml b/doc/source/buildsource.sgml index a24da213..4225a2cb 100644 --- a/doc/source/buildsource.sgml +++ b/doc/source/buildsource.sgml @@ -1,18 +1,16 @@ - - To build Privoxy from source, + To build Privoxy from source, autoconf, - GNU make - (gmake), and, of course, a C compiler like gcc are required. + GNU make (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: + To build the development version, you can get the source code by doing: - - - 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 + + cd <root-dir> + git clone https://www.privoxy.org/git/privoxy.git - - This will create a directory named current/, which will - contain the source tree. + This will create a directory named <root-dir>/privoxy/, + which will contain the source tree. + Note that source code in Git is development quality, and may not be + stable or well tested. + + + - It is also recommended to not run Privoxy as - root, and instead it is suggested to create a privoxy user for - this purpose. + 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 - And then /etc/group, like: - - privoxy:*:7777:privoxy - + privoxy:*:7777: Some binary packages may do this for you. @@ -101,49 +97,73 @@ 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 # (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: - make - in the freshly downloaded or unpacked source directory. - The default installation path for make install is - /usr/local. This may of course be customized with - the various ./configure path options. - configure also accepts a --with-user and - --with-group options for setting user and group - ownership. + 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. @@ -157,40 +177,60 @@ - 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 + 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. + 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). If appropriate, - an init script will be installed, but it is up to the user to determine - how and where to start Privoxy. + 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. - For more detailed instructions on how to build Redhat and SuSE RPMs, + 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="https://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. + ]]>