Instal·lar composer de forma global al nostre servidor Debian

Instal·lar composer de forma global al nostre servidor Debian

Per aquells que no el coneguin encara, Composer es un popular administrador de dependències per PHP que ens facilitarà l'instal·lació i manteniment de cualsevol projecte web. Amb composer podem instal·lar les dependències de les nostres aplicacions, fins i tot si aquestes dependències requereixen d'unes altres, etc. Tot plegat sota el directori /vendor.

En aquest tutorial, instal·larem i configurarem Composer per poder tenir-lo disponible en un entorn com Debian. 🚨 Anticipem que no és el més recomanable en entorns de producció o entorns finals. (Per aquests casos vindràn futures guíes)

Instal·lant les dependències

Abans d'instal·lar composer en el nostre servidor, hem d'estar segurs de que tenim totes les dependències necessàries instal·lades i actualitzades. Així doncs, executem el següent:

sudo apt update

Actualitzat apt, anem a instal·lar les dependències, si no les tenim ja instal·lades. Necessitarem curl per descarregar composer, php-cli per instalar-ho i executar-ho. El paquet php-mbstring es necessari per a una llibrería que utilitzarem. git si no el tenim ja, l'utilitzarà composer per descarregar els projectes i les seves dependències. I per acabar unzip per extreure els paquets.

Tot això ho podem fer amb una sola comanda:

sudo apt install curl php-cli php-mbstring git unzip

Si tot ha anat bé, ja ho tenim tot llest per començar.

Descarregant i instal·lant Composer

Composer ens proveeix d'un instal·lador en PHP. Podem descarregar-lo, comprobar que no s'ha corromput i instal·lar-ho. Tot de forma fàcil i ràpida.

Podem anar a la pàgina de Descarga de Composer i ens trobarem amb unes comandes per executar, que us expliquem:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

La primera línia ens descarregarà l'instal·lador de composer en PHP:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"


A continuació el que fem és comprovar que el hash de l'arxiu descarregat coincideix amb el hash que ens diuen des de Composer què ha de tenir. Amb això ens assegurem que l'arxiu està intacte, no està corromput i és el que esperem. Si no és així, ho elimina:

php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Quan validem l'arxiu, hauríem de veure el missatge: Installer verified. De no ser així, aquest s'eliminarà i haurem de tornar a descarregar-ho. És que alguna cosa està malament. Revisar a la pàgina web de Composer que el Hash és correcte i la versió també. És possible que en el lapse de temps la informació que us estic donant canviï.

Per a instal·lar Composer globalment, usarem una modificació del que, des de la pàgina de composer ens proporcionen:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Això ens instal·larà composer de forma global dins de /usr/local/bin i això farà que podem accedir-hi amb la comanda "composer" des de cualsevol lloc de la nostra màquina.

Axecutem també aquesta altra, i última, comanda que ens borrarà l'instal·lador del nostre directori:

php -r "unlink('composer-setup.php');"

I ja es hora de testejar que això ens funciona. Així que escribim:

composer

I amb això hauríem de veure alguna cosa similar al següent, al marge de que poden ser versions diferents:

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.1.6 2021-08-19 17:11:08

Usage:
  command [options] [arguments]
  . . .

A partir de d'aquí, ja tenim composer instal·lat globalment, i ja podem utilitzar-ho a tots els projectes que desitjem! 💪

Si heu tingue algun problema o teniu elgun dubte, ens ho podeu deixar als comentaris!