jueves, 3 de agosto de 2017

Firefox 54 kiosk en ubuntu 16.0.4 para cybercafe

La función en modo kiosko de firefox nos permite configurar una terminal para que sea utilizado solamente para acceder a determinados sitios de internet, altamente restringido y eliminando las otras funcionalidades de la PC como escritorio, barra de menú, teclas de función, etc.
Existen varias aplicaciones que programan el modo kiosk de firefox y en este caso he seleccionado mkiosk.
Se utilizaran computadoras que han quedado obsoletas para uso en oficinas por lo que es necesario una distribución de GNU/Linux lite o apta para bajos recursos de hardware por lo que he seleccionado Ubuntu Server 16.04.2 LTS al que luego le instalamos un escritorio liviano.

Para comenzar lanzamos el instalador de Ubuntu, seleccionamos idioma, unidad de disco. Creamos un usuario administrador (normalmente en ubuntu el primer usuario que se crea es el único con derechos sudo)


En el momento de elegir los paquetes a instalar seleccionamos el servidor ssh para poder administrar remotamente.



Una vez finalizada la instalación y reiniciado el sistema actualizamos la base de repositorios de apt

 Como se puede observar, hay una buena cantidad de paquetes que se pueden actualizar. Sin embargo como este PC solo tendrá un uso específico como navegador, no será necesario hacerlo.


Instalamos el servidor xorg con este comando:

sudo apt install --no-install-recommends xorg

Esto nos instalará el servidor y sus dependencias junto a las herramientas necesarias. Este y el siguiente paso se puede resumir instalando el meta-paquete ubuntu-desktop pero el inconveniente es que se le agregan herramientas y utilidades que no serán necesarias.

A continuación instalamos gnome en su versión más liviana con el comando:
sudo apt install --no-install-recommends gnome-core




Con esto el sistema ya esta listo para reiniciar en modo escritorio


Como podemos observar en la imagen a continuación el browser firefox se instaló en el mismo paso.

Instalamos el paquete de localización para firefox
sudo apt install firefox-locale-es

Creamos el usuario que más adelante vamos a configurar para que ingrese en modo automático a su sesión y a firefox en modo kiosko.
sudo adduser alumno

ingresamos el usuario nuevo para configurar firefox y el inicio


Ingresamos en la configuración de firefox aceptando la alerta que nos muestra
about:config


buscamos browser.link.open_newwindow.restriction y cambiamos su valor a 0 de manera que las ventanas emergentes se abran en una nueva pestaña.

Al ejecutar firefox para este nuevo usuario se creó automáticamente el directorio profile que se compone de números y letras aleatorios. Buscamos el mismo y creamos alli el archivo user.js

En este archivo se editan las preferencias del usuario, colocamos lo siguiente

user_pref("browser.startup.homepage", 'http://guarani.uncoma.edu.ar/crub');
user_pref("browser.startup.homepage_override_url", 'http://guarani.uncoma.edu.ar/crub');
user_pref("browser.startup.homepage_welcome_url", 'http://guarani.uncoma.edu.ar/crub');

user_pref("browser.cache.disk.enable", false);
user_pref("browser.cache.memory.enable", false);

user_pref("browser.urlbar.autocomplete.enabled", false);
user_pref("browser.urlbar.showPopup", false);
user_pref("browser.urlbar.showSearch", false);
user_pref("extensions.kioskreset.inactivity.seconds", 600);

user_pref("privacy.sanitize.promptOnSanitize", false);
user_pref("privacy.sanitize.sanitizeOnShutdown", true);
user_pref("network.cookie.enableForCurrentSessionOnly", true);

user_pref("network.protocol-handler.external.snews", false);
user_pref("network.protocol-handler.external.news", false);
user_pref("network.protocol-handler.external.irc", false);
user_pref("network.protocol-handler.external.mail", false);
user_pref("network.protocol-handler.external.mailto", false);

user_pref("accessibility.typeaheadfind.autostart", false);
user_pref("privacy.clearOnShutdown.siteSettings", true);
user_pref("browser.sessionstore.enabled", false);
user_pref("browser.sessionstore.resume_from_crash", false);
user_pref("browser.sessionstore.resume_session_once", true);
user_pref("browser.sessionstore.interval", 100000);
Cambiando lo relativo a "homepage" por la url que corresponda

En firefox, buscamos e instalamos mkiosk


Al reiniciar, mkiosk se presenta y activa




Aquí podremos configurar distintos comportamientos de firefox y lo más importante es la clave de seguridad para administradores.


finalmente al reiniciar, firefox ya esta en modo kiosko


Configuramos gdm para que inicie automático el usuario kiosko

personalizamos el inicio de sesion del usuario editando el archivo .xsession

jueves, 22 de junio de 2017

Instalar phplist con servidor SMTP de gmail


Es probable que nuestro proveedor de internet y de mail tenga políticas anti spam y no permita enviar correos masivos, sean estos legales y necesarios dentro de nuestra organización o realmente spam.



La solución a este problema es configurar un servidor con phplist "Un software de código abierto para la gestión de listas de correo electrónico. Está diseñado para la divulgación de información -como boletines, novedades, publicidad- a una lista de suscriptores. Está escrito en PHP y utiliza una base de datos MySQL para almacenar la información."



y al no tener y administrar un dominio propio la solución alternativa es configurar phplist para que envie los mails a través del servidor smtp de gmail.

Para realizar esta práctica consideramos que ya tenemos un servidor configurado con el servicio web Apache2. En este caso en un ubuntu server, pero se puede reaizar en cualquier distribución de GNU/Linux.



Lo primero que haremos será descargar la última versión de phplist que en este momento es la 3.3.0
https://sourceforge.net/projects/phplist/files/phplist/3.3.1/phplist-3.3.1.tgz



se puede descomprimir el directorio completo para leer la documentación y las instrucciones. En este caso vamos a descomprimir solo el directorio lists



por lo que buscamos su ubicación:
tar tzvf phplist-3.3.1.tgz |grep lists


y con el siguiente comando extraemos ese directorio en la raiz del apache2:
sudo tar xzvf phplist-3.3.1.tgz phplist-3.3.1/public_html/lists/ -C /var/www/html/

 phplist trae configurado la versión 5.2 de phpmailer, por lo que configurar el SMTP de gmail no es nada complejo.









Creamos la base de datos y usuario en mysql:
create database phplist;
 grant all privileges on phplist.* to phplist@'%' identified by 'listas2017';
 flush privileges;










Editamos la configuración de phplist:






$database_host = 'localhost';

// what is the name of the database we are using
$database_name = 'phplist';

// what user has access to this database
$database_user = 'phplist';

// and what is the password to login to control the database
$database_password = 'listas2017';
y le agregamos los datos de la bd creada en el paso anterior
 






Y para configurar el SMTP de gmail editamos estas lineas:
define('PHPMAILERHOST', 'smtp.gmail.com');
 define('TEST', 0);

$phpmailer_smtpuser = 'bariloche@gmail.com';
$phpmailer_smtppassword = '@1962';
$phpmailer_smtpport = '587';









Ingresamos a la interface web



Inicializamos la base de datos y luego completamos los datos del administrador prestando atención a la clave para ingresar.


 finalmente aparecerá todo ok






 Finalmente ingresamos y completamos los items de configuración que nos falten


Para que gmail acepte enviar estos correos debemos configurar nuestra cuenta para que acepte apps inseguras
https://support.google.com/accounts/answer/6010255?hl=es-419

Fuentes:
https://www.phplist.org/manual/ch028_installation.xhtml