Showing posts with label CENTOS. Show all posts
Showing posts with label CENTOS. Show all posts

Tuesday, February 16, 2010

Apache WebDAV - Centos 5

Esta instalacion la realice 2 veces una en mi anterior trabajo hace un año, el problema es que cuando lo quize volver a realizar ya me habia olvidado, es que mi memoria es todo un problema.

Este how to no esta completo solo tome lo que necesitaba y lo uni, si alguien tiene algún otro aporte, pues bienvenido.

Uso un servidor centos 5.2

para compilar el conector jk necesitaremos el archivo apxs que viene con el httpd-devel

asi que:

 yum install httpd-devel

Eso resolverá las dependencias e instalara lo necesario por esa parte.

luego descargamos elapache-tomcat-5.5.27.tar.gz

lo llevamos /usr/local/

ahi lo descomprimimos :

tar -xvzf apache-tomcat-5.5.27.tar.gz 

y luego creamos un enlace :

ln -s  apache-tomcat-5.5.27 tomcat

ahora descargamos el jdk-1_5_0_03-linux-i586.bin

creamos una carpeta en /usr/local/ llamada java y ahi llevamos el jdk

luego le cambiamos los permisos :

chmod 755 jdk-1_5_0_03-linux-i586.bin 

y lo ejecutamos para instalarlo :

./jdk-1_5_0_03-linux-i586.bin

descargamos el apache-ant-1.7.0-bin.tar.gz

lo llevamos a la ruta /usr/local/

lo descomprimimos :

tar -xvz fapache-ant-1.7.0-bin.tar.gz

creamos un enlace :

ln -s apache-ant-1.7.0 ant

ahora es momento de modificar el archivo /etc/profile

y agregamos lo siguiente al final del archivo.

JAVA_HOME=/usr/local/java/jdk1.5.0_03
ANT_HOME=/usr/local/ant
PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME
export PATH JAVA_HOME ANT_HOME 
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
CLASSPATH=$CATALINA_HOME/common/lib/servlet.jar
CATALINA_OPTS='-Djava.awt.headless=true'

ahora descargamos el conector jakarta-tomcat-connectors-1.2.15-src.tar.gz

lo llevamos a la ruta /usr/src/

ahi lo descomprimimos:

tar -xvz fjakarta-tomcat-connectors-1.2.15-src.tar.gz 

luego ingresamos dentro de la carpeta creada ingresamos al directorio

cd jk/native

ahi ejecutamos el comando :

./buildconf.sh 

luego :

./configure --with-apxs=/usr/sbin/apxs --enable-EAPI

despues:

make

y finalmente:

make install

eso copiará el mod_jk.so a la carpeta /usr/lib/httpd/modules/

ahora es momento de modificar el archivo de configuracion del apache

vim /etc/http/conf/httpd.conf

en la seccion agregamos la carga del modulo

LoadModule jk_module modules/mod_jk.so

y luego en la seccion 3

