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

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

Servidor subversion con interfaz web Trac

Hoy instalaremos y configuraremos un repositorio subversion con trac, una interfaz web que nos facilitara colaborar en nuestros proyectos de programacion con otras personas en un grupo.
Para esto usaremos un debian o ubuntu server

-Instalamos paquetes que usaremos
apt-get install enscript libapache2-mod-python python-docutils db4.3-util libapache2-svn subversion-tools

-Creamos el directorio para subversion
mkdir -p /var/local/svn/svn.example.com

-Creamos un grupo para desarrollo y agregamos el usuario web a este grupo
addgroup example
adduser www-data example

-Agregamos usuarios al grupo de desarrollo. En mi server el grupo tomo el id 1000
adduser --gid 1000 cabrera

-Colocamos permisos
chmod 2770 /var/local/svn/svn.example.com

-Activamos el repositorio
svnadmin create /var/local/svn/svn.example.com

-Eliminamos passwords para despues crearlos para protocolo https o http
rm /var/local/svn/svn.example.com/conf/passwd
touch /var/local/svn/svn.example.com/conf/passwd

-Damos permiso de escritura al grupo
chmod -R g+w /var/local/svn/svn.example.com

-Cambiamos el dueño y grupo de los files
chown -R www-data:example /var/local/svn/svn.example.com

-Activamos permisos para el repositorio. Ejemplo, dale permiso al grupo example de lectura y escritura
vi /var/local/svn/svn.example.com/conf/authz
example = rw

-Creamos un directorio para los logs
mkdir /var/log/apache2/svn.example.com

-Agregamos a la lista de rotacion de logs de apache
vi /etc/logrotate.d/apache2
/var/log/apache2/svn.example.com {
rotate 6
monthly
compress
missingok
notifempty
}

-Configuramos el directorio virtual de apache
vi /etc/apache2/sites-available/svn.example.com

ServerName svn.example.com

DAV svn
AuthType Basic
AuthName "svn.example.com"
AuthUserFile /var/local/svn/svn.example.com/conf/passwd
AuthzSVNAccessFile /var/local/svn/svn.example.com/conf/authz
SVNPath /var/local/svn/svn.example.com
Require valid-user

CustomLog /var/log/apache2/svn.example.com/access.log combined
ErrorLog /var/log/apache2/svn.example.com/error.log
# Descomente la siguiente linea cuando tenga un certificado web real.
# SSLCertificateKeyFile /etc/apache2/ssl/server.key


-Activamos el sitio virtual
a2ensite svn.example.com

-Creamos los usuarios web
htpasswd /var/local/svn/svn.example.com/conf/passwd cabrera

-Reiniciamos apache
/etc/init.d/apache2 restart

-Creamos un link para poder trabajar localmente
ln -s /usr/bin/svnwrap /usr/local/bin/svn

-Creamos el directorio web para trac
mkdir -p /var/local/trac/trac.example.com

-Activamos permisos
chmod 2770 /var/local/trac/trac.example.com

-Descargamos setuptools, en este caso el de python 2.4, si tiene otra version, cambie el file a descargar o verifique desde la pagina de python

wget -c http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c9-py2.4.egg

-Lo instalamos
sh setuptools-0.6c9-py2.4.egg

-Instalamos trac 0.11
easy_install http://svn.edgewall.org/repos/trac/tags/trac-0.11

-Creamos una instancia de trac
trac-admin /var/local/trac/trac.example.com initenv
Creating a new Trac environment at /var/local/trac/trac.hyette.com

Trac will first ask a few questions about your environment
in order to initalize and prepare the project database.

Please enter the name of your project.
This name will be used in page titles and descriptions.

Project Name [My Project]> Cabrera project

Please specify the connection string for the database to use.
By default, a local SQLite database is created in the environment
directory. It is also possible to use an already existing
PostgreSQL database (check the Trac documentation for the exact
connection string syntax).

Database connection string [sqlite:db/trac.db]>

Please specify the type of version control system,
By default, it will be svn.

If you don't want to use Trac with version control integration,
choose the default here and don't specify a repository directory.
in the next question.

Repository type [svn]>

Please specify the absolute path to the version control
repository, or leave it blank to use Trac without a repository.
You can also set the repository location later.

Path to repository [/path/to/repos]> /var/local/svn/svn.example.com

