Tuesday, September 28, 2010

Memory use by which process Centos / RHEL /Fedora

#ps aux | awk '{if ($5 != 0 ) print $2,$5,$6,$11}' | sort -k2n

Wednesday, September 22, 2010

5 Step Jboss set up RHEL/Cent OS 5.X

Step:1:-  yum install mysql mysql-server java-1.6.0-openjdk -y
Step:2:- service mysqld start
Step:3:- wget  http://sourceforge.net/projects/jboss/files/JBoss/JBoss-6.0.0.M4/jboss-as-
distribution-6.0.0.20100721-M4.zip/download
Step:4:- unzip jboss-as-distribution-6.0.0.20100721-M4.zip
Step:5:- /opt/jboss/bin/run.sh

http://yourdomain.com:8080 

Monday, September 20, 2010

Install Latest postgresql using yum from pgsqlrpms


[root@ip-173-201-21-11 ~]# wget http://yum.pgsqlrpms.org/reporpms/8.4/pgdg-centos-8.4-2.noarch.rpm
[root@ip-173-201-21-11 ~]# rpm -ivh pgdg-centos-8.4-2.noarch.rpm
[root@ip-173-201-21-11 ~]# yum install postgresql postgresql-devel postgresql-server postgis pgadmin postgresql-contrib
[root@ip-173-201-21-11 ~]# chkconfig postgresql on
[root@ip-173-201-21-11 ~]# service postgresql initdb
[root@ip-173-201-21-11 ~]# chkconfig postgresql on && service postgresql start
[root@ip-173-201-21-11 ~]# psql --version
psql (PostgreSQL) 8.4.4
contains support for command-line editing

#########################################
vi /var/lib/pgsql/data/postgresql.conf
# – Connection Settings -
listen_addresses = ‘*’
port = 5432

CPULOAD and send email to admin

This script is very useful for system admins, it checks Cpuload and get info of which process takes the cpuload, if cpuload is or above 70%  it sends alert email to admin
==============================
#!/bin/bash
# Shell script to monitor or watch the high cpu-load
# It will send an email to $ADMIN, if the (cpu load is in %) percentage
# of cpu-load is >= 70%
# If you have any suggestion or question please email to raviindiangnu org
# set admin email so that you can get email
# set alert level 70% is default
# you can set it to string LOAD with your value

AWK=/bin/awk
SAR=/usr/bin/sar
GREP=/bin/grep
TR=/usr/bin/tr
HEAD=/usr/bin/head
PS=/bin/ps
SORT=/bin/sort
HOSTNAME=yeswedeal.com
SED=/bin/sed
LOAD=70
CAT=/bin/cat
MAILFILE=/tmp/mailviews$$
MAILER=/bin/mail
mailto=”rajatjpatel@yeswedeal.com”
for path in $PATHS
do
CPU_LOAD=`$SAR -P ALL 1 2 | $GREP ‘Average.*all’ | $AWK -F” ” ‘{ print 100.0 -$NF}’`
echo $CPU_LOAD
if [[ $CPU_LOAD > $LOAD ]];
then
PROC=`$PS -eo pcpu,pid -o comm= | $SORT -k1 -n -r | $HEAD -1`
echo “Please check your processess on ${HOSTNAME} the value of cpu load is $CPU_LOAD % & $PROC” > $MAILFILE
$CAT $MAILFILE | $MAILER -s “CPU Load is $CPU_LOAD % on ${HOSTNAME}” $mailto
fi
done
=============================
After  end of  schedule cron job for this script like below
*/30 * * * * /bin/sh /root/cpuload.sh >/dev/null 2>&1

How to install GeoIP and mod_geoip2 on RHEL/Cent OS for apache