JkWorkersFile "conf/workers.properties"
JkLogFile "logs/mod_jk.log"
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%S %Y] "
JkMount /jsp-examples default
JkMount /jsp-examples/* default

eso quiere decir que tenemos que crear el archivo workers.properties en el directorio conf del apache

vi /etc/httpd/conf/workers.properties 

con el siguiente contenido:

workers.tomcat_home=$CATALINA_HOME 
workers.java_home=$JAVA_HOME
ps=/
worker.list=default
worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1

creo que hasta ahi ya podriamos probar

ingresamos al directorio bin del tomcat

cd /usr/local/tomcat/bin/ 

y ejecutamos :

./catalina.sh start 

deberiamos ver
Using CATALINA_BASE:  /usr/local/tomcat 
Using CATALINA_HOME:  /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:    /usr/local/java/jdk1.5.0_03

para comprobar el correcto funcionamiento:

netstat -an |grep tcp |grep 8080 

y nos muestra:

tcp    0   0 :::8080           :::*            LISTEN

ahora levantamos el apache

service httpd start

Starting httpd:                      [ OK ]

probamos

Apache
 http://localhost

Tomcat:
 http://localhost:8080

Y el conector mod_jk:

http://localhost/jsp-examples

hasta ahi si salio todo bien deberiamos poder navegar por el directorio de los ejemplos

Ahora si deseamos desplegar una aplicacion nueva en un archivo war

suponiendo que nuestro war se llama apliacion.war

primero modificamos el archivo del apache agregamos al final

JkMount /aplicacion default
JkMount /aplicacion/* default

y luego desplegamos el war colocandolo en la carpeta /usr/local/tomcat/webapps/

el apache se encarga de descomprimirlo y deplegarlo creando una carpeta con el nombre del archivo tambien se puede desplegar desde el manager del tomcat

primero modificamos el archivo users del tomcat

vim /usr/local/tomcat/conf/tomcat-users.xml

agregar los roles admin y manager




y agregamos un usuario y password con esos roles




luego cuando ingresamos en la direccion;

http://localhost:8080/

vamos al enlace manager ponemos el usuario y clave y desde ahi podemos subir nuestros archivos war

reiniciamos el apache y el tomcat probamos..

Instalar Webmin con YUM - Centos

Webmin es una herramienta muy util para cualquier administrador.
y debido a que me malacostumbre a instalar todo por YUM, aquí les dejo las indicaciones para instalar webmin por YUM.

Como webmin no se encuentra en ningun repositorio debemos de agregar uno.

cd /etc/yum.repos.d
vim webmin.repo

ahí ponemos lo siguiente:

[Webmin]
name=Webmin Distribution Neutral
baseurl=http://download.webmin.com/download/yum
enabled=1

Luego descargamos la llave y la importamos

wget http://www.webmin.com/jcameron-key.asc
rpm --import jcameron-key.asc

y finalmente:

yum install -y webmin

Agregando repositorios extras a Centos

Si estamos acostumbrados a instalar todo por YUM nos daremos con la sorpresa de que no todos los paquetes se encuentran en los repositorios originales de Centos.

Les mostrare como agregar algunos otros repos.

*Esto es solo para arquitecturas i386

RpmForge

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm 



DAG Repo

wget http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
cd /etc/yum.repos.d
vim dag.repo

y ahí ­ ponemos lo siguiente:

[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1

Epel

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

ahora simplemente hacemos una lista de los repositorios instalados

yum repolist

No olvidar aplicarle priorites a los repositorios.

Monday, February 15, 2010

Autenticación LDAP para apache - Centos 5

Si tenemos un LDAP montado y deseamos realizar la autenticacion de una aplicacion contra los usuarios matriculados en el LDAP, en vez de usar los archivos .httaccess , debemos instalar httpd-devel



Entonces primero confirmamos que el apache tiene el modulo para ldap

en la seccion 1

LoadModule ldap_module modules/mod_ldap.so

y en la seccion 3

Ponemos:


 AuthType basic
 AuthName "Identificacion LDAP"
 AuthLDAPUrl ldap://localhost:389/dc=midominio,dc=com,dc=pe?uid
 AuthLDAPBindDN "cn=Manager,dc=example,dc=com,dc=pe"
 AuthLDAPBindPassword password-administrador-ldap
 require valid-user
 

con esta configuracion todos los usaurios registrados en el ldap podrian ingresar con su usuario y password

ahora si solo queremos algunos usuarios, por ejemplo los reportes del squid:


 Options Indexes FollowSymLinks
 AllowOverride None
 Order allow, deny
 Allow from all
 AuthType basic
 AuthName "Identificacion LDAP"
 AuthLDAPUrl ldap://localhost:389/dc=midominio,dc=com,dc=pe?uid
 AuthLDAPBindDN "cn=Manager,dc=example,dc=com,dc=pe"
 AuthLDAPBindPassword password-administrador-ldap
 require user rkcomt
 

reinciamos el apache y probamos

Yum priorities - Centos 5

Priorities es un plugin que nos ayuda a establecer prioridades en los repositorios que usamos cuando se instala un paquete, esto es muy importante sobre todo cuando el paquete existe en más de un repositorio.

yum install yum-priorities

una vez instalado verificamos que este hablitado en /etc/yum/pluginconf.d/priorities.conf

[main]
enabled = 1

Luego editamos los repositorios que se encuentran en /etc/yum.repos.d/ añadiendo la linea:

priority=X

donde X tiene que ver con el repositorio.

y 1 es la máxima prioridad.

Para los repositorios: base,updates,addons y extras X valdrá 1
Para los repos : entosplus, contrib, priority X valdrá 2
Para todos los demas como: rpmforge, epel X valdrá 10

DNS en Linux - Centos 5

Primero instalamos los paquetes necesarios

yum install bind bind-utils bind-libs bind-chroot caching-nameserver

Para la configuración se supone que contamos con una dirección IP externa y un dominio.

El servidor se instalará bajo la ruta :

/var/named/chroot/

entonces vamos a esa ruta:

cd /var/named/chroot/

editamos el siguiente archivo:

vim /var/named/chroot/etc/named.conf

y agregamos antes de la última línea lo siguiente:

zone "dominio.com.pe." {
        type master;
        file "dominio.com.pe.db";
        allow-update { none; };

};

zone "138.168.192.in-addr.arpa" {
        type master;
        file "reverso.db";
};

El primer bloque representa nuestro dominio y el archivo que lo describirá es : dominio.com.pe.db
Tu debes de reemplazar dominio por tu dominio

El segundo bloque representa la dirección IP externa del registro, pero se encuentra escrita al revés, pues se usará para la resolución inversa. El archivo que lo soportará será reverso.db

El archivo named.conf debería quedar de este modo:

// Red Hat BIND Configuration Tool
// 
// Default initial "Caching Only" name server configuration
//

options {
    directory "/var/named";
        statistics-file "/var/named/data/named_stats.txt";
    /*
     * If there is a firewall between you and nameservers you want
     * to talk to, you might need to uncomment the query-source
     * directive below.  Previous versions of BIND always asked
     * questions using port 53, but BIND 8.1 uses an unprivileged
     * port by default.
     */
     // query-source address * port 53;
};

