blog personal amb domini .CAT propi, distribució i hospedatge per menys de 7€/any

Avui és un dia trist professionalment parlant perquè el passat divendres en Tomas Nuñez, company de feina amb qui m’ho he passat molt bé durant els darrers 2 anys, va finalitzar el contracte i ha marxat al Canada a començar una nova experiència  aprofito el post per desitjar-li tota la bona sort en la seva nova aventura on estic convençut que s’ho passarà molt bé!

A més, també cal remarcar que la motivació inicial de trastejar tot l’esmentat en aquest post va néixer sopant amb els ex-companys de la EGB, on un d’ells, l’Estanis Plantada, un geògraf viatger apassionat de la bicicleta vol fer montar-se un site per anar publicant les seves experiències.

Dit això, vaig per feina, en aquest post us explicaré com publicar un blog (en el meu cas el que tenia en la RaspberryPi) en el “cloud” (Amazon) on l’hi traurem un millor rendiment per menys de 8€ el primer any, no entraré molt en detall tècnic, únicament el que és important és tenir recopilades TOTES les funcionalitats implementades amb un cost molt baix, alhora, recopilo els links de les diferents fonts que he anat coneixent i jugant. Per a cada punt teniu el link de les fonts consultades on he tret la informació.

    • Registre de domini

En poc menys d’uns mesos els dominis .puntCAT han baixat molt el seu preu, vaig repassar els registradors i el més econòmic va ser CDMON que per 6.95€. Els amics de Google han llençat als EUA, Canada i ha algun país més el projecte GYBO, on pots conseguir gratis el primer any el registre de un 1 domini amb TLD del tipus .ORG .COM .CA .IN, després val 5$/mes.

    • Distribució i securització del blog gràcies a la CDN de CloudFlare

Si volem minitzar el trafic entre el usuari final i el hosting que tindrem en Amazon, podem activar gratuitament la funcionalitat de CDN de Cloudfare, a més, també hi afegim un petit control de seguretat. L’unic inconvenient és que la versió gratuita no soporta la distribució de continguts utilitzant el protocol segur HTTPS.

Muntem un node virtual en Amazon EC2 on hi posarem el blog (en el meu cas he migrat el blog de la RaspberryPi), aquí és on els tècnics posem més de la nostre part :). A més, cal remarcar que tindrem control total d’una maquina virtual en 1 dels CPD’s, molt útil per qualsevol tècnic que ho munti on ho aprofitarà per trastejar i implementar altres eines (ja podeu estar segurs). A destacar! tenim gratis fins a un volum de 30GB en Amazon S3! (podem muntar un owncloud i ja tenim més que GoogleDrive i Dropbox!)

Doncs tot això ho tenim muntat en poc més d’unes hores on només hi hem invertit menys de 7€!

Publicant Jira per httpS

Si mai heu de publicar la aplicació de ticketing de l’empresa a internet, aqui us deixo un petit how-to de com ho he fet amb el JIRA.

Els objectius, per variar, son principalment tenir alta disponibilitat i securitzar la publicació. Per aquest motiu ho podem fer com a minim amb 2 VLAN’s, frontend i backend, on en el frontend posarem un nginx i en el backend posarem la aplicació de JIRA.

En el frontend posarem un servidor nginx que farà de proxypass cap el backend, en ell delegarem la negociació SSL del httpS. Aquest servidor nginx el posarem a sobre d’una plataforma virtualitzada on hi aplicarem HA, a més, podem afegir tenir un actiu-passiu utilitzant pacemaker o keepalived. Finalment hi posarem un filtrat per accedir a la part de administració de la aplicació.

En el backend hi tindrem el servidor JIRA, on aqui la alta disponibilitat només la hem aplicat a nivell de màquina virtual, ja que la aplicació JIRA no està preparada per tenir-la clusteritzada.

Finalment us deixo els fitxers de configuració, el del virtualhost del nginx:

server {
    listen x.y.z.w:80;
    server_name jira.example.com;
    rewrite        ^ https://$server_name$request_uri? permanent;
}
server {
    listen x.y.z.w:443 ssl;
    server_name jira.example.com;
    ssl on;
    ssl_certificate /etc/nginx/ssl/crt/concat.pem;
    ssl_certificate_key /etc/nginx/ssl/key/example.key;
    location / {
        client_max_body_size 10M;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header Host $host;
        proxy_pass http://http-jira/;
        proxy_redirect off;
    }
    include security_jira.conf;
}

Per tal de securitzar l’accés a la part de administració del Jira, us adjunto el fitxer security_jira.conf

Finalment en el servidor de java-standalone hem de indicar que el les url’s les ha de montar amb el https, indicant el nom de domini i el port el cual faran les seguents peticions:

scheme="https"
proxyName="jira.example.com"
proxyPort="443"

Quedarà el fitxer així:

...
    <Service name="Catalina">
        <Connector port="8080"
                   maxThreads="150"
                   minSpareThreads="25"
                   maxSpareThreads="75"
                   connectionTimeout="20000"
                   enableLookups="false"
                   maxHttpHeaderSize="8192"
                   protocol="HTTP/1.1"
                   useBodyEncodingForURI="true"
                   redirectPort="8443"
                   acceptCount="100"
                   disableUploadTimeout="true"
                   scheme="https"
                   proxyName="jira.example.com"
                   proxyPort="443"
/>
....

A disfrutar!