How to install GeoIP and mod_geoip2 on centos for apache
1) yum install GeoIP GeoIP-devel GeoIP-data zlib-devel
2) mkdir /usr/local/share/GeoIP
3) Download the latest Country and City database files from maxmind
cd /usr/local/share/GeoIP
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoIP.dat.gz
gunzip GeoLiteCity.dat.gz
4) yum install httpd-devel apr-devel
5) wget http://geolite.maxmind.com/download/geoip/api/mod_geoip2/
6) tar xvzf mod_geoip2_1.2.5.tar.gz && cd mod_geoip2_1.2.5
7) apxs -i -a -L/usr/lib64 -I/usr/include -lGeoIP -c mod_geoip.c
8) Enabling mod-geoip
Nothing’s going to work unless mod-geoip is enabled in your apache configuration. You’ll need the following lines in your httpd.conf file (located on CentOS systems at /etc/httpd/conf/httpd.conf)
IfModule mod_geoip.c
GeoIPEnable On
GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat Standard
GeoIPDBFile /usr/local/share/GeoIP/GeoLiteCity.dat Standard
IfModule
9) Restart Apache so your changes will take effect by entering the following command.
#/etc/init.d/httpd restart
10) /usr/local/bin/geoipupdate

Wednesday, September 15, 2010

Install tomcat6 in 3 step Cent OS

cd /etc/yum.repos.d
wget 'http://www.jpackage.org/jpackage50.repo'
yum install tomcat6 tomcat6-webapps tomcat6-admin-webapps
service tomcat6 start
 http://localhost:8080

Thursday, September 9, 2010

Installation and configuration wordpress in 5 min

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

yum install mysql mysql-server httpd php php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc phpmyadmin

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
rightscale-epel                                          |  951 B     00:00    
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.i386 0:2.2.3-31.el5.centos.4 set to be updated
---> Package mysql.i386 0:5.0.77-4.el5_4.2 set to be updated
--> Processing Dependency: perl(DBI) for package: mysql
---> Package mysql-server.i386 0:5.0.77-4.el5_4.2 set to be updated
--> Processing Dependency: perl-DBD-MySQL for package: mysql-server
---> Package php.i386 0:5.2.4-el5.centos set to be updated
--> Processing Dependency: php-common = 5.2.4-el5.centos for package: php
--> Processing Dependency: php-cli = 5.2.4-el5.centos for package: php
---> Package php-gd.i386 0:5.2.4-el5.centos set to be updated
---> Package php-imap.i386 0:5.2.4-el5.centos set to be updated
--> Processing Dependency: libc-client.so.1 for package: php-imap
---> Package php-ldap.i386 0:5.2.4-el5.centos set to be updated
---> Package php-mysql.i386 0:5.2.4-el5.centos set to be updated
--> Processing Dependency: php-pdo for package: php-mysql
---> Package php-odbc.i386 0:5.2.4-el5.centos set to be updated
--> Processing Dependency: libodbcpsql.so.2 for package: php-odbc
--> Processing Dependency: libodbc.so.1 for package: php-odbc
---> Package php-pear.noarch 1:1.4.9-6.el5 set to be updated
--> Processing Dependency: php-devel for package: php-pear
---> Package php-xml.i386 0:5.2.4-el5.centos set to be updated
--> Processing Dependency: libexslt.so.0 for package: php-xml
--> Processing Dependency: libxslt.so.1 for package: php-xml
---> Package php-xmlrpc.i386 0:5.2.4-el5.centos set to be updated
---> Package phpMyAdmin.noarch 0:2.11.10-1.el5 set to be updated
--> Processing Dependency: php-mcrypt >= 4.1.0 for package: phpMyAdmin
--> Processing Dependency: php-mbstring >= 4.1.0 for package: phpMyAdmin
--> Running transaction check
---> Package libc-client.i386 0:2004g-2.2.1 set to be updated
---> Package libxslt.i386 0:1.1.17-2.el5_2.2 set to be updated
---> Package perl-DBD-MySQL.i386 0:3.0007-2.el5 set to be updated
---> Package perl-DBI.i386 0:1.52-2.el5 set to be updated
---> Package php-cli.i386 0:5.2.4-el5.centos set to be updated
---> Package php-common.i386 0:5.2.4-el5.centos set to be updated
---> Package php-devel.i386 0:5.2.4-el5.centos set to be updated
---> Package php-mbstring.i386 0:5.2.4-el5.centos set to be updated
---> Package php-mcrypt.i386 0:5.2.4-el5.centos set to be updated
--> Processing Dependency: libmcrypt.so.4 for package: php-mcrypt
---> Package php-pdo.i386 0:5.2.4-el5.centos set to be updated
---> Package unixODBC.i386 0:2.2.11-7.1 set to be updated
--> Running transaction check
---> Package libmcrypt.i386 0:2.5.8-4.el5.centos set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package           Arch      Version                   Repository          Size
================================================================================
Installing:
 httpd             i386      2.2.3-31.el5.centos.4     updates            1.2 M
 mysql             i386      5.0.77-4.el5_4.2          updates            4.8 M
 mysql-server      i386      5.0.77-4.el5_4.2          updates            9.8 M
 php               i386      5.2.4-el5.centos          rightscale-epel    3.6 M
 php-gd            i386      5.2.4-el5.centos          rightscale-epel    319 k
 php-imap          i386      5.2.4-el5.centos          rightscale-epel    103 k
 php-ldap          i386      5.2.4-el5.centos          rightscale-epel     56 k
 php-mysql         i386      5.2.4-el5.centos          rightscale-epel    261 k
 php-odbc          i386      5.2.4-el5.centos          rightscale-epel    112 k
 php-pear          noarch    1:1.4.9-6.el5             base               344 k
 php-xml           i386      5.2.4-el5.centos          rightscale-epel    309 k
 php-xmlrpc        i386      5.2.4-el5.centos          rightscale-epel    129 k
 phpMyAdmin        noarch    2.11.10-1.el5             epel               4.2 M
