IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Introducció

En aquest article ens enfocarem en alguns detalls del Forge com, que fa, com funciona i com pot ser utilitzat.

Homestead és una forma de desenvolupar els sites laravel en local que ens proporciona un entorn coherent i una sèrie d'eines de desenvolupament aprovades pel mateix Taylor Otwell, creador del laravel. Actualment, les eines que utilitza el homestead son: Nginx, MySQL/PostgreSQL, Beanstalk, Redis, Memcached i PHP 5.5. Per a tindre una idea més general, podríem resumir Homestead com un Vagrant preconfigurat que coincideix amb les eines i requeriments proporcionats per Forge.

Forge és una forma d'allotjar els sites laravel en un entorn consistent, predictible i flexible. És un PAAS que gestiona i simplifica el desplegament del seu codi en fase de implementació a DigitalOcean, Linode, Amazon EC2 o Rackspace.


Autenticació amb GitHub

Per tal permetre a Forge l'accés al codi dels sites, just després de registrar-se, s'ha d'anar dashboard per donar permís a Forge per accedir al Github.

Una vegada creat un site, se podrà accedir a aquest en qualsevol moment mitjançant SSH, però el funcionament del Forge està molt automatitzat de forma que l'implementació de codi se realitza directament del Github, de forma que tots els canvis seran sobreescrits al fer un deploy.


Autenticació amb Cloud Proveder

A la pàgina dels servidors del forge podem veure la primera opció que ens deixen realitzar que és crear un servidor nou en qualsevol dels varis hosts disponibles.

Actualment, els quatre hosts que es poden utilitzar amb Forge son DigitalOcean, Linode, Rackspace i Amazon. Tots ells permeten a l'usuari o a un servei com Forge actuar en el teu stead per tal de configurar els paràmetres necessaris a la màquina virtual en la qual s'executarà el teu lloc web. Amb la creació de Homestead i Forge, la intenció de Taylor Otwell va ser crear un únic entorn tan per al desenvolupament com per a la implementació dels projectes laravel de forma que l'ambient sigui el mateix independentment del servidor que s'utilitzi.


API keys

Per tal de de donar-li permís de control a Forge sobre els nostres servidors, haurem de configurar-lo amb informació com pot ser els API keys.


Creació d'un Servidor

Una vegada som capaços d'iniciar sessió amb forge, ja podem procedir a la creació del nostre primer servidor.

Creació d'un servidor nou.


Nom

Cada servidor ha de tenir un nom únic. El forge, de la mateixa forma que github, ens autogenera una sèrie de noms sense sentit com a proposta. Hem de tindre en compte que el nom no es pot repetir en tot el proveïdor, per tant, si volem ficar un nom bastant comú, segurament el forge no ens ho permetrà.


Mida

Cadascú pot triar la mida que li doni la gana. L'únic que s'ha de tindre en compte és que podem començar pel pla més econòmic i anant-lo actualitzant segons sigui necessari però una vegada actualitzat no podrem anar cap enrere per raons més que obvis.


Regió

Els hosts tenen servidors a través de tot el món. Si no tenim cap criteri relacionat amb l'infraestructura per triar una regió en particular, simplement podem triar la regió més propera.


Base de Dades

Si s'introdueix un nom de base de dades ens estalviarem el pas de crear una base de dades a posteriori.


Configuració del servidor

Un vegada tenim el servidor creat i funcionant, podem procedir a la creació del nostre primer site indicant el demini (domain) i el directori a on s'allotjaran els projectes (Web Directory).


Creació d'un site nou.


Podem veure que el site realment s'ha creat a la part de baix.


Els sites del servidor.


Cada servidor forge disposa dels sites que valguéssim amb una única regla fixa que és que sempre haurà una relació d'un site per repositori.


SSH key

Es recomanable i de fet obligatori per defecte configurar una clau SSH per tal de poder accedir al servidor. Si no sabem com generar una clau SSH, podem consultar l'article [[Gestió_Remota._SSH,_RSYNC,_X-WINDOWS#Generaci.C3.B3_de_claus._ssh-keygen |següent].


Configuració de la clau publica.


Configuració del Site

Assignem un repositori al site, en aquest cas Github, indicat l'usuari i nom del projecte. Si el funcionament del projecte depen de les dependències de composer, marquem el checkbox Install Composer Dependencies.


Configuració d'un site.


Per tal d'evitar errors, baix tenim l'opció de configurar el Nginx abans d'instal·lar el repositori. Normalment el root no apunta al directori del repositori a on està l'index i per tant ens surt un error al intentar accedir via web. Una vegada configurat tot el necessari ja podem instal·lar el repositori.


Configuració Nginx.


Després de crear el site i instal·lar el repositori, tindrem una sèrie d'opcions molt pràctiques i simples d'utilitzat com Enable Quick deploy per a actualitzar el projecte cada vegada que se realitzi un push al github, Deploy Now per a actualitzar el projecte manualment, Edit Deploy Script o visualitzar el log.


Implantació del codi.


Environment

A l'apartat Environment se configuren els variables de configuració a la base de dades del fitxer .env del projecte laravel. Les variables mínimes que s'han de configurar son les següents:


Variables mínimes a configurar.


Una forma més fàcil i ràpida de configurar les variables seria accedir directament al fitxer .env del servidor.

$ ssh [email protected]_servidor
$ cd nom_del_site
$ cp  .env.example .env
$ nano .env
DB_DATABASE=nom_base_de_dades
DB_USERNAME=usuari_de_la_base_de_dades
DB_PASSWORD=contrasenya_de_la_base_de_dades
APP_KEY=app_key (consultar la del projecte en local o generar un altra mitjançant php artisan key:generate )
DB_HOST=ip_base_de_dades

NOTA: La majoria de les dades necessàries per a configurar les variables mínimes les tindrem al nostre correu.


Si tot ha anat bé fins al moment, el site estarà en funcionament i ja podríem accedir via web o sigui per IP o el domini indicat anteriorment.


La nostra pàgina publicada mitjançant Forge i DigitalOcean


See also

External links