GUÍA BÁSICA

Instalación entorno XAMP

"Trabajar en local es muy importante"

by jjpeleato.com

¡Hola y bienvenid@s!

Mi nombre es José J. Peleato Pradel.

by jjpeleato.com

https://bit.ly/37yL6Ya

by jjpeleato.com

¿Qué es XAMP?

by jjpeleato.com

XAMP es el acrónimo para describir el conjunto de tecnologías necesarias para crear una infraestructura de un servidor web.

by jjpeleato.com

  • X: Definición del sistema operativo. Puede ser Linux, Windows o Mac OS X.
  • A: Servidor web Apache.
  • M: Definición del gestor de bases de datos. Puede ser MySQL o MariaDB.
  • P: Definición del lenguaje de programación. Puede ser PHP, Perl o Python.

by jjpeleato.com

LAMP

Linux Apache MySQL PHP

Más información

by jjpeleato.com

WAMP

Windows Apache MySQL PHP

Más información

by jjpeleato.com

MAMP

MacOS Apache MySQL PHP

Más información

by jjpeleato.com

Disclaimer

by jjpeleato.com

Vamos a proceder a realizar la instalación de un servidor web en una máquina virtual Linux con distribución Ubuntu ó Debian a través del sistema de gestión de paquetes APT (Advanced Packaging Tool).

Ubuntu · Debian

Todas las líneas de comandos se ejecutarán a través de terminal.

by jjpeleato.com

Primero, instalaremos Apache. Tras esto, seguiremos con PHP y finalmente con MySQL y phpMyAdmin como gestor y administración de bases de datos.

by jjpeleato.com

Apache 2

Más información

by jjpeleato.com

Instalación servidor web

sudo apt-get update
sudo apt-get install apache2

by jjpeleato.com

Para verificar el funcionamiento abrimos el navegador y visitamos: http://localhost/ o http://127.0.0.1/.

Desde donde visualizaremos una web de bienvenida utilizada para probar el correcto funcionamiento del servidor web.

by jjpeleato.com

Apache es un servicio que se ejecuta automáticamente con el inicio del sistema operativo. Para gestionarlo de forma manual:

sudo service apache2 start // Iniciar servicio Apache
sudo service apache2 restart // Reiniciar servicio Apache
sudo service apache2 reload // Recargar servicio Apache
sudo service apache2 stop // Parar servicio Apache
sudo service apache2 status // Estado servicio Apache

Todas las acciones (start, restart...) pueden ser también ejecutadas:

sudo /etc/init.d/apache2 [action]
systemctl restart apache2
systemctl status apache2.service

by jjpeleato.com

Módulos Apache

Para activar o desactivar módulos

sudo a2enmod [module] // Activar módulos
sudo a2dismod [module] // Desactivar módulos

Para verificar que módulos tenemos activos podemos ejecutar sudo a2dismod y no activos sudo a2enmod. En ambos casos nos lista y pregunta contra que módulos actuar.

Otra alternativa para conocer que módulos tenemos activos:

ls -lha /etc/apache2/mods-enabled

by jjpeleato.com

Activamos mod-rewrite

El módulo rewrite agrega al servidor web la posibilidad de re-escribir la URI que recibe desde el navegador.

