Ejercicio 2: Instalación de BookMedik
ENTREGA
Parte 1
Captura del VirtualHost
Parte 2
Contenido del fichero
core/controller/Database.php
<?php
class Database {
public static $db;
public static $con;
function Database(){
$this->user="bookmedik_user";$this->pass="1234";$this->host="localhost";$this->ddbb="bookmedik";
}
function connect(){
$con = new mysqli($this->host,$this->user,$this->pass,$this->ddbb);
$con->query("set sql_mode=''");
return $con;
}
public static function getCon(){
if(self::$con==null && self::$db==null){
self::$db = new Database();
self::$con = self::$db->connect();
}
return self::$con;
}
}
?>
Parte 3
Captura de bookmedik, después de login
Parte 4
Indicar ruta completa al fichero donde se modifica
memory_limit
/etc/php/7.4/apache2/php.ini
Captura de
info.php
donde se vea el cambio
REALIZACIÓN
Paso 0
Instalar
mariadb-server
Paso 1
Descargar
schema.sql
(copia de seguridad de la BD) del repositorio https://github.com/evilnapsis/bookmedik
En el repositorio, abrir la versión "raw" de schema.sql
.
Después, descargar este fichero usando la URL en modo raw:
Importar la copia de seguridad
schema.sql
Vemos que se ha creado la base de datos bookmedik
:
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| bookmedik |
| information_schema |
| mysql |
| performance_schema |
+--------------------+
Crear usuario con privilegios sobre
bookmedik
CREATE USER 'bookmedik_user' IDENTIFIED BY '1234';
GRANT USAGE ON *.* TO 'bookmedik_user'@localhost IDENTIFIED BY '1234';
GRANT ALL privileges ON `bookmedik`.* TO 'bookmedik_user'@localhost;
FLUSH PRIVILEGES;
Paso 2
Instalar apache2 y php
Crear VirtualHost con
ServerName
bookmedik.adrianjaramillo.org
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName bookmedik.adrianjaramillo.org
DocumentRoot /var/www/bookmedik
# 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
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Lo habilito:
Reinicio Apache:
Modifico mi /etc/hosts
:
Clonar https://github.com/evilnapsis/bookmedik en el DocumentRoot
/var/www/bookmedik
Este clonado no nos crea un directorio donde mete el repositorio, sino que directamente clona los contenidos al directorio actual.
La única condición para que este clonado funcione, es que el directorio destino esté vacío.
Paso 3
Modifica
core/controller/Database.php
con los datos de acceso a la BD creada en el paso 1
Este es el fragmento modificado:
function Database(){
$this->user="bookmedik_user";$this->pass="1234";$this->host="localhost";$this->ddbb="bookmedik";
}
Paso 4
Acceder a
bookmedik.adrianjaramillo.org
con usuario admin y contraseña admin
Paso 5
Cambia el
memory_limit
a 256M enphp.ini
Antes de nada, tenemos que averiguar dónde se encuentra nuestro fichero php.ini
.
¡OJO! Hay 2 ficheros php.ini
, así que tenemos que encontrar el usado por apache, EL DE CLI NO.
Me descargo un fichero info.php
de prueba en /var/www/bookmedik
para encontrar la ruta al php.ini
que se está usando:
sudo wget https://gist.githubusercontent.com/SyntaxC4/5648247/raw/94277156638f9c309f2e36e19bff378ba7364907/info.php
Aquí muestro la ruta:
En /etc/php/7.4/apache2/php.ini
modificamos tal que así:
Reiniciamos apache
Muestro que el valor memory_limit
es ahora el correcto: