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
|
||||
|
||||
\tableofcontents
|
||||
\listoffigures
|
||||
\listoftables
|
||||
|
||||
\pagebreak
|
||||
|
||||
\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:
|
||||
|
||||
\begin{itemize}
|
||||
\item Procesadores: % TODO
|
||||
\item Memoria: % TODO
|
||||
\item Disco: % TODO
|
||||
\item Procesadores: 2
|
||||
\item Memoria: 4096 MB
|
||||
\item Disco: 50 GB
|
||||
\end{itemize}
|
||||
|
||||
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:
|
||||
|
||||
\begin{itemize}
|
||||
\item Procesadores: % TODO
|
||||
\item Memoria: % TODO
|
||||
\item Procesadores: 1
|
||||
\item Memoria: 1024 MB
|
||||
\item Disco: 10 GB
|
||||
\end{itemize}
|
||||
|
||||
@ -111,17 +114,33 @@ mismo grupo, y crearemos las particiones de acuerdo a la tabla
|
||||
\begin{tabular}{|l|l|}
|
||||
\hline
|
||||
{\bf Mountpoint} & {\bf Tamaño} \\ \hline
|
||||
{\tt /} & \\ % TODO
|
||||
{\tt /tmp} & \\ % TODO
|
||||
{\tt /usr} & \\ % TODO
|
||||
{\tt /var} & \\ % TODO
|
||||
Swap & \\ \hline % TODO
|
||||
{\tt /} & 1.9 GB \\
|
||||
{\tt /boot} & 451 MB \\
|
||||
{\tt /tmp} & 463 MB \\
|
||||
{\tt /usr} & 3.7 GB \\
|
||||
{\tt /var} & 2.8 GB \\
|
||||
Swap & 496 MB \\ \hline
|
||||
\end{tabular}
|
||||
\caption{Tabla de particiones lógicas en los sistemas Debian.}
|
||||
\label{tbl:debian-partitions}
|
||||
\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
|
||||
correspondientes.
|
||||
@ -141,16 +160,160 @@ systemctl stop network-manager.service
|
||||
systemctl disable network-manager.service
|
||||
\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}
|
||||
|
||||
% STUB
|
||||
|
||||
\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}
|
||||
|
||||
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
|
||||
|
||||
\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 {2}Configuración Inicial Windows Server}{3}{section.2}%
|
||||
\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.2}Post-Instalación}{4}{subsection.3.2}%
|
||||
\contentsline {section}{\numberline {4}Terminal de Administración}{4}{section.4}%
|
||||
\contentsline {section}{\numberline {5}Servidor Web}{4}{section.5}%
|
||||
\contentsline {section}{\numberline {6}Base de Datos}{4}{section.6}%
|
||||
\contentsline {section}{\numberline {7}Derechos de Autor y Licencia}{5}{section.7}%
|
||||
\contentsline {section}{\numberline {4}Terminal de Administración}{6}{section.4}%
|
||||
\contentsline {section}{\numberline {5}Base de Datos}{7}{section.5}%
|
||||
\contentsline {section}{\numberline {6}Servidor Web}{8}{section.6}%
|
||||
\contentsline {section}{\numberline {7}Derechos de Autor y Licencia}{9}{section.7}%
|
||||
|
Loading…
Reference in New Issue
Block a user