En este articulo haremos un tutorial corto para instalar un sistema de inventario web basado en PHP. La instalación se hará en una Raspberry pi 3b+. Te recomendamos revisar antes el tutorial anterior Servidor LAMP.
Para empezar descargaremos desde github, warehouse-inventory-system descomprimimos y copiamos la carpeta warehouse-inventory-system dentro del directorio html (var/www/html) de nuestra Raspberry. Recordemos que nuestra tarjeta ya tiene una IP fija, y podemos conectarnos de forma remota, cosa que haremos para este caso con WinSCP para mover archivos fácilmente

Ingresamos la IP de la Raspberry, usuario y clave, en nuestro caso no cambiamos esto en la configuración, por ende, el usuario es “pi” y la clave “raspberry)

En la ventana de WinSCP, en el sector izquierdo localizamos la carpeta que copiaremos y en el sector derecho nos dirigimos al directorio html, en /var/www/html (para llegar allí, presiona la carpeta con dos puntos hasta no retroceder más, a raíz, y ve al directorio señalado)
Ahora solo debemos arrastrar la carpeta desde izquierda (nuestro computador) a derecha (RPI). Si no tienes acceso primero deberás otorgarlos, para ello ingresa a PuTTY y para a ser root con el comando
sudo su
Esto te dará todos los privilegios y permisos, pero cuidado… porque “un gran poder conlleva una gran responsabilidad”, las restricciones permiten mantener a ralla a los usuarios y que no hagan algo que pudiese afectar el funcionamiento de nuestro equipo. Ahora otorgamos los permisos de lectura y escritura a la carpeta con el comando
chmod ugo+rwx /var/www/html
Si todo va bien se vera de esta forma

Ahora puedes arrastrar la carpeta de izquierda a derecha.

Lo que hicimos es porque la aplicación web ya esta desarrollada, solo la utilizaremos y para esto necesitaremos saber cual es el nombre de la base de datos, abriremos la carpeta y buscaremos un archivo de extensión .sql, para el caso se llama oswa_inv.sql

minimizamos la ventana de WinSCP, continuaremos en PuTTY, ahora configuraremos mariadb e importaremos la base de datos. Ingresamos en el terminal el comando (el prefijo sudo no es necesario como root)
sudo mysql_secure_installation
En la configuración de mariadb debemos definir una serie parámetros.
- Enter current password for root (enter for none), presionar enter o ingresar clave de root de haberla configurado antes.
- Escribir Y, presionar enter para: Set root password?
- Escribir una contraseña en el New password y presione enter. Es importante recordar esta contraseña de root, ya que la necesitará más adelante para configurar WordPress, en este caso y bajo mucha creatividad, se definió como “root”
- Escribir Y en “Remove anonymous users” y presionar enter
- Escribir Y en “Disallow root login remotely” y presionar enter
- Escribir Y en “Remove test database and access to it” y presionar enter
- Escribir Y en “Reload privilege tables now” y presionar enter
- Cuando se complete, verás el mensaje All done! y Thanks for using MariaDB!.

Ahora crearemos la base de datos, para ello ingresaremos el comando
sudo mysql -uroot -p
E ingresaremos la clave de root definida antes, en nuestro caso “root” y ya estaremos dentro de mariadb
Creamos la base de datos con
create database oswa_inv;
Si nos fijamos debe tener el mismo nombre del archivo con extensión .sql de la carpeta, esto es porque lo importaremos.
Damos los permisos necesarios y asignamos una clave para el usuario root, en este caso “inventario”. La clave puede ser cambiada por la que quieran, esta será para el ingreso a la aplicación
grant all privileges on oswa_inv.*to’root’@’localhost’ identified by ‘inventario’;
Seleccionamos la base de datos a usar
use oswa_inv;
Y por último importamos la base de datos desde la carpeta en html
source /var/www/html/warehouse-inventory-system/oswa_inv.sql;
flush privileges;
Para salir de mariadb escribimos
exit
Con esto ya tenemos configurada la base de datos.

Ahora ingresaremos nuevamente a WinSCP, nos dirigimos a la carpeta que copiamos en html, dentro de ella includes y buscamos el archivo config.php, debemos asignar los parámetros definidos anteriormente
- Nombre de base de datos: oswa_inv en ‘DB_NAME’
- Usuario base de datos: root en ‘DB_USER’
- Clave base de datos: inventario en ‘DB_PASS’
El archivo config debe quedar de la siguiente manera

Ya podemos ingresar en el navegador a direcciónip/warehouse-inventory-system y nos encontraremos con la pantalla inicial

Para primeros ingresos tienen 3 alternativas
Administrador
- Usuario: admin
- Clave: admin
Usuario
- Usuario: user
- Clave: user
Especial
- Usuario: special
- Clave: special
De existir algún problema, por ejemplo, página en blanco, debemos instalar todos los complementos necesarios de PHP con este comando
sudo apt install php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip
Y luego reiniciar apache con
sudo service apache2 restart
Si la aplicación web no les permite agregar fotos o cambiar parámetros, deben dar todos los permisos de la siguiente manera en PuTTY.
cd /var/www/html
sudo chmod 777 warehouse-inventory-system -R
sudo chown www-data:www-data warehouse-inventory-system -R
El 777 les dará permisos de lectura y escritura entre otros.
Este es un procedimiento que se cumple en la mayoría de las aplicaciones web para servidores LAMP basadas en PHP, existen muchas de ellas que les permitirán tener funcionalidades extra en el servidor, pero la forma de importar la base de datos e instalar los complementos será la misma.