Construir un servidor web Raspberry Pi LAMP Stack con PHPMyAdmin y Filezilla

ADVERTENCIA No sugerimos que nadie intente ejecutar un sitio web de cara al público en una Raspberry Pi, o de hecho en cualquier servidor basado en casa/oficina. No hemos hecho ningún intento de hacer el servidor web seguro, ya que no era un problema para nuestro proyecto. Se necesitaría más investigación para endurecer la pila LAMP antes de que el servidor pudiera ser expuesto en Internet.

Instalar Linux

  • Instalar el sistema operativo Raspbian (basado en Debian Linux)
  • Utilizar la interfaz de usuario para establecer una contraseña de inicio de sesión y desactivar el inicio de sesión automático
  • Utilizar la interfaz de usuario para establecer una dirección IP fija y un nombre de host personalizado
  • Reiniciar e iniciar sesión con su nueva contraseña
  • Actualizar con sudo apt-get update y sudo apt-get dist-upgrade (un buen momento para ir a hacer una taza de té, ya que lleva un tiempo)
  • Un último reinicio, ya que una o más de las actualizaciones está obligado a requerirlo

Instalar Apache

sudo apt-get install apache2 -y

Probar localmente por abriendo el navegador web de la Pi y visitando http://localhost/ y opcionalmente probar a través de un ordenador en red también visitando http://your-pi’s-ip-address

Los archivos se almacenarán en /var/www/html/ – para hacer la vida más fácil di a todos los usuarios acceso de escritura a esta carpeta:

sudo chmod -R 777 /var/www/html

Sabremos si esto ha funcionado cuando probemos PHP en el siguiente paso.

Instalar PHP

sudo apt-get install php libapache2-mod-php -y

Puedes probar PHP sustituyendo el archivo index.html por defecto por un archivo index.php (sugiero que contenga phpinfo();) en /var/www/html – si ves que no puedes borrar, crear o modificar archivos en este directorio entonces vuelve a comprobar que has configurado los permisos en el paso anterior

TIP Hasta ahora el proceso ha sido a prueba de tontos pero he encontrado que configurar correctamente MySQL y sus usuarios ha sido un proceso de prueba y error. Me tomó varios intentos para llegar al sistema que se muestra a continuación – que puede no ser correcto para usted o todavía correcto para el momento en que lea esto. Este podría ser un buen momento para hacer una imagen de la tarjeta SD de su Pi para que pueda experimentar y saltar rápidamente de nuevo a este paso si es necesario.

Instalar MySQL Server

sudo apt-get install mysql-server php-mysql -y

La instalación ya no pide una contraseña para la raíz, en su lugar, usted necesita para ejecutar

sudo mysql_secure_installation

y responder a algunas preguntas. Recuerde que estamos tratando con el usuario root de MySQL y no con el usuario root de Linux, por lo que puede utilizar diferentes contraseñas si lo desea, sólo tiene que mantener un buen registro.

Reinicie Apache:

sudo service apache2 restart

Ahora intente iniciar sesión en MySQL como el nuevo usuario root introduciendo la contraseña que acaba de configurar cuando se le solicite:

mysql -u root -p

Si su acceso es denegado, entonces tendrá que realizar los siguientes pasos adicionales.

Primero use sudo para entrar en MySQL:

sudo mysql -u root

Acceda a la tabla de MySQL:

 USE mysql;

Y ahora la parte mágica:

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

entonces

FLUSH PRIVILEGES;

ahora

quit

y

service mysql restart

luego intente entrar de nuevo como arriba – es decir, sin usar sudo. Si no puedes entrar empieza a buscar en Google – no sigas hasta que hayas resuelto este paso.

Instale PHPMyAdmin (opcional)

Puede que no necesite esto pero para mi proyecto decidí instalar la interfaz gráfica de administración de MySQL con la que estoy más familiarizado – PHPMyAdmin.

sudo apt-get install phpmyadmin

(confirme que quiere continuar, seleccione el servidor apache2, haga clic en sí para la configuración del paquete, PROPORCIONE UNA CONTRASEÑA y grábela. Si dejas la contraseña en blanco te crea una al azar pero, por lo que veo, ¡nunca te dice cuál es!

Edita el archivo /etc/apache2/apache2.conf añadiendo la línea

include /etc/phpmyadmin/apache.conf

al final del archivo.

Reinicia Apache:

sudo /etc/init.d/apache2 restart

Prueba visitando http://localhost/phpmyadmin e iniciando sesión con el nombre de usuario phpmyadmin y la contraseña que proporcionaste durante la configuración.

Instala el cliente FTP Filezilla (opcional)

Hay muchas formas de manejar el FTP pero yo opto por ceñirme a lo que conozco e instalar Filezilla:

sudo apt-get install filezilla

¡El paso más importante!

Una vez que estés contento de que todo funciona asegúrate de hacer una imagen de la tarjeta SD para poder recuperarte rápidamente de cualquier problema. Las tarjetas SD no son muy robustas ni duraderas, así que espere que fallen y planifique en consecuencia. Con la excepción de la instalación de MySQL, el proceso es increíblemente rápido y fácil. El servidor resultante es fiable y más que capaz de ejecutar la herramienta de administración basada en WordPress que queríamos traer en casa. El servidor web basado en Pi ahora se sienta al lado de nuestra unidad NAS basado en Pi y nos preguntamos lo que podemos construir a continuación!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.