Installing for dependencies:
 libc-client       i386      2004g-2.2.1               base               516 k
 libmcrypt         i386      2.5.8-4.el5.centos        extras             116 k
 libxslt           i386      1.1.17-2.el5_2.2          base               485 k
 perl-DBD-MySQL    i386      3.0007-2.el5              base               148 k
 perl-DBI          i386      1.52-2.el5                base               600 k
 php-cli           i386      5.2.4-el5.centos          rightscale-epel    2.6 M
 php-common        i386      5.2.4-el5.centos          rightscale-epel    352 k
 php-devel         i386      5.2.4-el5.centos          rightscale-epel    553 k
 php-mbstring      i386      5.2.4-el5.centos          rightscale-epel    1.3 M
 php-mcrypt        i386      5.2.4-el5.centos          rightscale-epel     44 k
 php-pdo           i386      5.2.4-el5.centos          rightscale-epel    157 k
 unixODBC          i386      2.2.11-7.1                base               832 k

Transaction Summary
================================================================================
Install     25 Package(s)        
Update       0 Package(s)        
Remove       0 Package(s)        

Total download size: 33 M
Is this ok [y/N]: y
Downloading Packages:
(1/25): php-mcrypt-5.2.4-el5.centos.i386.rpm             |  44 kB     00:00    
(2/25): php-ldap-5.2.4-el5.centos.i386.rpm               |  56 kB     00:00    
(3/25): php-imap-5.2.4-el5.centos.i386.rpm               | 103 kB     00:00    
(4/25): php-odbc-5.2.4-el5.centos.i386.rpm               | 112 kB     00:00    
(5/25): libmcrypt-2.5.8-4.el5.centos.i386.rpm            | 116 kB     00:00    
(6/25): php-xmlrpc-5.2.4-el5.centos.i386.rpm             | 129 kB     00:00    
(7/25): perl-DBD-MySQL-3.0007-2.el5.i386.rpm             | 148 kB     00:00    
(8/25): php-pdo-5.2.4-el5.centos.i386.rpm                | 157 kB     00:00    
(9/25): php-mysql-5.2.4-el5.centos.i386.rpm              | 261 kB     00:00    
(10/25): php-xml-5.2.4-el5.centos.i386.rpm               | 309 kB     00:00    
(11/25): php-gd-5.2.4-el5.centos.i386.rpm                | 319 kB     00:00    
(12/25): php-pear-1.4.9-6.el5.noarch.rpm                 | 344 kB     00:00    
(13/25): php-common-5.2.4-el5.centos.i386.rpm            | 352 kB     00:00    
(14/25): libxslt-1.1.17-2.el5_2.2.i386.rpm               | 485 kB     00:00    
(15/25): libc-client-2004g-2.2.1.i386.rpm                | 516 kB     00:00    
(16/25): php-devel-5.2.4-el5.centos.i386.rpm             | 553 kB     00:00    
(17/25): perl-DBI-1.52-2.el5.i386.rpm                    | 600 kB     00:00    
(18/25): unixODBC-2.2.11-7.1.i386.rpm                    | 832 kB     00:00    
(19/25): httpd-2.2.3-31.el5.centos.4.i386.rpm            | 1.2 MB     00:00    
(20/25): php-mbstring-5.2.4-el5.centos.i386.rpm          | 1.3 MB     00:00    
(21/25): php-cli-5.2.4-el5.centos.i386.rpm               | 2.6 MB     00:00    
(22/25): php-5.2.4-el5.centos.i386.rpm                   | 3.6 MB     00:00    
(23/25): phpMyAdmin-2.11.10-1.el5.noarch.rpm             | 4.2 MB     00:00    
(24/25): mysql-5.0.77-4.el5_4.2.i386.rpm                 | 4.8 MB     00:00    
(25/25): mysql-server-5.0.77-4.el5_4.2.i386.rpm          | 9.8 MB     00:00    
--------------------------------------------------------------------------------
Total                                            15 MB/s |  33 MB     00:02    
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : php-common                                              1/25
  Installing     : perl-DBI                                                2/25
  Installing     : mysql                                                   3/25
  Installing     : php-cli                                                 4/25
  Installing     : php-pdo                                                 5/25
  Installing     : httpd                                                   6/25
  Installing     : php                                                     7/25
  Installing     : php-mysql                                               8/25
  Installing     : perl-DBD-MySQL                                          9/25
  Installing     : php-mbstring                                           10/25
  Installing     : libc-client                                            11/25
  Installing     : unixODBC                                               12/25
  Installing     : libxslt                                                13/25
  Installing     : libmcrypt                                              14/25
  Installing     : php-mcrypt                                             15/25
  Installing     : php-xml                                                16/25
  Installing     : php-odbc                                               17/25
  Installing     : php-imap                                               18/25
  Installing     : mysql-server                                           19/25
  Installing     : php-gd                                                 20/25
  Installing     : php-ldap                                               21/25
  Installing     : php-xmlrpc                                             22/25
  Installing     : php-devel                                              23/25
  Installing     : phpMyAdmin                                             24/25
  Installing     : php-pear                                               25/25

