domingo, 14 de dezembro de 2014

Daemon rTorrent com Screen

Usar o rTorrent como cliente de torrents numa máquina remota ou headless.

Como o rTorrent é um programa baseado em terminal, para poder correr precisa de um terminal, ou em alternativa de um screen ou dtach.
Vou usar o screen e também a interface web RTGui.

aptitude install rtorrent screen rtgui

Adiciona-se um utilizador que será usado apenas para executar o rTorrent:

adduser rtorrent

Cria-se o ficheiro /etc/init.d/rtorrent com o seguinte conteúdo:

#! /bin/sh
# rTorrent init script
#

case "$1" in
  start)
echo "Starting rtorrent..."
    su rtorrent -c 'screen -dmS rtorrent rtorrent'
    ;;
  stop)
echo "Stopping rtorrent..."
killall -s 2 rtorrent
    ;;
  *)
    echo "Usage: $0 {start|stop}"
    exit 1
    ;;
esac

exit 0

Definem-se as permissões e as opções necessárias:

chmod 755 /etc/init.d/rtorrent
update-rc.d rtorrent defaults
mkdir /etc/rtorrent
cd /etc/rtorrent
usermod -d /etc/rtorrent rtorrent
wget http://rtgui.googlecode.com/files/.rtorrent.rc

O ficheiro está em formato DOS, é preciso converter para formato linux para o rTorrent o conseguir ler.
Edita-se o ficheiro .rtorrent.rc, para conter os caminhos certos das diretorias, por exemplo:

directory=/media/disk1

Para configurar a interface web edita-se o ficheiro /etc/apache2/sites-enabled/000-default e adicionam-se estas linhas antes do último "</VirtualHost >"

LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so
SCGIMount /RPC2 127.0.0.1:5000

Após esta alteração é preciso reniciar o Apache.

Servidor de impressão para Windows e Linux com CUPS

Servidor linux, no meu caso, Debian 6.0 Squeeze, a servir para a rede a impressora HP 1050 com o CUPS 1.4.4.

Entrar no servidor como root e instalar:

aptitude install cups hplip

O script de instalação inicia o cups, mas o daemon tem de estar desligado para as alterações nos ficheiros de configuração funcionarem, por isso fazemos:

/etc/init.d/cups stop

Editamos o ficheiro nano /etc/cups/cupsd.conf:

#
#
#   Sample configuration file for the Common UNIX Printing System (CUPS)
#   scheduler.  See "man cupsd.conf" for a complete description of this
#   file.
#

# Log general information in error_log - change "info" to "debug" for
# troubleshooting...
LogLevel warn

# Only listen for connections from the local machine.
Listen 0.0.0.0:631
Listen /var/run/cups/cups.sock

# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseAddress @LOCAL

# Default authentication type, when authentication is required...
DefaultAuthType Basic

JobRetryInterval 60
JobRetryLimit 10

# Restrict access to the server...

<Location />
  Order allow,deny
  Allow localhost
  Allow @LOCAL

</Location>

# Restrict access to the admin pages...
<Location /admin>
  Encryption Required
  Order allow,deny
  Allow @LOCAL
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Basic
  Require user @SYSTEM
  Order allow,deny
  Allow @LOCAL
</Location>
(...)


Editamos o ficheiro /etc/cups/cups-files.conf:

# Administrator user group...
SystemGroup lpadmin

Inicia-se o daemon cups e adicionam-se as impressoras. O painel de configuração está em https://<endereço_ip>:631, onmde <endereço_ip> é o endereço ip da máquina onde o CUPS está instalado.
Depois volta a desativar-se o cups e edita-se o ficheiro /etc/cups/printers.conf, para mudar a política em caso de erro:

(...)
ErrorPolicy retry-job
(...)

Podemos ainda dizer qo SAMBA para usar o cups para fazer impressões. Editar /etc/samba/smb.conf

[printers]
   comment = All Printers
   browseable = no
   path = /tmp
   printable = yes
   public = yes
   writable = no
   create mode = 0700
   printcap name = /etc/printcap
   print command = /usr/bin/lpr -P%p -r %s
   printing = cups