IAW - LAMP Stack IES Celia Viñas (Almería) /2019

Documentos relacionados
IAW - Práctica 1: LAMP Stack IES Celia Viñas (Almería) /2018

Práctica 3. MySQL WorkBench JOSÉ JUAN SÁNCHEZ HERNÁNDEZ

Como instalar Linux, Apache, MySQL 5.5 y PHP 5.4 (LAMP) en Ubuntu 13.04

Administrar un repositorio Git con Gogs

Paso 1. Instalar Apache

Instalación de una IP-PBX en Linux

Instalando servidor Web Nginx + PHP (Ubuntu)

PROYECTO INTEGRADO Instalación y configuración de Moodle en conexión con LDAP

Instalación de MySQL, PHP y Servidor Apache en Windows

Cómo crear una aplicación web de pila LEMP

INSTALAR WORDPRESS EN DEBIAN

Manual de Instalación en Ubuntu

NanoTutoriales. HTTP Server. Actualizar la paqueteria. Blog Descubre qué hacemos. debian (/tag/debian) mysql (/tag/mysql) ruby

Tecnologías de la Información y la Comunicación. Guadalinex V9 Curso

Guías para instalar servidor Web

INSTALACIÓN Y CONFIGURACIÓN SERVIDOR DE BASES DE DATOS POSTGRESQL EN FEDORA SERVER 24 BRAYAM ALBERTO MORA ARIAS COD: PRESENTADO A:

INSTALACION DE ENEBOO EN LINUX CON POSTGRESQL

El Servidor Web Carlos Eduardo Molina C. Servidor Web

[CONTROL DE LOGS EN SISTEMAS LINUX]

En próximos posts iré desarrollando el tema de LAMP más en prufundidad.

MySQL por línea de comandos

Unidad 1: Introducción al entorno

Instalación de Servidor LAMP en CentOS 5.4

Replicación de datos en MySQL

Guía de instalación del sistema de documentos laborales Orquídea

Introducción: Requisitos: Instalación De Apache 2: Instalación De Apache 2 y PHP 5 Para Ubuntu. Diego Mauricio Herrera - Grupo GRID Uniquindio

Instalación de Apache2, MySQL, PHP y PHPmyAdmin en Ubuntu

Módulo Call Center. Guía de instalación v 1.2

Gestión de Usuarios en MySQL

Gestión de Usuarios en MySQL

Pre-requisitos para la instalación de Limesurvey

Práctica 13. Recursos Compartidos. 1º Parte

Acceso a una instancia de base de datos (RDS) desde ECS

Contenidos. 1 Aspectos de seguridad 2 El Sistema de Privilegios 3 Conexión n al servidor 4 Control de Acceso 5 Ejercicios

MVH INGENIEROS S.A.C MANUAL DE INSTALACION SOFTWARE DE MONITOREO CACTI. Versión 1.0

Rawel E. Luciano B Sistema Operativo III 9- SERVIDOR WEB. José Doñe

Creación de proyectos usando Java/MySQL

Instalar un servidor de paginas web el localhost

Instalar Apache, MySQL, PHP y phpmyadmin en Ubuntu

Servicios en Red Ejercicio 1 FTP

Manual de Instalación y Administración de Base

EtherPad. Medici Maria Laura Molinari Tatiana Orellana Leonardo Rivero Marina

Manual de Instalación en CentOS

Apache2, sitios virtuales y SSL APUNTES ASIR JOHN ALEXANDER MONTES LOPEZ

INSTALACION Y CONFIGURACION DE UN SERVIDOR DE MESAJERIA INSTANTANEA (OPENFIRE) PRESENTADO A: Ing. JEAN POLO CEQUEDA OLAGO

El primer paso es descargar XAMPP en su versión para Linux, aquí os dejo el enlace: apache friends, para este caso he utilizado la versión

Instalación de software

Instalación y administración de un servidor DNS en GNU/Linux con Webmin. Vicente Sánchez Patón I.E.S Gregorio Prieto. Tema 3 SRI

SERVICIOS EN RED. Caso practico numero 1,2,3 y 4 tema 5 del libro de servicios en red

Instalación y Configuración de MySQL

