Pt11 - Múltiples hosts
Contingut
Enunciat
Configura l'Apache en un CentOS 7 de manera que se serveixin els 3 següents hosts:
- phpmyadmin.domini.cat
- www.domini.cat
- wordpress.domini.cat
Procediment
Partiré d'una instal·lació minima de CentOS 7 amb IP 192.168.56.100
i hostname m08uf2pt11
. L'administració de la màquina es farà via SSH des de la màquina amfitriona.
Requeriments
Apache
Començarem instal·lant el servidor web Apache com hem fet habitualment
yum install httpd -y
Quan ja tinguem instal·lat el servidor web, l'engegarem i activarem l'arrencada automàtica
systemctl start httpd systemctl enable httpd
SELinux
deshabilitarem SELinux temporalment amb
setenforce 0
Firewall
i obrirem el port 80 al firewall per a poder accedir remotament a la web de la màquina virtual:
firewall-cmd --add-service=http --permanent firewall-cmd --reload
wget
Necessitarem wget per tal de descarregar arxius des de la xarxa:
dnf install wget -y
Si fins aquí ho tenim tot bé, podrem navegar a http://192.168.56.100 i veurem la test page de CentOS.
Wordpress
Descarregarem l'última versió estable des de la pàgina oficial utilitzant wget:
wget https://wordpress.org/latest.tar.gz
El descomprimirem
tar -xzf ./latest.tar.gz
I copiarem el directori extret del tar cap a un subdirectori del ServerRoot per defecte d'Apache:
mv wordpress /var/www/html/wordpress
Un cop acabat, podrem comprovar el funcionament navegant a http://192.168.56.100/wordpress
PHPMyAdmin
Primer de tot instal·larem PHP per a poder interpretar els arxius que utilitza aquest programa:
yum install php
Haurem d'habilitar el repositori EPEL per a instal·lar PHPMyAdmin:
yum install epel-release -y
i instal·larem el paquet
yum install phpmyadmin
una vegada instal·lat, haurem de modificar l'arxiu /etc/httpd/conf-d/phpMyAdmin.conf
per a permetre accedir remotament des de la xarxa. Modificarem la secció següent de manera que quedi una directiva Allow from all
:
(...) <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Allow from All #Allow from 127.0.0.1 #Allow from ::1 </IfModule> (...)
Fet això, reiniciarem el servei per recarregar la configuració nova:
systemctl restart httpd
Una vegada acabat aquest subapartat, tindrem accés a la interfície de PHPMyAdmin a través de http://192.168.56.100/phpmyadmin
Arxiu /etc/hosts de l'amfitrió
Haurem de modificar l'arxiu de resolució de noms local, de la màquina amfitriona, de manera que el host guillem.sola
i tots els subdominis necessaris apuntin a 192.168.56.100
Afegirem la línia
192.168.56.100 guillem.sola www.guillem.sola phpmyadmin.guillem.sola wordpress.guillem.sola
Una vegada tinguem aquests requeriments coberts, podem passar al següent apartat: configuració del servidor web per tal de mostrar cada pàgina (testing, Wordpress i PHPMyAdmin) des de subdominis diferents.
Configuració de l'Apache
Per a aconseguir el comportament del servidor que es demana, haurem de fer servir els anomenats VirtualHost del servidor web Apache.
Començarem creant un arxiu de configuració nou sota /etc/httpd/conf.d
que es digui www.conf
i hi posarem el següent contingut:
<VirtualHost *:80> DocumentRoot /var/www/html ServerName guillem.sola ServerAlias www.guillem.sola </VirtualHost>
Crearem un altre arxiu wordpress.conf
amb el contingut:
<VirtualHost *:80> DocumentRoot /var/www/html/wordpress ServerName wordpress.guillem.sola </VirtualHost>
i per últim, un arxiu phpmyadmin.conf
(aprofitant que el sistema de fitxers és case-sensitive per a diferenciar del phpMyAdmin.conf que es crea per defecte)
<VirtualHost *:80> DocumentRoot /usr/share/phpMyAdmin ServerName phpmyadmin.guillem.sola </VirtualHost>
- Nota: en aquest cas, el DocumentRoot el configuro de manera que sigui on s'ha instal·lat el PHPMyAdmin. Si l'instal·lem des del repositori EPEL, la ruta serà la d'aquest cas. Per altra banda, si instal·léssim des de la pàgina oficial (a l'estil que hem fet el WordPress), el DocumentRoot seria el que nosaltres haguéssim triat.
Resultat