PEC1 SOLUCION Servidores
PEC1 SOLUCION Servidores
PEC1 SOLUCION Servidores
Período: 201802
Ejercicio 1
ServerAdmin jzaera@uoc.edu
DocumentRoot /var/www/html
1/9
# Available loglevels: trace8, ..., trace1, debug, info,
notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for
particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Para configurar un nuevo servidor virtual para un hipotético blog, primero se tiene que
decidir si será un servidor por nombre o por IP. Suponiendo que sea por nombre los pasos
serán los siguientes:
<html>
<head>
<title>Blog</title>
</head>
<body>
Usted está en el blog
</body>
</html>
● Copiamos el archivo del vhost por defecto en uno nuevo para el nuevo vhost
(aunque se podría configurar dentro del mismo archivo):
2/9
sudo cp /etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-available/blog.elmeudomini.edu
● Modificamos el archivo dando valor a las directivas ServerName, ServerAlias (si cal),
DocumentRoot, ErrorLog y CustomLog:
3/9
Ejercicio 2
Instala PHP
Primero instalamos (https://thishosting.rocks/install-php-on-ubuntu/):
php -v
Aprovechamos e instalamos algunos módulos de PHP que nos pueden hacer falta y otros
que pueden ser útiles:
Si intentas instalar el módulo mcrypt para PHP, en la versión 7.2 se ha eliminado, com se
puede leer aquí: https://www.techrepublic.com/article/how-to-install-mcrypt-for-php-7-2/
Comprobaciones
Comprobamos si Apache tiene el módulo de PHP activado consultando la lista de módulos
activados:
sudo apache2ctl -M
Su resultado:
4/9
También se puede ejecutar combinada con grep para obtener la información más
rápidamente:
● Si la directiva log_errors tiene valor On (está así por defecto) el log de errores de
PHP estará activado.
log_errors = On
5/9
error_log = php_errors.log
● Para establecer el tamaño máximo de la subida de archivos:
upload_max_filesize = 50M
● Para establecer el tamaño máximo de memoria RAM que se puede utilizar:
memory_limit = 256M
● Para limitar a 2 minutos el tiempo de ejecuciónde los scripts:
Finalmente queda ejecutar phpinfo para ver toda la información sobre nuestro servidor. Para
hacerlo vamos a la raíz del servidor web y creamos allí un archivo, llamado info.php (por
ejemplo), con el siguiente contenido:
<?php
echo phpinfo();
?>
Ejercicio 3
Instala MySQL
6/9
Accede a MySQL desde el terminal
mysql -u root -p
Esto cambiará la contraseña y la siguiente vez ya permitirá entrar a MySQL sin sudo y con
el usuario root. Debemos tener en cuenta que el usuario root podrá acceder por MySQL a la
base de datos vía web. Si no queremos que acceda root vía web con phpmyadmin,
entonces se puede modificar la configuración de la aplicación modificando la directiva
AllowRoot, dándole valor FALSE
(https://www.tecmint.com/disable-root-login-access-to-phpmyadmin/).
Configuración de MySQL
Archivo de configuración
El archivo de configuración de MySQL está en /etc/mysql/my.cnf. En la versión actual de
MySQL este archivo contiene las instrucciones para modificar la configuración global o de
usuario del servidor. Se puede ver que se incluye la referencia a las carpetas donde está la
configuración del servidor MySQL. En /etc/mysql/mysql.conf.d/mysqld.cnfestá la
configuración que en versiones anteriores estaba en el archivo principal.
7/9
Seguridad
El comando siguiente permite gestionar la seguridad del servidor:
mysql_secure_installation
Hay que identificarse con el usuario root de MySQL. Después permite configurar y activar el
complemento VALIDATE PASSWORD: Permite configurar la calidad de la contraseña de los
usuarios, cambiar de contraseña de root, habilitar o deshabilitar cuentas anónimas, evitar
conexiones remotas de root (solo desde localhost), eliminar la base de dats de prueba y
actualizar las tablas de permisos.
Ejercicio 4
Instalación de phpmyadmin
Hay que descargar la aplicación desde http://www.phpmyadmin.net. Se puede instalar
también mediante apt-get pero optamos por la instalación tradicional y común a cualquier
sistema. Una vez descargada la aplicación se descomprime en el directorio
/var/www/html/phpmyadmin.
unzip phpMyAdmin-4.8.5-all-languages.zip
Este paso no es necesario para que funcione phpmyadmin pero puede serlo en algunas
aplicaciones que lean y escriban algunos archivos o carpetas, además de gestionar los
permisos sobre estos.
8/9
Referencias
● VirtualHost Examples (web oficial de Apache)
● How to install PHP (7, 7.2 or 7.3) on Ubuntu
● How to install mcrypt for PHP 7.2
● can't login as mysql user root from normal user account in ubuntu 16.04
● How to Disable root Login Access to PhpMyAdmin
● phpMyAdmin
9/9