Installed:
  httpd.i386 0:2.2.3-31.el5.centos.4      mysql.i386 0:5.0.77-4.el5_4.2       
  mysql-server.i386 0:5.0.77-4.el5_4.2    php.i386 0:5.2.4-el5.centos         
  php-gd.i386 0:5.2.4-el5.centos          php-imap.i386 0:5.2.4-el5.centos    
  php-ldap.i386 0:5.2.4-el5.centos        php-mysql.i386 0:5.2.4-el5.centos   
  php-odbc.i386 0:5.2.4-el5.centos        php-pear.noarch 1:1.4.9-6.el5       
  php-xml.i386 0:5.2.4-el5.centos         php-xmlrpc.i386 0:5.2.4-el5.centos  
  phpMyAdmin.noarch 0:2.11.10-1.el5     

Dependency Installed:
  libc-client.i386 0:2004g-2.2.1          libmcrypt.i386 0:2.5.8-4.el5.centos  
  libxslt.i386 0:1.1.17-2.el5_2.2         perl-DBD-MySQL.i386 0:3.0007-2.el5   
  perl-DBI.i386 0:1.52-2.el5              php-cli.i386 0:5.2.4-el5.centos      
  php-common.i386 0:5.2.4-el5.centos      php-devel.i386 0:5.2.4-el5.centos    
  php-mbstring.i386 0:5.2.4-el5.centos    php-mcrypt.i386 0:5.2.4-el5.centos   
  php-pdo.i386 0:5.2.4-el5.centos         unixODBC.i386 0:2.2.11-7.1           

