Choisir le bon gestionnaire de paquets pour macOS est crucial, en particulier pour les professionnels du droit qui gèrent des informations sensibles. Homebrew et MacPorts offrent tous deux des avantages distincts et sont livrés avec leurs propres avantages et inconvénients. Homebrew brille par sa simplicité, son vaste référentiel et son soutien communautaire actif. C'est un excellent choix pour les développeurs et les utilisateurs occasionnels qui ont besoin d'un accès rapide et facile à une large gamme de logiciels. Cependant, son approche d'installation de logiciels dans des répertoires inscripables par les utilisateurs présente des risques de sécurité importants, ce qui le rend moins adapté aux environnements où la sécurité est primordiale. MacPorts, cependant, excelle dans la fourniture d'un environnement sécurisé et stable. Sa pratique consistant à créer des logiciels à partir de la source et à les installer dans des répertoires système avec des autorisations strictes garantit un niveau plus élevé de sécurité et de fiabilité. Cela devrait faire de MacPorts le choix préféré des professionnels qui traitent des données sensibles, tels que les praticiens du droit.
Cependant, il y a quelques mois, je me suis retrouvé confronté à un problème sur un Mac Mini de 2012 avec MacOs Catalina. Il m'a été impossible d'utiliser HomeBrew. Pour rappel, HomeBrew sera uniquement exploitable sur les systèmes d'exploitation récents d'Apple. Dans cet article, je vous propose la mise en oeuvre de MacPorts sur une ancienne machine de la marque à la pomme.

TABLE DES MATIÈRES

CHAPITRE 1 - PRÉSENTATION DE L'ORDINATEUR
CHAPITRE 2 - QUELQUES RÉGLAGES & INSTALLATIONS
CHAPITRE 3 - ACHAT NOM DE DOMAINE CHEZ OVH

CHAPITRE 4 - INSTALLATION DE MACPORTS
CHAPITRE 5 - INSTALLATION DE OPENSSL
CHAPITRE 6 - INSTALLATION ET GESTION DU SERVEUR APACHE
CHAPITRE 7 - INSTALLATION DE PHP
CHAPITRE 8 - INSTALLATION DE MYSQL
CHAPITRE 9 - INSTALLATION DE PHPMYADMIN
CHAPITRE 10 - INSTALLATION DE JOOMLA
CHAPITRE 11 - MISE EN PLACE DE SSL








CHAPITRE 1 - PRÉSENTATION DE L'ORDINATEUR

Je propose dans cet article d'utiliser MacPorts sur un ancien Mac Mini de 2012. Cet ordinateur ne peut qu'utiliser au maximum MacOS Catalina. Avec son processeur I7 et ses 16go de mémoire, cet machine reste plus que dimensionner pour héberger un serveur Apache.


Le Mac Mini de 2012.

Caractéristiques techniques de l'ordinateur

Caractéristiques technique de l'ordinateur.

  

CHAPITRE 2 - QUELQUES RÉGLAGES & INSTALLATIONS

Afficher les fichiers cachés
defaults write com.apple.Finder AppleShowAllFiles true
killall Finder


Affichage des fichiers cachés.


Installation de Xcode (version 12.4 - Catalina)
Version à télécharger sur le site d'Apple
Exécuter l'application afin de l'initialiser et d'installer les différents composants


Installation de Xcode.

Installation CommandLineTools
xcode-select --install
xcode-select -p --> Vérification que tout est installé correctement



Installation de CommandLineTools.


Installation de l'application GazMask (version 0.8.6). Télachargement à l'adresse suivante :
https://github.com/2ndalpha/gasmask

Cette application permet la gestion du fichier host. Après téléchargement, cette application est à copier dans le dossier "Utilitaires" du Mac.



Installation de Microsoft Visual Studio Code (Version 1.90 pour Catalina). A télécharger sur le site de Microsoft à l'adresse suivante :
https://code.visualstudio.com

Ne pas oublier d'inclure l'application dans le PATH.


