GUÍA BÁSICA

Instalación entorno XAMP

"Trabajar en local es muy importante"

¡Hola y bienvenid@s!

Mi nombre es José J. Peleato Pradel.

by jjpeleato.com

https://bit.ly/37yL6Ya

¿Qué es XAMP?

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

  • 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.

LAMP

Linux Apache MySQL PHP

Más información

WAMP

Windows Apache MySQL PHP

Más información

MAMP

MacOS Apache MySQL PHP

Más información

Disclaimer

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.

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

Apache 2

Más información

Instalación servidor web

sudo apt-get update
sudo apt-get install apache2

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.

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

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

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

VirtualHost

Crear archivo de configuración.

cd /etc/apache2/sites-available ; sudo touch odin-com.conf ; sudo gedit odin-com.conf
<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>

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.

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

PHP

Más información

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

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

Instalación PHP xDebug + getText

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

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.

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

MySQL

Más información

Instalación MySQL

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

Para verificar el funcionamiento abrimos el terminal y escribimos:

mysql --version

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

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.

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.

1) Crear directorio temporal:

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

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

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

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'

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

6) Borrar directorio temporal:

sudo rm -rf /var/run/mysqld

Copias de seguridad

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

Software recomendado

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

phpMyAdmin

Más información

Instalación

sudo apt-get update
sudo apt-get install phpmyadmin
  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.

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

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.

Software recomendado

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

END!

Thank you very much!

Thank you very much!