ASO::final-project: Add more content.
This commit is contained in:
parent
9cd44a0ec9
commit
a9d75ee5f5
BIN
2/ASO/assignments/web-system/imgs/debian-install-choices.png
Normal file
BIN
2/ASO/assignments/web-system/imgs/debian-install-choices.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
BIN
2/ASO/assignments/web-system/imgs/default-nginx-page.png
Normal file
BIN
2/ASO/assignments/web-system/imgs/default-nginx-page.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
4
2/ASO/assignments/web-system/web-system-naortega.lof
Normal file
4
2/ASO/assignments/web-system/web-system-naortega.lof
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
\babel@toc {spanish}{}
|
||||||
|
\contentsline {figure}{\numberline {1}{\ignorespaces Mapa de intrenet.\relax }}{2}{figure.caption.4}%
|
||||||
|
\contentsline {figure}{\numberline {2}{\ignorespaces Selección de {\it software} adicional.\relax }}{5}{figure.caption.7}%
|
||||||
|
\contentsline {figure}{\numberline {3}{\ignorespaces Página de Nginx por defecto.\relax }}{8}{figure.caption.8}%
|
3
2/ASO/assignments/web-system/web-system-naortega.lot
Normal file
3
2/ASO/assignments/web-system/web-system-naortega.lot
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
\babel@toc {spanish}{}
|
||||||
|
\contentsline {table}{\numberline {1}{\ignorespaces Tabla de direcciones IP.\relax }}{3}{table.caption.5}%
|
||||||
|
\contentsline {table}{\numberline {2}{\ignorespaces Tabla de particiones lógicas en los sistemas Debian.\relax }}{4}{table.caption.6}%
|
Binary file not shown.
@ -12,6 +12,9 @@
|
|||||||
\maketitle
|
\maketitle
|
||||||
|
|
||||||
\tableofcontents
|
\tableofcontents
|
||||||
|
\listoffigures
|
||||||
|
\listoftables
|
||||||
|
|
||||||
\pagebreak
|
\pagebreak
|
||||||
|
|
||||||
\section{Resumen de Topología}
|
\section{Resumen de Topología}
|
||||||
@ -71,9 +74,9 @@ lo que tiene instalado por defecto -- no es una instalación mínima, por así
|
|||||||
decirlo. Así que asignaremos a él las especificaciones siguientes:
|
decirlo. Así que asignaremos a él las especificaciones siguientes:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Procesadores: % TODO
|
\item Procesadores: 2
|
||||||
\item Memoria: % TODO
|
\item Memoria: 4096 MB
|
||||||
\item Disco: % TODO
|
\item Disco: 50 GB
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
Instalaremos Windows Server utilizando las opciones por defecto. No hay mucho
|
Instalaremos Windows Server utilizando las opciones por defecto. No hay mucho
|
||||||
@ -86,8 +89,8 @@ Server, por eso nos podemos permitir reducir los recursos alojados a éstos. A
|
|||||||
estas máquinas alojaremos los recursos siguientes a todos:
|
estas máquinas alojaremos los recursos siguientes a todos:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Procesadores: % TODO
|
\item Procesadores: 1
|
||||||
\item Memoria: % TODO
|
\item Memoria: 1024 MB
|
||||||
\item Disco: 10 GB
|
\item Disco: 10 GB
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
@ -111,17 +114,33 @@ mismo grupo, y crearemos las particiones de acuerdo a la tabla
|
|||||||
\begin{tabular}{|l|l|}
|
\begin{tabular}{|l|l|}
|
||||||
\hline
|
\hline
|
||||||
{\bf Mountpoint} & {\bf Tamaño} \\ \hline
|
{\bf Mountpoint} & {\bf Tamaño} \\ \hline
|
||||||
{\tt /} & \\ % TODO
|
{\tt /} & 1.9 GB \\
|
||||||
{\tt /tmp} & \\ % TODO
|
{\tt /boot} & 451 MB \\
|
||||||
{\tt /usr} & \\ % TODO
|
{\tt /tmp} & 463 MB \\
|
||||||
{\tt /var} & \\ % TODO
|
{\tt /usr} & 3.7 GB \\
|
||||||
Swap & \\ \hline % TODO
|
{\tt /var} & 2.8 GB \\
|
||||||
|
Swap & 496 MB \\ \hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\caption{Tabla de particiones lógicas en los sistemas Debian.}
|
\caption{Tabla de particiones lógicas en los sistemas Debian.}
|
||||||
\label{tbl:debian-partitions}
|
\label{tbl:debian-partitions}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
En cuanto a los usuarios, crearemos
|
En cuanto a los usuarios, crearemos un usuario {\it proxy}; es decir, sólo sirve
|
||||||
|
para luego pasarte al usuario root. En el caso este, se ha creado el usuario
|
||||||
|
{\tt nicolas} con contraseña {\tt nicolas} -- en realidad poner otra contraseña
|
||||||
|
más compleja. Para el usuario {\tt root} le asignaremos la contraseña {\tt
|
||||||
|
toor}.
|
||||||
|
|
||||||
|
\begin{figure}[ht!]
|
||||||
|
\includegraphics[width=0.75\textwidth]{imgs/debian-install-choices.png}
|
||||||
|
\caption{Selección de {\it software} adicional.}
|
||||||
|
\label{fig:debian-install-choices}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Cuando nos pregunta si hay otros paquetes que queremos instalar queremos
|
||||||
|
especificar los <<standard system utilities>> y también el <<SSH server>>. No
|
||||||
|
instalamos <<web server>> porque esto instalará Apache, que no nos interesa.
|
||||||
|
Debería de aparecer como en la figura \ref{fig:debian-install-choices}.
|
||||||
|
|
||||||
El resto de la instalación se realizará de forma normal, eligiendo las opciones
|
El resto de la instalación se realizará de forma normal, eligiendo las opciones
|
||||||
correspondientes.
|
correspondientes.
|
||||||
@ -141,16 +160,160 @@ systemctl stop network-manager.service
|
|||||||
systemctl disable network-manager.service
|
systemctl disable network-manager.service
|
||||||
\end{minted}
|
\end{minted}
|
||||||
|
|
||||||
|
Una vez deshabilitado el NetworkManager, ya podemos empezar a modificar los
|
||||||
|
archivos de configuración de red. El primer paso será definir una dirección IP
|
||||||
|
estática. Para empezar, encontramos cuál es el nombre de nuestro interfaz, que
|
||||||
|
se puede hacer utilizando el comando {\tt ip a}.
|
||||||
|
|
||||||
|
\begin{minted}{text}
|
||||||
|
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state
|
||||||
|
UNKNOWN group default qlen 1000
|
||||||
|
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
|
||||||
|
inet 127.0.0.1/8 scope host lo
|
||||||
|
valid_lft forever preferred_lft forever
|
||||||
|
inet6 ::1/128 scope host
|
||||||
|
valid_lft forever preferred_lft forever
|
||||||
|
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
|
||||||
|
pfifo_fast state UP group default qlen 1000
|
||||||
|
link/ether 08:00:27:31:09:eb brd ff:ff:ff:ff:ff:ff
|
||||||
|
inet 10.0.2.2/24 brd 172.16.40.255 scope global dynamic
|
||||||
|
enp0s3
|
||||||
|
valid_lft 595981sec preferred_lft 595981sec
|
||||||
|
inet6 fe80::a00:27ff:fe76:1cdf/64 scope link
|
||||||
|
valid_lft forever preferred_lft forever
|
||||||
|
\end{minted}
|
||||||
|
|
||||||
|
Vemos en este ejemplo que queremos hacer uso de la interfaz {\tt enp0s3}, que es
|
||||||
|
la interfaz red de {\it ethernet}. Luego, en el archivo {\tt
|
||||||
|
/etc/network/interfaces}, vamos a configurarlo de la forma siguiente asumiendo
|
||||||
|
aquel interfaz y que queremos la dirección IP estática 10.0.2.2:
|
||||||
|
|
||||||
|
\begin{minted}{text}
|
||||||
|
# This file describes the network interfaces available on your system
|
||||||
|
# and how to activate them. For more information, see interfaces(5).
|
||||||
|
|
||||||
|
source /etc/network/interfaces.d/*
|
||||||
|
|
||||||
|
# The loopback network interface
|
||||||
|
auto lo
|
||||||
|
iface lo inet loopback
|
||||||
|
|
||||||
|
# The primary network interface
|
||||||
|
allow-hotplug enp0s3
|
||||||
|
iface enp0s3 inet static
|
||||||
|
address 10.0.2.2
|
||||||
|
netmask 255.255.255.0
|
||||||
|
\end{minted}
|
||||||
|
|
||||||
|
También queremos configurar nuestro servidor de DNS, que será el Windows Server
|
||||||
|
2019 con Active Directory. Para esto hemos de modificar el archivo {\tt
|
||||||
|
/etc/resolv.conf} con el contenido siguiente:
|
||||||
|
|
||||||
|
\begin{minted}{text}
|
||||||
|
domain nortega.local
|
||||||
|
search nortega.local
|
||||||
|
nameserver 10.0.2.50
|
||||||
|
\end{minted}
|
||||||
|
|
||||||
|
Una vez acabado debemos de hacer que el archivo sea inmutable, ya que muchos
|
||||||
|
servicios intentan modificar este fichero. Para eso corremos simplemente el
|
||||||
|
comando {\tt chattr +i /etc/resolv.conf}. Una vez configurado ya podemos
|
||||||
|
reiniciar el servicio de {\it networking} y veremos como hace uso de la
|
||||||
|
configuración especificada. Esto lo hacemos del modo siguiente:
|
||||||
|
|
||||||
|
\begin{minted}{bash}
|
||||||
|
systemctl restart networking.service
|
||||||
|
ifup enp0s3
|
||||||
|
\end{minted}
|
||||||
|
|
||||||
%\section{Active Directory}
|
%\section{Active Directory}
|
||||||
|
|
||||||
% STUB
|
% STUB
|
||||||
|
|
||||||
\section{Terminal de Administración}
|
\section{Terminal de Administración}
|
||||||
|
|
||||||
\section{Servidor Web}
|
En este dispositivo lo más importante que debemos instalar, para el propósito de
|
||||||
|
administrar los servidores de la red, es SSH. Esto debería de estar disponible
|
||||||
|
ya si hemos instalado nuestro Debian con la opción <<SSH server>> mencionado
|
||||||
|
antes (que instala el cliente y el servidor).
|
||||||
|
|
||||||
\section{Base de Datos}
|
\section{Base de Datos}
|
||||||
|
|
||||||
|
La base de datos, como se explicó anteriormente, será un servidor con el
|
||||||
|
programa MariaDB. Lo primero es instalar MariaDB como tal:
|
||||||
|
|
||||||
|
\begin{minted}{bash}
|
||||||
|
apt update
|
||||||
|
apt install mariadb-server
|
||||||
|
\end{minted}
|
||||||
|
|
||||||
|
Aunque el paquete se llama {\tt mariadb-server}, incluye también un cliente muy
|
||||||
|
espartano: {\tt mysql}. Pero antes de interactuar con la base de datos queremos
|
||||||
|
finalizar la instalación. Esto se hace con el comando siguiente: {\tt
|
||||||
|
mysql\_secure\_installation}.
|
||||||
|
|
||||||
|
Después de configurar la contraseña de {\tt root}, veremos que nos pide si la
|
||||||
|
autenticación debería de ser por <<unix\_socket>>. Esto no es nuestro caso ya
|
||||||
|
que queremos conectarnos remotamente desde nuestro servidor web, así que
|
||||||
|
respondemos que no: <<n>>. Luego nos preguntará si queremos eliminar los
|
||||||
|
usuarios anónimos. Esto puede ser buena idea para evitar que aquellos que no
|
||||||
|
tengan la autorización para acceder a nuestro servidor de base de datos no lo
|
||||||
|
puedan hacer, así que respondemos que sí: <<y>>. La próxima pregunta tiene que
|
||||||
|
ver con el acceso remoto al usuario {\tt root} de la base de datos, y si se
|
||||||
|
debería de permitir. Esto puede ser un riesgo de seguridad, ya que {\tt root}
|
||||||
|
tiene privilegios para acceder y manipular todos los datos que tenemos. También,
|
||||||
|
si nosotros queremos acceder a este usuario, lo podemos hacer accediendo primero
|
||||||
|
a la máquina por SSH desde el terminal administrador y luego entrando localmente
|
||||||
|
como el usuario {\tt root} de la base de datos. Por eso lo racional es no
|
||||||
|
permitir (o {\it despermitir}): <<y>>. La próxima opción es para eliminar la
|
||||||
|
base de datos de prueba y todo acceso a ello. Como no tendremos necesidad de
|
||||||
|
utilizarla, podemos eliminarla: <<y>>. Finalmente nos pregunta si queremos
|
||||||
|
actualizar todos los privilegios en este momento. Ya se hará en un futuro
|
||||||
|
(cuando reiniciamos la máquina, por ejemplo), pero si queremos empezar a
|
||||||
|
trabajar ya sobre la base de datos, lo que nos conviene es actualizarlos: <<y>>.
|
||||||
|
Una vez que hayamos terminado, ya podremos conectarnos al servidor de base de
|
||||||
|
datos con el comando {\tt mysql} de la forma siguiente:
|
||||||
|
|
||||||
|
\begin{minted}{text}
|
||||||
|
# mysql -u root -p
|
||||||
|
Enter password:
|
||||||
|
Welcome to the MariaDB monitor. Commands end with ; or \g.
|
||||||
|
Your MariaDB connection id is 31
|
||||||
|
Server version: 10.5.18-MariaDB-0+deb11u1 Debian 11
|
||||||
|
|
||||||
|
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and
|
||||||
|
others.
|
||||||
|
|
||||||
|
Type 'help;' or '\h' for help. Type '\c' to clear the current
|
||||||
|
input statement.
|
||||||
|
|
||||||
|
MariaDB [(none)]>
|
||||||
|
\end{minted}
|
||||||
|
|
||||||
|
Para salir sólo hemos de insertar el comando {\tt quit;} o usar la combinación
|
||||||
|
de teclas Ctrl+D, como con cualquier otro {\it shell}.
|
||||||
|
|
||||||
|
\section{Servidor Web}
|
||||||
|
|
||||||
|
En nuestro servidor web, con nombre {\tt web0} queremos instalar el programa
|
||||||
|
Nginx. Para esto hemos de correr los comandos siguientes:
|
||||||
|
|
||||||
|
\begin{minted}{bash}
|
||||||
|
apt update
|
||||||
|
apt install nginx
|
||||||
|
\end{minted}
|
||||||
|
|
||||||
|
Esto no sólo instalará Nginx, sino que también lo inicializará, de tal modo que
|
||||||
|
si intentas acceder a nuestro servidor web en un navegador por el puerto 80, te
|
||||||
|
saldrá la página por defecto de Nginx (figura \ref{fig:default-nginx-page}).
|
||||||
|
|
||||||
|
\begin{figure}[ht!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.75\textwidth]{imgs/default-nginx-page.png}
|
||||||
|
\caption{Página de Nginx por defecto.}
|
||||||
|
\label{fig:default-nginx-page}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\pagebreak
|
\pagebreak
|
||||||
|
|
||||||
\section{Derechos de Autor y Licencia}
|
\section{Derechos de Autor y Licencia}
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
\babel@toc {spanish}{}\relax
|
\babel@toc {spanish}{}
|
||||||
\contentsline {section}{\numberline {1}Resumen de Topología}{2}{section.1}%
|
\contentsline {section}{\numberline {1}Resumen de Topología}{2}{section.1}%
|
||||||
\contentsline {section}{\numberline {2}Configuración Inicial Windows Server}{3}{section.2}%
|
\contentsline {section}{\numberline {2}Configuración Inicial Windows Server}{3}{section.2}%
|
||||||
\contentsline {section}{\numberline {3}Configuración Inicial Linux}{3}{section.3}%
|
\contentsline {section}{\numberline {3}Configuración Inicial Linux}{3}{section.3}%
|
||||||
\contentsline {subsection}{\numberline {3.1}Instalación}{4}{subsection.3.1}%
|
\contentsline {subsection}{\numberline {3.1}Instalación}{4}{subsection.3.1}%
|
||||||
\contentsline {subsection}{\numberline {3.2}Post-Instalación}{4}{subsection.3.2}%
|
\contentsline {subsection}{\numberline {3.2}Post-Instalación}{4}{subsection.3.2}%
|
||||||
\contentsline {section}{\numberline {4}Terminal de Administración}{4}{section.4}%
|
\contentsline {section}{\numberline {4}Terminal de Administración}{6}{section.4}%
|
||||||
\contentsline {section}{\numberline {5}Servidor Web}{4}{section.5}%
|
\contentsline {section}{\numberline {5}Base de Datos}{7}{section.5}%
|
||||||
\contentsline {section}{\numberline {6}Base de Datos}{4}{section.6}%
|
\contentsline {section}{\numberline {6}Servidor Web}{8}{section.6}%
|
||||||
\contentsline {section}{\numberline {7}Derechos de Autor y Licencia}{5}{section.7}%
|
\contentsline {section}{\numberline {7}Derechos de Autor y Licencia}{9}{section.7}%
|
||||||
|
Loading…
Reference in New Issue
Block a user