Etant donné que nous allons utiliser Homebrew pour installer PHP et NGINX, il faut bien commencer par l’installer mais pour ça assurez-vous d’avoir déjà Xcode
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Installez NGINX avec Homebrew
Utilisez cette commande pour installer nginx .
brew install nginx
Si vous souhaitez que Nginx démarre automatiquement lorsque vous démarrer votre Mac il va falloir l’ajouter aux LaunchAgents
ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
Si vous avez besoin d’un contrôle total sur votre serveur web Nginx vous pouvez utiliser ces commandes pour démarrer, arrêter et redémarrer NGINX.
sudo nginx # start sudo nginx -s stop # stop sudo nginx -s reload # restart
Vous pouvez constater que Nginx est bien installé en visitant localhost sur le port 8080 dans votre navigateur http://localhost:8080
Configuration de NGINX
Nous devons modifier le fichier de configuration
Premièrement, nous devons effectuer des modifications dans notre fichier config personnellement je suis fan de vim mais pouvez utiliser ce que vous voulez.
vim /usr/local/etc/nginx/nginx.conf
Mon fichier nginx.conf doit ressembler à cela
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; events { worker_connections 1024; } http { include mime.types; include sites-enabled/*; # load virtuals config sendfile on; keepalive_timeout 65; # gzip on; # gzip_disable "MSIE [1-6].(?!.*SV1)"; server { listen 8080; server_name localhost; location / { root /Users/{username}/{webfolder}; try_files $uri $uri/ /index.php?$args ; index index.php; } # configure *.PHP requests location ~ .php$ { root /Users/{username}/{webfolder}; try_files $uri $uri/ /index.php?$args ; index index.html index.htm index.php; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_intercept_errors on; include fastcgi_params; } } }
Maintenant, vous avez besoin de changer {username} par votre nom utilisateur Mac OS X, et {webfolder} par le répertoire de votre site.
Configuration des hôtes virtuels
Tout d’abord, vous devez créer 2 nouveaux repertoires
mkdir /usr/local/etc/nginx/sites-available mkdir /usr/local/etc/nginx/sites-enabled
- `sites-available` contient tous vos fichiers de configuration des hôtes virtuels
- `sites-enabled` contient les hôtes virtuels actifs
La prochaine étape est de créer votre premier fichier de virtualhost.
nano /usr/local/etc/nginx/sites-available/{hostfile}
Renommer {hostfile } par votre nom de domaine, par exemple. test.local et éditer son contenu comme suit :
server { listen *:8080; server_name {test-domain}; #access_log /Users/{username}/{webfolder}/{hostfile}/log/access.log; #error_log /Users/{username}/{webfolder}/{hostfile}/log/error.log; root /Users/{username}/{webfolder}/{hostfile}; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { try_files $uri $uri/ /index.php?$args; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_intercept_errors on; include fastcgi_params; } }
Une fois le fichier enregistré nous allons activer l’hôte virtuel avec un simple lien symbolique
ln -s /usr/local/etc/nginx/sites-available/{hostfile} /usr/local/etc/nginx/sites-enabled/{hostfile}
Redémarrez NGINX maintenant sudo -s nginx reload et lancé dans le navigateur http://{test-domain}:8080
Ajoutez le domaine dans le fichier hosts de OS X sudo nano /etc/hosts
127.0.0.1 {test-domain}
Installer PHP-FPM de Homebrew
Executez cette commande pour pouvoir installer PHP
brew tap homebrew/dupes && brew tap homebrew/versions && brew tap homebrew/homebrew-php
Maintenant, nous sommes prêts à installer PHP-FPM.
brew install -v --with-fpm --with-mysql --disable-opcache --with-imap php56
Cette commande va dire à Homebrew d’installer php56-fpm et le support de MySQL, Nous ldemandons ensuite à Mac OS X de lancer le processus au démarrage
ln -sfv /usr/local/opt/php56/*.plist ~/Library/LaunchAgents