Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

LDAP Centos Directory Server

En el dia de hoy instalaremos y configuraremos un LDAP en un Centos 5.3 actualizado. Para esto usaremos el Centos Directory Server basado en Fedora Directory Server. Los siguientes comandos los ejecutaremos como usuario root.

Descargamos y habilitamos el repositorio testing de centos
cd /etc/yum.repos.d/
wget -c http://dev.centos.org/centos/5/CentOS-Testing.repo

Debajo de la seccion [c5-testing] agregamos
exclude=java-1.7.0-icedtea

Instalamos el directorio con el comando
yum --enablerepo=c5-testing install centos-ds

Instalamos requerimientos
yum install xorg-x11-xauth bitstream-vera-fonts dejavu-lgc-fonts urw-fonts

En caso de ya tener algún paquete de java instalado, debemos poner por default el openjdk. Si tienen dudas como poner default un software, para esto lo hacemos con alternatives como menciono en este pasado articulo.
En mi caso, estoy creando el servicio en un server virtual creado con openvz y este da un error al tratar de ejecutarlo.
Lo solucionamos con los siguientes comandos
echo tmpfs /dev/shm tmpfs defaults 0 0 >> /etc/fstab
mount /dev/shm

Si estas configurándolo en un servidor real, no debe ser necesario los anteriores comandos.

Configuramos el directorio, si es primera vez, se recomienda usar la instalacion typical.

setup-ds-admin.pl

Terminamos ejecutando la consola administrativa desde el modo grafico local
centos-idm-console


Share/Bookmark

Rockea con amarok 2


Hoy amanecí musical y con ganas de cambiar mi estilo para escuchar música, así que me di a la tarea de actualizar mi amarok a la versión 2 en mi ubuntu Hardy 8.04. Igual si tienes la 8.10 te sirven las instrucciones con un pequeño cambio que comentare en su momento.

-Agregamos el repositorio donde esta el deb de amarok 2 para kde 4. Solo debemos colocar una de las dos lineas en el source.list, dependiendo de la versión de ubuntu que tengamos. Guardamos y salimos.

sudo vi /etc/apt/sources.list

#linea para ubuntu Hardy 8.04
deb http://ppa.launchpad.net/kubuntu-members-kde4/ubuntu hardy main

#linea para ubuntu Intrepid 8.10
deb http://ppa.launchpad.net/kubuntu-members-kde4/ubuntu intrepid main

-Actualizamos nuestros repositorios e instalamos amarok 2. Es hora de ir por un café mientras termina.
sudo apt-get update
sudo apt-get install amarok-kde4



Share/Bookmark

DimDim en Centos 5.2

Esta vez configuraremos un server Centos 5.2 para tener videoconferencias o web meetings con uso de documentos compartidos, web, etc. Como siempre, es opensource.
Para eso usaremos Centos 5.2, totalmente actualizado al dia y trabajaremos desde root. Sugiero instalar solo server, sin ambiente gráfico, para usar mejor el potencial del server.

-Instalamos openoffice 3.1.0
wget -c http://www.ring.gr.jp/archives/misc/openoffice/stable/3.0.1/OOo_3.0.1_LinuxIntel_install_wJRE_en-US.tar.gz
tar xzvf OOo_3.0.1_LinuxIntel_install_wJRE_en-US.tar.gz
cd OOO300_m15_native_packed-1_en-US.9379/RPMS

-Instalamos dependencias para OpenOffice
yum install gnome-vfs2 ethtool mingetty which binutils gcc make python-devel

-Instalamos los rpm de OpenOffice
rpm -ivh *.rpm

-Verificamos y configuramos Java
echo $JAVA_HOME

-En caso de que como en el ejemplo anterior, no muestre nada, hacemos lo siguiente:
Primero verificamos este instalado Java y que versión (Para OpenOffice 3.0.1 debe ser superior a 1.6)

java -version
java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)

find / -name java | grep /bin/java | grep jre | grep 1.6
/usr/java/jre1.6.0_11/bin/java

