Installer un serveur Lemp à l’aide de MacPorts

Installer MacPorts

Présentation

MacPorts, anciennement DarwinPorts, est un gestionnaire de paquets libre qui simplifie l’installation de paquets libres sous Mac OS X et Darwin (ou OpenDarwin). C’est un projet gratuit et open source qui permet de simplifier l’installation d’autres logiciels open source. L’objectif est le même que celui de Fink. Le projet DarwinPorts a débuté en 2002 et faisait partie du projet OpenDarwin. De nombreux employés d’Apple comme Landon Fuller, Kevin Van Vechten ou bien encore Jordan Hubbard y ont participé.

Cet outil permet l’installation de nombreux packages grâce à la commande sudo port install packagename dans le Terminal. Cette commande permet de télécharger et ensuite, si nécessaire, de compiler et installer le logiciel demandé ainsi que toutes les dépendances automatiquement. Les packages installés peuvent être mis à jour avec la commande sudo port upgrade installed.

La version officielle 1.0 est sortie le 28 avril 2005. En décembre 2005, le projet a atteint un cap en atteignant les 3000 portages. En aout 2010, MacPorts 1.9.1 avait atteint les 7000 portages. Depuis mars 2013, MacPorts 2.1.3 a dépassé les 16500 portages.

MacPorts est actuellement hébergé sur Mac OS Forge, un service d’hébergement open source créé et maintenu par Apple Inc. pour les projets tiers.

MacPorts supporte la compilation universelle des binaires pour les versions PowerPC et Intel de Mac OS. La migration d’une installation PowerPC de MacPorts vers une version Intel nécessite de recompiler l’ensemble des packages installés. Pallet est l’interface graphique officielle de MacPorts et est devenu un projet Google Summer of Code depuis 2009.

Installation

Pour installer et utiliser MacPorts , il est nécessaire d’installer:

  • Xcode
  • MacPorts

Il faut télécharger MacPorts, il faut télécharger l’installation correspondant au bon système d’exploitation MacOS à tapant l’url suivante : https://www.macports.org/install.php

Il faut ensuite lancer l’application en cliquant le sur .pkg correspondant :

Ensuite, il suffit de suivre les étapes d’installation qui sont très didactiques :

Installer PHP 7.3 à l’aide de MacPorts

Installer php

Ensuite, vous pouvez installer php74 simplement en utilisant la commande port suivante :

sudo port -v selfupdate
sudo port install php73

Si vous êtes chez orange paramétrer le pare-feux en laissant ouvert le 873 (port par default de rsync)

Installer php-fpm (FastCGI Process Manager)

sudo port install php73-fpm

Installer divers modules php

sudo port install  php73-curl php73-gd php73-iconv php73-imagick php73-mcrypt php73-memcache php73-mysql php73-xdebug php73-openssl php73-zlib php73-intl php73-openssl

Créer les fichiers de configuration

cd /opt/local/etc/php73
sudo cp php.ini-development php.ini
sudo cp php-fpm.conf.default php-fpm.conf
sudo cp /opt/local/etc/php73/php-fpm.d/www.conf.default /opt/local/etc/php73/php-fpm.d/www.conf

Sélectionner php73 par défaut

sudo port select php php73

Démarrer la service php-fpm

sudo port load php70-fpm

Tester que php-fpm fonctionne correctement

Exécutez l'une des commandes ci-dessous pour vous assurer que PHP-FPM écoute sur le port 9000:
sudo lsof -Pni4 | grep LISTEN | grep php
sudo lsof -nP -iTCP:9000 -sTCP:LISTEN

Le serveur web

Installation

sudo port install nginx +ssl

Configuration de Nginx pour fonctionner avec php-fpm (port 9000)

sudo nano /opt/local/etc/nginx/nginx.conf
error_log  logs/error.log;
error_log  logs/error.log  notice;
error_log  logs/error.log  info;
user www;
worker_processes 1;
events {
        worker_connections 1024;
}

http {
        include mime.types;
        default_type application/octet-stream;
        server {
                listen 80;
                server_name localhost;
                charset utf-8;

                location / {
                        root  /opt/local/www;
                        index index.php index.html index.htm;
                }
                error_page   500 502 503 504  /50x.html;
                         location = /50x.html {
                         root   share/nginx/html;
                 }

                 location ~ \.php$ {
                           root           /opt/local/www;
                           fastcgi_pass   localhost:9000;
                           fastcgi_index  index.php;
                           include        fastcgi.conf;
                 }
        }
}
sudo mkdir -p /opt/local/www
sudo nano /opt/local/www/index.php
<?php
  phpinfo();
 sudo nano /opt/local/etc/php73/php-fpm.d/www.conf
user = www
group = www
sudo chown -R www:www  /opt/local/www
sudo port reload nginx

Taper l’url suivante : http:// localhost dans votre navigateur préféré :

Php est fonctionnel !

Système de gestion de base de données MariaDB

Installation

sudo port install mariadb-server

Sécurisation

sudo port load mariadb-server
sudo -u _mysql /opt/local/lib/mariadb/bin/mysql_install_db
/opt/local/lib/mariadb/bin/mysqladmin -u root password 'yourpass'
mysql_secure_installation

Vous devriez maintenant pouvoir vous connecter à la base de données en tapant la commande suivante :

mysql -u root -p