Instalar un servidor local web en Linux con Apache, PHP y PhpMyAdmin (IV): instalar phpMyAdmin

localhost-phpmyadmin

Instalar phpMyAdmin en un servidor local Linux basado en Debian

Lo primero, antes de la instalación, veamos qué es y para qué sirve phpMyAdmin:

phpMyAdmin: Gestión de Bases de Datos MySQL de forma sencilla
phpMyAdmin es una herramienta de software libre escrita en PHP que permite la administración de bases de datos MySQL (o compatibles, como MariaDB) a través de una interfaz web intuitiva. Su principal función es facilitar la gestión de bases de datos, tablas, campos, relaciones, índices, usuarios y permisos, todo ello sin necesidad de utilizar la línea de comandos.

Con phpMyAdmin, los usuarios pueden realizar tareas comunes como crear, modificar y eliminar bases de datos y tablas, así como importar y exportar datos en diversos formatos (como SQL, CSV y XML). También permite ejecutar consultas SQL directamente y visualizar resultados de manera sencilla.

Es especialmente útil para desarrolladores y administradores de sistemas que buscan una forma eficiente y accesible de gestionar sus bases de datos, haciendo que la administración de MySQL sea más accesible tanto para principiantes como para expertos.

Ahora que ya tenemosnuestro servidor Apache y PHP (versión 8.1 en mi caso) y MariaDB instalados en nuestro servidor local Linux (un Ubunte MATE), vamos a describir los pasos para instalar y poner en marcha el gestor de bases de datos phpMyAdmin:

1. Instala phpMyAdmin

Abre una terminal y ejecuta el siguiente comando para instalar phpMyAdmin:

sudo apt install phpmyadmin

2. Configura la instalación

Durante la instalación, se te pedirá que elijas el servidor web que deseas configurar. Selecciona Apache y presiona `Enter`.

Luego, se te preguntará si deseas usar `dbconfig-common` para configurar la base de datos. Selecciona y proporciona la información de la base de datos cuando se te solicite (nombre de usuario y contraseña de MySQL).

3. Configura Apache para phpMyAdmin

Si no se configuró automáticamente, puedes agregar phpMyAdmin a la configuración de Apache. Abre el archivo de configuración de Apache:

sudo nano /etc/apache2/apache2.conf

Agrega la siguiente línea al final del archivo:

Include /etc/phpmyadmin/apache.conf

Guarda y cierra el archivo (en nano, presiona `CTRL + X`, luego `Y` y `Enter`).

4. Habilita las extensiones necesarias

Asegúrate de que las extensiones de PHP necesarias estén habilitadas. Puedes habilitar las extensiones de MySQL y otras que puedan ser necesarias con los siguientes comandos:

sudo phpenmod mysqli
sudo phpenmod mbstring

5. Reinicia Apache

Reinicia el servidor web para aplicar los cambios:

sudo systemctl restart apache2

6. Accede a phpMyAdmin

Ahora puedes acceder a phpMyAdmin abriendo un navegador web y yendo a la siguiente URL: http://localhost/phpmyadmin

7. Inicia sesión

Usa el nombre de usuario y la contraseña de MySQL que configuraste durante la instalación para iniciar sesión.

A tener en cuenta:

– Si quieres mayor seguridad, considera cambiar el nombre de usuario y la contraseña de phpMyAdmin y configurar medidas adicionales como la autenticación HTTP.
– También puedes considerar configurar un firewall para proteger tu servidor. En mi caso, al ser un servidor local para desarrollo, para aprender, no lo considero necesario.

phpmyadmin en localhost

 

NOTA: El «año que viene» seguiremos con más artículos sobre este interesante sistema de gestión de bases de datos. Feliz año!

 

Instalar un servidor local web en Linux con Apache, PHP y PhpMyAdmin (III): instalar MariaDB

consola de MariaDB

Instalar MariaDB en un servidor local Linux basado en Debian

Antes que nada, como este artículo o post es algo extenso, os dejo un índice del mismo, por si queréis ir directamente al paso de la instalación de MariaDB:

1. Introducción

2. ¿Por qué MariaDB?