1. Busca e instala un servidor de mensajería instantánea Jabber/XMPP de libre distribución para GNU/Linux o Windows.

Administración servidor Web HTTP (Apache2) en Ubuntu Server: --Monitorización y logs -- Pruebas de rendimiento. MODS STATUS

MANUAL DE INSTALACIÓN EN WINDOWS

Instalación de Greenstone sobre Ubuntu

Servidor Web Apache. El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation.

COMANDOS BÁSICOS LINUX

INSTRUCTIVO DE INSTALACIÓN DE OMEKA 2.1.4

Beatriz Vadillo Lavisier HTTP CASO PRÁCTICO 4

Ejercicio 2: Acceder a ftp://ftp.rediris.es/incoming/

UDS Enterprise - Preparando Plantillas Xubuntu XRDP UDS Actor

INSTALACIÓN Y CONFIGURACIÓN DEL SERVICIO DHCP

CONFIGURACIÓN DEL SISTEMA.

Actividad 10: Administración servidor Web HTTP (Apache2) en Ubuntu Server: Mods_status

Bibliotecas Escolares. AbiesWeb.

Como instalar Geonetwork

Instalación y configuración de Snorby (front-end basado en web para Snort)

ESCUELA POLITÉCNICA NACIONAL

Sistema de Convenios y transferencias SISCOT. Protocolo de Instalación

ANEXO B MANUAL TÉCNICO. Definir claramente el procedimiento de instalación del aplicativo.

LAMPP Server (Linux-Apache-MySQL-PHP-Python)

Tema 2: Instalación de OpenGnsys CURSO BÁSICO DE OPENGNSYS V V.04/01/2018 GRUPO DE DESARROLLO OPENGNSYS AUTORES: - DOBLAS VISO, ANTONIO JESÚS

Memoria de Prácticas. Servicios Web

UDS Enterprise - Preparando Plantillas Xubuntu XRDP UDS Actor

INSTALACIÓN DE GREENSTONE EN SISTEMAS LINUX

Administración de usuarios en Oracle - Administración de Oracle - Orasite.com

Unidad 11: Servidor WEB Apache 2

Seguridad y Alta Disponibilidad Prácticas Tema 7

Inserte el CD de instalacion de Linux Debian Etch, presione Enter para iniciar la instalación. Seleccione el idioma Spanish, y presione Enter

UDS Enterprise - Preparando Plantillas Xubuntu X2Go + Actor UDS

Como instalar Un Foro con phpbb en Linux Canaima

MANUAL DE INSTALACIÓN DEL SWGRH

Instalación Apache en CentOS 7

SERVIDOR WEB DEBIAN MIKEL MARTURET URTIAGA

Laboratorio de redes y sistemas operativos. Prof: Di Biase Jose Luis. Alumnos: Degano Victor - Ivanic Pablo - Quiñonez Alexander

Seguridad y Alta disponibilidad Profesor: José Sanchez-Migallón Alumno: Adrián de la Torre López

MANUAL DE INSTALACIÓN GLPI

Manual de instalación de Desktop v.2.2.0

Ubuntu Server HOW TO : NIS. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como utilizar un dominio bajo Linux NIS.

Ubuntu Server HOW TO : UBUNTU SERVER EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar un servidor de ubuntu.

Seguridad y alta disponibilidad

Gestores de paquetes. Un programa puede contener múltiples sub-programas o librerías.

Manual aplicativo Gestión Colectiva de Ideas

Contents. 1 Instalacion de Observium

Actividades Servidor web

Puntos estimados: 1.0 Iteración asignada: 1. Programador responsable: Camilo Urrego Carlos Suárez Descripción:

Sophos Enterprise Console

Administración de Oracle 9i. Existen alrededor de 126 privilegios del sistema, a continuación vemos los más destacados

Cambiar apariencia de Ubuntu a Windows Página de descarga.

Transcripción:

