CE.CA.T.I. No. 89 Celaya, Gto. (Secretaría Educación Pública)



Presentación de la Unidad 2 anexo 2

En este anexo presento la forma de instalar phpMyAdmin en Loc-OS 22

LINUX – Loc-OS

Introducion

 "LAMP"  Este término es un acrónimo que representa el sistema operativo Linux, con el servidor web Apache. Los datos del sitio se almacenan en una base de datos MariaDB y PHP procesa el contenido dinámico.

algunas distribuciones de Linux, incluida Debian, usan MariaDB como reemplazo directo de MySQL.

instalará una pila LAMP en un servidor Debian 11, (Loc-OS, esta basado en Debian 11) utilizando MariaDB como sistema de gestión de base de datos.

Prerrequisitos

Para seguir este proceso, necesitará un servidor Debian 11(se puede usar para Loc-OS)  con una cuenta de usuario no root habilitada para sudo y un firewall básico. Esto se puede configurar utilizando nuestra guía de configuración inicial del servidor para Debian 11.

Paso 1: Instalar Apache y actualizar el cortafuegos


El servidor web Apache se encuentra entre los servidores web más populares del mundo. Está bien documentado, tiene una comunidad activa de usuarios y se ha utilizado ampliamente durante gran parte de la historia de la web, lo que lo convierte en una excelente opción para alojar un sitio web.


Comience por actualizar el caché del administrador de paquetes. Si es la primera vez que usa sudo dentro de esta sesión, se le pedirá que proporcione su contraseña de usuario para confirmar que tiene los privilegios correctos para administrar los paquetes del sistema con apt, abra la terminal tiene por nombre LXterminal, esta en el menu de Inicio y Preferencias :


sudo apt update

Luego, instale Apache con lo siguiente:


sudo apt install apache2

Este comando le pedirá que confirme la instalación de Apache. Confirme escribiendo S, luego ENTER. Una vez que se completa la instalación, debe ajustar la configuración de su firewall.


Suponiendo que siguió las instrucciones de configuración inicial del servidor para instalar y habilitar el firewall UFW, asegúrese de que su firewall permita el tráfico HTTP y HTTPS.


En Debian 11, UFW viene cargado con perfiles de aplicaciones que puede usar para ajustar la configuración de su firewall. Vea la lista completa de perfiles de aplicaciones ejecutando:


sudo ufw app list

Los perfiles WWW enumerados se utilizan para administrar los puertos utilizados por los servidores web:

Si inspecciona el perfil completo de WWW con la información de la aplicación ufw, su salida mostrará que habilita el tráfico a los puertos 80 y 443:

sudo ufw app info "WWW Full"

A continuación, permita el tráfico HTTP y HTTPS entrante para este perfil:


sudo ufw allow in "WWW Full"

Puede verificar que todo salió según lo planeado visitando la dirección IP pública de su servidor en su navegador web (en esta caso firefox) :


localhost

Si su navegador devuelve esta página, entonces su servidor web ahora está correctamente instalado y accesible a través de su firewall.

Si no sabe cuál es la dirección IP pública de su servidor, puede encontrarla de varias maneras. Por lo general, esta es la dirección que usa para conectarse a su servidor a través de SSH. Use este condo desde la terminal

ifconfig

Esto devolverá varias líneas.


