Requisits previs
Instal·leu el servidor web Apache 2.4
Desactivació dels índexs
Directoris d'usuaris
Amfitrions virtuals
Requisits previs
- Un servidor Vultr amb Arch Linux actualitzat. Consulteu aquesta guia per obtenir més informació.
- Accés Sudo.
- Les ordres que cal executar com a root tenen el prefix
#, i les que es poden executar com a usuari normal per $. La manera recomanada d'executar ordres com a root és, com a usuari normal, posar-hi el prefix a cadascuna d'elles amb sudo.
- Teniu instal·lat un editor de text i familiaritzeu-lo, com ara
vi, vim, nano, emacsetc.
Instal·leu el servidor web Apache 2.4
Si utilitzeu un tallafoc, haureu d'habilitar el trànsit TCP entrant al port 80.
Instal·leu Apache:
# pacman -S apache
Inicieu Apache i feu-lo començar després de cada arrencada:
# systemctl enable --now httpd
Proveu que Apache s'està executant. Visiteu http://YOUR-SERVER-WEB-ADDRESS-OR-IP, i veureu una pàgina que mostra "Índex de /". Executeu ip addrsi necessiteu saber l'adreça IP.
El fitxer de configuració d'Apache és /etc/httpd/conf/httpd.conf. Tot i que Apache l'inicia l'usuari root, User httpfa que canviï immediatament a l'execució com a usuari per motius de seguretat. DocumentRoot "/srv/http"estableix on buscarà els fitxers web. CustomLog "/var/log/httpd/access_log" commonestableix on es registraran els accessos a Apache que tinguin èxit. ErrorLog "/var/log/httpd/error_log"estableix on es registrarà l'accés a Apache que l'error.
Desactivació dels índexs
Per defecte, si Apache rep un directori que no troba un fitxer d'índex amb una extensió per a la qual està configurat, generarà automàticament un índex que mostra el contingut del directori. Això es pot considerar una vulnerabilitat de seguretat. Per desactivar-lo, editeu /etc/httpd/conf/httpd.confi dins de <Directory "/srv/http">, des de Options, suprimiu Indexes. Un cop reiniciat, Apache donarà un "Accés prohibit!" missatge d'error, tret que /srv/http/index.htmlexisteixi un fitxer semblant .
Reinicieu Apache:
# systemctl restart httpd
Directoris d'usuaris
Per defecte, el ~/public_html/directori d' un usuari es mostrarà a http://YOUR-SERVER-WEB-ADDRESS-OR-IP/~USERNAME/. Però, l'usuari httpha de tenir accés de bits executables al directori d'usuari i al seu public_htmldirectori:
$ mkdir ~/public_html
$ chmod o+x ~/
$ chmod o+x ~/public_html
A més, l'usuari httpha de tenir accés de lectura a fitxers individuals. Si cal, executeu l'ordre següent:
$ chmod o+r ~/public_html/<FILES>
Si voleu desactivar els public_htmldirectoris de l'usuari perquè estiguin al vostre servidor web, independentment dels permisos de directoris i fitxers, comenteu aquesta línia (afegiu #-lo al començament) a /etc/httpd/conf/httpd.conf:
Include conf/extra/httpd-userdir.conf
Reinicieu Apache:
# systemctl restart httpd
Amfitrions virtuals
Podeu allotjar diversos noms de domini des del mateix servidor Apache i oferir-los contingut diferent.
Creeu una carpeta per contenir les configuracions de l'amfitrió virtual:
# mkdir /etc/httpd/conf/vhosts
Creeu un fitxer de configuració per a cada host virtual, com ara /etc/httpd/conf/vhosts/YOUR-DOMAIN-NAME.com:
<VirtualHost *:80>
ServerAdmin webmaster@YOUR-DOMAIN-NAME.com
DocumentRoot "/srv/YOUR-DOMAIN-NAME.com"
ServerName YOUR-DOMAIN-NAME.com
ServerAlias YOUR-DOMAIN-NAME.com
ErrorLog "/var/log/httpd/YOUR-DOMAIN-NAME.com-error_log"
CustomLog "/var/log/httpd/YOUR-DOMAIN-NAME.com-access_log" common
<Directory "/srv/YOUR-DOMAIN-NAME.com">
Require all granted
</Directory>
</VirtualHost>
Feu el directori de servei de l'amfitrió virtual:
# mkdir /srv/YOUR-DOMAIN-NAME.com
Al final de /etc/httpd/conf/httpd.conf, inclou cadascun d'aquests fitxers de configuració de l'amfitrió virtual:
Include conf/vhosts/YOUR-DOMAIN-NAME.com
Reinicieu Apache:
# systemctl restart httpd
Les sol·licituds que Apache rep a YOUR-DOMAIN-NAME.coms'atendran des de /srv/YOUR-DOMAIN-NAME.com. Tingueu en compte que les sol·licituds a Apache que no coincideixin amb una adreça IP específica ServerNameo ServerAlias, només amb l'adreça IP o amb un altre nom de domini que es resolgui amb la vostra IP, encara es serviran des del primer host virtual inclòs. Dit això, encara hauríeu de considerar que qualsevol cosa del general DocumentRoot, que per defecte és /srv/http, sigui d'alguna manera accessible.