Índice general 1 Linux 2 1.1 Primeros pasos con: apt.................................. 2 1.1.1 apt update................................... 2 1.1.2 apt upgrade.................................. 2 1.1.3 apt full-upgrade.............................. 2 1.1.4 apt install.................................. 2 1.1.5 apt remove................................... 3 1.1.6 apt purge.................................... 3 1.1.7 apt search................................... 3 1.1.8 apt show..................................... 3 1.2 Instalación de un GUI Desktop............................... 3 1.3 Instalación de un servidor SSH............................... 4 1.4 Cómo iniciar, parar y consultar el servicio de SSH.................... 4 1.4.1 Método 1. systemctl.............................. 4 1.4.2 Método 2. /etc/init.d/ssh......................... 4 1.5 Instalación de git..................................... 5 2 Apache 5 2.1 Instalación de Apache................................... 5 2.2 Cómo iniciar, parar y consultar el estado de Apache................... 5 2.2.1 Método 1. systemctl.............................. 5 2.2.2 Método 2. /etc/init.d/apache....................... 5 2.2.3 Método 3. service................................ 6 2.3 Archivo de configuración de Apache............................ 6 2.4 Archivos de log de Apache................................. 6 2.4.1 access.log................................... 6 2.4.2 error.log.................................... 6 2.4.3 Mensajes de error más detallados en Apache................... 6 3 MySQL Server 7 3.1 Instalación de MySQL Server................................ 7 3.2 Cómo iniciar, parar y consultar el estado de MySQL Server................ 7 3.2.1 Método 1. systemctl.............................. 7 3.2.2 Método 2. /etc/init.d/mysql........................ 8 3.3 Archivos de configuración de MySQL Server....................... 8 3.4 Archivos de log de MySQL Server............................. 8 José Juan Sánchez Hernández 1

3.5 Cómo acceder a MySQL Server desde consola con el usuario root........... 8 3.6 Cómo cambiar la contraseña del usuario root...................... 9 3.7 Algunos comandos útiles para MySQL Server desde consola............... 10 3.7.1 Listar todas las bases de datos disponibles.................... 10 3.7.2 Crear una nueva base de datos.......................... 10 3.7.3 Borrar una base de datos............................. 10 3.7.4 Seleccionar una base de datos.......................... 11 3.7.5 Listar las tablas que contiene una base de datos................. 11 3.7.6 Mostrar la estructura de una tabla........................ 11 3.7.7 Cerrar la sesión y salir............................... 11 3.8 Ejecutar un script.sql desde la consola.......................... 11 3.9 Usuarios y permisos en MySQL Server desde consola.................. 12 3.9.1 Tipos de permisos que podemos aplicar..................... 12 3.9.2 Crear un nuevo usuario.............................. 12 3.9.3 Eliminar un usuario................................ 12 3.9.4 Asignar permisos a un usuario.......................... 12 3.9.5 Eliminar permisos a un usuario.......................... 13 3.9.6 Consultar los usuarios creados en MySQL Server................. 13 4 PHP 14 4.1 Instalación de módulos PHP................................ 14 4.2 Comprobar que la instalación se ha realizado correctamente.............. 15 5 Otras herramientas relacionadas con la pila LAMP 15 5.1 Instalar phpmyadmin para acceder vía web a MySQL................... 15 5.1.1 Instalación de composer con apt y phpmyadmin............... 15 5.1.2 Instalación de composer desde la web oficial y phpmyadmin........ 16 5.2 Instalar Adminer para acceder vía web a MySQL..................... 17 5.3 Instalar un analizador de logs para Apache Server.................... 18 5.3.1 GoAccess...................................... 18 5.3.1.1 Instalación de GoAccess........................ 18 5.3.1.2 Uso de GoAccess............................ 18 Desde el terminal............................. 18 Creación de un archivo HTML estático.................. 19 Creación de un archivo HTML en tiempo real............... 19 5.4 Control de acceso a un directorio con.htaccess................... 19 6 Referencias 21 José Juan Sánchez Hernández 2

7 Licencia 21 José Juan Sánchez Hernández 3

1 Linux Todas las prácticas de este módulo las vamos a realizar sobre Ubuntu Server. 1.1 Primeros pasos con: apt 1.1.1 apt update Actualiza la lista de paquetes: sudo apt update 1.1.2 apt upgrade Actualiza los paquetes instalados a sus últimas versiones disponibles: sudo apt upgrade 1.1.3 apt full-upgrade Realiza actualizaciones que impliquen cambiar dependencias, agregar o quitar nuevos paquetes según sea necesario. sudo apt full-upgrade 1.1.4 apt install Instala un paquete determinado: sudo apt install <package name> José Juan Sánchez Hernández 4

