Filtrado de contenido, squid + qlproxy, Centos 5.8

Ya hace algún tiempo existe una organización llamada  ICAP, que incluso ahora es un protocolo estandar.

Basicamente, el programador de la pagina declara que tipo de contenido es la pagina, para que ICAP pueda filtrar o permitirla.

El proceso de instalación en CentOS 5.8 de 32 bits es como sigue:

1.-Instalación fresca de CentOS o preexistente

2.-Instalar Squid 3.0 (las versiones anteriores no soportan ICAP…!!!

rpm -Uvh http://people.redhat.com/jskala/squid/squid-3.0.STABLE25-1.el5/i386/squid-3.0.STABLE25-1.el5.i386.rpm

Despues de la instalación por default viene para negar al acceso a todos los clientes, asi que edita:

vi /etc/squid/squid.conf

acl redlocal src 172.16.10.0/24

http_access allow redlocal

De una vez que estas ahi agrega:

icap_enable on

icap_preview_enable on

icap_preview_size 4096

icap_persistent_connections on

icap_send_client_ip on

icap_send_client_username on

icap_service qlproxy1

reqmod_precache bypass=0 icap://127.0.0.1:1344/reqmod

icap_service qlproxy2 respmod_precache bypass=0 icap://127.0.0.1:1344/respmod

adaptation_access qlproxy1 allow all

adaptation_access qlproxy2 allow all

Guardas los cambios.

Ahora vamos a instalar el binario de qlproxy

3.- rpm -Uvh http://www.quintolabs.com/qlproxy/binaries/2.0.1/centos5/qlproxy-2.0.0-1cbef.i386.rpm

Por último iniciar por primera vez el servicio de squid

service squid start

Como este proxy no es transparente tendras que modificar las opciones del navegador y configurar la IP del servidor squid.

Para probar intenta visitar alguna pagina para adultos…

 

 

 

Servidor LAMP (Linux apache mysql php) desde codigo fuente

Primero descarcar los archivos fuente de las respectivas paginas

www.php.net

www.mysql.com

www.apache.org

Prerequisitos:

Abrir el puerto del firewall:

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

Tener instalado el paquete “Development tools” y las herramientes de desarrollo ncurses-devel,  libxml2-devel, gd-devel

Agregar un grupo y usuario para Mysql

groupadd mysql

useradd -g mysql -c “MySQL Server” mysql

Tengo estos:

httpd-2.2.21.tar.gz  mysql-5.1.61.tar.gz  php-5.3.10.tar

Con el tiempo podra combiar algunas versiones menores.

Primero vamos a compilar e instalar el Apache

tar zxvf httpd-2.2.21.tar.gz

cd httpd-2.2.21

./configure –prefix=/usr/local/apache –enable-shared=max –enable-module=rewrite –enable-module=so

make && make install

Listo, si no hay noticias son buenas noticias.

Ahora mysql

tar zxvf mysql-5.1.61.tar.gz

cd mysql-5.1.61

./configure  –prefix=/usr/local/mysql  –localstatedir=/usr/local/mysql/data  –with-mysqld-user=mysql  –with-unix-socket-path=/tmp/mysql.sock  –without-comment  –without-debug

make && make install

Ahora vamos a configurarlo:

Primero creamos las bases de datos

./scripts/mysql_install_db

chown -R root:mysql  /usr/local/mysql chown -R mysql:mysql /usr/local/mysql/data

cp support-files/my-medium.cnf /etc/my.cnf chown root:sys /etc/my.cnf chmod 644 /etc/my.cnf

echo “/usr/local/mysql/lib/mysql” >> /etc/ld.so.conf

ldconfig

Ahora vamos a crear un init

cp ./support-files/mysql.server /etc/rc.d/init.d/mysql chmod +x /etc/rc.d/init.d/mysql /sbin/chkconfig –level 2 mysql on

Ahora vamos a iniciarlor

service mysql start

Asignamos password a root de mysql

mysqladmin -u root password mi.super.pass

Y ya.

Ahora PHP

tar xvf php-5.3.10.tar

./configure  –with-apxs2=/usr/local/apache/bin/apxs  –disable-debug  –enable-ftp  –enable-inline-optimization  –enable-magic-quotes  –enable-mbstring   –enable-safe-mode  –enable-wddx=shared  –enable-xml  –with-gd  –with-gettext  –with-mysql=/usr/local/mysql  –with-regex=system  –with-zlib-dir=/usr/lib

make && make install

cp php.ini-production /usr/local/lib/php.ini

ln -s /usr/local/lib/php.ini /etc/php.ini

Por ultimo agregar soporte para archivos de php en la configuración del apache.

Edita:

vi /usr/local/apache/conf/httpd.conf

Agrega:

AddType application/x-httpd-php .php

Detener el servicio de apache:

service apache stop

service apache start

apunta tu navegador a la direccion IP donde hiciste todo esto.

Para probar el php

crear un archivo en:

/usr/local/apache/htdocs/test.php

con el codigo

<html> < head> < title> PHP Test Script </title> < /head> < body> <?php phpinfo( ); ?> < /body> < /html>

Visita ese archivo en el navegador.

*Basado en parte, http://www.lamphowto.com/

 

 

Compilar NGNIX en CentOS 6.2

 

NGNIX (Engine X) es un HTTP and reverse proxy server, goza de gran influiencia en los servidores web, repuntando su utilizacion por mas sysadmins para sitios muy ocupados.

Primero descargar el codigo fuente:

wget -vc http://nginx.org/download/nginx-1.0.11.tar.gz

tar zxvf nginx-1.0.11.tar.gz

cd  nginx-1.0.11

Ahora una compilción básica:

./configure  –without-http_proxy_module

make && make install

Para iniciar el servicio:

/usr/local/nginx/sbin/nginx

Para probarlo habre tu navegador,  visita http://localhost

 

Agregar repositorios a Centos 6.2

 

Por omisión Centos 6.2 solo contiene los repositorios oficiales. Exiten otros más con software adicional. Por ejemplo:

Si intentas instalar htop (es el comando top mejorado) con los reposittorios oficiales no los tiene.

Vamos agregar 2 mirrors con paquetes binarios.

Primero importar las llaves GPG locals.

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Agregar 2 repositorios, RPMForge y EPEL

rpm –import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

Descargamos el RPM que contiene el archivo de configuracón del repositorio

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

Lo instalamos:

rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

Ahora el EPEL:

rpm –import https://fedoraproject.org/static/0608B895.txt

wget http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm

rpm -ivh epel-release-6-5.noarch.rpm

Ahora si, podemos instalar:

yum install htop