Inscription du chemin de l'application dans le PATH.

Création d'un dossier "Sites" dans le dossier de l'utilisateur principal ainsi que des dossiers bsalado.eu et phpmyadmin.
cd /Users/administrateur
mkdir -p Sites
cd /Users/administrateur/Sites
mkdir -p bsalado.eu
mkdir -p phpmyadmin


Création du dossier "Sites" dans le dossier de l'utilisateur.
 

Création du dossier "bsalado.eu" et "phpmyadmin" dans le dossier de l'utilisateur.

CHAPITRE 3 - ACHAT NOM DE DOMAINE CHEZ OVH 

Un nom de domaine est l'adresse Web unique que les utilisateurs saisissent dans leur navigateur pour visiter votre propre site Web. Sans nom de domaine, les gens auraient besoin d'utiliser une chaîne numérique compliquée (appelée adresse IP) pour trouver votre site, ce qui n'est pas facile à retenir ou pratique. Le système de noms de domaine (DNS) aide à convertir les adresses IP difficiles à retenir en noms de domaine conviviaux. Le DNS agit comme un répertoire géant, garantissant que lorsque quelqu'un tape votre nom de domaine dans un navigateur, il est dirigé vers le bon site Web. Ce système permet donc aux gens de naviguer facilement sur Internet sans avoir besoin de mémoriser de longues chaînes de chiffres. Sans nom de domaine, ile sera pratiquement impossible de suivre le chapitre 11 de ce dossier.
Pour acquérir votre nom de domaine , je vous donne rendez-vous chez OVH à l'adresse suivante :

https://www.ovh.com


Site OVH.

CHAPITRE 4 - INSTALLATION DE MACPORTS

Téléchargement de Macports à partir de l'adresse suivante : https://www.macports.org/install.php
Sélection de la version en fonction de la version de MacOS.


Site de téléchargement de MacPort.


Installation de MacPorts.


Installation de MacPorts.

Avant de commencer, il faut savoir que MacPorts s'installe dans le dossier /opt/local. Vous pouvez regarder dans Macintosh HD, il y a bien un nouveau dossier opt. Le problème, c'est que la commande de MacPorts se trouve dans ce dossier, et que celui-ci ne figure pas dans la variable $PATH (elle contient les dossiers où se trouvent les commandes : si MacPorts n'y est pas, on ne peut pas l'utiliser correctement). Il faut donc l'y ajouter. La variable d'environnement path contient une liste de répertoires dans lesquels le système d'exploitation effectue une recherche lorsque vous exécutez une commande ou un programme. Cela évite de spécifier le chemin d'accès complet.

Gestion du PATH pour MacPorts
export PATH=/opt/local/bin:/opt/local/sbin:$PATH

Vérification du PATH
echo $PATH


Visualisation du contenu de la variable PATH.

Pour vérifier la version de MacPort installé
port


Obtenir la version de Macport.
Afficher la liste des paquets disponibles
port list


Liste des paquets disponibles.
Dans la liste des paquets qui s'est affichée, vous pouvez déjà avoir un peu plus d'informations sur un paquet : vous avez son nom, sa version (@1.0.8), et sa catégorie (x11/xwd).

Vérification des mises à jour
sudo port selfupdate

Vérification des mises à jour.

CHAPITRE 5 - INSTALLATION DE OPENSSL

Installation de openssl
sudo port install openssl

Installation de OpenSSL.

CHAPITRE 6 - INSTALLATION ET GESTION DU SERVEUR APACHE

Installation du serveur Apache
sudo port install apache2


Edition du fichier de configuration d'Apache
sudo code /opt/local/etc/apache2/httpd.conf


Edition du fichier de configuration d'Apache.

Modification à effectuer dans le fichier de configuration d'Apache