1.1.5 apt remove Desinstala un paquete: sudo apt remove <package name> 1.1.6 apt purge Desinstala un paquete determinado y elimina los archivos de configuración asociados: sudo apt purge <package name> 1.1.7 apt search Busca un paquete entre las descripciones de los paquetes: sudo apt search <package name> 1.1.8 apt show Muestra los detalles de un paquete: sudo apt show <package name> 1.2 Instalación de un GUI Desktop Unity desktop: sudo apt install ubuntu-desktop José Juan Sánchez Hernández 5

GNOME desktop: sudo apt install ubuntu-gnome-desktop KDE desktop: sudo apt install kubuntu-desktop Otros escritorios que podemos instalar son: xubuntu-desktop, lubuntu-desktop, edubuntudesktop, etc. 1.3 Instalación de un servidor SSH sudo apt install ssh 1.4 Cómo iniciar, parar y consultar el servicio de SSH 1.4.1 Método 1. systemctl sudo systemctl start ssh sudo systemctl stop ssh sudo systemctl status ssh 1.4.2 Método 2. /etc/init.d/ssh sudo /etc/init.d/ssh start sudo /etc/init.d/ssh stop sudo /etc/init.d/ssh status José Juan Sánchez Hernández 6

1.5 Instalación de git sudo apt install git 2 Apache 2.1 Instalación de Apache sudo apt install apache2 2.2 Cómo iniciar, parar y consultar el estado de Apache 2.2.1 Método 1. systemctl sudo systemctl start apache2 sudo systemctl stop apache2 sudo systemctl restart apache2 sudo systemctl status apache2 2.2.2 Método 2. /etc/init.d/apache sudo /etc/init.d/apache2 start sudo /etc/init.d/apache2 stop sudo /etc/init.d/apache2 restart sudo /etc/init.d/apache2 reload sudo /etc/init.d/apache2 status José Juan Sánchez Hernández 7

2.2.3 Método 3. service sudo service apache2 start sudo service apache2 stop sudo service apache2 restart sudo service apache2 reload sudo service apache2 status 2.3 Archivo de configuración de Apache /etc/apache2/apache2.conf 2.4 Archivos de log de Apache 2.4.1 access.log El servidor almacena en el registro de acceso información sobre todas las peticiones que procesa. /var/log/apache2/access.log 2.4.2 error.log El registro de errores del servidor. /var/log/apache2/error.log 2.4.3 Mensajes de error más detallados en Apache Para poder localizar un error debemos configurar que los archivos de log sean más detallados. Para ello, debemos cambiar o añadir la línea LogLevelen el archivo /etc/apache2/apache2.conf. Los argumentos posibles se detallan a continuación. Por ejemplo: José Juan Sánchez Hernández 8

LogLevel debug Existen varios niveles jerárquicos en los registros de error disponibles, cada uno de ellos identificado por su propia clave. El valor por defecto de LogLevel es warn. A continuación se describen los valores posibles, ordenados de manera descendente según su grado de importancia. emerg: Emergencias, no se puede utilizar el servidor. alert: Require acción inmediata. crit: Condiciones críticas. error: Condiciones de error. warn: Condiciones de advertencia. notice: Condicón normal pero significativa. info: Informativa. debug: Mensajes de corrección de errores. emerg es el valor que graba el menor número de información y debug el que más. El problema es que debug graba mucha información que no tiene nada que ver con el problema, por lo que es conveniente cambiar el valor una vez que hayamos resuelto dicho problema. 3 MySQL Server 3.1 Instalación de MySQL Server sudo apt install mysql-server 3.2 Cómo iniciar, parar y consultar el estado de MySQL Server 3.2.1 Método 1. systemctl sudo systemctl start mysql sudo systemctl stop mysql sudo systemctl restart mysql sudo systemctl status mysql José Juan Sánchez Hernández 9

3.2.2 Método 2. /etc/init.d/mysql sudo /etc/init.d/mysql start sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql restart sudo /etc/init.d/mysql reload sudo /etc/init.d/mysql force-reload sudo /etc/init.d/mysql status 3.3 Archivos de configuración de MySQL Server /etc/mysql/mysql.cnf También podemos encontrar archivos de configuración en los directorios: /etc/mysql/conf.d/ /etc/mysql/mysql.conf.d/ 3.4 Archivos de log de MySQL Server /var/log/mysql/error.log 3.5 Cómo acceder a MySQL Server desde consola con el usuario root Una vez que hemos instalado MySQL Server en nuestro sistema vamos a acceder a la consola de MySQL. En primer lugar vamos a iniciar una sesión como root: sudo su José Juan Sánchez Hernández 10

Una vez que hemos iniciado una sesión como root vamos a iniciar la consola de MySQL también como root sin necesidad de indicarle ningún password (no es necesario usar el modificaor -p). mysql -u root Una vez hecho esto ya tendríamos acceso a la consola de MySQL como root. 3.6 Cómo cambiar la contraseña del usuario root En primer lugar accedemos a la consola de MySQL como root y seleccionamos la base de datos mysql. USE mysql; Vamos a revisar los usuarios que existen en MySQL y qué método tienen establecido para autenticar. SELECT User, Host, plugin FROM user; +------------------+-----------+-----------------------+ User Host plugin +------------------+-----------+-----------------------+ root localhost auth_socket mysql.session localhost mysql_native_password mysql.sys localhost mysql_native_password debian-sys-maint localhost mysql_native_password +------------------+-----------+-----------------------+ 4 rows in set (0.00 sec) Podemos ver que para el usuario root@localhost el método de autenticación es auth_socket. Esto quiere decir que el usuario root usará las mismas credenciales que tiene en el sistema operativo. Si queremos cambiar la contraseña de root tendremos que cambiar el método de autenticación a mysql_native_password. UPDATE user SET plugin='mysql_native_password' WHERE User='root'; José Juan Sánchez Hernández 11

Una vez que hemos actualizado el valor de la columna plugin a mysql_native_password actualizamos la columna authentication_string para asignar cuál será la nueva contraseña. Tendrá que sustituir nueva_contraseña por la contraseña que desee. UPDATE user SET authentication_string=password('nueva_contraseña') where user='root'; Después habrá que ejecutar el siguiente comando para que las actualizaciones realizadas tengan efecto. FLUSH PRIVILEGES; 3.7 Algunos comandos útiles para MySQL Server desde consola 3.7.1 Listar todas las bases de datos disponibles SHOW DATABASES; 3.7.2 Crear una nueva base de datos CREATE DATABASE <database>; 3.7.3 Borrar una base de datos DROP DATABASE <database>; José Juan Sánchez Hernández 12

3.7.4 Seleccionar una base de datos USE <database>; 3.7.5 Listar las tablas que contiene una base de datos SHOW TABLES; 3.7.6 Mostrar la estructura de una tabla DESCRIBE <table>; 3.7.7 Cerrar la sesión y salir exit quit 3.8 Ejecutar un script.sql desde la consola Desde la consola de Linux: mysql -u root -p < script.sql Desde la consola de MySQL: José Juan Sánchez Hernández 13

mysql> source script.sql 3.9 Usuarios y permisos en MySQL Server desde consola 3.9.1 Tipos de permisos que podemos aplicar ALL PRIVILEGES: permite a un usuario de MySQL acceder a todas las bases de datos asignadas en el sistema. CREATE: permite crear nuevas tablas o bases de datos. DROP: permite eliminar tablas o bases de datos DELETE: permite eliminar registros de tablas. INSERT: permite insertar registros en tablas. SELECT: permite leer registros en las tablas. UPDATE: permite actualizar registros seleccionados en tablas. GRANT OPTION: permite remover privilegios de usuarios 3.9.2 Crear un nuevo usuario Habrá que reemplazar nombre_usuario y contraseña por los datos del nuevo usuario que desea crear: CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'contraseña'; Una vez que hemos creado el usuario hay que asignarle permisos para que pueda acceder a la/s base/s de datos que queramos. 3.9.3 Eliminar un usuario DROP USER 'nombre_usuario'@'localhost'; 3.9.4 Asignar permisos a un usuario José Juan Sánchez Hernández 14