Complete!
[root@domU-12-31-39-13-CD-47 ~]# service httpd restart
Stopping httpd:                                            [FAILED]
Starting httpd:                                            [  OK  ]
[root@domU-12-31-39-13-CD-47 ~]# service mysqld restart
Stopping MySQL:                                            [FAILED]
Initializing MySQL database:  Installing MySQL system tables...
100909 12:57:03 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100909 12:57:03 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
Filling help tables...
100909 12:57:03 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100909 12:57:03 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h domU-12-31-39-13-CD-47 password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
                                                           [  OK  ]
Starting MySQL:                                            [  OK  ]
[root@domU-12-31-39-13-CD-47 ~]#

vi /etc/httpd/conf.d/phpMyAdmin.conf

# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
#Directory /usr/share/phpMyAdmin
#   order deny,allow
#   deny from all
#   allow from 127.0.0.1
#   allow from ::1
#Directory

# This directory does not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
Directory /usr/share/phpMyAdmin/libraries
    Order Deny,Allow
    Deny from All
    Allow from None
Directory

# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc.  This may break your mod_security implementation.
#
#IfModule mod_security.c
#    Directory /usr/share/phpMyAdmin
#        SecRuleInheritance Off
#    Directory
#IfModule

http://youdomain.com/phpmyadmin

wget http://wordpress.org/latest.zip

unzip latest.zip
cd wordpress
cp -a * /var/www/html

configure wordpress
cd /var/www/html
mv wp-config-sample.php wp-config.php
vim wp-config.php
.- edit in this line -.

define('DB_NAME', 'wordpress_db');
define('DB_USER', 'root');
define('DB_PASSWORD', 'password');

install on web browser
open your web browser and goto url:

http://yourdomain/

http://i56.tinypic.com/1zpqsts.png

http://i53.tinypic.com/287ojlv.jpg

http://i52.tinypic.com/110aa7k.jpg

http://i55.tinypic.com/24173wm.jpg

http://i51.tinypic.com/35b5n35.jpg

Tuesday, September 7, 2010

vtiger Installation On CentOS 5.x

vtiger Installation On CentOS 5.x

vtiger is the CRM / complete tracking solution I have looked for and needed for 10 years!!! An all-in-one tracking everything organic package that ties everything together - because every task has many things associated with it, and vtiger works the way people think.
I will install vtiger in the /var/www/html/vtigercrm directory on a CentOS 5.x (i386) system where /var/www/html is the document root of the web site where I install vtiger.
vtiger can be installed as follows:
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mapserver php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy phpmyadmin mysql mysql-server httpd libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel zlib xFree86-dev openssl openssl-devel krb5-devel imap-2004d
php.ini configuration:
Variable Value
allow_call_time_pass_reference on
error_reporting E_WARNING & ~E_NOTICE
safe_mode off
display_errors on
file_uploads on
max_execution_time 600
memory_limit 64M
log_errors off
output_buffering on
register_globals off
short_open_tag on
wget http://sourceforge.net/projects/vtigercrm/files/vtiger%20CRM%205.1.0/vtigercrm-5.1.0.tar.gz
tar -xvzf vtigercrm-5.1.0.tar.gz
chmod -R a+rw /var/www/html/vtigercrm
Open a browser - you can access the vtiger installer under:
http:///vtigercrm/install.php
Click to enlarge

Click to enlarge

Click to enlarge

Click to enlarge

Click to enlarge

Click to enlarge

Click to enlarge

Click to enlarge

Click to enlarge

Wednesday, September 1, 2010

Squid Proxy Cache Server Installation and Configuration


Squid is a proxy caching server. If you are Linux sysadmin, you can use squid to control internet access at your work environment.
This beginners guide will give a jump-start on how to setup squid on Linux to restrict internet access in an network.

