Ubuntu Home Server 16.04: Transmission-daemon acceso Http

¿Qué es transmission?

El cliente para Bitorrent, Transmission es uno de los más habituales y comunes programas de descarga, especialmente en Linux y OSX.

Objetivos

Instalar Transmission como servicio en linux sin la interface de gnome para poder acceder a él a través de un navegador o un gestor remoto.

El servidor

  1. Primero vamos a instalar una utilidad que nos permitirá añadir repositorios a apt-get, sin necesidad de editar el archivo /etc/apt/sources.list

$ sudo apt-get install python-software-properties

  1. Ahora añadimos el repositorio de transmission

$ sudo add-apt-repository ppa:transmissionbt/ppa

  1. En caso de tener instalada la versión de escritorio Gnome de Transmision podemos desinstalarla con

$ sudo apt-get remove transmission-gtk

  1. Actualizamos e instalamos transmission-daemon

$ sudo apt-get update

$ sudo apt-get install transmission-cli transmission-common transmission-daemon

  1. Ahora vamos a crear un árbol de directorios para los archivos de descarga de Transmission. En mi caso he dedicado un disco especialmente para ello, pero en este tutorial la ubicación del directorio está en el directorio home de vuestro ususario.

$ mkdir ~/downloads

$ mkdir ~/downloads/completos

$ mkdir ~/downloads/incompletos

  1. Unimos nuestro usuario al grupo debian-transmission y damos permisos a los directorios creados. Donde pone username, ponéis vuestro nombre de usuario.

$ sudo usermod -a -G debian-transmission username

$ sudo chgrp -R debian-transmission /home/username/Downloads

$ sudo chmod -R 775 /home/username/Downloads

  1. Muy importante: para editar el archivo de configuración de transmission, debemos parar el demonio.

$ sudo service transmission-daemon stop

  1. Editamos el archivo de configuración:

$ sudo nano /etc/transmission-daemon/settings.json

8a Activamos la lista de bloqueo de instituciones anti-p2p, y spam

"blocklist-enabled": true,

"blocklist-url": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz",

8b. Modificamos los directorios de descarga:

"download-dir": "/transmission/completos",

"incomplete-dir": "/transmission/incompletos",

"incomplete-dir-enabled": true,

8c. Cambiamos el usuario y la password del usuario remoto de Transmission, para aumentar la seguridad. Es importante que sea una password fuerte y un usuario distinto del habitual. Cuando arranquéis transmission de nuevo, si volvéis a edita estos archivos observareis que Transmission lo ha encriptado. Además, dejáis en la lista blanca todas las redes para poder acceder desde fuera de casa.

"rpc-password": "transmissionpassword",
"rpc-username": "transmissionuser",
"rpc-whitelist": "*",
"rpc-whitelist-enabled": true,

8d. Podéis también cambiar el puerto en que escucha Transmission para el navegador web. Si es así modificar:

"rpc-port": 9091,

  1. Iniciamos el demonio de transmission

$ sudo service transmission-daemon start

Nota: Si os arranca Transmission, se inicia la descarga y se interrumpe súbitamente, hay un problema de permisos que se soluciona fácilmente dando permisos 777.

$ sudo chmod -R 777 /home/username/Downloads

Paso 2. El cliente remoto:

Podéis descárgalo en Google Code en el siguiente enlace transmisson-remote-gui . Es un cliente multiplataforma, lo hay incluso para Android, y la configuración es muy sencilla. Simplemente hay que introducir la IP o nombre del servidor, el usuario y el password que hemos elegido. Por lo demás, las opciones son muy parecidas a las del cliente habitual de Transmission.

Paso 3. Acceder a las descargas:

A través de Samba, Netatalk, sshd, ftp,… o cualquier otro servidor de archivos (hay que configurarlo, claro). Os recomiendo que los archivos los borréis desde el cliente remoto de Transmission.

 

Owncloud con soporte SSL Ubuntu 12.04

owncloud-logo1

Para seguir este howto primero debemos completar la instalación de Owncloud básica, que podéis encontrar en el siguiente post.

 