LoadModule vhost_alias_module lib/apache2/modules/mod_vhost_alias.so
LoadModule userdir_module lib/apache2/modules/mod_userdir.so
#
# Virtual hosts
Include //opt/local/etc/apache2/extra/httpd-vhosts.conf
#
Include /opt/local/etc/apache2/extra/httpd-userdir.conf
#
ServerName localhost:80
#
User administrateur
Group staff
#
DocumentRoot "/Users/administrateur/Sites"
<Directory "/Users/administrateur/Sites">
Options Indexes FollowSymLinks

AllowOverride All
#
#
Require all granted
#
#
</Directory>

Création des fichiers suivants httpd-vhosts.conf et httpd-userdir.conf
sudo mv /opt/local/etc/apache2/extra/httpd-vhosts.conf.orig /opt/local/etc/apache2/extra/httpd-vhosts.conf
sudo mv /opt/local/etc/apache2/extra/httpd-userdir.conf.orig /opt/local/etc/apache2/extra/httpd-userdir.conf

image 9 4
Création des fichiers "extra" d'Apache.

Modification du fichier httpd-userdir.conf
sudo code /opt/local/etc/apache2/extra/httpd-userdir.conf

A copier dans le fichier les instructions suivantes :

# Settings for user home directories
#
# Required module: mod_authz_core, mod_authz_host, mod_userdir
#
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received. Note that you must also set
# the default access control for these directories, as in the example below.
#
UserDir Sites
#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#
<Directory "/Users/*/Sites">
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>

Modification du fichier httpd-vhosts.conf
sudo code /opt/local/etc/apache2/extra/httpd-vhosts.conf

<VirtualHost *:80>
ServerAdmin Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
ServerName bsalado.eu
DocumentRoot "/Users/administrateur/Sites/bsalado.eu"
<Directory "/Users/administrateur/Sites/bsalado.eu">
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

Vérification de la syntaxe du fichier de configuration d'Apache
sudo /opt/local/sbin/apachectl -t


Vérification de la configuration d'Apache.

Création d'un fichier index.html dans le dossier Sites
sudo code /Users/administrateur/Sites/bsalado.eu/index.html


Création d'un fichier index.html.

Contenu du fichier index.html
<html><body><h1>It works on Sites folder!</h1></body></html>

Vérification du fichier de configuration, arrêt et redémarrage du serveur Apache
sudo /opt/local/sbin/apachectl -t
sudo port unload apache2
sudo port load apache2


Redémarrage du serveur Apache.

Connexion avec Safari à l'adresse suivante
http://localhost
La page suivante doit s'afficher

CHAPITRE 7 - INSTALLATION DE PHP


À vous de choisir la version PHP que vous souhaitez mettre en place. Pour ma part, j'installe la version 8.3.

Installation de la version 8.3 de PHP
sudo port install php83


Installation de PHP 8.3.

Attention au message à la fin de l'installation !

Copier le fichier php.ini-production et renommer le en php.ini
sudo cp /opt/local/etc/php83/php.ini-production /opt/local/etc/php83/php.ini


Création du fichier php.ini.

Installation de PHP Handler pour PHP 8.3
Si vous ne l'avez pas encore fait, il faut exécuter l'application "Xcode" avant d'exécuter cette commande. Il faut aussi avoir installer "CommandLineTools". A défault, il est impossible d'installer le handler pour PHP.

sudo port install php83-apache2handler


Installation du handler.

Attention au message à la fin de l'installation !

Activation du module dans le fichier de configuration d'Apache
cd /opt/local/lib/apache2/modules
sudo /opt/local/bin/apxs -a -e -n php mod_php83.so
sudo code /opt/local/etc/apache2/httpd.conf


Activation du module dans le fichier de configuration d'Apache.

Changement à effectuer dans le fichier de configuration d'Apache
sudo code /opt/local/etc/apache2/httpd.conf

#<IfModule dir_module>
# DirectoryIndex index.html
#</IfModule>

...

<IfModule php_module>

# DirectoryIndex index.html default.php index.php
DirectoryIndex index.php
AddHandler application/x-httpd-php .php
</IfModule>

...

Rechercher cette condition et ajouter les 2 lignes