-Lo anterior nos muestra donde esta instalado, procedemos a colocar las variables de ambiente
vi /etc/profile.d/java.sh
export J2RE_HOME=/usr/java/jre1.6.0_11/
export JAVA_HOME=/usr/java/jre1.6.0_11/
export PATH=$J2RE_HOME/bin:$JAVA_HOME:$PATH

-Ejecutamos
source /etc/profile.d/java.sh
which java
/usr/java/jre1.6.0_11/bin/java

-Si su salida es parecida, esta ok. Continuamos habilitando la opción a usar de java por el OS
/usr/sbin/alternatives --install /usr/bin/java java /usr/java/jre1.6.0_11/bin/java 2
/usr/sbin/alternatives --config java
There is 1 program that provides 'java'.

Selection Command
-----------------------------------------------
*+ 1 /usr/java/jre1.6.0_11/bin/java

Enter to keep the current selection[+], or type selection number: 1

-Seleccionamos la opción que instalamos, en mi caso la 1. Continuamos verificando haya tomado el cambio.
/usr/sbin/alternatives --display java
java - status is manual.
link currently points to /usr/java/jre1.6.0_11/bin/java
/usr/java/jre1.6.0_11/bin/java - priority 2
Current `best' version is /usr/java/jre1.6.0_11/bin/java.

-Instalamos cherrypy
wget -c http://download.cherrypy.org/cherrypy/3.1.1/CherryPy-3.1.1.tar.gz
cd cherrypy
python2.4 setup.py install

-Verificamos haya quedado bien instalado
python2.4
>>>import cherrypy

-Si no devuelve ningun mensaje, esta instalado ok

-Instalamos Flup
cd
wget -c http://www.saddi.com/software/flup/dist/flup-1.0.tar.gz
tar xzvf flup-1.0.tar.gz
cd flup-1.0
python2.4 ez_setup.py -U setuptools
python2.4 setup.py install

-Verificamos que este bien instalado, si no muestra ningún msg en el comando esta ok
python2.4
>>> import flup

-Instalamos pycurl. La versión de curl en centos 5.2 es la 7.15 y necesitamos minimo la 7.19
cd
wget -c http://curl.haxx.se/download/curl-7.19.0.tar.gz
tar xzvf curl-7.19.0.tar.gz
cd curl-7.19.0
./configure
make
make install
vi /etc/ld.so.conf
/usr/local/lib
ldconfig
rpm --nodeps -e curl
curl --version
curl 7.19.0 (i686-pc-linux-gnu) libcurl/7.19.0
Protocols: tftp ftp telnet dict http file
Features: IPv6 Largefile

easy_install-2.4 pycurl

-Instalamos demjson
cd
wget -c http://deron.meranda.us/python/demjson/dist/demjson-1.4.tar.gz
tar xzvf demjson-1.4.tar.gz
cd demjson-1.4
Verificamos
python2.4
>>> import demjson

-Instalamos Python2.5
yum install zlib*
cd
wget -c http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz
tar xvzf Python-2.5.2.tgz
cd Python-2.5.2
./configure
make
make install

-Ahora debemos incluir pycurl,demjson,flup,cherrypy con Python2.5, para eso hacemos los siguiente.

-CherryPy
cd ../CherryPy-3.1.1
python2.5 setup.py install
-Verificamos
python2.5
>>> import cherrypy

-Flup
cd ../flup-1.0
python2.5 ez_setup.py -U setuptools
python2.5 setup.py install
-Verificamos
python2.5
>>> import flup

-demjson
cd ../demjson-1.4
python2.5 setup.py install
-Verificamos
python2.5
>>> import demjson

-pycurl
easy_install-2.5 pycurl
-Verificamos
python2.5
>>> import pycurl

-Instalamos DimDim
cd
wget -c http://hivelocity.dl.sourceforge.net/sourceforge/dimdim/Dimdim_RPM_Package_CentOS_5.2_v4.5.zip

gunzip Dimdim_RPM_Package_CentOS_5.2_v4.5.zip
cd Dimdim_RPM_Package_v4.5/
rpm -ivh Dimdim-4.5_SF_i386.rpm
Preparing... ########################################### [100%]
Checking preinstall checks
CentOS release 5.2 (Final)
Success...
Please wait...
Checking Ports..
Port 80 is free
Port 1935 is free
Port 40000 is free
Port 40001 is free
Port 40002 is free
Port 40005 is free
1:dimdim ########################################### [100%]
Successfully installed Dimdim Components
==========================================
Post Installation ...
==========================================
Configuring the Dimdim Conference Server Settings
Successfully configured the java path in wrapper.conf
==========================================
1. To start or stop Dimdim, do startDimdim and stopDimdim
2. It is necessary that the dimdim conference server be stopped and re-started before and after changing the ipaddress.
==========================================
==========================================
To Start a meeting, use the URL: http://ippublica/dimdim/
==========================================

-Por default dimdim usara la eth0 para configurarse, verificar que este en una ip sin firewall o con los puertos que el necesita abiertos, sino, no funcionara y dara el error de puertos bloqueados.

-Configuramos smtp
cd /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/webapps/dimdim/WEB-INF/classes/resources/

-Como medida de seguridad, sacamos un backup. Si se equivoca o algo no funciona despues de los cambios, devuelvase a este backup.
cp dimdim.properties dimdim.properties-original

vi dimdim.properties

-Después de nuestra personalizacion, reiniciamos el servicio.
startDimdim

Listo, ya tenemos un server de videoconferencia con tablero compartido. Disfrutenlo. Share/Bookmark

Sun Java en Centos

Esta tarea es hecha por nosotros a cada rato, cuando nos encontramos con el problema de que necesitamos java y el rpm que trae Centos por default no nos sirve del todo, llevándonos a tener que usar el java de Sun. Hoy mostrare como instalar jre. A la fecha la ultima version es la 1.6.012. Todo lo haremos desde la cuenta root.

Primero descargamos de java.sun.com el jre en su ultima version en formato bin, no rpm.
En mi caso, Linux, Multilanguaje
jre-6u12-linux-i586.bin

Copiamos el bin a /opt, le damos atributos de ejecucion y lo ejecutamos.
cp jre-6u12-linux-i586.bin /opt
cd /opt
chmod +x jre-6u12-linux-i586.bin
./jre-6u12-linux-i586.bin

Nos pedira aceptar la licencia de Sun, damos yes y enter. Ahi se instalar bajo un directorio de opt.
Editamos /etc/profile.d/java.sh, colocar su path acorde a la version que descarguen del jre. Tambien debemos asegurarnos de dejar una linea en blanco debajo.

vi /etc/profile.d/java.sh

export J2RE_HOME=/opt/jre1.6.0_12/
export PATH=$J2RE_HOME/bin:$PATH

Ejecutamos lo siguiente:

source /etc/profile.d/java.sh

which java
/opt/jre1.6.0_12/bin/java

Con esto verificamos que el path este acorde a donde instalamos el jre.
Ejecutamos lo siguiente:

/usr/sbin/alternatives --install /usr/bin/java java /opt/jre1.6.0_12/bin/java 2

Ejecutamos lo siguiente eligiendo el numero del jre que estamos configurando. En mi caso el 4 y damos enter.

/usr/sbin/alternatives --config java
There are 4 programs which provide 'java'.

Selection Command
-----------------------------------------------
* 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
2 /opt/jre1.6.0_06/bin/java
3 /opt/jre1.5.0_12/bin/java
+ 4 /opt/jre1.6.0_12/bin/java

Enter to keep the current selection[+], or type selection number:

Verificamos quede bien:
/usr/sbin/alternatives --display java

Debe mostrarle entre otras cosas:
java - status is manual.
link currently points to /opt/jre1.6.0_12/bin/java

Listo, ya podemos usar java:

java -version
java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing)
Share/Bookmark

Windows sin password

A veces nos pasa a nosotros o a algún amigo, que nos quedamos sin el password de la cuenta administrador de Microsoft Windows, entonces, nada mas sencillo que borrar el password y crear uno nuevo con Linux como navaja suiza.
Para esta nota usaremos un cd de Ubuntu pero esto podemos hacerlo con otro Linux Live CD con instrucciones parecidas.
Iniciamos el pc Windows con el Ubuntu Linux Live CD, entramos al desktop, no necesitamos instalarlo.

-Abrimos una consola linux y ejecutamos:

sudo apt-get install chntpw

-Buscamos la partición a montar NTFS

sudo fdisk -l
[sudo] password for cabrera:

Disco /dev/sda: 120.0 GB, 120034123776 bytes
255 cabezas, 63 sectores/pista, 14593 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0xbd91bd91

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 1341 10771551 7 HPFS/NTFS

En el anterior ejemplo vemos que la partición NTFS es sda1, procedemos a montarla en /mnt o /media según preferencias suyas.

-Ya montada la partición cambiamos al directorio WINDOWS/system32/config

cd /media/disk/WINDOWS/system32/config

Cambiamos el password

sudo chntpw SAM

Nos saldrán algunos mensajes, nada de que preocuparse, una vez nos pregunte si queremos resetear el password, lo dejamos con un solo * (un único asterisco).
Reinicie el PC y ya podrá entrar a Windows esta vez sin password, recomendable colocarle uno.

Otros Live CD recomendados:
RescueCD
Trinity Rescue Kit


Share/Bookmark

RT en centos 5

RT (Request Tracker) es uno de los software de gestión de tickets mas usado hoy en día en el mundo del opensource. Esta vez instalaremos y configuraremos un server para RT con Centos 5.2.
Me basare en una instalacion virtualizada con openvz proxmox. Aparte de esto, debe ser igual en un server sin virtualizar.

Verificamos que nuestro server Centos 5.2 este actualizado.
yum update

Activamos el repositorio de centosplus
vi /etc/yum.repos.d/CentOS-Base.repo

[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

Instalamos rpmforge, si es un server de 32bits
wget -c http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -vi rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Si es de 64bits:
wget -c http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
rpm -vi rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

Instalamos apache, mod_perl y algunas dependencias
yum install httpd httpd-devel apr-devel mysql-client mysql-devel mod_perl make elinks which
yum install freetype-devel gd-devel libjpeg-devel libpng-devel xorg-x11-devel mysql-server

Instalamos ncftp, si el server es de 32bits:
wget -c http://centos.karan.org/el5/extras/testing/i386/RPMS/ncftp-3.2.1-1.el5.kb.i386.rpm
rpm -vi ncftp-3.2.1-1.el5.kb.i386.rpm

Si es de 64bits:
wget -c http://centos.karan.org/el5/extras/testing/x86_64/RPMS/ncftp-3.2.1-1.el5.kb.x86_64.rpm
rpm -vi ncftp-3.2.1-1.el5.kb.x86_64.rpm

Agregamos un grupo para rt y colocamos el usuario apache dentro de el
groupadd rt

vi /etc/group
rt:x:500:apache

Desabilitamos SElinux
vi /etc/selinux/config
SELINUX=disable

Modificamos los permisos de los logs de apache
chmod -Rf 755 /etc/httpd/logs
reboot

Instalamos dependencias de perl
yum install perl-Apache-Session perl-Class-Container perl-Class-Data-Inheritable perl-Crypt-DES perl-Devel-StackTrace perl-Exception-Class perl-GD perl-GD-Graph perl-GD-Text-Util perl-Hook-LexWrap perl-HTML-Mason perl-HTTP-Server-Simple perl-HTTP-Server-Simple-Mason perl-IO-Socket perl-Net-SNMP perl-Params-Validate perl-Socket6 perl-XML-RSS perl-DBD-mysql

perl -MCPAN -e shell
cpan>install Bundle::CPAN
cpan>exit

Descargamos RT
wget -c http://download.bestpractical.com/pub/rt/release/rt.tar.gz
tar xzf rt.tar.gz

En este momento es la version 3.8.2
cd rt-3.8.2

Compilamos RT
./configure --with-web-user=apache --with-web-group=apache --with-modperl2 --with-mysql

perl sbin/rt-test-dependencies --with-mysql --with-modperl2 --install

Si todo marcha bien, debe mostrar lo siguiente:
perl sbin/rt-test-dependencies --with-mysql --with-modperl2 --install
perl:
>=5.8.3(5.8.8)...found
users:
rt group (rt)...found
bin owner (root)...found
libs owner (root)...found
libs group (bin)...found
web owner (apache)...found
web group (apache)...found
CLI dependencies:
CORE dependencies:
DASHBOARDS dependencies:
GD dependencies:
GPG dependencies:
ICAL dependencies:
MAILGATE dependencies:
MASON dependencies:
MODPERL2 dependencies:
MYSQL dependencies:
SMTP dependencies:
STANDALONE dependencies:

All dependencies have been found.

En caso contrario, instale los que falten:
perl sbin/rt-test-dependencies --with-mysql --with-modperl2 --verbose|grep MISSING

Instalamos
make install

Por default se instalara en /opt/rt3 a no ser que especifiquemos en la configuracion otro directorio. Vamos a personalizar algunos parametros. La lista completa se encuentra en RT_Config.pm, copie los parametros que quiera cambiar desde ahi y cambie sus valores en RT_SiteConfig.pm
vi /opt/rt3/etc/RT_SiteConfig.pm
Set( $rtname, 'example.com');
Set($Organization , "example.com");
Set($MinimumPasswordLength , "8");
Set($Timezone , 'America/Bogota');
Set($DatabaseType , 'mysql');
Set($DatabaseHost , '');
Set($DatabaseRTHost , '');
Set($DatabaseUser , 'root');
Set($DatabasePassword , 'cambiar-este-password');
Set($DatabaseName , 'rt3');
Set($UseSQLForACLChecks, 1);
Set($OwnerEmail , 'root');
Set($LoopsToRTOwner , 1);
Set($MaxAttachmentSize , 10000000);
Set($DropLongAttachments , 1);
Set($DashboardAddress, 'RT-dashboard@example.com');

#Set(@Plugins,(qw(Extension::QuickDelete)));
1;

Creamos un usuario para RT en mysql. Cambie rt_password por la contraseña de su gusto.
mysql -u root -p
GRANT ALL PRIVILEGES ON rt3.* TO 'rt_user'@'localhost' IDENTIFIED BY 'rt_password'

Inicializamos rt
make initialize-database

En caso de algo salir mal en el anterior paso, eliminamos la db mysql y volvemos al paso de initialize-database

make dropdb

Agregamos en la conf de perl para apache
vi /etc/httpd/conf.d/perl.conf

ServerName vtrthit.hyettemail.com
ServerAdmin manuel.cabrera@hyettemail.com
DocumentRoot /opt/rt3/share/html
AddDefaultCharset UTF-8
PerlRequire /opt/rt3/bin/webmux.pl

Order allow,deny
Allow from all
SetHandler perl-script
PerlResponseHandler RT::Mason



Reiniciamos apache
service httpd restart

Con esto ya terminamos de instalar y configurar RT. El paso siguiente seria entrar y cambiar por seguridad el password default del usuario root. En mi caso el server esta en la ip privada 192.168.1.203 y el password por default es password

http://192.16.1.203

login: root
password: password

Nos vamos a las opciones de Configuracion, de ahi a Usuarios, damos click sobre root y ahi veremos los textbox para cambiar el password de root para RT. Guardamos los cambios y ya podemos comenzar a personalizarlo para nuestro uso.



Share/Bookmark