zone "." IN {
    type hint;
    file "named.root";
};

zone "localdomain." IN {
    type master;
    file "localdomain.zone";
    allow-update { none; };
};

zone "localhost." IN {
    type master;
    file "localhost.zone";
    allow-update { none; };
};

zone "0.0.127.in-addr.arpa." IN {
    type master;
    file "named.local";
    allow-update { none; };
};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa." IN {
        type master;
    file "named.ip6.local";
    allow-update { none; };
};

zone "255.in-addr.arpa." IN {
    type master;
    file "named.broadcast";
    allow-update { none; };
};

zone "0.in-addr.arpa." IN {
    type master;
    file "named.zero";
    allow-update { none; };
};

#Aqui va nuestro configuracion 
zone "dominio.com.pe." {
        type master;
        file "dominio.com.pe.db";
        allow-update { none; };

};

zone "138.168.192.in-addr.arpa" {
        type master;
        file "reverso.db";
};




include "/etc/rndc.key";



Ya que al inicio del archivo named.conf el atributo directory esta seteado como "/var/named" entonces los archivos tendremos que crearlos en /var/named/chroot/var/named

ahí generamos los archivos

Primero :

vim dominio.com.pe.db

y adentro ponemos:
$TTL    86400
@               IN SOA  ns.dominio.com.pe postmaster.dominio.com.pe (
                                42              ; serial (d. adams)
                                3H              ; refresh
                                15M             ; retry
                                1W              ; expiry
                                1D )            ; minimum
                                IN      NS      ns.dominio.com.pe.
                                IN      MX      10      mail.dominio.com.pe.
                                IN      A       192.168.138.129
www                             IN      A       192.168.138.129
proxy                           IN      A       192.168.138.129
ns                              IN      A       192.168.138.129
mail                            IN      CNAME   www.dominio.com.pe.

;EOF

Luego creamos el archivo reverso.db


vim reverso.db

y ponemos lo siguiente:

$TTL    86400
@       IN      SOA     ns.dominio.com.pe. postmaster.dominio.com.pe.  (
                                1997022700 ; Serial
                                28800      ; Refresh
                                14400      ; Retry
                                3600000    ; Expire
                                86400 )    ; Minimum
                                IN      NS      ns.dominio.com.pe.
129                             IN      PTR     dominio.com.pe.
129                             IN      PTR     mail.dominio.com.pe.
129                             IN      PTR     www.dominio.com.pe.
129                             IN      PTR     proxy.dominio.com.pe.
;EOF

la dirección IP de mi dominio es 192.168.138.129, es por esto que los registro empiezan con 129, tu debes reemplazar con tu dirección IP.

en tu archivo /etc/hosts debes tener estar bien descrito tu nombre de maquina.

127.0.0.1               localhost.localdomain localhost
192.168.138.129         mail.dominio.com.pe       mail
::1                     localhost6.localdomain6 localhost6

y el archivo /etc/sysconfig/network
debes tener el mismo nombre de maquina.