GRANT [permiso] ON [nombre_base_de_datos].[nombre_tabla] TO ' nombre_usuario'@'localhost'; Por ejemplo: GRANT ALL PRIVILEGES ON *.* TO 'nombre_usuario'@'localhost'; En este comando, los asteriscos indican que estamos aplicando el permiso ALL PRIVILEGES al usuario nombre_usuario para todas las tablas de cada una de las bases de datos. bases de datos y tablas. Después de este comando habrá que ejecutar el siguiente comando para refrescar todos los privilegios a los usuarios. FLUSH PRIVILEGES; 3.9.5 Eliminar permisos a un usuario REVOKE [permiso] ON [nombre_base_de_datos].[nombre_tabla] FROM ' nombre_usuario'@'localhost'; 3.9.6 Consultar los usuarios creados en MySQL Server Los usuarios de MySQL se almacenan en la tabla mysql.user. La clave primaria de esta tabla está formada por los valores user y host, de modo que cada fila vendrá identificada por un nombre de usuario y el host desde el que puede conectarse. La siguiente consulta nos devuelve el listado de usuarios que tenemos en MySQL y desde qué host pueden conectarse: SELECT user,host FROM mysql.user; En nuestra caso la consulta anterior devuelve el siguiente resultado: José Juan Sánchez Hernández 15

+------------------+--------------+ user host +------------------+--------------+ root % root localhost debian-sys-maint localhost phpmyadmin localhost mysql.session localhost mysql.sys localhost +------------------+--------------+ También podemos consultar qué permisos específicos tiene un determinado usuario. La siguiente consulta nos devuelve los permisos que tiene el usuario root: SHOW GRANTS FOR root; +------------------------------------------------+ Grants for root@% +------------------------------------------------+ GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' +------------------------------------------------+ 4 PHP 4.1 Instalación de módulos PHP sudo apt install php libapache2-mod-php php-mysql Para averiguar lo que hace el módulo libapache2-mod-php, podríamos escribir esto: sudo apt show libapache2-mod-php José Juan Sánchez Hernández 16

4.2 Comprobar que la instalación se ha realizado correctamente Crea un archivo llamado info.php en el directorio /var/www/html. sudo nano /var/www/html/info.php Añade el siguiente contenido: <? php phpinfo ();?> Ahora accede desde un navegador a la URL: http://localhost/info.php 5 Otras herramientas relacionadas con la pila LAMP 5.1 Instalar phpmyadmin para acceder vía web a MySQL Para instalar phpmyadmin es necesario tener instalado en nuestro sistema composer que es un gestor de dependencias para PHP. 5.1.1 Instalación de composer con apt y phpmyadmin Instalamos composer (A dependency Manager for PHP). sudo apt install composer Clonamos el repositorio de phpmyadmin usando Git. git clone https://github.com/phpmyadmin/phpmyadmin.git José Juan Sánchez Hernández 17

Nos situamos dentro del directorio de phpmyadmin que es donde estará el archivo composer.json con todas las dependencias que necesitamos instalar. cd phpmyadmin Instalamos las dependencias con la herramienta composer. composer update Podemos evitar instalar las herramamientas de desarrollo con el modificador --no-dev. composer update --no-dev Puede encontrar más información en la documentación oficial de phpmyadmin. 5.1.2 Instalación de composer desde la web oficial y phpmyadmin Paso 1 Descargamos el instalador y lo renombramos como composer-setup.php. php -r copy('https://getcomposer.org/installer', 'composer-setup.php'); Paso 2 Comprobamos que el hash SHA384 del archivo que acabamos de descargar de la web es correcto. php -r if (hash_file('sha384', 'composer-setup.php') === '93 b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1d ') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL; Paso 3 Ejecutamos el instalador. José Juan Sánchez Hernández 18

php composer-setup.php Una vez finalizado este paso deberemos tener un archivo llamado composer.phar en el directorio donde hemos ejecutado el instalador. Paso 4 Eliminamos el instalador. php -r unlink('composer-setup.php'); Paso 5 Clonamos el repositorio de phpmyadmin usando Git. git clone https://github.com/phpmyadmin/phpmyadmin.git Nos situamos dentro del directorio de phpmyadmin que es donde estará el archivo composer.json con todas las dependencias que necesitamos instalar. cd phpmyadmin Instalamos las dependencias con la herramienta composer. php composer.phar update Podemos evitar instalar las herramamientas de desarrollo con el modificador --no-dev. php composer.phar update --no-dev Puede encontrar más información en la documentación oficial de phpmyadmin. 5.2 Instalar Adminer para acceder vía web a MySQL Adminer es una alternativa a phpmyadmin. Tiene la ventaja que se distribuye en un único archivo.php. José Juan Sánchez Hernández 19