msantos@Loc-OS22:~$ ifconfig
eth0: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC>  mtu 1500
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::5054:ff:fe5d:1aa0  prefixlen 64  scopeid 0x20<link>
        inet6 fec0::5054:ff:fe5d:1aa0  prefixlen 64  scopeid 0x40<site>
        ether 52:54:00:5d:1a:a0  txqueuelen 1000  (Ethernet)
        RX packets 74629  bytes 90105402 (85.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 26837  bytes 4735004 (4.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 107018

la linea en color naranja indica el IP 10.0.2.15

(este valor de ip sera diferente en cada caso, pero lo encontraran el en mismo sitio)

probemos con el ip:

Paso 2: Instalación de MariaDB


Ahora que tiene un servidor web en funcionamiento, necesita instalar el sistema de base de datos para poder almacenar y administrar datos para su sitio.

En Debian 11, el metapaquete mysql-server, que tradicionalmente se usaba para instalar el servidor MySQL, fue reemplazado por default-mysql-server. Este metapaquete hace referencia a MariaDB, una bifurcación comunitaria del servidor MySQL original de Oracle, y actualmente es el servidor de base de datos compatible con MySQL predeterminado disponible en los repositorios del administrador de paquetes basados en Debian.

Sin embargo, para una compatibilidad a largo plazo, se recomienda que, en lugar de usar el metapaquete, instale MariaDB usando el paquete real del programa, mariadb-server.


Para instalar el software MariaDB, ejecute:


sudo apt install mariadb-server mariadb-client -y

msantos@Loc-OS22:~$ sudo apt install mariadb-server mariadb-client -y
[sudo] password for msantos:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes adicionales:
  galera-4 libaio1 libconfig-inifiles-perl libdbi-perl libmariadb3 mariadb-client-10.5
  mariadb-client-core-10.5 mariadb-common mariadb-server-10.5 mariadb-server-core-10.5
  mysql-common socat
Paquetes sugeridos:
  libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl mailx mariadb-test
Paquetes recomendados:
  libdbd-mariadb-perl | libdbd-mysql-perl libhtml-template-perl
Se instalarán los siguientes paquetes NUEVOS:
  galera-4 libaio1 libconfig-inifiles-perl libdbi-perl libmariadb3 mariadb-client-10.5
  mariadb-client-core-10.5 mariadb-common mariadb-server mariadb-server-10.5
  mariadb-server-core-10.5 mysql-common socat
0 actualizados, 13 nuevos se instalarán, 0 para eliminar y 7 no actualizados.
Se necesita descargar 15.7 MB de archivos.
Se utilizarán 153 MB de espacio de disco adicional después de esta operación.
¿Desea continuar? [S/n] s

Cuando finalice la instalación, se recomienda que ejecute un script de seguridad que viene preinstalado con MariaDB. Este script eliminará algunas configuraciones predeterminadas inseguras y bloqueará el acceso a su sistema de base de datos.

Este script lo llevará a través de una serie de indicaciones donde puede realizar algunos cambios en su configuración de MariaDB. El primer mensaje le pedirá que ingrese la contraseña raíz de la base de datos actual. Esto no debe confundirse con la raíz del sistema (aunque es posible poner la misma contraseña) . El usuario raíz de la base de datos es un usuario administrativo con privilegios completos sobre el sistema de la base de datos. Dado que acaba de instalar MariaDB y aún no ha realizado ningún cambio de configuración, esta contraseña estará en blanco, así que presione ENTER cuando se le solicite.

El siguiente mensaje le pregunta si desea configurar una contraseña de raíz de la base de datos. Dado que MariaDB utiliza un método de autenticación especial para el usuario raíz que suele ser más seguro que usar una contraseña, no necesita configurarlo ahora. Presione N y luego ENTER.

sudo mysql_secure_installation


en esta parte solicita  switch to unix socket authentication y/n

Un unix_socket complemento de autenticación es un mecanismo de seguridad sin contraseña. Su seguridad está en la solidez del acceso al usuario Unix más que en la complejidad y el secreto de la contraseña. Como la seguridad es diferente a las contraseñas, se deben considerar las fortalezas y debilidades, y estas no son las mismas en todas las instalaciones.

en este caso repondemos n, y ENTER

continuamos:

aquí podemos definir la contraseña de root para MariaDB, ponemos Y, y la contraseña sera establecida , puede ser o no igual al root del sistema, por el momento usaremos igual al que usamos para el sistema de inicio:



Esto eliminará los usuarios anónimos

deshabilitara acceso remoto, contestemos Y


cargará estas nuevas reglas para que MariaDB respete inmediatamente los cambios que ha realizado.

Aquí termino la instalación de MariaDB

Cuando haya terminado, inicie sesión en la consola de MariaDB:

sudo mariadb

Esto se conectará al servidor MariaDB como la raíz del usuario de la base de datos administrativa, lo que se deduce del uso de sudo al ejecutar este comando. Debería recibir una salida como la siguiente:

Puede salir de la consola MariaDB con lo siguiente:

exit


Paso 3: Instalación de PHP

Ya tiene Apache instalado para servir su contenido y MariaDB instalado para almacenar y administrar sus datos. PHP es el componente de su configuración que procesará el código para mostrar contenido dinámico al usuario final. Puede ejecutar scripts, conectarse a sus bases de datos MariaDB para obtener información y entregar el contenido procesado a su servidor WEB para que lo muestre.


Además del paquete php, necesitará php-mysql, un módulo PHP que permite que PHP se comunique con una base de datos basada en MySQL, como MariaDB. También necesitará libapache2-mod-php para permitir que Apache maneje archivos PHP. Los paquetes principales de PHP se instalarán automáticamente como dependencias.


Para instalar estos paquetes, ejecute el siguiente comando:

sudo apt -y install php php-cgi php-mysqli php-pear php-mbstring libapache2-mod-php php-common php-phpseclib php-mysql

Una vez que se complete la instalación, puede verificar su versión de PHP con el siguiente comando:

php -v

En este punto, LAMP está completamente operativa


De forma predeterminada, Apache sirve su contenido desde un directorio ubicado en /var/www/html, primero instalamos el programa systemctl, que es igual usado en CentOS 9,  que es un programa para permitir iniciar, detener servicios específicos del sistema.

sudo apt-get install systemctl

y lo utilizamos e esta forma para revisar el estado de los servicios en el equipo

sudo systemctl status

Para conocer el estado de ufw puedes valerte de la siguiente sentencia:

sudo systemctl status ufw

para ver el estado de apache2

sudo systemctl status apache2


habilitamos el servicio de mariadb. ufw, y apache2, esto significa que al iniciar el sistema de linux , esto servicios estarán ejecuntandose en cuanto se necesite

msantos@Loc-OS22:~$ sudo systemctl enable mariadb.service
msantos@Loc-OS22:~$ sudo systemctl enable ufw.service
msantos@Loc-OS22:~$ sudo systemctl enable apache2.service

Paso 4: Probar el procesamiento de PHP en su servidor web


Ahora que tiene una ubicación personalizada para alojar los archivos y carpetas de su sitio web, cree un script de prueba de PHP para confirmar que Apache puede manejar y procesar solicitudes de archivos PHP.

Comience creando un nuevo archivo llamado info.php dentro de su carpeta raíz web:


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


Esto abrirá un archivo en blanco. Agregue el siguiente texto, que es un código PHP válido, dentro del archivo:

<?php
phpinfo();
?>

cuando haya terminado, guarde y cierre el archivo.

Para probar el script, vaya a su navegador web y acceda al nombre de dominio o dirección IP de su servidor, seguido del nombre del script, que en este caso es info.php:

http://localhost/info.php

Esta página proporciona información sobre su servidor desde la perspectiva de PHP. Es útil para depurar y garantizar que la configuración se aplique correctamente.

Si puede ver esta página en su navegador, entonces su instalación de PHP está funcionando como se esperaba.

Después de verificar la información relevante sobre su servidor PHP a través de esa página, es mejor eliminar el archivo que creó, ya que contiene información confidencial sobre su entorno PHP y su servidor Debian. Utilice rm para hacerlo:

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

Descargar phpMyAdmin

Use el comando wget para recuperar la última versión estable de phpMyAdmin, pase al siguiente directorio:

cd /home/msantos/Descargas

wget -P Downloads https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

La opción -P indica a wget que guarde los archivos directamente en el directorio que se llamara Downloads.

Se formara un directorio llamado Downloads, donde se almacena:

pasamos al directorio Downloads, y usamos ls -l, para verificar que se descargo el archivo tar.gz.(ver la imagen anterior)

sudo mkdir /var/www/html/phpMyAdmin

Acceda al directorio de descargas y descomprima los archivos phpMyAdmin tar.gz en el directorio recién creado:

sudo tar xvf phpMyAdmin-latest-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin

pasamos al directorio /var/www/html/phpMyAdmin

cd /var/www/html/phpMyAdmin

listamos el contenido del directorio

ls -l

(observe el contenido del directorio)

Crearemos un archivo de configuración, copiando el de configuración de ejemplo con el nombre de config.inc.php:

sudo cp config.sample.inc.php  config.inc.php

Use el editor de texto nano (o su editor de texto preferido) para agregar una contraseña secreta al archivo config.inc.php:


sudo nano config.inc.php

Localice la siguiente línea:

$cfg['blowfish_secret'] = '';

Agregue una frase de contraseña secreta entre comillas simples. Por ejemplo:

Use una frase de contraseña de su elección y luego salga y guarde el archivo (Ctrl+x).

Cambie los permisos para el archivo config.inc.php:

sudo chmod 660 config.inc.php

regresamos al directorio anterior con: cd .. regresara al directorio /var/www/html

Cambiar la propiedad del directorio phpMyAdmin

sudo chown -R www-data:www-data /var/www/html/phpMyAdmin

Reinicie Apache:

sudo systemctl restart apache2.service

Acceda a phpMyAdmin desde el navegador

Use un navegador web y navegue hasta la dirección localhost/your_phpMyAdmin_directory para acceder a phpMyAdmin.

En nuestro caso:

http://localhost/phpMyAdmin/

(debe ser igual al ejemplo mayuscuales minusculas)

usuario: root, contraseña la que asignaste al configurar mariadb.

Ahora ha instalado phpMyAdmin en su sistema Debian 11 (Loc-OS22). Acceda a la GUI desde un navegador y comience a administrar sus bases de datos de manera más eficiente.

Fin del anexo