NETWORKING=yes
HOSTNAME=mail.dominio.com.pe
GATEWAY=192.168.138.2

ahora el archivo /etc/resolv.conf agregamos:

nameserver 127.0.0.1


Si si hemos modificado el nombre del servidor lo mejor será reiniciarlo.

Ponemos el inicio en automático para los niveles 345

chkconfig --level 345 named on

levantamos el servicio


service named start


y comprobamos con Dig

dig -t mx dominio.com.pe

obtendremos el siguiente resultado:

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2 <<>> -t mx dominio.com.pe
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28733
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;dominio.com.pe.                  IN      MX

;; ANSWER SECTION:
dominio.com.pe.           86400   IN      MX      10 mail.dominio.com.pe.

;; AUTHORITY SECTION:
dominio.com.pe.           86400   IN      NS      ns.dominio.com.pe.

;; ADDITIONAL SECTION:
ns.dominio.com.pe.        86400   IN      A       192.168.138.129

;; Query time: 4 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Feb 13 18:42:19 2010
;; MSG SIZE  rcvd: 84
también podemos probar haciendo un ping a www.dominio.com.pe ó a ns.dominio.com.pe o a los otros registros. Estos son los archivos que utilicé
  1. dominio.com.pe.db
  2. reverso.db
  3. network
  4. hosts
  5. named.root

Friday, November 07, 2008

Centos 5 Apache 2 Tomcat 5 mod_jk

Esta instalacion la realice 2 veces una en mi anterior trabajo hace un año, el problema es que cuando lo quize volver a realizar ya me habia olvidado, es que mi memoria es todo un problema.

Este how to no esta completo solo tome lo que necesitaba y lo uni, si alguien tiene algún otro aporte, pues bienvenido.

Uso un servidor centos 5.2

para compilar el conector jk necesitaremos el archivo apxs que viene con el httpd-devel

asi que:



Eso resolverá las dependencias e instalara lo necesario por esa parte.

luego descargamos elapache-tomcat-5.5.27.tar.gz

lo llevamos /usr/local/

ahi lo descomprimimos :



y luego creamos un enlace :



ahora descargamos el jdk-1_5_0_03-linux-i586.bin

creamos una carpeta en /usr/local/ llamada java y ahi llevamos el jdk

luego le cambiamos los permisos :



y lo ejecutamos para instalarlo :



descargamos el apache-ant-1.7.0-bin.tar.gz

lo llevamos a la ruta /usr/local/

lo descomprimimos :



creamos un enlace :



ahora es momento de modificar el archivo /etc/profile

y agregamos lo siguiente al final del archivo.



ahora descargamos el conector jakarta-tomcat-connectors-1.2.15-src.tar.gz

lo llevamos a la ruta /usr/src/

ahi lo descomprimimos:



luego ingresamos dentro de la carpeta creada ingresamos al directorio



ahi ejecutamos el comando :



luego :



despues:



y finalmente:



eso copiará el mod_jk.so a la carpeta /usr/lib/httpd/modules/

ahora es momento de modificar el archivo de configuracion del apache



en la seccion agregamos la carga del modulo



y luego en la seccion 3



eso quiere decir que tenemos que crear el archivo workers.properties en el directorio conf del apache



con el siguiente contenido:



creo que hasta ahi ya podriamos probar

ingresamos al directorio bin del tomcat



y ejecutamos :



deberiamos ver


para comprobar el correcto funcionamiento:



y nos muestra:



ahora levantamos el apache





probamos

Apache


Tomcat:


Y el conector mod_jk:



hasta ahi si salio todo bien deberiamos poder navegar por el directorio de los ejemplos

Ahora si deseamos desplegar una aplicacion nueva en un archivo war

suponiendo que nuestro war se llama apliacion.war

primero modificamos el archivo del apache agregamos al final



y luego desplegamos el war colocandolo en la carpeta /usr/local/tomcat/webapps/

el apache se encarga de descomprimirlo y deplegarlo creando una carpeta con el nombre del archivo tambien se puede desplegar desde el manager del tomcat

primero modificamos el archivo users del tomcat



agregar los roles admin y manager



y agregamos un usuario y password con esos roles



luego cuando ingresamos en la direccion;



vamos al enlace manager ponemos el usuario y clave y desde ahi podemos subir nuestros archivos war

reiniciamos el apache y el tomcat probamos..