Install Squid

You should install the following three squid related packages on your system.
  • squid
  • squid-common
  • squid-langpack
On Debian and Ubuntu, use aptitude to install squid as shown below. On CentOS, use yum to install the squid package.
$ yum install squid

Check Configuration and Startup scripts

Apart from installing the squid related packages, it also creates the /etc/squid/squid.conf and /etc/init.d/squid startup script.
By default Squid runs on 3128 port. You can verify this from the squid.conf file. You can also set the visible_hostname parameter in your squid.conf, which will be used in error_log. If you don’t define, squid gets the hostname value using gethostname() function.
# vim /etc/squid/squid.conf
visible_hostname ubuntuserver
httpd_port 3128
Note: The http port number (3128) specified in the squid.conf should be entered in the proxy setting section in the client browser. If squid is built with SSL, you can use https_port option inside squid.conf to define https squid.

Start Squid and View Logs

Start the Squid proxy caching server as shown below.
# service squid start
squid start/running, process 11743
Squid maintains three log files (access.log, cache.log and store.log) under /var/log/squid directory.
From the /var/log/squid/access.log, you can view who accessed which website at what time. Following is the format of the squid access.log record.
time elapsed remotehost code/status bytes method URL rfc931     peerstatus/peerhost
To disable logging in squid, update the squid.conf with the following information.
# to disable access.log
cache_access_log /dev/null

# to disable store.log
cache_store_log none

# to disable cache.log
cache_log /dev/null

Squid Usage 1: Restrict Access to Specific Websites

This is how you can restrict folks from browsing certain website when they are connected to your network using your proxy server.
Create a file called restricted_sites and list all sites that you would want to restrict the access.
# vim /etc/squid/restricted_sites
www.youtube.com
mail.yahoo.com
www.hotmail.com
www.gmail.com 

Modify the squid.conf to add the following.
# vim /etc/squid/squid.conf
acl RestrictedSites  dstdomain "/etc/squid/restricted_sites"
http_access deny RestrictedSites

Squid Usage 2: Allow Access to Websites Only During Specific Time

Some organization might want to allow employees to surf or download from the internet only during specific timeperiods.
The squid.conf configuration shown below will allow internet access for employees only between 9:00AM and 18:00 during weekdays.
# vim /etc/squid/squid.conf
acl official_hours time M T W H F 09:00-18:00
http_access deny all
http_access allow official_hours

Squid Usage 3 : Restrict Access to Particular Network

Instead of restricting specific sites, you can also provide access only to certain network and block everything else. The example below, allows access only to the 192.168.10.* internal network.
# vim /etc/squid/squid.conf
acl branch_offices src 192.168.10.0/24
http_access deny all
http_access allow branch_offices

Squid Usage 4 : Use Regular Expression to Match URLs

You can also use regular expression to allow or deny websites.
First create a blocked_sites files with a list of keywords.
# cat /etc/squid/blocked_sites
soccer
movie
www.example.com
Modify the squid.conf to block any sites that has any of these keywords in their url.
# vim /etc/squid/squid.conf
acl blocked_sites url_regex -i "/etc/squid/blocked_sites"
http_access deny blocked_sites
http_access allow all
In the above example, -i option is used for ignoring case for matching. So, while accessing the websites, squid will try to match the url with any of the pattern mentioned in the above blocked_sites file and denies the access when it matches.

SARG – Squid Analysis Report Generator

Download and install SARG to generate squid usage reports.
Use the sarg-reports command to generate reports as shown below.
# to generate the report for today
sarg-report today

# on daily basis
sarg-report daily

# on weekly basis
sarg-report weekly

# on monthly basis
sarg-report monthly

Add the sarg-report to the crontab.
The reports generated by sarg are stored under /var/www/squid-reports. These are html reports can you can view from a browser.
 
$ ls /var/www/squid-reports
Daily  index.hyml

$ ls /var/www/squid-reports/Daily
2010Sept1-2010Sept2  images  index.html