En esta guia vamos a ver los pasos necesarios para poner en funcionamiento la interface web para Rasperry Pi con la wallet de SocialSend.
Instalando los programas necesarios.
Primero necesitamos descargar e instalar la wallet de SocialSend en la Raspberry Pi 3 como vimos en este tutorial link o descargar la imagen terminada desde este link
Una vez que tengamos la imagen lista empezamos con la instalacion y configuracion del servidor web. Para eso instalamos el Apache y PHP5.
sudo apt-get install apache2 php5 php5-curl qrencode
Primero activamos la conexion segura en apache y configuramos el certificado SSL para tener una conexion encriptada en nuestra interface. Para ello vamos a utilizar openSSL para generar el certificado.
sudo a2enmod ssl
sudo a2enmod rewrite
sudo a2ensite default-ssl
service apache2 restart
Creamos la carpeta para guardar el certificado.
sudo mkdir /etc/apache2/ssl
Creamos el certificado con una validez de 365 dias y lo guardamos en el directorio que acabamos de crear. Establecemos los permisos para que queden protegidos.
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/sendpi.key -out /etc/apache2/ssl/sendpi.crt
sudo chmod 600 /etc/apache2/ssl/*
Al generar el certificado completamos todos los datos que nos pide. Cuando nos pregunte por el campo "Common Name" le ponemos "localhost".
Editamos la configuracion del apache para que use los certificados que acabamos de crear.
sudo nano /etc/apache2/sites-enabled/default-ssl.conf
Este comando nos abre el editor nano. Tenemos que buscar las siguientes lineas:
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
y modificarlas por las siguienes
SSLCertificateFile /etc/apache2/ssl/sendpi.crt
SSLCertificateKeyFile /etc/apache2/ssl/sendpi.key
Luego vamos a cambiar el usuario con el que se ejecuta el apache. Esto es para que el apache se ejecute con el mismo usuario con el que se ejecuta la wallet, de esta manera, nos tenemos problemas de permisos a los archivos. Editamos el siguiente archivo de configuracion:
sudo nano /etc/apache2/envvars
Buscamos las siguientes lineas:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
y las modificamos por las siguientes:
export APACHE_RUN_USER=pi
export APACHE_RUN_GROUP=pi
Para permitir el uso de los archivos .htaccess
debemos cambiar la configuracion del apache para el directorio /var/www/
para eso ejecutamos el comando
sudo nano /etc/apache2/apache2.conf
Buscamos la configuracion para el directorio /var/www/
que deberia ser la siguiente:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
y cambiamos el AllowOverride None
por AllowOverride All
quedando de la siguiente manera:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Guardamos los cambios y reiniciamos el apache para que tome la nueva configuracion con el siguiente comando:
sudo service apache2 restart
Copiando los archivos de las interface web
Descargamos los archivos de la interfaz web:
cd ~
git clone https://github.com/hernss/SendPi.git
Copiamos los archivos al directorio web:
sudo chown pi /var/www/html/
cd SendPi/
chmod +x install
./install
Iniciando la interface por primera vez
Abrimos un navegador y ponemos en la barra de direcciones https://192.168.X.X
(siendo 192.168.x.x la direccion ip local de la Raspberry Pi)
Como el certificado de la conexion SSL lo generamos nosotros mismos, entonces el navegador al no reconocer al creador del formulario arroja una advertencia. Para evitar esto hay que agregar una excepcion en el navegador.
La primera vez que se accede a la interface nos va a pedir que ingresemos una contraseña.
Luego de ingresar la contraseña el sistema va a configurar todos los archivos para comunicarse con la wallet. Es importante que antes de iniciar este paso la wallet ya este configurada y tenga seteados las variables "rpcuser" y "rpcpassword" en el archivo send.conf. El sistema va a acceder a este archivo para tener acceso via RPC a la wallet.
Ejemplo de archivo send.conf
rpcuser=anyuser
rpcpassword=anypassword
rpcallowip=127.0.0.1
staking=1
server=1
listen=1
daemon=1
Una vez confirmada la contraseña el sistema nos va a pedir que ingresemos.
Ahi ya vamos a tener acceso completo a las funcionalidades de la Interace Web.
Si esta guia te parecio util siempre algunos SENDS seran bien recibidos
STRtrnjav8MGfTrkUn1BgMwdCU9mwYCQff