Este sitio Web simplemente espeja la fuente original de ciertas herramientas públicas OpenSource,
con el objetivo de no depender de cambios de versión, así como si desapareciere el proyecto, tener
la referencia del mismo en un entorno local. Sólo se publicarán herramientas, ficheros y elementos
que sean de autoría agena a los proyectos de KyMAN, con su correspondiente autoría y vinculación con
el sitio Web original de cada recurso.
Instalación
Para instalar el servidor CDN se requiere de tener previamente un servidor Apache2, Nginx, IIS, etc.
El cual, a su vez, tenga implementado el módulo de PHP. En este caso se desarrolló para ser
instalado en un servidor Apache2, pero eso no imposibilita la adaptación de este pequeño manual de
instalación contra otro tipo de servidores, siempre que sean comptabibles con el módulo de PHP.
También se requiere de al menos el lado PHP del proyecto WMarkDown para gestionar la creación o
actualización de los HTML a partir de los ficheros WMD.
Como Sistema Operativo donde va montado el proyecto, en este caso será Debian, pero puede ser
cualquiera que admita el servidor Web con PHP sobre el que va a ir montado. Al estar desarrollado
cara Debian, el manual irá sobre Debian, pero no quita que pueda ser adaptado a otros entornos como
puede ser Fedora, Windows, etc.
Para empezar, por si se busca una instalación que parta de 0, una vez instalado el Sistema Operativo
(Debian para este ejemplo), hemos de instalar Apache2 y PHP, lo cual lo podemos hacer a partir de
los siguientes comandos:
-
Language
sh
-
Lines
3
-
Characters
79
apt update
# apt upgrade # Sólo si fuese necesario.
apt install apache2 php7.4
NOTA: No se pone PHP 8 por el hecho de que requiere de una instalación con repositorio
externo.
Una vez instalado estos programas, hemos de clonar el proyecto del CDN en el directorio donde lo
queramos instalar, mediante el siguiente comando.
-
Language
sh
-
Lines
1
-
Characters
38
git clone https://git.k3y.pw/KyMAN/CDN
Una vez descargado, hay que crear dos ficheros los cuales no pertenecen al proyecto y que serán
ignorados por Git mediante el fichero ".gitignore", los cuales son el Secrets PHP para determinar la
ubicación local del proyecto WMarkDown y su configuración base para la creación de los ficheros HTML
a partir de los ficheros WMD; y el fichero de configuración de Apache.
Empezando por el primero, el fichero se ubicaría con el Path "PATH/CND/PHP/CDN.Secrets.php" y su
contenido sería tal que así:
-
Language
php
-
Lines
12
-
Characters
211
namespace CDN;
class Secrets{
const wmarkdown = [
"root" => "{PATH}/CDN",
"html_base" => "/HTML/base.cdn.html",
"title" => "CDN"
];
};
IMPORTANTE: El fichero ha de ir encabezado con la apertura de código de PHP
("<?php").
IMPORTANTE: El fragmento de código "{PATH}" ha de ser substituído por el Path
absoluto, dentro del sistema, del proyecto.
El fichero de configuración de Apache2 no tiene una ubicación específica pero por defecto se puede
poner en el raíz del proyecto con Path "PATH/CDN/CDN.apache2.conf", y su contenido sería tal que
así:
-
Language
conf
-
Lines
26
-
Characters
1045
<VirtualHost *:80>
ServerName cdn.local
DocumentRoot {PATH}/CDN/Public
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
ErrorLog ${APACHE_LOG_DIR}/error_cdn_80.log
CustomLog ${APACHE_LOG_DIR}/access_cdn_80.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName cdn.local
DocumentRoot {PATH}/CDN/Public
<Directory {PATH}/CDN>
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride all
Order Allow,Deny
Allow from all
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile {CRT}
SSLCertificateKeyFile {KEY}
ErrorLog ${APACHE_LOG_DIR}/error_cdn_443.log
CustomLog ${APACHE_LOG_DIR}/access_cdn_443.log combined
</VirtualHost>
IMPORTANT: el fragmento de código {PATH} ha de ser substituído por el PATH
absoluto del proyecto; y los fragmentos {CRT} y {KEY} por los Paths absolutos del certificado y la
llave del mismo para el SSL.
NOTA: La URL se cambiaría para hacer la ruta que se quiere concretamente. Es importante
tener en cuenta para la ruta, el tema de si hay un servidor Proxy en la DMZ o no, para determinar
una ruta final o no, lo mismo para que hacer uso de SSL localmente o no.
Finalmente quedaría vincular este fichero a los sitios instalados en Apache2. En nuestro caso, al
trabajar con Debian, se hará un enlace simbólico al mismo de la siguiente forma:
-
Language
sh
-
Lines
4
-
Characters
119
cd /etc/apache2/sites-avaliable
ln -s {PATH}/CDN/CDN.apache2.conf
a2ensite CDN.apache2.conf
/etc/init.d/apache2 restart
Objetivos
Aquí se expondrán los objetivos a cumplir cara el desarrollo del proyecto del CDN de KyMAN.
Básicamente, los títulos que tenga este apartado irán orientados a quien o quienes han de llevarlos
a cabo, acompañando a cada objetivo con un Checkbox que nos indica si el objetivo fue realizado
(
), está realizándose (
) o aun no se inició el desarrollo de dicho objetivo (
). En caso de
haber más de un desarrollador, en base al orden que se establezca en el texto descriptivo de cada
título, cada Checkbox de cada objetivo representa, consecutivamente, a cada desarrollador,
pudiéndose dar el caso de ser desarrollado por 1 o más desarrolladores.
KyMAN
Aquí se pondrán los objetivos exclusivos para KyMAN.