SquidGuard is a URL redirector used to use blacklists with the proxysoftware Squid. There are two big advantages to squidguard: it is fast and it is free.
Revision of Installation from Tue, 04/17/2012 - 09:50
Revisions allow you to track differences between multiple versions of your content, and revert back to older versions.
Initial Preparation
yum -y install autoconf libtool expat-devel libgssapi-devel python-develDownload the latest version from the Subversion home page (verison 1.4.6 at time of writing).
cd /extra/src
wget http://subversion.tigris.org/downloads/subversion-1.6.11.tar.gz 
tar zxvf subversion-1.6.11.tar.gzOnce you have uncompressed the subversion source, proceed to install the prerequisites.
Neon library (http://www.webdav.org/neon/)
The Neon library allows a Subversion client to interact with remote repositories over the Internet via a WebDAV based protocol.
- CentOS 6 RPM:
 yum install neon-devel
- Source:
 wget http://www.webdav.org/neon/neon-0.29.3.tar.gz
 tar zxvf neon-0.29.3.tar.gz
 mv neon-0.29.3 subversion-1.6.11/neon
Apache Configuration
Apache can be installed according to these instructions but will need these configuration options, at a minimum:
./configure --enable-dav --enable-so --enable-maintainer-modeWebDAV instructions are also available for configuring Apache.
Swig
Install Swig:
cd /extra/src
wget http://prdownloads.sourceforge.net/swig/swig-1.3.40.tar.gz 
tar zxvf swig-1.3.40.tar.gz
cd swig-1.3.40
./configure
make && make installSQLite
Subversion requires  SQLite, a self-contained, serverless, zero-configuration, transactional SQL database engine, to manage some internal databases:
- Original instructions:
 cd /extra/src
 wget http://www.sqlite.org/sqlite-amalgamation-3.6.23.1.tar.gz
 tar zxf sqlite-amalgamation-3.6.23.1.tar.gz
 cd sqlite-3.6.23.1Configure, build and install: ./configure
 make
 make installCopy some source files that Subversion will need: mkdir /extra/src/subversion-1.6.11/sqlite-amalgamation
 cp sqlite3.c /extra/src/subversion-1.6.11/sqlite-amalgamation/
- CentOS 6 instructions:
 yum install sqlite-devel
Subversion Installation
With the prerequisites installed in the subversion source tree, configure it:
cd /extra/src/subversion-1.6.11
./configureEdit /extra/src/subversion-1.6.11/Makefile and append -lgssapi (details) to the end of the line that starts:
SVN_APR_LIBS=...Then build and install the programs:
make
make installConfirm that /usr/local/apache2/conf/httpd.conf was modified to contain:
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.soInstall the Swig Python bindings:
cd /extra/src/subversion-1.6.11
make swig-py
make install-swig-pyMake sure that whatever directory the bindings got installed is in your PYTHONPATH. To do that, check your Python version (python -V) and for CentOS 5 and Python 2.4.x:
echo /usr/local/lib/svn-python > /usr/lib/python2.4/site-packages/subversion.pthInitial Repository
Create a top-level directory to hold your repositories:
cd /var
mkdir -m 710 svn
chgrp nobody svnCreate your first repository dummy:
cd /var/svn
svnadmin create dummy
chown -R nobody:nobody dummyCreate the Apache user/password file for the svn repositories:
cd /var/svn
/usr/local/apache2/bin/htpasswd -cm .htusers admin
chown root:nobody .htusers
chmod 640 .htusersTo add additional users:
/usr/local/apache2/bin/htpasswd -m .htusers usernameCreate a text file /var/svn/.authz that defines what the users have access to:
[groups]
admin = admin,username
[/]
@admin = rw
* =
[dummy]
@admin = rw
* = r
Make the file readable by only the Apache user:
chown root:nobody .authz
chmod 640 .authzEdit /usr/local/apache2.conf/extra/httpd-vhosts.conf and add a VirtualHost directive for your svn server:
<VirtualHost *:80>
  DocumentRoot /var/svn
  ServerName svn.example.com
  ServerAlias svn
  <Location /svn>
    DAV svn
    SVNParentPath /var/svn
    AuthzSVNAccessFile /var/svn/.authz
    Satisfy Any
    Require valid-user
    AuthType Basic
    AuthName "My subversion repository"
    AuthUserFile /var/svn/.htusers
  </Location>
</VirtualHost>
Restart Apache:
svc -t /service/apache
svstat /service/apacheCreate additional repos
If you wish to create additional repositories (for different clients, different projects, or however you want to keep things organized) you only need to repeat the following steps. Apache itself should not need to be re-configured; the block above will make it treat ALL directories below the /var/svn directory as subversion repositories.
cd /var/svn
svnadmin create name
chown -R nobody:nobody nameIf you are creating a new userid for this repository...
/usr/local/apache2/bin/htpasswd -m .htusers usernameTo set the access rules for this repository, edit /var/www/.authz.
- Log in to post comments
