Tenir un servidor web a casa

  • El consultor informàtic Joan Jofra ens proposa cada setmana solucions dels problemes informàtics

VilaWeb
VilaWeb
Joan Jofra
20.12.2014 - 06:00

La premsa lliure no la paga el govern, la paguen els lectors


Fes-te de VilaWeb, fem-nos lliures

Fa algunes setmanes que parlem de la manera de fer el nostre propi web o bloc i de guanyar diners a través seu o d’aprendre a programar un llenguatge de pàgines web. Ja us haureu adonat que una de les eines més importants per a fer-ho és tenir un servidor web. Al mercat hi ha molta gent que està disposada a llogar-nos un servidor, però què millor sinó tenir el nostre propi servidor web a casa?

Avui és un tema per als qui estan familiaritzats amb els ordinadors: per als no iniciats pot ser una mica més complicat de posar en pràctica, però lúnica cosa impossible és la que no sintenta!

Un servidor, bàsicament, és un ordinador que té ‘clients’ que són els ordinadors que s’hi connecten i els dóna una resposta, normalment en forma de pàgina web.

Si només volem fer pràctiques nosaltres, l’adreça IP interna que té el nostre ordinador ja ens servirà, però si volem accedir des de qualsevol lloc o, encara millor, que la resta del món pugui accedir a la nostra web, necessitarem una adreça IP pública.

Una IP pública

Quan ens connectem a internet sempre fem servir una adreça IP pública. Si voleu saber quina és la vostra ara mateix, aneu a Cualesmiip.com i ho sabreu. Si voleu tenir-la sempre a la vista, hi ha un petit programet per a Windows, ShowMyIP, que fa exactament això, o bé MyIPAddressque mostra l’adreça pública i la privada. I per a Mac teniu MyIP.

El problema és que el nombre d’adreces IP és limitat i el vostre proveïdor d’internet us ‘deixa’ aquesta adreça per una estona, unes quantes hores, un dia…, així que si algú vol anar a veure una web que sigui a casa vostra, teniu dues solucions: llogar una adreça pública fixa (solució cara) o fer servir un servei de DNS amb adreces IP dinàmiques com Noip.comNoip.com us faran instal·lar un programet al vostre ordinador perquè vagi informant els seus servidors de quina és en cada moment la vostra adreça IP pública i així ells la poden canviar als seus DNS. De manera gratuïta us donaran una adreça tipus elvostrenom.ddns.net: amb aquesta adreça podreu accedir a l’encaminador (‘router’) de casa vostra.

Ara, sempre és més bonic que la gent accedeixi al vostre servidor amb el vostre domini. Si ja teniu o penseu tenir un domini propi, com per exemple elmeudomini.cat, haureu d’afegir una sentència CNAME al vostre DNS que lligui l’adreça que voleu fer servir, per exemple ‘blog.elmeudomini.cat‘, amb el nom que us han donat gratuïtament a Noip.comaixí és com hauria de quedar el vostre DNS (no us oblideu dels punts al final de la ratlla):

$ORIGIN elmeudomini.cat.blog

IN     CNAME     elvostrenom.ddns.net.


Redirigir el trànsit del router

Les complicacions no s’acaben aquí. Fins ara hem aconseguit que si algú vol visitar una web que tinguem a casa arribi fins el router, però, de moment, del router no passa.

El router té per missió separar la xarxa dinternet de la xarxa de casa i per això tots els ordinadors que tinguem disposaran d’una adreça IP interna en format 192.168.xxx.yyy. Doncs bé, hem de configurar el router perquè tot el que arribi d’internet adreçat al port 80 (el de la web) ho redirigeixi al nostre ordinador (el que tindrà el servidor web). Daixò, sen diu redirecció de ports i acostuma a estar sota un menú de configuració avançada (imatge 1).

Heu de saber quina serà l’adreça IP interna del vostre ordinador/servidor, i aquesta adreça haurà de ser sempre la mateixa. Per saber quina és la vostra IP interna podeu fer servir una petita utilitat per a Mac que us la mostrarà a la barra de menú, IPinmenubar, o anar directament a la ‘Utilitat de xarxa’ que tenen tots els Mac. I per a Windows podeu fer servir MyIPAddress, que us mostra tant la IP interna com l’externa. Per configurar el router, poseu l’adreça del router al vostre navegador (proveu amb 192.168.1.1), entreu el codi d’usuari i contrasenya (proveu amb 1234 a tots dos llocs) i cerqueu el menú de configuració.

Cada encaminador té unes ordres diferents, a la mateixa pàgina de Cualesmiip.com trobareu moltíssims tutorials per a obrir i redirigir els ports del vostre router.

Els programes pel nostre servidor