<IfModule mime_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>

On vérifie ensuite la configuration du serveur Apache
sudo /opt/local/sbin/apachectl -t


Vérification des modifications apportées dans le fichier de configuration d'Apache.

Arrêt et redémarrage du serveur Apache
sudo port unload apache2
sudo port load apache2


Arreêt et redémarrage du serveur Apache.


Création d'un fichier index.html dans le dossier Sites
sudo code /Users/administrateur/Sites/bsalado.eu/index.php

image 29
Création d'un fichier index.php.

Contenu du fichier index.php.
<?php phpinfo();?>

Connexion avec Safari à l'adresse suivante
http://localhost

CHAPITRE 8 - INSTALLATION DE MYSQL

Installation de MySQL (processus long)
sudo port install mysql8-server

image 30
Installation de MySQL. 

Attention au message à la fin de l'installation !

image 31

Activation par défaut de MySql version 8.
sudo port select mysql mysql8

image 32
Activation par défaut de MySql version 8.

Pour information : Dossier du fichier de configuration de MySQL
/opt/local/etc/mysql8/my.cnf

Initialisation et définition du premier mot de passe de MySQL. Le mot de passe dans le cadre sera utilisé lors de la modification du mot de passe.
sudo /opt/local//lib/mysql8/bin/mysqld --initialize --user=_mysql

image 34
Initialisation et définition du premier mot de passe de MySQL.

Démarrage du serveur MySQL et vérification du démarrage.
sudo port load mysql8-server
ps -ax | grep mysql

image 35
Démarrage du serveur MySQL.

Initialisation d'un nouveau mot de passe d'accès à MySQL (il vous faudra saisir le mot de passe spécifié dans le cadre rouge)
sudo /opt/local/lib/mysql8/bin/mysqladmin -u root -p password

 image 36
Initialisation du nouveau mot de passe.

Vérification du nouveau mot de passe et connexion à MySQL.
mysql -u root -p


image 37bis
Vérification du nouveau mot de passe et connexion à MySQL.

Installation de PHP 8.3 pour MySQL.
sudo port install php83-mysql

image 38
Installation de PHP 8.3 pour MySQL.

Sécurisation de MySQL. Répondre aux différentes questions.
sudo /opt/local/lib/mysql8/bin/mysql_secure_installation

image 39
Sécurisation de MySQL.

Modification du fichier de configuration de MySQL
sudo code /opt/local/etc/mysql8/my.cnf

image 40 
Edition et modification du fichier de configuration de MySQL.

 Contenu du fichier my.cnf.

# Use default MacPorts settings
!include /opt/local/etc/mysql8/macports-default.cnf

[mysqld]
basedir="/opt/local"
bind-address=127.0.0.1
binlog_expire_logs_seconds=86400
socket=/opt/local/var/run/mysql8/mysqld.sock
collation-server=utf8mb4_unicode_520_ci
character-set-server=utf8mb4
init-connect='SET NAMES utf8mb4'
mysql_native_password=ON

[client]
socket=/opt/local/var/run/mysql8/mysqld.sock
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4
collation-server=utf8mb4_unicode_520_ci

Arrêt et redémarrage du serveur MySQL.
sudo port unload mysql8-server
sudo port load mysql8-server

image 41
Arrêt et redémarrage du serveur MySQL.

Pour éviter que la mise à niveau de MySQL ne bloque l'accès à la base de données en réinitialisant la méthode d'authentification par mot de passe, il est nécessaire de créer un nouvel utilisateur Admin avec le mot de passe admin, qui permettra d'accéder au serveur.

Connexion à MySQL
mysql -u root -p

image 37bis

Exécuter ensuite les 4 instructions SQL suivantes :
CREATE USER 'administrateur'@'localhost' IDENTIFIED WITH mysql_native_password BY 'P@ssW0rd-75';
GRANT ALL PRIVILEGES ON *.* TO 'administrateur'@'localhost';
FLUSH PRIVILEGES;
EXIT;

