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!

Instalar un servidor local web en Linux con Apache, PHP y PhpMyAdmin (I)

localhost - apache

Aunque ya lo he comentado varias veces, me apetece volver a escribirlo, tal vez algo más detallado y con más ejemplos. La razón de instalar un servidor web local en tu distro Linux me parece, como poco, muy interesante. ¿Y por qué? Porque puedes probar los CMS en un entorno local, así como hacer backups de los que tengas en produción en la red. Además, puedes experimentar todo lo que quieras sin correr ningún riesgo, bueno, solo el riesgo de volver a montarte el sistema local. De todas formas, es muy interesante para aprender y probar. Vamos allá con la primera parte. instalar el servidor web Apache en localhost

Instalar el servidor Apache en Linux, en un entorno local: localhost

Primero, veamos que es un servidor Apache y un entorno local. en Linux:

Un servidor Apache es un software de servidor web que permite alojar y servir contenido web a través de Internet. Es uno de los servidores web más populares y utilizados en el mundo. Apache es de código abierto y se puede ejecutar en varios sistemas operativos, incluyendo Linux, Windows y macOS. Su principal función es recibir solicitudes HTTP de los navegadores web y devolver las páginas web solicitadas, que pueden incluir archivos HTML, imágenes, scripts y otros recursos.

Características del servidor Apache

  • Configurabilidad: Apache permite una gran cantidad de configuraciones a través de archivos de configuración, como .htaccess y httpd.conf.
  • Módulos: Soporta módulos que permiten extender su funcionalidad, como la autenticación, la compresión, y la reescritura de URLs.
  • Seguridad: Ofrece diversas características de seguridad, como la posibilidad de restringir el acceso a ciertas áreas del servidor.
  • Compatibilidad: Funciona bien con otros lenguajes de programación y tecnologías web, como PHP, Perl y Python.Entorno local en Linux

Un entorno local en Linux se refiere a la configuración de un sistema operativo Linux para desarrollar y probar aplicaciones web en un entorno que simula un servidor real, pero que se ejecuta en la máquina local del desarrollador. Esto permite a los desarrolladores trabajar en sus proyectos sin necesidad de un servidor remoto.

Pasos para configurar un entorno local con Apache en Linux:

  1. Instalación de Apache: Puedes instalar Apache utilizando el gestor de paquetes de tu distribución de Linux. Por ejemplo, en Ubuntu, puedes usar el siguiente comando:
    sudo apt update
    sudo apt install apache2
  2. Iniciar el servidor: Una vez instalado, puedes iniciar el servidor Apache con:
    sudo systemctl start apache2
  3. Verificar la instalación: Abre un navegador web y escribe http://localhost. Si Apache está funcionando correctamente, deberías ver la página de bienvenida de Apache.
localhost - apache
Localhost en Ubuntu (Linux)
  1. Configurar el servidor: Los archivos de configuración de Apache se encuentran generalmente en /etc/apache2/. Puedes modificar estos archivos para cambiar la configuración del servidor, como los directorios raíz, los módulos habilitados, etc.
  2. Desarrollo de aplicaciones: Puedes colocar tus archivos HTML, PHP, etc., en el directorio raíz del servidor, que por defecto suele ser /var/www/html/.
  3. Pruebas y depuración: Puedes probar tus aplicaciones directamente en tu navegador, haciendo cambios en los archivos y recargando la página para ver los resultados.

Este entorno local es ideal para el desarrollo y la prueba de aplicaciones web antes de ponerlas en marcha en un servidor de producción, es decir, en un sitio ‘real’.

Ahora ya tenemos nuestro servidor web local. vamos al siguiente paso: instalar el lenguaje de script PHP, con el objetivo de poder utilizar aplicaciones web como WordPress, phpMyadmin, NextCloud, phpBB, etc., etc., …

Continuaré con la instalación de PHP en nuestro reciente servidor web local en Linux… Hasta pronto y Feliz Navidad!

Siguiente post: Instalar PHP en nuestro servidor local

Focus on Learning English

Nota: tras el cambio de dominio, vuelvo a incluir Focus on Learning English en el directorio de INDAGA, que se me había olvidado…

Focus On Learning English (anteriormente folenglish.com, hasta que di de baja ese dominio y fue rescatado por otras personas) es una web en formato blog dedicada al aprendizaje del idioma inglés. Artículos y directorio de recursos gratuitos en inglés. Focus On Learning English está realizado en Blogger y bajo licencia Creative Commons.

Sitio: https://www.focusonlearningenglish.com

Focus on Learning English

Guía completa para transferencias seguras de archivos con SCP

scp

scpEl comando scp (Secure Copy) es una herramienta esencial para la transferencia segura de archivos entre sistemas en una red. Utilizando el protocolo SSH (Secure Shell), scp cifra los archivos durante la transferencia, garantizando que la información sensible permanezca protegida. Su naturaleza multiplataforma significa que puede ser utilizado en una variedad de sistemas operativos, como Linux, macOS y Windows, con la instalación de los componentes necesarios de SSH.