El món ja ens pot veure perquè tenim una IP pública. Ja hem modificat el DNS i el router és configurat. El millor conjunt de programes per a posar en marxa una web és el LAMP (Linux Apache MySQL PHP).

La primera inicial, la L de Linux, és important, però no imprescindible. Ja veureu com sense Linux també ens espavilem amb el Windows i el Mac OSX.

La segona inicial, la A d’Apache, és estrictament el servidor web, el programari que converteix el nostre ordinador en un servidor web.

La tercera inicial, la M de MySQL, és un gestor de bancs de dades on guardar variables, configuracions, comandes, etc.,  i necessari per a poder instal·lar el WordPress.

I la quarta inicial, la P de PHP, és el llenguatge de programació PHP que permet de generar pàgines dinàmiques al servidor web. I què vol dir pàgines dinàmiques? Doncs que la mateixa pàgina web pot ser diferent i anar canviant depenent de les variables, allò de ‘si passa això fes allò, però si passa allò altre fes aquesta altra cosa’.

Consells mínims per a Linux

No m’explicaré gaire perquè si teniu un ordinador Linux, vol dir que sou una mica espavilats i, normalment, aquests paquets ja són preinstal·lats, però si els heu d’instal·lar en un Redhat, CentOS, Fedora i semblant només haureu de fer:

sudo yum install httpd      (per a fer la instal·lació del servidor web)
sudo service httpd start    (per a posar-lo en marxa)

sudo yum install mysql-server     (per a fer la instal·lació del servidor de banc de dades)
sudo service mysqld start        (per a posar-lo en marxa)
sudo /usr/bin/mysql_secure_installation    (per a afegir seguretat i una contrasenya principal)


sudo yum install php php-mysql          (per a fer la instal·lació del llenguatge PHP)

I, finalment, fer que cada vegada que tornem a posar en marxa la màquina aquests serveis es posin en marxa automàticament:


sudo chkconfig httpd onsudo chkconfig mysqld on

Per a les altres distribucions de Linux, com per exemple Ubuntu, els passos són molt semblant. Només hem de pensar que en comptes del ‘yum’, hem de fer servir ‘apt-get’ i adaptar-nos una mica:

sudo yum install httpd     seria     sudo apt-get install apache2 -y

Com es pot instal·lar a Windows i Mac OSX?

Encara serà més fàcil que per a Linux, perquè els senyors de MAMP (una empresa alemanya anomenada appsolute) han empaquetat de forma gratuïta una solució que, d’una sola vegada, instal·la el servidor Apache, MySQL, PHP i, com a bonus, Python i Perl. Només heu de baixar el programa i fer clic a l’instal·lador.

Les versions d’Apache i de PHP que Apple incorpora als seus ordinadors no sempre són les més recents, i MySQL no és entre els programes que Apple instal·la de fàbrica. Per això, per a simplificar-nos la vida, us recomano que no us compliqueu la vida i aneu a MAMP.

MAMP vol dir Macintosh, Apache, MySQL i PHP, però quan van llançar al mercat la versió per a Windows no van canviar el nom a WAMP, sinó simplement van dir que hi havia la versió MAMP per a Windows.

També hi ha una versió pro per a usuaris avançats que podríeu acabar necessitant si voleu tenir més d’un servidor al vostre ordinador, tenir un servidor de mail postfix, automatitzar un DNS dinàmic, però de moment…

I ara a fer feina

El primer que hem de fer és verificar que el nostre muntatge funciona, així que agafarem un editor de text i crearem el nostre primer programa que anomenarem ‘info.php’ i que, quan executem al nostre servidor, ens informarà de totes les característiques. El contingut del programa és:

<?php
phpinfo();
?>

El guardem al directori principal del nostre servidor, que sabrem quin és perquè en el moment d’instal·lar ens ho ha dit, o perquè el MAMP ens informa. I per saber que internament funciona, escriurem aquesta adreça al nostre navegador:

http://localhost/info.php

Si surt alguna cosa sembant a això (imatge 2) vol dir que tot va bé.

Iper saber que des de fora de casa funciona, hem d’anar a un ordinador extern (el de la feina pot servir, o bé una pissarreta o telèfon amb connexió 3G i 4G, no amb la wi-fi de casa) i fer:

http://blog.elmeudomini.cat/info.php

Iesperar que ens surti el mateix resultat.

Com veieu, fer de servidor és tan important o més que ser ‘servit’. Al final deu ser veritat això que diu que la cosa important és donar, i avui més que mai us recordo que podeu enviar dubtes a @jjofra.

La premsa lliure no la paga el govern. La paguem els lectors.

Fes-te de VilaWeb, fem-nos lliures.

Fer-me'n subscriptor
des de 75€ l'any