Sólo hay que descargarse el arhivo Adminer para MySQL que está disponible en la web del proyecto y guardarlo en el directorio /var/www/html. 5.3 Instalar un analizador de logs para Apache Server Investiga cuáles son los analizadores de logs que existen para Apache Server e instala uno de ellos. Posibles soluciones: GoAccess AWStats 5.3.1 GoAccess Para instalar la última versión de GoAccess añadimos los repositorios oficiales del proyecto: 5.3.1.1 Instalación de GoAccess echo deb http://deb.goaccess.io/ $(lsb_release -cs) main sudo tee -a / etc/apt/sources.list.d/goaccess.list wget -O - https://deb.goaccess.io/gnugpg.key sudo apt-key add - sudo apt-get update sudo apt-get install goaccess 5.3.1.2 Uso de GoAccess Una vez que hemos instalado la utilidad podemos usarla para procesar los archivos de log access.log de Apache HTTP Server. Desde el terminal El siguiente comando parsea el archivo de log access.log y muestra la información del log en tiempo real en el terminal en modo texto. goaccess /var/log/apache2/access.log -c José Juan Sánchez Hernández 20

Creación de un archivo HTML estático y genera un archivo HTML estático. El siguiente comando parsea el archivo de log access.log goaccess /var/log/apache2/access.log -o /var/www/html/report.html --logformat=combined Creación de un archivo HTML en tiempo real access.log y genera un archivo HTML en tiempo real. El siguiente comando parsea el archivo de log goaccess /var/log/apache2/access.log -o /var/www/html/report.html --logformat=combined --real-time-html 5.4 Control de acceso a un directorio con.htaccess Crea un directorio llamado stats dentro del directorio /var/www/html donde se podrán consultar los informes generados con goaccess. El acceso a este directorio deberá estar controlado y solo se podrá acceder mediante un usuario y una contraseña. Paso 1 Creamos el directorio stats. mkdir /var/www/html/stats Paso 2 Lanzamos el proceso de goaccess en background para generar los informes en segundo plano. sudo goaccess /var/log/apache2/access.log -o /var/www/html/stats/index. html --log-format=combined --real-time-html & Paso 3 Creamos el archivo de contraseñas para el usuario que accederá al directorio stats. El archivo de contraseñas lo guardamos en un directorio seguro. En nuestro caso lo podemos guardar en /home/ usuario. José Juan Sánchez Hernández 21

sudo htpasswd -c /home/usuario/.htpasswd usuario Paso 4 Creamos el archivo.htaccess en el directorio que queremos proteger con usuario y contraseña. En nuestro caso lo vamos a crear en el directorio /var/www/html/stats/.htaccess. sudo /var/www/html/stats/.htaccess El contenido del archivo.htaccess será el siguiente: AuthType Basic AuthName Restricted Content AuthUserFile /home/usuario/.htpasswd Require valid-user Paso 5 Editamos el archivo configuración de Apache. sudo nano /etc/apache2/sites-enabled/000-default.conf Añadimos la siguiente sección dentro de las etiquetas de <VirtualHost *:80> y </VirtualHost >. <Directory /var/www/html/stats > Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> Paso 6 Reiniciamos el servicio de Apache. José Juan Sánchez Hernández 22

sudo /etc/init.d/apache2 restart 6 Referencias Cómo instalar en Ubuntu 18.04 la pila LAMP Linux, Apache, MySQL y PHP «Apache: Soluciones y ejemplos para administradores de Apache». Ken Coar y Rich Bowen. O Reilly. Aulas en red, aplicaciones y servicios. Linux. INTEF. Crear un nuevo usuario y otorgarle permisos en MySQL Instalación de phpmyadmin. 7 Licencia Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional. José Juan Sánchez Hernández 23