- REQUISITS DEL SISTEMA
- INSTAL·LACIÓ SERVIDOR WEB APACHE
- CONFIGURACIÓ /etc/hosts (DOMINIS)
- INSTA·LACIÓ I CONFIGURACIÓ DE SERVIDOR SSH (ADMINISTRACIÓ REMOTA)
- INSTAL·LACIÓ PHP
- INSTAL·LACIÓ DE LA DOCUMENTACIÓ DEL PHP
- COMPROVACIONS
Cal destacar que m’he basat en els requeriments que proposa ubuntu en la seva documentació.
https://help.ubuntu.com/community/Installation/SystemRequirements
He decidit posar 2 GB de RAM, perquè es un kubuntu desktop que consumeix una mica més de recursos. Tema de HDD he decidit reservar 30 GB al S.O, ja que el requisit mínim son 25 GB. El tema bridge sens dubte m’he decidit per el Bridge, ja que documentaré i comprovaré que funciona des de el navegador de la maquina host.
Primer de tot hem de crear la maquina virtual, actualitzar-la i actualitzar els repositoris.
Un cop fet, l’actualització “obligàtoria”, descarreguem del repositori el packet d’apache2.
Comprovem que el servei d'apache i l’escolta del port 80 està funcionant.
Quan ha acabat els passos previs, es hora de configurar el Firewall, com no anem molt sobrats de temps i no es una empresa. El deshabilitarem per evitar problemes.
Per començar veiem que crea un directori, per defecte, en el qual posarem els recursos, en la majoria de casos html, que retorni en cas de peticions. La ruta es /var/www/html
En el nostre cas ens ha creat el seu html per defecte, que es el que veiem cada vegada que peticionem al nostre servidor. Ens posem en el directori que ha creat per la configuració d’apache2.
Veiem que el primer fitxer que trobem es apache2.conf, aquest es el que conté la configuració general del servidor, i inclueix altres fitxers que estan guardats en altres directoris.
També destacar els arxius que es crean en /etc/apache2/sites-available, ja que aquest et permet configurar el teu/s virtual host/s.
En el nostre cas, no tenim cap virtual host, per tant tenim el arxiu de configuració per el lloc per defecte.
També destacar els arxius que estan en /etc/apache2/sites-enabled/ ja que cada vegada que apache carregui la configuració, carregara els virtual hosts que permetem aquí. En el directori /etc/apache2/mods-* contenim tots els mòduls disponibles i hablitats amb una estructura standar, el fitxer .load que conté els mòduls en si, i els .conf que guarden la configuració d’aquests mòduls.
Per la part de logs, apache2 crea un directori /var/log/apache2/*.log en el qual podem consultar els logs.
Des de qualsevol dispositiu de la xarxa, amb un navegador, podem consultar que el servidor respon. Comprovem l’IP del servidor.
Posem la IP que volem comprovar en el navegador.
Si no volem instal·lar un servidor de DNS que resolgui els dominis, es pot fer una modificació en el fitxer de /etc/hosts.
Comprovem que resol cap al localhost.
Afegim al fitxer /etc/hosts l’IP del company Isaac.
Hem afegit el port ja que ell en el XAMPP ha configurat en el 8080.
Comencem la instal·lació des de els repositoris amb el mòdul de openssh-server
Com en el exercici anterior hem deshabilitat el Firewall, no ens donarà problemes, sinó hauríem de crear la regla del Firewall que ens permet obrir el port 22. Comprovem que el servei i el port estant escoltant.
Un cop instal·lat, modificarem el fitxer /etc/ssh/sshd_config per poder habilitar el login des de el usuari root.
Un cop modificat el fitxer, reiniciem el servei de ssh.
Un cop fetes les comprovacions prèvies, provarem a conectar desde un altre dispositiu de la xarxa, en el meu cas des de la maquina host. Utilitzarem un software gratuït que s’anomena Putty. Deixo el link del instal·lador.
Comprovem quina IP té el servidor ssh per conectar-nos.
Desde el client, facilitem la IP, el port i el tipus de connexió i obrim aquesta.
El primer cop que entrem, com encara no tenim la clau del servidor, el client no te el fingerprint per poder comprobar si el equip remot, es realmente el equip al qual ens volem conectar, per tant ens demana si afegim aquest fingerprint al client.
Un cop afegit el fingerprint, ens demanara les credencials. Posem el usuari root, en el meu cas i veiem que estem dintre del servidor apache i ssh.
La principal funció del SSH, es poder administrar i mantenir remotament els teus servidors, amb la ajuda o no d’internet, d’una manera molt segura, ja que utilitza una capa de seguretat que el seu antecessor Telnet no tenia. Es a dir, que ens permet connectar-nos des de qualsevol lloc del mon amb internet als nostres servidors d’una manera segura, així que si patim un man in the middle els paquets que veurà estaran encriptats. S’utilitza en grans empreses o grans infraestructures, ja que et permet administrar sense estar físicament al lloc. També es pot utilitzar en petites empreses, ja que no has d’estar treballant en el CPD, sinó estas al teu lloc amb connexió i pots administrar sense problemes. Tema hosting, si tens una web allotjada a internet, encara que tinguis un panell de control, potser necessites fer alguna cosa que a través d’aquell panell no t’ho permeti.
El servidor web apache2 esta implementat utilitzant una arquitectura en mòduls molt semblant al kernel de Linux.
Per consultar els mòduls compilats dins el codi de l'apache.
Per instal·lar mòduls addicionals ho podem fer modificant fitxers de configuració, sense necessitat de recompilar l'Apache.
Dos directoris importants dins /etc/apache2
- /etc/apache2/mods-available
- /etc/apache2/mods-enabled
Quan s'activa un mòdul es crea un enllaç simbòlic dels arxius de mods-available o mods-enabled.
Tot mòdul té dos fitxers de configuració.
- modul.load. (En temps de càrrega)
- modul.conf. (En temps de configuració)
Seguim les instruccions de la web d'Ubuntu.
https://help.ubuntu.com/community/ApacheMySQLPHP
Com ja el tenim instal·lat només haurem d'iniciar el servei de php i reiniar el d'Apache.
Creem el arxiu de informació de PHP.
Anem a comprovar que el PHP funciona correctament
Creem un nou arxiu php a...
/var/www/html
Aquesta és la carpeta per defecte a on buscarà obrir els arxius apache2
A continuació, executem la comanda:
nano /var/www/html/phpinfo.php
El contingut serà el següent
<html>
<head>
<title>PHPINFO</title>
</head>
<body>
<?php
echo phpinfo();
?>
</body>
</html>
Si ara carreguem aquest arxiu al navegador, ens mostrarà la informació de la nostra configuració. (Treu aquesta imatge i afegeix la teva al teu informe)
Per afegir un àlies primer de tot haurem d’activar el mòdul d’apache2 amb
a2enmod alias
Per defecte ja hauria de venir activat!!!
Un cop activat modificarem l’arxiu de configuració que serà on afegirem l'àlies
nano /etc/apache2/mod-enabled/alias.conf
Abans del tancament de l’etiqueta afegirem les línies de la imatge
Guardarem l’arxiu i reiniciarem Apache.
Accedim amb el navegador a (compte amb la última barra):
Caldria posar-hi un index.html a dins el directori /home/usuari/public_html/ i donar permisos a tot plegat. Crear el nou arxiu i l’emplenar-ho amb un text simple
Creem un arxiu que ens mostrara el nostre alias, en la zona habilitada.
Podem canviar l’usuari i grup propietaris amb les comandes CHOWN i CHGRP
Amb aquest nou arxiu ja no es carregarà l’arbre d’arxiu del directori sinó aquest arxiu en el navegador
Per tal de poder crear scripts i seguint el manual
https://help.ubuntu.com/community/ApacheMySQLPHP
Comprova en quin lloc del sistema de fitxers ha quedat instal·lat el mòdul de php. Pots utilitzar la comanda dpkg.
Comprovem on han quedat instal·lat els fitxers.
Per instal·lar la documentació primer de tot anem a la web oficial de php per descarregar-la. https://www.php.net/docs.php
Un cop descarregada la documentació la descomprimim en el directori /var/www/html i canviem el nom de la carpeta mare a doc/.
Hauries de poder-hi accedir fent http://localhost/doc/
Un cop el tinguis instal·lat accedeix a la primera pàgina del tutorial de php i executa l'exemple de "hola mon": http://ipservidor/doc/tutorial.firstpage.html
Creem el arxiu helloworld.php en el nostre servidor apache.
Comprovem que s’executa codi php en el nostre servidor. Amb el PHP instal·lat en el servidor printaria “Hola Mundo” en el navegador.
En el navegador, només veuríem el codi generat per el servidor, es a dir, que no es veuria el nostre codi php, ja que s’executa en el costat del servidor.