Para realizar el hosting correctamente para nuestra raspberry, recordad de abrir el puerto :8080 y puerto :80 de nuestro router.

  1. Actualizamos las raspberry:

sudo apt-get clean

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

sudo reboot


sudo apt-get install rpi-update

sudo rpi-update

sudo reboot

  1. Procedemos a instalar Apache:

sudo apt-get install apache2 php7.3 libapache2-mod-php7.3

sudo service apache2 restart

  • Realizamos la prueba de acceder mediante la ip de la rasp o si tenemos los puertos abierto mediante la ip publica y aparecerá este mensaje, esto significa que estará todo correcto:


3. Ahora instalamos paquete mysql:

sudo apt-get install mysql-server mysql-client php7.3-mysql phpmyadmin

  • Vamos a configurar el mysql:

mysql -u root -p

  • Dentro del mysql:

    -Creamos la base de datos:

    create database wordpress;
    -Visualizamos las bases de datos:
    show databases;
    -Creamos un usuario con su contraseña:
    create user usuario identified by 'contraseña';
    Donde dice usuario lo cambiamos por el nombre deseada y donde dice contraseña introducimos la contraseña deseada. En el siguiente codigo también.

    -Damos todos los permisos de usuario en la BD correspondiente:
    grant all PRIVILEGES on wordpress.* to usuario@localhost identified by 'contraseña';

    exit;
  1. Seguridad del mysql:

sudo /usr/bin/mysql_secure_installation

Enter current password for root (enter for none):
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

  1. Configuramos servidor FTP:

sudo apt-get install vsftpd

Para tener configurado nuestro ftp que ahora editamos el fichero:

nano /etc/vsftpd.conf

Modificamos la entrada anonymous_enable=YES a anonymous_enable=NO, descomentaremos las entradas local_enable=YES y write_enable=YES, por último agregamos esta línea al final del fichero: force_dot_files=YES

Guardamos lo editado con Ctrl+X, luego "y" y pulsamos enter.

  • Reiniciamos el servició de FTP:

sudo service vsftpd restart
El puerto predeterminado es :22 para abrir el puerto en el router



6. Una vez echo todo esto, ya tendremos el directorio `/var/www/`de los cuales dentro tiene que ir la carpeta donde vamos a hospedar nuestra pagina web y con sus permisos necesarios, por ejemplo:

mkdir /var/www/tupaginaweb

chown -R www-data /var/www/tupaginaweb

chmod -R 755 /var/www/tupaginaweb

7.Cuando tengamos la pagina web creada en su carpeta, tenemos que activarla, para ello vamos realizar lo siguiente:

  • Copiamos el archivo de .conf predeterminado, para cambiarlo al nombre que nosotros queramos:

cp /etc/apache2/sites-available/default.conf /etc/apache2/sites-available/tupaginaweb.conf

  • Ahora procedemos a editarlo:

nano /etc/apache2/sites-available/tupaginaweb.conf

Donde aparece ServerName vamos a introducir nuestro dominió y en DocumentRoot el nombre del directorio donde se encuentra nuestra pagina web:

        ServerName tupaginaweb.com
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/tupaginaweb
Guardamos lo editado con Ctrl+X, luego "y" y pulsamos enter.
  • Una vez configurado, solo queda activar la pagina:

a2ensite tupaginaweb.conf

  • Reiniciamos el servició:

service apache2 restart

Realizamos la prueba de acceder mediante nuestro dominio y se va a cargar la pagina web correspondiente.

Recordad! El dominio tiene que apuntar a la IP publica de tu router y en tu router el puerto :8080y :80tiene que estar abierto


Notas adicionales:

  • Para que nuestro Apache pueda enviar notificaciones vía correo electronico se tiene que realizar la siguiente:

    sudo apt-get install ssmtp mailutils mpack

    Editamos ficher de configuración, añadiendo el siguiente texto:

    nano /etc/ssmtp/ssmtp.conf

    • mailhub=smtp.gmail.com:587
      hostname=PONEMOS EL NOMBRE DE NUESTRO HOST DE LA RPI
      AuthUser=email@gmail.com
      AuthPass=PASSWORD
      useSTARTTLS=YES
      FromLineOverride=YES
  • El archivo PHP.ini que es el archivo para modificar nuestra configuración del apache, se encuentra en:

    nano /etc/php5/apache2/php.ini

  • Otro tipo de configuraciones dentro del host también puede realizarse en el siguiente directorio:

    nano /etc/apache2/apache2.conf

  • Para visualizar el log de Apache:

    tail -f /var/log/apache2/access.log

  • Si cuando accedemos desde navegador a una carpeta de nuestra pagina web, se va a mostrar la raíz de esa carpeta mostrando el contenido de la misma, por defecto Apache lo tiene activado, para desactivar hay que ir al directorio de nuestra pagina web y crear o editar el .htaccess

    nano /var/www/tupaginaweb/.htaccess

    Hay que añadir la siguiente linea directamente Options -Indexes

  • Gestiones PHP

    Los mods de php adecuados serian estos:

    Saber info:

    php -v

    Desinstalación:

    sudo apt-get purge php5.6-common

  • Saber en que orden apache va lanzar los ".conf":

    apache2ctl -S