Configurando THERO II: Servidor local y configuración.

Continuamos avanzando con el desarrollo de THERO y un poco a ciegas, como siempre. Son mundos que desconocíamos totalmente y ahora toca ir investigando poco a poco para ir resolviendo todas las ideas que queríamos implementar respecto al software. Una idea importante para nosotros era la de llegar a montar un servidor local con toda la información del proceso, a nivel técnico, para que otra gente pueda desarrollar ideas parecidas y por supuesto a nivel de investigación, recogiendo toda la información conseguida sobre la problematica actual del anonimato y la privacidad en la red. Pues bien, a continuación vamos a hacer un repaso a todas las herramientas y software utilizado, así como la mayoría de los pasos dados, también con la intención habitual de que toda esta investigación quede documentada en el proceso.

 

Para implementar el servidor local hemos utilizado más o menos la siguiente lista de software y lenguajes usados:
– Apache2
– PHP5
– MySQL
– WordPress
– Python + Html

 

Súper importante para todo el proceso, es que siempre se tenga una conexión SSH y la pantalla compartida mediante VNC o similar. Necesitaremos ver archivos, raices, etc y esto nos será tremendamente útil.
Como comentamos arriba, la idea es que mientras THERO esté conectado, dispongamos de un servidor local que nos ofrezca, a parte de la información recopilada, una página a nivel interno donde poder configurar nuestras opciones de conexión a nuestra Wifi, Lan, etc.  Aquí tenéis una captura de pantalla de la página de inicio, montada sobre el CMS WordPress:

Y aquí podéis ver como queda por ahora la pagina de configuración, que no es más que una página del CMS con varias páginas HTML embebidas:

Pues bien, para configurar nuestra Raspberry Pi interna con todo esto necesitamos de primeras instalar nuestro servidor Apache2 y todo lo necesario para instalar el wordpress, siguiendo este tutorial hasta el final: Lamp Web Server with WordPress

Una vez hecho esto y comprobado que tenemos la página de inicio de nuestro wordpress, dejamos esto de lado y nos vamos a ver como implementamos los formularios para grabar los datos e incluirlos en nuestro «core», de cara a configurar wifi, sitios bloqueados y la lista blanca de equipos que queramos reconocer como «Buenos». Para crear nuestros formularios nos hemos basado también en este tutorial: Web forms With Python

Una vez que le echemos un vistazo a como van los formularios, nos servirá de gran ayuda este otro apunte en la misma y fantastica página: Writing CGI scripts with Python

El esquema de funcionamiento básico sería algo así:
WordPress nos muestra el formulario embebido -> rellenamos el formulario html -> enviamos los datos a Python -> Imprimimos los datos en un archivo .txt para que otros procesos puedan leer esas configuraciones que le hemos dado.

Para la posterior escritura y lectura final de los datos en la carpeta deseada, este otro tutorial nos ha venido muy bien: Reading Files with Python

Sobre todo hay que tener muy en cuenta que conviene estár pendiente siempre de que todos los permisos siempre esten activados para trabajar con las comunicaciones entre carpetas o para el simple manipulado de los archivos, mientras configuramos todo. Es por eso que el comando chmod 777 será nuestro fiel aliado 😉

Cabe recordar también que todo el código (de momento no muy ordenadamente) lo vamos subiendo al repositorio en Git-Hub del proyecto. También creo que iré actualizando este post con más esquemas y posible problemáticas, para que sea todo mucho más claro y accesible.
Vamos lentos porque vamos lejos