3. Diferencias entre MariaDB y MySQL

4. Ventajas y Desventajas de MariaDB y MySQL

5. Pasos para la instalación de MariaDB

6. Conclusión y próximos pasos

Continuar leyendo «Instalar un servidor local web en Linux con Apache, PHP y PhpMyAdmin (III): instalar MariaDB»

Saber la versión de PHP instalada en tu servidor

php-version

Para saber qué versión de PHP tienes instalada en un sistema Linux, así como los módulos de PHP, sigue estos pasos:

1. Verifica la versión de PHP:
Abre una terminal y ejecuta el siguiente comando:

php -v

Esto te mostrará la versión de PHP instalada en tu sistema.

2. Lista los módulos de PHP:
Para ver los módulos de PHP que tienes instalados, puedes usar el siguiente comando:

php -m

Este comando mostrará una lista de todos los módulos de PHP que están habilitados.

3. Obtén información detallada de PHP:
Si deseas obtener información más detallada sobre la configuración de PHP, puedes crear un archivo PHP con el siguiente contenido:

<?php
phpinfo();
?>

Guarda este archivo como info.php en tu servidor web y accede a él a través de tu navegador (por ejemplo, `http://tu_dominio/info.php` o http://localhost/info.php, si es un servidor local). Esto te proporcionará una página con información completa sobre la versión de PHP, los módulos instalados y la configuración del entorno.

Eso sí, si estás en un entorno de producción, elimina el archivo info.php después de usarlo, ya que puede exponer información sensible sobre tu configuración de PHP.

php-version

Módulos de PHP necesarios para que funcione correctamente WordPress

Para que WordPress funcione correctamente, se requieren varios módulos de PHP. En principio, estos son los módulos más importantes:

  • mysqli: Para la conexión a la base de datos MySQL
  • curl: Para realizar solicitudes HTTP y trabajar con APIs
  • mbstring: Para manejar cadenas multibyte, especialmente útil para idiomas que no utilizan el alfabeto latino
  • xml: Para procesar archivos XML, necesario para algunas funciones de WordPress
  • gd: Para la manipulación de imágenes, como la creación de miniaturas
  • zip: Para la compresión y descompresión de archivos, útil para la instalación de plugins y temas
  • fileinfo: Para la detección de tipos de archivos, lo que ayuda a mejorar la seguridad al cargar archivos
  • json: Para trabajar con datos en formato JSON, que es común en las APIs

Además de estos módulos, es recomendable tener habilitados otros como openssl para conexiones seguras y session para manejar sesiones de usuario. Asegúrate de que tu servidor cumpla con los requisitos mínimos de WordPress para garantizar un funcionamiento óptimo.

Para instalarlos todos, ejecuta este comando en la terminal. Recuerda que temndrás que saber primero la versión de PHP que tienes instalada. En mi caso, es la 8.1, en un Ubuntu Mate 22.04:

sudo apt install php8.1-mysqli php8.1-curl php8.1-mbstring php8.1-xml php8.1-gd php8.1-zip php8.1-fileinfo php8.1-json php8.1-openssl

NOTA: Es posible que alguno de los módulos tenga que instalarse aparte. Así es como ha quedado en mi caso:

php_modulos

Instalar un servidor local web en Linux con Apache, PHP y PhpMyAdmin (II): instalar PHP

Instalar PHP en nuestro servidor local

Tras haber instalado el servidor Apache en nuestra máquina, PC o portátil Linux, vamos a instalar un lenguaje de programación, un lenguaje de script para poder tener nuestra propia aplicación web corriendo en nuestra máquina. vamos a ver como instalar uno de los lenguajes de script más utilizados: PHP…

Ya tenemos nuestro propio servidor Apache corriendo en nuestra máquina. Ahora toca ir al siguiente paso: instalar un lenguaje de script que «interprete» las órdenes de l aplicación web de nuestro interés, por ejemplo WodrPress, phpMyAdmin, pphpBB, Nextcloud, etc, etc., ..

Para instalar PHP en tu servidor Apache en una máquina Linux, sigue estos pasos. Asegúrate de tener privilegios de administrador (root) o usar `sudo` para ejecutar los comandos necesarios.

 1: Actualizar el sistema

Antes de instalar cualquier paquete, es recomendable actualizar el sistema. Abre una terminal y ejecuta:

sudo apt update
sudo apt upgrade

2: Instalar PHP

Para instalar PHP y los módulos necesarios para trabajar con Apache, ejecuta el siguiente comando:

sudo apt install php libapache2-mod-php php-mysql

– php: Instala el lenguaje PHP.
– libapache2-mod-php: Permite que Apache interprete archivos PHP.
– php-mysql: Proporciona soporte para la conexión a bases de datos MySQL.

En mi caso, ya lo tengo instalado:

guillermo@guillermo-HP-EliteDesk-800-G3-DM-35W:~$ sudo apt install php libapache2-mod-php php-mysql
[sudo] contraseña para guillermo:
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias… Hecho
Leyendo la información de estado… Hecho
php ya está en su versión más reciente (2:8.3+93ubuntu2).
libapache2-mod-php ya está en su versión más reciente (2:8.3+93ubuntu2).
php-mysql ya está en su versión más reciente (2:8.3+93ubuntu2).
0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 3 no actualizados.
guillermo@guillermo-HP-EliteDesk-800-G3-DM-35W:~$

3: Verificar la instalación de PHP

Para asegurarte de que PHP se ha instalado correctamente, puedes crear un archivo PHP de prueba en el directorio raíz de tu servidor web. Por lo general, este directorio es /var/www/html (en distros basadas en Debian, como Ubuntu).

1. Crea un archivo llamado info.php:

sudo nano /var/www/html/info.php

2. Agrega el siguiente contenido al archivo:

<?php
phpinfo();
?>

3. Guarda y cierra el archivo (en nano, presiona `CTRL + X`, luego `Y` y `Enter`).

4: Reiniciar Apache

Después de instalar PHP, es necesario reiniciar el servidor Apache para que los cambios surtan efecto:

sudo systemctl restart apache2

5: Probar la instalación

Abre un navegador web y dirígete a `http://localhost/info.php`. Deberías ver una página con información sobre la configuración de PHP en tu servidor. Esto confirma que PHP está funcionando correctamente con Apache.

6: (Opcional pero muy, muy recomendado…) Instalar módulos adicionales de PHP

Dependiendo de las aplicaciones que planeas usar (como WordPress, phpMyAdmin, etc.), es posible que necesites instalar módulos adicionales de PHP. Algunos de los más comunes son:

sudo apt install php-curl php-gd php-xml php-mbstring php-zip

Tras seguir estos pasos ya tendrás PHP instalado y funcionando en tu servidor Apache. Puedes comenzar a desarrollar o instalar aplicaciones web que requieran PHP. Seguiremos con el siguiente paso: instalar un gestor de bases de datos: phpMyAdmin. Hasta pronto!

Reboot de Aprendiendo PHP

php

Valencia, 11/03/2022, G.B.
Hoy me he dado cuenta de pura casualidad, al echar un vistacillo a las estadísticas web, que estáis visitando alguno de los artículos que rescaté de mi antigua web aprendiendophp.net, allá por el 2012, si no me equivoco…. Y también he observado que casi todos los ejemplos que preparé en su día no son accesibles; hace años dejé el dominio…

Por todo ello, y aunque ahora mismo esté centrado en otros temas (CSS, entre otros), voy a ir corrigiendo y arreglando todos los ‘desajustes‘. Eso sí, poquito a poco, sin prisa y sin agobios. Porque me he dado cuenta que intentarlo todo a la vez equivale a conseguir prácticamente nada…

La parte interesante de todo esto es que seguramente me servirá también para retomar el aprendizaje del lenguaje PHP, que ahora mismo tengo casi olvidado. Avisaré.

Bueno, solo era eso. Pero creo que debo dejar algo interesante sobre PHP, si has llegado hasta aquí para tan solo leer mis intenciones… Os dejo un enlace a un post sobre algunos trucos PHP, aunque sea del 2016. Aquí va: https://www.genbeta.com/desarrollo/13-trucos-y-consejos-de-php-que-pueden-hacerte-la-vida-profesional-mas-facil

Bonus Track: PHP Websites & Books</small<

Los shortcodes incluidos en WooCommerce

Los shortcodes incluidos en WooCommerce

Post recuperado de KnowHow…

Valencia, 24/04/2016
WooCommerce dispone de varios shortcodes incluidos que podemos utilizar en nuestra tienda online creada con la plataforma gratuita de e-commerce para WordPress. Podemos utilizarlos añadiendo el shortcode a la página que queramos o incluyendo el código PHP, como más nos interese.

WooCommerce comes with several shortcodes that can be used to insert content inside posts and pages. The following shortcodes are inserted into pages upon installation and should not need to be used anywhere else.

Continuar leyendo «Los shortcodes incluidos en WooCommerce»

Cambiar la versión de PHP en los hosting de 1and1

Post recuperado de KnowHow…

Rápido, si no quieres que te cobren!!

Valencia, 30/05/2016, G.B.
Hoy me ha llamado una amiga comentándome que 1and1 le había cobrado un suplemento por mantener la versión PHP 5.4 en su hosting. Y eso es por cada dominio que tengas con algún gestor de contenido que necesite PHP, como por ejemplo WordPress, PrestaShop, etc. 
Para cambiar la versión de PHP tan solo tienes que acceder al Panel de control de tu hosting en 1and1, elegir la opción Ajustes de PHP y establecer una versión superior en cada uno de las webs (incluidos los subdominios) en los que tengas instalado un gestor de contenidos moderno. 
Probablemente la versión de PHP 5.6, la recomendada, sea la más adecuada. a no ser que utilices un gestor de contenidos personalizado, todos los scripts funcionarán correctamente, y en el caso de que no lo hagan, tan solo tendrás que desactivar algún que otro plugin o módulo obsoleto.

Esta es la información que nos da 1and1 al respecto:

Configurar versión PHPUtilice una versión PHP actual para su dominio, que le ofrezca una combinación óptima entre fiabilidad, compatibilidad, rendimiento, seguridad y funcionalidad.Para todos aquellos que quieran o tengan que continuar usando una versión más antigua de PHP sin el apoyo de la comunidad, pueden contar con el Soporte ampliado para PHP de 1&1. Más información sobre versiones soportadas de PHP y 1&1 Soporte ampliado

Os dejo un par de capturas de pantalla al respecto:

Cómo comprimir tu web con GZip y comprobarlo

Un post rápido sobre la compresión de sitios webs y la gestión de la caché

Cómo comprimir tu web con GZip y comprobarloValencia, 09/12/2013, G.B.
Continuando con el tema de la compresión de sitios web utilizado GZip para que cargue más rápido y consumir meos ancho de banda, he probado una herramienta online  de la web GIDNetwork, denominada GIDZip Test; esta es la dirección: www.gidnetwork.com/tools/gzip-test.php. En ella, añadimos la URL de nuestra web y podremos comprobar si está o no comprimida con GZip.

En el caso de que no lo esté, podremos comprimirla añadiendo ‘un poco’ de código PHP a nuestras páginas, o en el caso de WordPress, a uestro archivo de cabecera o header.php. Para ello, visita esta página:
www.gidblog.com/2000/12/compress-your-web-page.

Este es el código PHP a incluir en la cabecera de tu WordPress o web bajo la tecnología PHP:

<?php
ob_start( 'ob_gzhandler' );
?>

Deciros también que en algunos temas o plantillas de WordPress no os funcione, ni siquiera utilizando habilitando la compresión GZip desde la página de opciones de tu WordPress: www.tusitioweb.com/wp-admin/options.php (busca GZip y cambia el valor 0 por 1). ¿Por qué? Pues en mi caso creo que ha sido debido a que una de las webs en concreto ya tiene un código PHP en la cabecera.

Cambio en la página options.php de vuestro WordPress:

También podemos añadir un código a nuestro archivo .htaccess (el de directiva del servidor Apache),  en el cual tenemos alojada nuestra web. Podéis leer más información al respecto en el sitio (estupendo y muy útil, por cierto) Ayudawordpress. En concreto, en este post: Cómo habilitar la compresión Gzip en WordPress sin utilizar plugins. Alguos plugis, como WP Fastest Cache, ya incluyen un código en el archivo .htaccess y te permiten elegir si quieres o no utilizar la compesión GZip. Debo deciros que me ha sido mucho más útil el código PHP en la cabecera de mi sitio…

Por último, comentar que algunos plugins no se ‘llevan’ muy bien con el código PHP de compresión; así me ha ocurrido con Quick Cache en uno de los sitios. ¿La solución? He sustituido el plugin de control de caché por WP Super Cache. Con ello, he solucionado el problema de la compresión GZip en un par de sitios. En otro de ellos, a pesar de haber probado todas las opciones posibles, no ha habido forma. Sospecho que es debido al código PHP de cabecera incorporado en el tema y que ‘no se lleva nada bien’ con el código de compresión anteriormente citado…

En fin, nada es perfecto, ¿verdad? Si alguien tiene algo que comentar al respecto o alguna posible solución, los comentarios serán muy bien venidos. De todas formas, seguiré probando cosas. Hasta pronto!

Un formulario de contacto en HTML y PHP

Abril 2016: Post recuperado de Aprendiendo PHP (web ya inactiva)

Valencia, 17/07/2013, G.B.
Aunque un tanto ‘alejado’ de la ‘marcha’ habitual de Aprendiendo PHP antes de su parada, voy a seguir incluyendo pequeñas ‘utilidades’, códigos que os pueden servir. Más adelante volveré con la ‘temática’, el orden que he pensado seguir en este blog. Pero ahora mismo, y tras el re-arranque la semana pasada de Aprendiendo PHP, me apetece ir por este camino, aunque un poco más adelante vuelva a la ‘normalidad’.

Sin más, paso a dejaros un pequeño sistema de formulario de contacto con HTML y PHP. Consta de 3 archivos, uno en HTML y 2 en PHP:

  • contacta.html (la página del formulario propiamente dicha)
  • enviar_correo.php (el código PHP del formulario)
  • enviado.php (la página que nos indica si ha habido algún error o todo ha ido bien)

Este ‘sistema’ lo leí en un tutorial que ahora mismo no recuerdo, pero que buscaré e incluiré aquí como referencia. Lo utilizo desde hace ya algún tiempo en un par de webs; en concreto en un par de directorios de enlaces. el de INDAGA.net y el de Webcontenidos.es. Funciona perfectamente. tan solo le he añadido algunas pequeñas variaciones, si no recuerdo mal. Bien, veamos como funciona:

Primero creamos un archivo HTML y lo denominamos, por ejemplo, contacta.html. Os adjunto el código. Por supuesto, deberéis cambiar todas las referencias a esta web, así como las URLs absolutas que adjunto y que hacen referencia a este sitio (www.aprendiendophp.net):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Contactar con AprendiendoPHP.net </title>
<meta name="title" content="AprendiendoPHP.net" />
<meta http-equiv="title" content="AprendiendoPHP.net" />
<meta name="keywords" content="aprender php. aprendiendo php, php, guillermo beltran pilato" />
<meta http-equiv="description" content="Aprendiendo PHP" />
<meta name="author" content="Guillermo Beltr⮠Pilato" />
<meta name="distribution" content="all" />
<meta name="robots" content="all" />
<meta name="revisit" content="30 days" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="http://www.aprendiendophp.net/wp-content/themes/deepblue/style.css" />
<link href="http://www.aprendiendophp.net/favicon.ico" rel="shortcut icon" />
<meta name="description" content="Contactar con Aprendiendo PHP">
</head>
<body>
<div align="center">
<form action="enviar_correo.php" method="post">
<p>
<br />
<b>Tu Nombre:<b>
<input name="name" type="text" id="name" size="40" />
</p>
<p><b>Tu email:</b>
<input name="email" type="text" id="email" size="42" />
</p><br />
<p>
<b> Escribe tu mensaje o consulta:</b>
</p>
<textarea name="query" cols="46" rows="20" id="query"></textarea>
<p>
<input name="submit" type="submit" class="boxx1" value="Enviar mensaje" />
</p>
</form>
<!-- <p align="center"> Si el correo se ha enviado correctamente, <br />volver&aacute;s a la p&aacute;gina principal del directorio</p><br /><br /> -->
<p><a href="http://www.aprendiendophp.net" alt="AprendiendoPHP.net">www.aprendiendophp.net</a>
</div>
</body>
</html>
Como podéis observar, en este código HTML, además de los meta tags, vemos un formulario cuya acción al enviarlo nos remite a la página: enviar_correo.php. Este es el código PHP de la página, que es la que hace que funcione el formulario:
<?
/* Para AprendiendoPHP.net */
$mailto = 'tuemail@direccioncorreo.com'; // PON AQUÍ TU DIRECCIÓN DE CORREO ELECTRÓNICO, DONDE QUIERES QUE TE LLEGUE EL CONTACTO
$returnpage = 'http://www.aprendiendophp.net/enviado.php'; // INSERTA AQUÍ LA PÁGINA A LA QUE QUIERES QUE VUELVA EL USUARIO TRAS ENVIAR EL CONTACTO
$sitename = '[AprendiendoPHP.net - Contacto]'; // INSERTA AQUÍ EL NOMBRE DE TU SITIO; APARECERÁ EN EL ASUNTO DEL EMAIL QUE RECIBAS
/* NO EDITES NADA TRAS ESTAS LÍNEAS, A NO SER QUE SEPAS LO QUE ESTÁS HACIENDO */

$name = $_POST['name'];
$email = $_POST['email'];
$enquiry = stripslashes($_POST['query']);

if (!$name) {
print("<strong>Error:</strong> Escribe tu nombre.<br/><br/><a href='javascript:history.go(-1)'>Volver</a>");
exit;
}

if (!$email) {
print("<strong>Error:</strong> Por favor, escribe tu direcci&oacute;n de e-mail.<br/><br/><a href='javascript:history.go(-1)'>Volver</a>");

exit;

}

if (!$enquiry) {
print("<strong>Error:</strong> Por favor, escribe un mensaje.<br/><br/><a href='javascript:history.go(-1)'>Volver</a>");

exit;

}

if (!eregi("^[a-z0-9]+([-_.]?[a-z0-9])+@[a-z0-9]+([-_.]?[a-z0-9])+.[a-z]{2,4}", $email)){

print("<strong>Error:</strong> Este email no es v&aacute;lido, por favor escribe una direcci&oacute;n de e-mail v&aacute;lida<br/><br/><a href='javascript:history.go(-1)'>Volver</a>");

exit;

}

$message = "n$name te ha enviado el siguiente mensaje:nn$enquirynn Sus datos son:nnNombre: $namenCorreo: $emailnn";

mail($mailto, "$sitename Petición de contacto de $name", $message, "From: $email");

header("Location: " . $returnpage);

?>
Una vez el usuario ha cumplimentado los campos de nuestro formulario en HTML (la página contacta.html) y enviado así la petición de contacto, el archivo enviar_contacto.php se encargará de validar la petición y enviarla al correo que le hayamos determinado a través de la función $mailto. Si todo es correcto, la página enviado.php será la encargada de decir al usuario si todo ha ido bien o si ha habido algún error. Este es el código de dicha página:
<?php 
echo '<h3>Su mensaje se ha enviado satisfactoriamente</h3>';
echo '<p>En breve contactaremos con usted. Muchas gracias por su inter&eacute;s</p>';
echo '<p><a href="http://www.aprendiendophp.net" target="_self">Volver a la Home</a> de AprendiendoPHP.net</p>';
?>
Y con estos 3 archivos, ya tenemos montado nuestro formulario de contacto con validación incluida.  Podéis comprobarlo aquí: Contactar con Aprendiendo PHP. Eso sí, el tema de los formularios en PHP lo veremos más adelante, esto solo era un pequeño ‘adelanto’, valga la redundancia…
Hasta pronto!