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.
Installation
Primary tabs
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:
- Original instructions:
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 install - CentOS 6:
yum install swig
SQLite
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 6 and Python 2.6.x:
echo /usr/local/lib/svn-python > /usr/lib/python2.6/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