image 42
Création d'un nouvel utilisateur.

Configuration de PHP pour MySQL
PHP doit savoir où il peut trouver par défaut le socket MySQL. Cette modification est à effectuer en utilisateur Root.
sudo -i
cd /opt/local/etc/php83
cp php.ini php.ini.bak
defSock=$(/opt/local/lib/mysql8/bin/mysql_config --socket)

image 43 bis

Création du fichier tmp.ini
cat php.ini | sed \
-e "s#pdo_mysql\.default_socket.*#pdo_mysql\.default_socket=${defSock}#" \
-e "s#mysql\.default_socket.*#mysql\.default_socket=${defSock}#" \
-e "s#mysqli\.default_socket.*#mysqli\.default_socket=${defSock}#" >tmp.ini

image 44
Création d'un fichier tmp.ini.

Vérification du fichier.
grep default_socket tmp.ini

image 45
Vérification du fichier.

Si tout fonctionne correctement, la commande devrait renvoyer :

pdo_mysql.default_socket=/opt/local/var/run/mysql8/mysqld.sock
mysql.default_socket=/opt/local/var/run/mysql8/mysqld.sock
mysqli.default_socket=/opt/local/var/run/mysql8/mysqld.sock

Si, comme dans cet exemple, une de ces 3 lignes est manquante, ajouter la manuellement dans le fichier tmp.ini à la suite des autres comme cela :
sudo code /opt/local/etc/php83/tmp.ini

image 46 bis

Le fichier doit contenir les instructions suivantes :

[pdo_mysql]
pdo_mysql.default_socket=/opt/local/var/run/mysql8/mysqld.sock

[mysql]
mysql.default_socket=/opt/local/var/run/mysql8/mysqld.sock

[mysqli]
mysql.default_socket=/opt/local/var/run/mysql8/mysqld.sock

Lorsque la mofification aura été effectuée, on vérifie à nouveau avec la commande suivante :
grep default_socket tmp.ini

image 47
Nouvelle vérification.

Remplacement du fichier php.ini
mv tmp.ini php.ini

image 48
Remplacement du fichier php.ini.

Vérification de la configuration du serveur Apache et redémarrage.
sudo /opt/local/sbin/apachectl -t
sudo port unload apache2
sudo port load apache2

image 49
Redémarrage du serveur Apache.

CHAPITRE 9 - INSTALLATION DE PHPMYADMIN

Installation de PHPMyAdmin
sudo port install phpmyadmin

 image 50
Installation de phpmyadmin.

Création du fichier de configuration de PHPMyAdmin
cd /opt/local/www/phpmyadmin/

sudo cp config.sample.inc.php config.inc.php

image 51
Création du fichier de configuration de phpmyadmin. 

Modification du fichier de configuration d'Apache
sudo code /opt/local/etc/apache2/httpd.conf

image 52
Edition du fichier de configuration du serveur Apache. 

Instructions à ajouter dans le fichier de configuration d'Apache
# Append at the end of the conf

# Load phpMyAdmin configuration
Include /opt/local/etc/apache2/extra/phpmyadmin.conf

image 53 

Création du nouveau dossier de PHPMYADMIN
cd /Users/administrateur/Sites
mkdir -p phpmyadmin

image 54
Création d'un nouveau dossier pour le stockage des fichier de phpmyadmin. 

Création et édition du fichier phpmyadmin.conf
sudo code /opt/local/etc/apache2/extra/phpmyadmin.conf

 image 55
Création du fichier de configuration d'Apache pour phpmyadmin.

Instructions à ajouter dans le fichier de configuration d'Apache

# Insert following

Alias /phpmyadmin /Users/administrateur/Sites/phpmyadmin
<Directory /Users/administrateur/Sites/phpmyadmin>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
</IfModule>
</Directory>

image 56
Configuration d'Apache pour phpmyadmin.

Copie de PHPMYADMIN dans le dossier de l'utilisateur
sudo cp -R /opt/local/www/phpmyadmin/ /Users/administrateur/Sites/phpmyadmin