La importancia de este módulo es la posibilidad de escribir direcciones amigables (Friendly URL's), que juega un rol importante desde la perspectiva SEO.

sudo a2enmod rewrite // Activar mod-rewrite
sudo service apache2 restart // Reiniciar servidor Apache

by jjpeleato.com

VirtualHost

Crear archivo de configuración.

cd /etc/apache2/sites-available ; sudo touch odin-com.conf ; sudo gedit odin-com.conf

by jjpeleato.com

<VirtualHost *:80>
  ServerAdmin jjpeleato@odin.com
  ServerName odin.com
  ServerAlias www.odin.com
  DocumentRoot /var/www/odin
  <Directory /var/www/odin>
	DirectoryIndex index.php index.html index.htm
	Options -Indexes
	AllowOverride All
	Order allow,deny
	allow from all
  </Directory>
  ErrorLog ${APACHE_LOG_DIR}/odin-error.log
  CustomLog ${APACHE_LOG_DIR}/odin-access.log combined
</VirtualHost>

by jjpeleato.com

Para habilitar o deshabilitar un sitio alojado con Apache:

cd /etc/apache2/sites-available
sudo a2ensite odin-com.conf // Habilitar sitio
sudo a2dissite odin-com.conf // Deshabilitar sitio
sudo systemctl reload apache2 // Reiniciar Apache2

La acción de activar o desactivar un sitio genera un enlace simbólico en /etc/apache2/sites-enabled/ hacia /etc/apache2/sites-available/ lo que significa que si accedemos al directorio podemos comprobar que sitios tenemos activos.

by jjpeleato.com

Añadir al fichero hosts la dirección IP de nuestro VirtualHost

sudo gedit /etc/hosts

127.0.0.1 odin.com
127.0.0.1 www.odin.com

by jjpeleato.com

PHP

Más información

by jjpeleato.com

Instalación PHP 7.2 (Ubuntu repository)

sudo apt-get update
sudo apt-get install php7.2 libapache2-mod-php7.2
sudo apt-get install php7.2-cgi php7.2-cli php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-odbc php7.2-pgsql php7.2-sqlite3 php7.2-xml php7.2-soap
sudo service apache2 restart

by jjpeleato.com

Instalación PHP 7.4

sudo apt-get update
sudo apt -y install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.4 libapache2-mod-php7.4
sudo apt-get install php7.4-cgi php7.4-cli php7.4-common php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-odbc php7.4-pgsql php7.4-sqlite3 php7.4-xml php7.4-soap
sudo service apache2 restart

by jjpeleato.com

Instalación PHP xDebug + getText

sudo apt-get update
sudo apt-get install php-xdebug php-gettext
sudo service apache2 restart

by jjpeleato.com

Para verificar el funcionamiento de PHP abrimos el terminal y ejecutamos el siguiente comando:

sudo echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

Visitamos en el navegador: http://localhost/phpinfo.php o http://127.0.0.1/phpinfo.php. Desde donde visualizaremos una gran cantidad de información sobre el estado actual de PHP.

by jjpeleato.com

Cambiar versión PHP

php7.2 -> php7.4

sudo a2dismod php7.2 ; sudo service apache2 restart ; sudo a2enmod php7.4 ; sudo service apache2 restart

php7.4 -> php7.2

sudo a2dismod php7.4 ; sudo service apache2 restart ; sudo a2enmod php7.2 ; sudo service apache2 restart

by jjpeleato.com

MySQL

Más información

by jjpeleato.com

Instalación MySQL

sudo apt-get update
sudo apt-get install mysql-server

by jjpeleato.com

Para verificar el funcionamiento abrimos el terminal y escribimos:

mysql --version

Desde donde visualizaremos la versión de nuestro motor de bases de datos.

by jjpeleato.com

Abrir MySQL

Para trabajar desde terminal con MySQL:

mysql -u [user] -p [password] // Desaconsejado
mysql -u [user] -p // Modo recomendado. Nos solicita la contraseña en la siguiente línea y sin opción a lectura.

Nota: Si no recuerdas la contraseña de acceso. Leer la siguiente vista para proceder a reiniciar la contraseña.

by jjpeleato.com

Reiniciar contraseña MySQL

Es posible que en el proceso de instalación de MySQL, no se solicite la contraseña del usuario root o que no la recordemos. Para solucionar este problema, debemos reiniciar la contraseña.

by jjpeleato.com

1) Crear directorio temporal:

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld

by jjpeleato.com

2) Parar el servicio MySQL, conectar como root y no cerrar la terminal:

sudo service mysql stop
sudo mysqld_safe --skip-grant-tables &

by jjpeleato.com

3) Abrir una nueva terminal y ejecutar los siguientes comandos desde donde añadiremos la nueva contraseña:

mysql -u root
use mysql;
UPDATE user SET authentication_string='*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B', plugin='mysql_native_password' WHERE user='root';
flush privileges;
quit
exit

Nota: La contraseña codificada es 'root'

by jjpeleato.com

4) En la primera terminal, terminar ejecución Ctrl+C del servicio activo y cerrar terminal.

5) Reiniciar equipo. Si el servicio de MySQL está parado abrir terminal y ejecutar:

sudo service mysql start

by jjpeleato.com

6) Borrar directorio temporal:

sudo rm -rf /var/run/mysqld

by jjpeleato.com

Copias de seguridad

mysqldump -u username -p databasename > filename.sql // Exportar
mysql -u username -p databasename < filename.sql // Importar

by jjpeleato.com

Software recomendado

  1. MySQL Workbench: https://www.mysql.com/products/workbench/
  2. DBeaver: https://dbeaver.io/
  3. HeidiSQL: https://www.heidisql.com/

by jjpeleato.com

phpMyAdmin

Más información

by jjpeleato.com

Instalación

sudo apt-get update
sudo apt-get install phpmyadmin

by jjpeleato.com

  1. Para la selección del servidor, elija apache2.
  2. Seleccione YES cuando se le pregunte si desea utilizar dbconfig-common.
  3. Se le pedirá la contraseña del administrador de la base de datos.
  4. Se le pedirá que elija y confirme una contraseña para la aplicación phpMyAdmin.

Advertencia: Cuando aparece el primer mensaje, apache2 se resalta, pero no se selecciona. Si no pulsa Space para seleccionar Apache, el instalador no moverá los archivos necesarios durante la instalación. Pulse Space, Tab y, a continuación, Enter para seleccionar Apache.

by jjpeleato.com

Añadir archivo de configuración de phpMyAdmin

sudo gedit /etc/apache2/apache2.conf
Include /etc/phpmyadmin/apache.conf // Incluir al final del fichero
sudo /etc/init.d/apache2 restart

by jjpeleato.com

Para verificar el funcionamiento de phpMyAdmin

Visitamos en el navegador: http://localhost/phpmyadmin o http://127.0.0.1/phpmyadmin. Desde donde visualizaremos el login de acceso.

by jjpeleato.com

Software recomendado

by jjpeleato.com

  1. XAMPP: https://www.apachefriends.org/
  2. WampServer: http://www.wampserver.com/
  3. MAMP: https://www.mamp.info/
  4. LocalWP: https://localwp.com/

by jjpeleato.com

¡FIN!

Simplemente, GRACIAS

by jjpeleato.com