Primero activamos el módulo SSL de Apache

sudo a2enmod ssl
service apache2 restart

Editamos el archivo de configuración /etc/ssl/openssl.conf

nano /etc/ssl/openssl.cnf

Encontramos y cambiamos las siguientes líneas

dir = /root/SSLCertAuth
default_days = 3650 # 10 years
default_bits = 2048 # recommended by NSA until 2030
countryName_default = ES
0.organizationName_default = Ubuntu Contrib

Creamos el diretorio para guardar todos los archivos de la autoridad certificadora SSL, en nuestro caso lo llamaremos “SSLCertAuth”. Ejecutamos los siguientes comandos

mkdir /root/SSLCertAuth
chmod 700 /root/SSLCertAuth
cd /root/SSLCertAuth
mkdir certs private newcerts
echo 1000 > serial
touch index.txt

Creamos la autoridad certificadora (CA) con el siguiente comando:

openssl req -new -x509 -days 3650 -extensions v3_ca \
-keyout private/cakey.pem -out cacert.pem \
-config /etc/ssl/openssl.cnf

Nos pide:

Enter PEM pass phrase:introducimos una contraseña que usaremos después para firmar cualquier certificado (hay que recordarla). Vamos introduciendo todos los datos, y tenemos especial cuidado cuando nos pir el Common Name, que debe ser nuestro nombre de internet (fqdn: fully qualified domain name).

 

Ahora creamos la solicitud de firma del certificado del sitio:

openssl req -new -nodes \
 -out apache-req.pem \
 -keyout private/apache-key.pem \
 -config /etc/ssl/openssl.cnf

De nuevo introducimos todos los datos que nos pide, y en Common Name de nuevo metemos el fqdn. Los extra atributes… podemos dejarlos en blanco.

Y finalmente generamos el certificado para copiarlo después en el directorio /etc/ssl

openssl ca \
-config /etc/ssl/openssl.cnf \
-out apache-cert.pem \
-infiles apache-req.pem

Introducimos la password de la CA que creamos antes y despues le decimos a todo que si.

Ejecutamos:

mkdir /etc/ssl/crt
mkdir /etc/ssl/key
cp /root/SSLCertAuth/apache-cert.pem /etc/ssl/crt
cp /root/SSLCertAuth/private/apache-key.pem /etc/ssl/key

El paso final consiste en configurar apache para que el servicio por misión HTTPS, sea owncloud.

mkdir /var/www/logs
nano /etc/apache2/conf.d/owncloud5-ssl.conf

Copia y pega la siguiente configuración:

<VirtualHost *:443>
ServerName fqdn
SSLEngine on
SSLCertificateFile /etc/ssl/crt/apache-cert.pem
SSLCertificateKeyFile /etc/ssl/key/apache-key.pem
DocumentRoot /var/www/owncloud
CustomLog /var/www/logs/ssl-access_log combined
ErrorLog /var/www/logs/ssl-error_log
</VirtualHost>

Donde pone fqdn, ponemos nuestro nombre de internet o la ip de nuestro servidor. Damot Ctrl+x para cerrar y “y” para salvar.

Desde dentro de owncloud (Administración) podemos forzar el uso de SSL, lo que es muy recomendable a efectos de seguridad.

owncloud ssl

 

Gracias a:

http://ubuntuserverguide.com/2013/04/how-to-setup-owncloud-server-5-with-ssl-connection.html

Servidor web casero con Apache, Php y Mysql en debian

debianjh2

Este howto es para todos aquellos que quieran servir páginas web desde su casa, ya sea publicando directamente en el servidor o instalando
algún portal en php como wordpress o joomla.

El primer paso es dar de alta un dominio de segundo nivel en www.dyndns.com o alguna página similar. Hay que tener en cuenta que las ip’s asignadas a los usuarios caseros suelen ser
dinámicas, por lo que deberemos estar pendientes de que la ip que damos de alta en dyndns sea la correcta, y si nos la cambia nuestro ISP, deberemos cambiarla en dyndns. Continuar leyendo «Servidor web casero con Apache, Php y Mysql en debian»