image 57
Copie des fichiers dans le dossier site de l'utilisateur. 

Installation des dépendances de PHPMYADMIN
sudo port install php83-iconv
sudo port install php83-mbstring

image 58
Installation des dépendances de phpmyadmin.

image 59
Installation des dépendances de phpmyadmin.

Vérification de la configuration du serveur Apache et redémarrage du serveur
sudo /opt/local/sbin/apachectl -t
sudo port unload apache2
sudo port load apache2

image 49
Redémarrage du serveur Apache. 

Augmenter les droits de l'utilisateur root
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
EXIT;
(Utiliser le mot de passe défini dans le chapitre "Installer MySQL")

image 61
Augmentation des droits de l'utilisateur root.

Connexion à PHPMyAdmin avec Safari.
http://localhost/phpmyadmin

image 60
Connexion à phpmyadmin.

image 63 
Connexion à phpmyadmin. réussie

Ajout d'une clé de chiffrement.

 image 64

Edition du fichier et ajout de l'option de clé de chiffrement.
sudo code /Users/administrateur/Sites/phpmyadmin/config.inc.php
$cfg['blowfish_secret'] = 'FzISUJ9~a<bCZ`]t@q4lJ{93.rnCO@YV';

image 65 
Ajout de l'option de clé de chiffrement.

Configuration des fonctionnalités de PHPMyAdmin

image 66

image 67 bis

image 68

image 69
 

CHAPITRE 10 - INSTALLATION DE JOOMLA

Téléchargement de Joomla version 5.0.3 sur le site web.
Attention !!! Pour cet article, j'ai tenté d'utiliser la version 6.0 de Joomla!. Cette version n'a pas fonctionné correctement. Je vous conseille de télécharger la version 5.0.3 qui fonctionne correctement.
https://www.joomla.fr

image 70
Téléchargement de joomla!.

image 72
Téléchargement de Joomla!.

image 74
Le dossier Joomla_6 téléchargé.

Copie le contenu du dossier Joomla! dans le dossier "bsalado.eu".
cp -R /Users/administrateur/Downloads/Joomla_5/ /Users/administrateur/Sites/bsalado.eu

image 75
Copie des fichiers de Joomla!.

image 76
Vérification de la copie des fichiers.

Modification de la configuration du serveur Apache.
sudo code /opt/local/etc/apache2/httpd.conf

Modifier les lignes suivantes :

<VirtualHost *:80>
     ServerAdmin Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
     ServerName www.site1.com
     ServerAlias site1.com
     ServerAlias *.site1.com

     DocumentRoot "/Users/administrateur/Sites"
         <Directory "/Users/administrateur/Sites">
          Options -Indexes +FollowSymLinks
          AllowOverride All
          Require all granted
     </Directory>

</VirtualHost>

par :

<VirtualHost *:80>
   ServerAdmin Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
   ServerName www.bsalado.eu
   ServerAlias *.bsalado.eu

   DocumentRoot "/Users/administrateur/Sites/bsalado.eu"
   <Directory "/Users/administrateur/Sites/bsalado.eu">
      Options -Indexes +FollowSymLinks
      AllowOverride All
      Require all granted
   </Directory>
</VirtualHost>

image 77
Modification du fichier de configuration d'Apache.

Vérification de la configuration et redémarrage du serveur Apache
sudo /opt/local/sbin/apachectl -t
sudo port unload apache2
sudo port load apache2

image 49
Redémarrage du serveur Apache.

Création de la base de données pour Joomla. je nommerai cette table "joomla_DB".
mysql -u root -p
CREATE DATABASE joomla_DB;

SHOW DATABASE;
EXIT;

image 78
Création de la base de données.

Modification du fichier host avec l'application Gas Mask. 

image 79
Modification du fichier Host.

Connexion au site bsalado.eu avec Safari.
http://bsalado.eu

 Début de la configuration de Joomla! avec Safari

