- Componente requerido
- Configurar el servidor web en Raspberry Pi
- Paso 1: actualiza la Pi
- Paso 2: instalar Apache
- Paso 3: instalar PHP
- Paso 4: Instale MySQL Sever
- Instalar y configurar WordPress en Raspberry Pi
- Paso 1: Descargue e instale WordPress
- Paso 2: configurar la base de datos
- Paso 3: configurar WordPress
Una de las cosas fascinantes del sistema en chips (SoC) como Raspberry Pi es su capacidad para servir como servidores web para alojar sitios web y otras aplicaciones en línea. Este servidor web sirve archivos de host cuando la solicitud se realiza desde el extremo del cliente. Hoy, demuestro cómo configurar un servidor web en Raspberry Pi e instalar un sitio web de Wordpress al que se puede acceder desde cualquier dispositivo en la misma red que la raspberry pi. Incluso puede poner Raspberry Pi en línea mediante la técnica de reenvío de puertos y puede acceder al sitio web desde cualquier parte del mundo.
Componente requerido
Se requieren los siguientes componentes para construir este proyecto;
- Frambuesa pi 2 o 3
- Tarjeta SD (mínimo de 8 GB)
- Cable LAN / Ethernet
- Adaptador WiFi (si usa Raspberry pi 2)
- Fuente de alimentación
Opcional
- Teclado
- Ratón
- Monitor
- Cable HDMI
Para continuar, usaremos el sistema operativo Raspbian stretch para este tutorial y, dado que su configuración es la misma que la de Jessie, asumiré que está familiarizado con la configuración de Raspberry Pi con el sistema operativo Raspbian stretch. También supongo que sabe cómo SSH en la Raspberry Pi usando un software de terminal como Putty. Si tiene problemas con cualquiera de las cosas mencionadas, hay toneladas de Tutoriales de Raspberry Pi en este sitio web que pueden ayudar.
Para los nuevos usuarios de Stretch (instalaciones nuevas), debe tener en cuenta que SSH está deshabilitado y deberá habilitar SSH antes de poder hablar con la raspberry pi a través de SSH. Una forma de hacerlo es activarlo conectando un monitor y habilitando SSH, mientras que la segunda, que es mi favorita, es creando un archivo llamado ssh (sin extensión) y copiándolo en la carpeta raíz de su tarjeta SD. Esto se puede hacer insertando la tarjeta SD en su PC.
Comenzaremos el tutorial configurando el raspberry pi como un servidor web que se puede utilizar para alojar cualquier tipo de sitio web, después de lo cual veremos cómo configurar un sitio web de WordPress en el servidor.
También verifique otro servidor Raspberry Pi para los medios y el servidor de impresión:
- Cómo configurar Plex Media Server en Raspberry Pi
- Servidor de impresión Raspberry Pi
- Cómo instalar Kodi en Raspberry Pi 3
Configurar el servidor web en Raspberry Pi
Hay varias pilas de servidores, pero para este tutorial, usaremos la pila LAMP que significa Linux, Apache, MySQL y PHP.
Paso 1: actualiza la Pi
Es importante actualizar la Pi al inicio de cualquier proyecto, ya que esto instala la actualización para todos los paquetes instalados previamente y asegura que no surjan problemas de compatibilidad cuando se instalan los paquetes de software necesarios para los nuevos proyectos. Para actualizar la ejecución de pi;
Sudo apt-get update Sudo apt-get upgrade
Paso 2: instalar Apache
Como ya ejecutamos una máquina Linux, lo primero que debemos hacer es instalar Apache. Apache, como la mayoría de las otras aplicaciones de servidor web, puede usarse para servir archivos HTML a través de http o usarse con módulos y paquetes adicionales para servir páginas web dinámicas como la mayoría de los sitios web de wordpress, que se crean utilizando lenguajes como PHP.
Para instalar apache, ejecute;
Sudo apt-get install apache2
Una vez realizada la instalación, puede probarla visitando la dirección IP en su navegador. Debería ver una página como la que se muestra en la imagen a continuación.
La página que se muestra arriba representa el contenido html del archivo index.html ubicado en el directorio / var / www / html que se creó durante la instalación de Apache.
Para mostrar una página web única o crear varias páginas, el contenido del archivo index.html se puede editar para reflejar la información que se mostrará.
Para editar el archivo, necesitamos cambiar la propiedad de root a su propio nombre de usuario. Suponiendo que su nombre de usuario es el nombre de usuario predeterminado "pi", cambie al directorio www y cambie la propiedad del archivo;
cd / var / www / html sudo chown pi: index.html
Con la propiedad cambiada, podemos editar el script usando el editor de texto nano . Correr;
Sudo nano index.html
Cambie el código para reflejar los cambios que desee, guarde y actualice la página en el navegador para ver el cambio.
Paso 3: instalar PHP
Para darle al servidor web la capacidad de servir algunas páginas web complejas y dinámicas, para darle la capacidad de procesar html, CSS, JavaScript y PHP, necesitaremos instalar los otros componentes de la pila LAMP. Como ya estamos ejecutando en una máquina Linux, el siguiente componente de la pila que instalaremos es PHP. Para instalar, ejecute;
Sudo apt-get install php libapache2-mod-php
Una vez hecho esto, podemos probar la instalación creando un archivo index.php e insertarlo en el directorio www . Esto debe hacerse solo después de que el archivo index.html se haya eliminado del directorio, ya que.html tiene prioridad sobre.php.
Para eliminar el archivo.html, mientras aún se encuentra dentro del directorio www, ejecute;
sudo rm index.html
Cree el archivo index.php usando;
sudo nano index.php
Inserte alguna línea de código PHP en el archivo.
Guarde y salga del editor. Actualice la página en el navegador para ver los cambios.
Si el script php sin formato se muestra en la página web en lugar del texto "servidor en funcionamiento", reinicie el servidor apache. Esto se hace usando;
reinicio de apache2 del servicio sudo
Ahora debería poder ver el contenido de la página web correctamente.
En lugar de eliminar la página index.html , se puede crear otra página con un nombre que no sea index. Por ejemplo, page.php .
Se puede acceder a esta página en el navegador a través de http: //
Paso 4: Instale MySQL Sever
A continuación, necesitamos instalar un motor de base de datos para administrar y almacenar datos en el servidor. Para la pila de Lamp, usaremos MySQL. Necesitamos instalar el servidor MySQL y los paquetes de soporte PHP para MySQL. Una alternativa a estos será usar PHPmyAdmin.
Para instalar el servidor MySQL, ejecute;
Sudo apt-get install mysql-server php-mysql
Una vez hecho esto, reinicie Apache usando;
reinicio de apache2 del servicio sudo
Una vez hecho esto, ahora tiene un servidor web completo en funcionamiento y la base de datos debería ser administrable. En este punto, puede crear y alojar un sitio web en este servidor colocando las páginas html y PHP del sitio web en el directorio www del servidor web y cualquiera en la misma red que raspberry pi podrá acceder a él.
Instalar y configurar WordPress en Raspberry Pi
Con nuestro servidor web en funcionamiento, una buena forma de probar lo que hemos hecho es instalar el popular sistema de gestión de contenido WordPress . Con esto, podremos crear un sitio web en pocos minutos.
Paso 1: Descargue e instale WordPress
Para aclarar las cosas y liberar algo de espacio en la raspberry pi, eliminamos el contenido del directorio www . Para hacer esta carrera;
Cd ~ Cd / var / www / html sudo rm *
Después de eliminar todos los archivos, descargamos WordPress de su sitio web oficial usando;
sudo wget
Una vez que se complete la descarga, extraiga el tarball usando;
sudo tar xzf latest.tar.gz
Mueva el contenido de la carpeta de WordPress al directorio actual usando;
Sudo mv wordpress / *.
Tenga en cuenta el espacio antes del "."
Luego retire el tarball para liberar espacio en el pi usando;
Sudo rm –rf wordpress latest.tar.gz
Antes de continuar, debemos cambiar la propiedad de todos los archivos de wordpress al usuario de apache. Correr;
Sudo chown -R www-data:.
* no olvide agregar el "." después de la columna.
Paso 2: configurar la base de datos
Todos los sitios web necesitan una base de datos; aquí es donde entra MySQL. Para configurar una base de datos para WordPress, ejecute;
sudo mysql_secure_installation
Se le pedirá que ingrese la contraseña predeterminada / actual. Simplemente presione la tecla Intro. Siga el mensaje para completar la configuración creando una nueva contraseña (asegúrese de usar una contraseña que pueda recordar fácilmente), elimine usuarios anónimos, desactive el inicio de sesión remoto, elimine la base de datos de prueba y vuelva a cargar la tabla de privilegios. Debería ver un comentario de todo hecho cuando todo esté hecho.
A continuación creamos una base de datos para WordPress. Correr;
sudo mysql -uroot -p
Ingrese la contraseña de root que creamos anteriormente, debería ver un mensaje de bienvenida al monitor mariaDB en la pantalla. Cuando esto aparezca, cree una nueva base de datos usando el comando;
crear wordpress base de datos;
Tenga en cuenta que "WordPress" en el comando anterior es mi nombre preferido para la base de datos. Siéntete libre de elegir el tuyo.
Si tiene éxito, debería ver una pantalla similar a la de la imagen a continuación.
A continuación, conceda privilegios de base de datos al usuario root que utiliza;
OTORGAR TODOS LOS PRIVILEGIOS EN wordpress. * A 'root' @ 'localhost' IDENTIFICADO POR 'YOURPASSWORD';
Para que los cambios realizados en la base de datos surtan efecto, debemos eliminar los privilegios de la base de datos. Correr;
PRIVILEGIOS DE FLUSH;
Una vez hecho esto, salimos de mariaDB usando CTRL + D.
Paso 3: configurar WordPress
Abra un navegador web en el pi y vaya a http: // localhost. Debería ver una página de WordPress pidiéndole que seleccione su idioma preferido, seleccione su idioma preferido y haga clic en continuar.
En la página siguiente, haga clic en vamos a continuar con las instalaciones.
Solicitará información básica del sitio. Rellénelos como se muestra a continuación;
Nombre de la base de datos: wordpress Nombre de usuario: root Contraseña:
Haga clic en el botón "enviar" seguido del botón "Ejecutar la instalación". Esto solicitará un correo electrónico, un nombre de usuario y una contraseña para su sitio web. Proporcione esta información y presione el botón "instalar wordpress". Una vez hecho esto, ahora debería poder iniciar sesión en el backend de los sitios web y personalizar su apariencia y uso visitando http: // localhost / wp-admin
Para que la URL sea más amigable para los usuarios que ven desde un dispositivo diferente en la misma red, cambiaremos la configuración de enlaces permanentes. Para hacer esto, desde el backend de wordpress, vaya a configuración , seleccione enlaces permanentes , seleccione la opción " nombre de la publicación " y haga clic en el botón " guardar cambios ".
Entonces, el servidor web está alineado con estos cambios, necesitaremos habilitar el mod de reescritura de Apache. Correr;
Sudo a2enmod reescribir
También necesitamos instruir al host virtual para que permita sobrescribir las solicitudes. Para hacer esto, necesitaremos editar la configuración predeterminada de los sitios disponibles usando el editor nano .
Correr; sudo nano /etc/apache2/sites-available/000-default.conf
Agregue las siguientes líneas después de la primera línea
Asegúrese de que esté dentro del
Guarde el archivo y salga usando CTRL + X seguido de Y e ingrese.
Reinicie Apache para efectuar los cambios realizados en los archivos de configuración. Correr;
Reinicio del servicio sudo apache2
Eso es todo, tenemos un sitio web ejecutándose en nuestro servidor web Raspberry. WordPress se puede personalizar fácilmente a su gusto. Puede cambiar fácilmente temas, agregar páginas, publicaciones, cambiar el menú, etc.
Generalmente, hay muchas cosas que se pueden lograr con un servidor web privado. Uno de esos usos clave es el intercambio de archivos entre dispositivos conectados a la misma red que el servidor.
Al conectar la raspberry pi a un enrutador y emplear técnicas de reenvío de puertos, el servidor web se puede implementar para servir páginas web en Internet. Esto significa que se puede acceder a los archivos almacenados en el servidor web desde cualquier parte del mundo.
Cabe señalar que la raspberry pi como hardware es limitada y puede que no funcione de manera óptima si se utiliza para alojar sitios web con mucho tráfico.