Creating and Initializing Project
Installing default wiki pages
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracFineGrainedPermissions imported from TracFineGrainedPermissions
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracPermissions imported from TracPermissions
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiProcessors imported from WikiProcessors
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracLogging imported from TracLogging
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracWiki imported from TracWiki
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/InterTrac imported from InterTrac
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracBrowser imported from TracBrowser
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/SandBox imported from SandBox
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/InterMapTxt imported from InterMapTxt
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiMacros imported from WikiMacros
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/PageTemplates imported from PageTemplates
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracWorkflow imported from TracWorkflow
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/InterWiki imported from InterWiki
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/CamelCase imported from CamelCase
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracUnicode imported from TracUnicode
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracInstall imported from TracInstall
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracUpgrade imported from TracUpgrade
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracModPython imported from TracModPython
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiRestructuredTextLinks imported from WikiRestructuredTextLinks
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracEnvironment imported from TracEnvironment
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracTickets imported from TracTickets
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracCgi imported from TracCgi
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiPageNames imported from WikiPageNames
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiRestructuredText imported from WikiRestructuredText
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracIni imported from TracIni
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracInterfaceCustomization imported from TracInterfaceCustomization
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracChangeset imported from TracChangeset
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracRoadmap imported from TracRoadmap
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/RecentChanges imported from RecentChanges
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracReports imported from TracReports
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiFormatting imported from WikiFormatting
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TitleIndex imported from TitleIndex
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracQuery imported from TracQuery
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracNotification imported from TracNotification
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracAdmin imported from TracAdmin
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracPlugins imported from TracPlugins
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracAccessibility imported from TracAccessibility
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracGuide imported from TracGuide
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracImport imported from TracImport
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracNavigation imported from TracNavigation
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiHtml imported from WikiHtml
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracStandalone imported from TracStandalone
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiStart imported from WikiStart
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracRevisionLog imported from TracRevisionLog
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracTicketsCustomFields imported from TracTicketsCustomFields
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracLinks imported from TracLinks
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracSyntaxColoring imported from TracSyntaxColoring
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracSearch imported from TracSearch
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracTimeline imported from TracTimeline
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracBackup imported from TracBackup
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracSupport imported from TracSupport
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiNewPage imported from WikiNewPage
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracFastCgi imported from TracFastCgi
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiDeletePage imported from WikiDeletePage
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracRss imported from TracRss
Indexing repository

---------------------------------------------------------------------
Project environment for 'Cabrera project' created.

You may now configure the environment by editing the file:

/var/local/trac/trac.hyette.com/conf/trac.ini

If you'd like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:

tracd --port 8000 /var/local/trac/trac.example.com

Then point your browser to http://localhost:8000/trac.example.com.
There you can also browse the documentation for your installed
version of Trac, including information on further setup (such as
deploying Trac to a real web server).

The latest documentation can also always be found on the project
website:

http://trac.edgewall.org/

Congratulations!

-Activamos permisos al directorio web de trac
chown -R www-data:example /var/local/trac/trac.example.com

-Damos permisos de escritura al grupo
chmod -R g+w /var/local/trac/trac.example.com

-Configuramos trac
vi /var/local/trac/trac.example.com/conf/trac.ini

-Creamos un directorio para logs de trac
mkdir /var/log/apache2/trac.example.com

-Agregamos el site a la rotacion de logs
vi /etc/logrotate.d/apache2
/var/log/apache2/trac.example.com {
rotate 6
monthly
compress
missingok
notifempty
}

-Configuramos el directorio virtual
vi /etc/apache2/sites-available/trac.example.com

ServerName localhost
DocumentRoot /var/local/trac/trac.example.com/
Alias /trac/ /usr/share/trac/htdocs

Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all


SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonInterpreter main_interpreter
PythonOption TracEnv /var/local/trac/trac.example.com/
PythonOption TracUriRoot /
AuthType Basic
AuthName "trac.example.com"
# Use the SVN password file.
AuthUserFile /var/local/svn/svn.example.com/conf/passwd
Require valid-user

CustomLog /var/log/apache2/trac.example.com/access.log combined
ErrorLog /var/log/apache2/trac.example.com/error.log
# SSLCertificateKeyFile /etc/apache2/ssl/server.key


-Activamos el directorio virtual de trac
a2ensite trac.example.com

-Configuramos los permisos de trac dentro de su consola administrativa
trac-admin /var/local/trac/trac.example.com

-Reiniciamos apache
/etc/init.d/apache2 restart

-Por ultimo, en caso de que no queramos usar apache podemos manejar nuestro web trac con el server que incluye trac
tracd --port 8000 /var/local/trac/trac.example.com

-Tambien tener en cuenta que para que nos funcione en internet esta solucion, los domains usados, en este caso svn.example y trac.example.com deben estar registrados a nuestro nombre y activos y funcionando en un DNS. Share/Bookmark