image 80image 81
image 82image 83
image 84image 85

 CHAPITRE 11 - MISE EN PLACE DE SSL

 Effectuer la mise à jour de Macport
sudo port selfupdate

 image 87
Mise à jour de Macport.

Arrêt du serveur Apache
sudo port unload apache2

image 86
Arrêt du serveur Apache. 

Installation de Cerbot
sudo port install certbot

image 88
Installation de Cerbot.

Activation de la version 3 de python
sudo port select --set python3 python313

image 89
Installation de la version 3 de Python. 

Pour pouvoir utiliser Certbot dans une configuration non root (comme réalisé avec Brew), il est impératif de créer un fichier cli.ini afin que la commande certbot utilise des chemins locaux plutôt que des chemins systèmes réservés à l'accès root :
mkdir -pv ~/.config/letsencrypt
code ~/.config/letsencrypt/cli.ini

image 90
Création du fichier cli.ini.

work-dir = /opt/local/etc/cerbot
logs-dir = /opt/local/etc/cerbot/logs
config-dir = /opt/local/etc/cerbot/certs

image 91
Contenu du fichier cli.ini.

Effectuer la demande de certificat.
sudo certbot certonly --standalone

Chemins d'accès au certificat et à la clef.
/opt/local/etc/cerbot/certs/live/bsalado.eu/fullchain.pem
/opt/local/etc/cerbot/certs/live/bsalado.eu/privkey.pem

image 92
Obtention des certificats.

Modification du fichier de configuration d'Apache
sudo code /opt/local/etc/apache2/httpd.conf

LoadModule socache_shmcb_module lib/httpd/modules/mod_socache_shmcb.so
LoadModule ssl_module lib/httpd/modules/mod_ssl.so
#
#Listen 80
#
#Ajouter à la fin du fichier
#SSL/TSL
Include /opt/local/etc/apache2/extra/httpd-ssl.conf

Création du fichier httpd-ssl.conf
sudo cp /opt/local/etc/apache2/extra/httpd-ssl.conf.orig /opt/local/etc/apache2/extra/httpd-ssl.conf

image 93 
Création du fichier httpd-ssl.conf.

Modification du fichier httpd-ssl.conf

<VirtualHost _default_:443>
DocumentRoot "/Users/administrateur/Sites/bsalado.eu"
ServerName bsalado.eu:443
ServerAdmin Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
ErrorLog "/opt/local/var/log/apache2/access_log"

TransferLog "/opt/local/var/log/apache2/access_log"


Dans la section : Server Certificate
SSLCertificateFile "/opt/local/etc/cerbot/certs/live/bsalado.eu/fullchain.pem"

Dans la section : Server Private Key
SSLCertificateKeyFile "/opt/local/etc/cerbot/certs/live/bsalado.eu/privkey.pem"

Vérification de la configuration et redémarrage du serveur Apache
sudo /opt/local/sbin/apachectl -t
sudo port unload apache2

sudo port load apache2

image 49
Redémarrage du serveur Apache.

Connexion au site
https://bsalado.eu

image 94
Connexion en https.

 

CHAPITRE 12 - PRINCIPALES COMMANDES

APACHE
sudo code /opt/local/etc/apache2/httpd.conf
sudo code /opt/local/etc/apache2/extra/httpd-vhosts.conf
sudo code /opt/local/etc/apache2/extra/httpd-userdir.conf
sudo code /Users/administrateur/Sites/bsalado.eu/index.html

sudo /opt/local/sbin/apachectl -t
sudo port unload apache2
sudo port load apache2

PHP
sudo code /Users/administrateur/Sites/bsalado.eu/index.php

MYSQL
sudo code /opt/local/etc/mysql8/my.cnf
sudo code /opt/local/etc/php83/tmp.ini
sudo port unload mysql8-server
sudo port load mysql8-server

mysql -u root -p


PHPMYADMIN
sudo code /opt/local/etc/apache2/extra/phpmyadmin.conf