1. Instalamos SSMTP
> sudo apt-get install ssmtp
2. Editamos en archivo de configuración:
> sudo nano /etc/ssmt/ssmtp.conf
(En verde sustituir por nuestros datos y en rojo lo que hay que poner tal cual)
Modificamos las siguentes líneas:
root=nuestra.dirección.de.gmail.completa
mailhub=smtp.gmail.com:587
hostname=nuestra.dirección.de.gmail.completa
#FromLineOverride=YES
UseSTARTTLS=YES
AuthUser=nuestra.dirección.de.gmail.completa
AuthPass=nuestra.contraseña.de.gmail.completa
3. Configurar usuarios...
> sudo nano /etc/ssmt/revaliases
Escribimos una linea para cada usuario que queramos de la siguiente manera:
usuarioejemplo:ejemplo@gmail.com:smtp.gmail.com:587
4. Configuramos PHP con php.ini
> sudo nano /etc/php5/apache2/php.ini
y buscamos la siguiente linea, la descomentamos (quitarle el punto y coma de delante) y la dejamos así:
sendmail_path = /usr/sbin/ssmtp -t
y reiniciamos apache con:
> sudo service apache2 restart
Para enviar un email desde php y hacer una prueba utilizamos el siguiente código:
<?php
$envio = mail("destinatario@dominio.com", "Este es el asunto...", "Este es el cuerpo del mensaje");
var_export ($envio);
?>
Esto nos devolverá "true" si el mensaje se envió correctamente.
lunes, 10 de febrero de 2014
jueves, 6 de febrero de 2014
Como crear un certificado SLL para Apache en UBUNTU
Entendemos que tienes apache instalado, si no es así lo puedes hacer con el siguiente comando:
Cuando ejecutamos este comando nos hace una serie de preguntas que explicamos a continuación (lo que está en verde es lo que tenemos que configurar para nuestro caso):
Es importante el Common Name, debemos poner el nombre del dominio de nuestro servidor, es decir, la dirección que pondrán los que se quieran conectar a nuestra máquina, si no coinciden el certificado no valdrá.
Ahora configuramos nuestro host virtual seguro modificando el siguiente archivo:
después del apartado <VirtualHost _default_:443>, justo debajo del la linea del ServerAdmin ponemos la siguiente linea adaptandola a nuestro dominio:
Buscamos más abajo las siguiente lineas y las dejamos como se muestra a continuación:
Activamos nuestro nuevo HOST virtual
sudo apt-get install apache2
Habilitamos el SLL en Apachesudo a2enmod ssl
Rearrancamos apachesudo service apache2 restart
Creamos un nuevo directorio donde vamos a guardar los certificadossudo mkdir /etc/apache2/ssl
Generamos el certificadosudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crtel parámetro 365 despues de -days es el número de días que queremos que nuestro certificado tenga validez, podemos poner un mayor número de días.
Cuando ejecutamos este comando nos hace una serie de preguntas que explicamos a continuación (lo que está en verde es lo que tenemos que configurar para nuestro caso):
You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:ES State or Province Name (full name) [Some-State]:LAS PALMAS Locality Name (eg, city) []:LAS PALMAS DE GRAN CANARIA Organization Name (eg, company) [Internet Widgits Pty Ltd]:Nuestro nombre o de la empresa Organizational Unit Name (eg, section) []:Nombre del departamento de la empresa Common Name (e.g. server FQDN or YOUR name) []:dominio.com Email Address []:mail@dominiodemail.com
Es importante el Common Name, debemos poner el nombre del dominio de nuestro servidor, es decir, la dirección que pondrán los que se quieran conectar a nuestra máquina, si no coinciden el certificado no valdrá.
Ahora configuramos nuestro host virtual seguro modificando el siguiente archivo:
sudo nano /etc/apache2/sites-available/default-ssl
después del apartado <VirtualHost _default_:443>, justo debajo del la linea del ServerAdmin ponemos la siguiente linea adaptandola a nuestro dominio:
ServerName dominio.com:443
Buscamos más abajo las siguiente lineas y las dejamos como se muestra a continuación:
SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key
Grabamos y salimos.
Activamos nuestro nuevo HOST virtual
sudo a2ensite default-ssl
Recargamos apache para coja la nueva configuracióNsudo service apache2 reload
Ahora ya podemos teclear en nuestro navegador nuestro dominio con https:// delante y debería funcionar
Instalar los Drivers WIFI en UBUNTU
Esto funciona para unas cuantas tarjetas wifi.
Comprobamos el tipo de tarjeta te tenemos instalada:
> lspci -vvnn | grep 14e4
Nos debería devolver las especificaciones de las tarjetas de red que tenemos instaladas, en mi caso:
02:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01)
03:00.0 Ethernet controller [0200]: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe [14e4:1692] (rev 01)
Lo que he puesto en negrita es fundamental para ver que podamos instalar el siguiente driver que incluye los siguientes modelos:
BCM4311
BCM4312
BCM4313
BCM4321
BCM4322
BCM4324
BCM4325
BCM4327
BCM4328
Si la nuestra está en la lista tecleamos:
> sudo apt-get update
> sudo apt-get install bcmwl-kernel-source
Con esto ya debería funcionar la wifi, comprueba que puedes ver las redes de casa en la parte superior derecha de tu escritorio.
Comprobamos el tipo de tarjeta te tenemos instalada:
> lspci -vvnn | grep 14e4
Nos debería devolver las especificaciones de las tarjetas de red que tenemos instaladas, en mi caso:
02:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01)
03:00.0 Ethernet controller [0200]: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe [14e4:1692] (rev 01)
Lo que he puesto en negrita es fundamental para ver que podamos instalar el siguiente driver que incluye los siguientes modelos:
BCM4311
BCM4312
BCM4313
BCM4321
BCM4322
BCM4324
BCM4325
BCM4327
BCM4328
Si la nuestra está en la lista tecleamos:
> sudo apt-get update
> sudo apt-get install bcmwl-kernel-source
Con esto ya debería funcionar la wifi, comprueba que puedes ver las redes de casa en la parte superior derecha de tu escritorio.
lunes, 2 de diciembre de 2013
Ubuntu Server huesped en VMWARE - IP Estática
Primero que nada debemos ver como tiene configurada la red en nuestro servidor el VMWARE, para eso introducimos:
ifconfig
Para fijar una IP estática en un ubuntu server debemos modificar el archivo:sudo nano /etc/network/interfaces
Previamente comentamos poniéndole una almohadilla delante a la configuración dinámica actual cuyas lineas deberían ser:auto eth0
En el que debe quedar configurado de la siguiente forma:user@ubuntu:~$ ifconfig
eth0 Link encap:Ethernet direcciónHW 00:1c:92:4c:dc:9b
Direc. inet:192.168.202.142 Difus.:192.168.202.255 Másc:255.255.255.0
Dirección inet6: fe80::20c:29ff:fe0c:dc9b/64 Alcance:Enlace
ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST MTU:1500 Métrica:1
Paquetes RX:689 errores:0 perdidos:0 overruns:0 frame:0
Paquetes TX:150 errores:0 perdidos:0 overruns:0 carrier:0
colisiones:0 long.colaTX:1000
Bytes RX:48595 (48.5 KB) TX bytes:21060 (21.0 KB)
Interrupción:19 Dirección base: 0x2000
lo Link encap:Bucle local
Direc. inet:127.0.0.1 Másc:255.0.0.0
Dirección inet6: ::1/128 Alcance:Anfitrión
ACTIVO BUCLE FUNCIONANDO MTU:65536 Métrica:1
Paquetes RX:0 errores:0 perdidos:0 overruns:0 frame:0
Paquetes TX:0 errores:0 perdidos:0 overruns:0 carrier:0
colisiones:0 long.colaTX:0
Bytes RX:0 (0.0 B) TX bytes:0 (0.0 B)
Nos fijamos que la dirección que nos da en mi caso para el Interface eth0 en la Direc. inet es el 192.168.202.142. A partir de aquí configuramos la información para fijar una IP estática con el mismo número que nos da el propio VMWARE. Modificamos el archivo:sudo nano /etc/network/interfaces
y a partir de "auto eth0" tiene que figurar de la siguiente manera:
auto eth0
iface eth0 inet static
address 192.168.202.142
netmask 255.255.255.0
network 192.168.202.0
broadcast 192.168.202.255
gateway 192.168.202.2
dns-nameservers 8.8.8.8 8.8.4.4
Ahora reiniciamos la red, y ya está hecho.sudo /etc/init.d/networking restart
sábado, 12 de octubre de 2013
Desarrollo en Django. Truquis ;-).
Acceder al servidor web de dasarrollo desde otro ordenador
Openerp Timeout
A veces, cuando instalamos un módulo de openerp en la web y tarda más de la cuenta se produce un mensaje de Timeout y se interrumpe el proceso.
Esto se corrige cambiando el tiempo de espera del servidor web nginx (el que se sirve las páginas del cliente web) de la siguiente manera.
Según hayamos instalado tenemos que modificar el fichero de configuración del sitio que puede ser "openerp" o "default" en la ubicación: "/etc/nginx/sites-available/".
sudo /etc/nginx/sites-available/default
Hemos de añadir la siguiente línea después de la primera aparición de la palabra "location":
proxy_read_timeout 300;
No olvidar después reiniciar el servidor nginx
sudo service nginx restart
Esto se corrige cambiando el tiempo de espera del servidor web nginx (el que se sirve las páginas del cliente web) de la siguiente manera.
Según hayamos instalado tenemos que modificar el fichero de configuración del sitio que puede ser "openerp" o "default" en la ubicación: "/etc/nginx/sites-available/".
sudo /etc/nginx/sites-available/default
Hemos de añadir la siguiente línea después de la primera aparición de la palabra "location":
proxy_read_timeout 300;
No olvidar después reiniciar el servidor nginx
sudo service nginx restart
domingo, 21 de julio de 2013
Convierte tu Raspberry Pi en un servidor VPN con OpenVPN
Este artículo es una traducción al español de "Turn your Raspberry into an OpenVPN VPN-server" del sitio Raspberry Pi Hacks
Si estás en una red pública, por ejemplo en la universidad o en un aeropuerto, tu tráfico de datos puede ser grabado y desencriptado. Para prevenir que otros hagan esto pueden enviar tu tráfico de datos a través de un tunel seguro VPN. Los túneles VPN envían tu tráfico encriptado a un servidor que procesa tus peticiones.
Requerimientos:
- Raspberry Pi
- Raspbian o similar
- OpenVPN
Paso 1
Para ser capaz de instalar la última versión del programa deberemos actualizar nuestra fuente de paquetes:
sudo apt-get update
Paso 2
Ahora instalaremos OpenVPN y OpenSSL.
sudo apt-get install openvpn openssl
Paso 3
Cambiamos al directorio de OpenVPN y pegamos un directorio que necesitaremos a continuacion.
cd /etc/openvpn
sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa
Paso 4
Ahora abrimo el archivo easy-rsa/vars con el nano y aplicamos el siguiente cambio:
nano /easy-rsa/vars
export EASY_RSA="`pwd`"
export EASY_RSA="/etc/openvpn/easy-rsa"
Paso 5
Cambiamo al directorio, nos logeamos como root y realizamos algunas configuraciones.
cd easy-rsa
sudo su
source vars
./clean-all
./pkitool --initca
ln -s openssl-1.0.0.cnf openssl.cnf
Paso 6
Ahora seremos capaces de generar los componentes para la encriptación de OpenVPN. Después de la primera entrada se te preguntará por la abreviación de tu pais (ES=España, MX=México, VE=Venezuela, etc.). Las siguiente entradas serán simplemente confirmadas.
./build-ca OpenVPN
./build-key-server server
./build-key client1
Paso 7
El cálculo de los últimos componentes puede durar algunos minutos.
./build-dh
exit
Paso 8
Tenemos que cambiar al directorio anterior otra vez y crea el archivo openvpn.conf con el siguiente contenido:
cd ..
sudo touch openvpn.conf
sudo nano openvpn.conf
dev tun
proto udp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
client-to-client
push "redirect-gateway def1"
#set the dns servers
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
log-append /var/log/openvpn
comp-lzo
Puedes cambiar si quieres la información de los DNS a unos de tu preferencia.
Paso 9
Ahora, crea la redirección de internet para los clientes CPN. Si no estás usando un cable ethernet (p.e. Wifi) deberás reemplazar el "eth0" por el nombre de tu dispositivo de red.
sudo sh -c ‘echo 1 > /proc/sys/net/ipv4/ip_forward’
sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE
Paso 10
Uno de los pasos finales será borrar el "#" delante de la línea net.ipv4.ip_forward=1 en sysctl.conf.
cd ..
sudo nano sysctl.conf
Paso 11
Una parte de la configuración anterior tiene que endosarse como un crontab para funcionar permanentemente. Inserta la siguiente línea al final del archivo crontab (reemplaza "eth0" si lo hiciste arriba).
crontab -e
@reboot sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE
Paso 12
Cambia de nuevo al usuario root y al directorio /etc/openvpn/easy-rsa/keys en el cual crearemos el archivo raspberrypi.ovpn y lo llenaremos con el siguiente código (en cursiva). RASPBERRY-PI-IP habrás de reemplazarlo con la ip de tu Raspberry Pi o, si estás usando un servicio tipo DynDNS, con el domino registrado en el servicio.
sudo su
cd /etc/openvpn/easy-rsa/keys
nano raspberrypi.ovpn
dev tun
client
proto udp
remote RASPBERRY-PI-IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3
Paso 13
Ahora crea un paquete comprimido con todos los archivos necesarios para el cliente VPN, que moveremos al /home/pi y le daremos al usuario pi los derechos necesarios sobre el archivo.
tar czf openvpn-keys.tgz ca.crt ca.key client1.crt client1.csr client1.key raspberrypi.ovpn
mv openvpn-keys.tgz /home/pi
chown pi:pi /home/pi/openvpn-keys.tgz
exit
Paso 14
Reinicia el servidor OpenVPN.
sudo /etc/init.d/openvpn start
Finalizado! Ahora seremos capaces de descargar el archio openvpn-keys.tar.gz al cliente y extraer los archivos a la carpeta del cliente OpenVPN.
Un cliente OpenVPN para Windows en http://openvpn.se/
para Mac: https://code.google.com/p/tunnelblick/
Los usuarios de Linux simplemente instalan el paquete openvpn.
Suscribirse a:
Entradas (Atom)