Archivo

Archivo para Agosto, 2014

Instalar rtorrent + rutorrent en Debian

Viernes, 8 de Agosto de 2014 Sin comentarios

Rtorrent es un cliente bittorrent por terminal disponible en los repositorios de varias distribuciones de linux, mientras que rutorrent es una aplicación web que se conecta a rtorrent para que se puedan manejar vía navegador los torrents.

image

La versión de los repositorios no cuenta con soporte para ser controlado remotamente, por lo que es necesario descargar el código fuente de rtorrent, libtorrent y xmlrpc-c para compilarlos manualmente y luego instalarlos.

Antes de comenzar debes instalar los programas requeridos para compilar

apt-get install gcc pkg-config libssl-dev g++ make libncurses5-dev libsigc++-2.0-dev libcurl4-openssl-dev subversion screen nano

Primero debes compilar XMLRPC-C

svn co http://svn.code.sf.net/p/xmlrpc-c/code/advanced xmlrpc-c
cd xmlrpc-c
./configure
make
make install

Luego libtorrent

wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.13.3.tar.gz
tar zxvf libtorrent-0.13.3.tar.gz
cd libtorrent-0.13.3
./configure
make
make install

Posteriormente rtorrent, el que se instalará con soporte de xmlrpc-c compilado anteriormente

wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.9.3.tar.gz
tar zxvf rtorrent-0.9.3.tar.gz
cd rtorrent-0.9.3
./configure –with-xmlrpc-c
make
make install
ldconfig

Ahora se debe configurar rtorrent, crearemos un usuario y las carpetas requeridas

useradd torrent
mkdir –p /home/torrent/rtorrent/{.session,download}
cp rtorrent-0.9.3/doc/rtorrent.rc /home/torrent/.rtorrent.rc
chown –R torrent:torrent /home/torrent/rtorrent

Luego debes editar la configuración

nano /home/torrent/.rtorrent.rc

Y cambiar

directory = /home/torrent/rtorrent/download
session = /home/torrent/rtorrent/.session
scgi_port = localhost:5000

Como servidor web usaré nginx en lugar de apache, por ocupar menos recursos, lo que es más apropiado para el Raspberry PI.

apt-get install nginx php5-fpm apache2-utils

(apache2-utils es para el comando htpasswd mencionado más adelante, no incluye el servidor web)

mkdir /var/www
cd
wget http://dl.bintray.com/novik65/generic/rutorrent-3.6.tar.gz
wget http://dl.bintray.com/novik65/generic/plugins-3.6.tar.gz
tar xvf rutorrent-3.6.tar.gz -C /var/www
tar xvf plugins-3.6.tar.gz -C /var/www/rutorrent
chown www-data:www-data -R /var/www/rutorrent
tar xvf rutorrent-3.6.tar.gz -C /var/www
tar xvf plugins-3.6.tar.gz -C /var/www/rutorrent
htpasswd -c /var/www/rutorrent/.htpasswd (nombreusuario)
chown www-data:www-data -R /var/www
nano /etc/nginx/sites-available/default

Donde dice nombreusuario reemplaza por el nombre de usuario deseado para ingresar a rutorrent, luego introduce dos veces una contraseña.

En el archivo default edita lo siguiente

root /var/www;
index index.php index.html index.htm;

Descomenta las líneas para activar PHP

location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # NOTE: You should have “cgi.fix_pathinfo = 0;” in php.ini

        # With php5-cgi alone:
#       fastcgi_pass 127.0.0.1:9000;
#       # With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
}

Luego de estas líneas agregar

location /RPC2 {
        include scgi_params;
        scgi_pass 127.0.0.1:5000;
}

location /rutorrent {
        auth_basic “Restricted”;
        auth_basic_user_file /var/www/rutorrent/.htpasswd;
}

Si deseas activar HTTPS repite los pasos anteriores en la sección “server { listen 443; …”

Reinicia los servicios

service nginx restart
service php5-fpm restart

Finalmente debes ajustar unos parámetros de la configuración de rutorrent

nano /var/www/rutorrent/conf/config.php

Edita las siguientes líneas para especificar las rutas de curl y stat

“curl” ==> ‘/usr/bin/curl’, // Something like /usr/bin/curl. If empty, will be found in PATH.
“stat” ==> ‘/usr/bin/stat’, // Something like /usr/bin/stat. If empty, will be found in PATH.

Si ingresas a rutorrent aparecerá que no se pudo conectar a rtorrent, porque aún no se ha iniciado. Para iniciarlo inicia sesión como torrent, corre el comando screen y luego rtorrent. El comando screen permitirá cerrar la terminal y dejar rtorrent ejecutándose en segundo plano.

Fuentes:

rtorrent + rutorrent con nginx: http://vassie.me/rtorrent-and-rutorrent-on-ubuntu-server-with-nginx/

rtorrent + rutorrent con apache: http://www.adminsehow.com/2013/11/installing-rtorrentrutorrent-on-debian-7-wheezy/

Permission Denied al montar cifs en Linux Raspberry PI

Viernes, 8 de Agosto de 2014 1 comentario

Al montar una unidad cifs en el Raspberry PI me salía el error “mount error(13): Permission denied”, siendo que la carpeta compartida no requería autenticación y al ingresar desde un computador lo hacía directamente sin solicitar identificación. La unidad compartida era el puerto USB de un router Dlink DIR-626L (alias rollo de papel confort).

root@mastodon:~# mount.cifs //IP/usb_A1 /mnt -o guest
mount error(13): Permission denied

Al consultar el registro dmesg aparecía esto referente al error de montaje:

[47912.021716] CIFS VFS: cifs_mount failed w/return code = –13

Luego de una búsqueda por internet hallé que era un bug en el proceso de autenticación, el que se resuelve especificando que realice la autenticación por NTLM con el siguiente comando:

mount.cifs //IP/usb_A1 /mnt -o guest,sec=ntlm

Con esto el montaje se realizó correctamente, se puede comprobar al consultar con el comando mount

root@mastodon:~# mount
/dev/root on / type ext4 (rw,noatime,data=ordered)
(…)
/dev/mmcblk0p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
//IP/usb_A1 on /mnt type cifs (rw,relatime,vers=1.0,sec=ntlm,cache=strict,uid=0,noforceuid,gid=0,noforcegid,addr=IP,unix,posixpaths,…)

Para que se monte automáticamente al inicio del sistema agregué esta línea al archivo /etc/fstab

//IP/usb_A1   /mnt    cifs    guest,sec=ntlm,file_mode=0777,dir_mode=0777     0 0

Además del parámetro sec=ntlm agregué los parámetros file_mode y dir_mode para que todos los archivos y carpetas tengan permisos 777.

Resetear password expirada Oracle

Jueves, 7 de Agosto de 2014 Sin comentarios

Por defecto en Oracle la password de los usuarios expira a los 180 días, pasado ese periodo se bloquea la cuenta y debe ser desbloqueada por un dba.

Primero hay que iniciar sesión en la base de datos con perfil de SYSDBA, de ahí ejecutar las siguientes consultas:

Para cambiar password de la cuenta

alter user (nombre usuario) identified by (password);

Para desbloquear cuenta expirada

alter user (nombre usuario) account unlock;

Finalmente para listar cuentas y ver su estado

select username,account_status from dba_users;

Debe salir como OPEN la cuenta, si está expirada saldrá como EXPIRED o EXPIRED(GRACE)

image