Sintaxis de scp
Para comenzar a usar scp, es fundamental entender su sintaxis básica. Por ejemplo, para copiar un archivo del sistema local a un servidor remoto, se utiliza el siguiente formato:
scp archivo_origen usuario@servidor_destino:/ruta/destino. Inversamente, para copiar un archivo desde un servidor remoto al sistema local, se invierte la sintaxis:
scp usuario@servidor_origen:/ruta/archivo_origen archivo_destino.

Uno de los aspectos más destacados de scp es su capacidad para preservar los permisos y metadatos de los archivos, lo que se logra con la opción -p. Además, para copiar directorios de manera recursiva, se utiliza la opción -r, lo que permite replicar estructuras de directorios completas con un solo comando.

scp ofrece varias opciones que controlan todos los aspectos de su comportamiento. Las opciones más utilizadas son:

-P: Especifica el puerto SSH del host remoto.
-p: Conserva los tiempos de modificación y acceso de los archivos.
-q: Usa esta opción si quieres suprimir el medidor de progreso y los mensajes que no sean de error.
-C: Esta opción obliga a scp a comprimir los datos mientras se envían a la máquina de destino.
-r: Esta opción le dice a scp que copie directorios de forma recursiva.

Continuar leyendo «Guía completa para transferencias seguras de archivos con SCP»

Script de Bash de copia de seguridad de todos los archivos .txt de un directorio

backupTxt

En sistemas operativos como Linux, la extensión .bak se utiliza habitualmente para denotar una copia de seguridad de un archivo. Cuando un programa está a punto de sobrescribir un archivo existente, puede crear una copia del archivo original y añadir .bak al nombre del archivo. Esto permite recuperar el contenido original en caso de que la escritura falle y corrompa el archivo, lo cual podría ocurrir debido a un fallo del sistema operativo, un corte de energía o la falta de espacio en disco.

Por ejemplo, si tienes un archivo llamado documento.txt y haces una copia de seguridad, el archivo de copia de seguridad se llamará documento.txt.bak. De esta manera, si algo sale mal durante la modificación del archivo original, puedes restaurar el archivo original desde la copia de seguridad.

Vamos a hacer un script que realice una copia de seguridad de todos los archivos .txt en el directorio especificado, añadiendo la extensión .bak a cada copia. Aquí va el script de bash: Continuar leyendo «Script de Bash de copia de seguridad de todos los archivos .txt de un directorio»

Y en verano, más estafas online: otro ejemplo de phishing

phishing_dgt

Phishing es un término informático que distingue a un conjunto de técnicas que persiguen el engaño a una víctima ganándose su confianza haciéndose pasar por una persona, empresa o servicio de confianza, para manipularla y hacer que realice acciones que no debería realizar. Fuente. Wikipedia

 

Valencia, 12/08/2024
No, no se cansan de intentar estafarnos, y el verano es ‘terreno abonado para ello’.  Los llamados ‘ciberdelincuentes’ se reactivan en épocas vacacionales, aprovechando nuestra laxitud y las vacaciones de los servicios TIC y de seguridad de las empresas. además, la combinación de smartphones, redes sociales e inteligencia artificial, han hecho expandir las técnicas fraudulentas a niveles ‘extratosféricos’. Continuar leyendo «Y en verano, más estafas online: otro ejemplo de phishing»

Estructuras básicas de un script de bash utilizando el condicional if

bash

La estructura if se utiliza para ejecutar comandos basados en una condición. Si la condición es verdadera, se ejecutan los comandos dentro del bloque then.

Estructura básica

if [ condición ]; then
# comandos a ejecutar si la condición es verdadera
fi

Estructura con else
Se utiliza else para especificar comandos que se ejecutarán si la condición es falsa. Continuar leyendo «Estructuras básicas de un script de bash utilizando el condicional if»

Comando rsync en Linux

sincronizacion

De vuelta de nuevo por Indaga…

El comando rsync (que significa remote synchronization o sincronización remota) es una herramienta poderosa y versátil para sincronizar archivos y directorios entre dos ubicaciones. rsync se puede usar para replicar datos, realizar copias de seguridad incrementales, copiar archivos entre sistemas y como reemplazo de los comandos scp, sftp y cp.

rsync emplea un algoritmo que reduce la cantidad de datos transferidos al copiar únicamente las partes de los archivos que han sido modificadas. También puede reanudar transferencias interrumpidas y ofrece opciones para excluir archivos, comprimir datos durante la transferencia y mucho más…

Veamos las opciones más comunes y algunos ejemplos de uso. Al final, dejo un pequeño script que estoy utilizando para hacer copias de seguridad recursivas de mi usuario a 2 discos duros externos, excluyendo la caché de Firefox y Edge. Pero ahora, veamos las opciones más comunes de rsync y algunos pequeños ejemplos: Continuar leyendo «Comando rsync en Linux»