# Installation server web

## Ngninx - phpfpm

#### Start Nginx

```bash
sudo nginx 
```

#### Reload Nginx

```bash
sudo nginx -s reload
```

#### Stop Nginx

```bash
sudo nginx -s stop
```

#### Mettre a jour Brew

```bash
brew update
brew upgrade
```


#### Script pour démarrer les service

```bash
nano script_start_service.sh 
chmod +x script_start_service.sh
```

```bash
#!/bin/bash
sudo nginx 
sudo nginx -s reload
brew services start php
brew services restart php
```

#### Trouver l'emplacement de nginx et ouvrir le fichier conf nginx

```bash
brew install nginx
nginx -v
ps aux | grep nginx
cd /usr/local/etc/nginx/
sudo nano nginx.conf
sudo nginx -s reload
```

#### PATH Nginx intel

```bash
cd /usr/local/etc/nginx/
```

#### PATH Nginx M1 M2

```bash
cd /opt/homebrew/etc/nginx
```

####   
Modifier la conf ngninx

A la fin du fichier remplacer cette ligne par le dossier qui contiendra les conf de vos futur serveur

##### Remplacer

```bash
include servers/*;
```

##### par

```bash
include conf.d/*.conf;
```

#### Création des fichier lors

```bash
mkdir /usr/local/etc/nginx/logs
nano /usr/local/etc/nginx/logs/hereweb.access.log
nano /usr/local/etc/nginx/logs/hereweb.error.log
nano /usr/local/etc/nginx/logs/all_acces.log 
```

##### inspecter des logs

```
tail -f /usr/local/etc/nginx/logs/hereweb.access.log
tail -f /usr/local/etc/nginx/logs/hereweb.error.log
tail -f /usr/local/etc/nginx/logs/all_acces.log 
```

#### Conf Nginx pour php

création du dossier pour les conf et du fichier

```bash
mkdir /usr/local/etc/nginx/conf.d/
nano /usr/local/etc/nginx/conf.d/hereweb.conf
```

```bash
server {
    listen 80;  # Port d'écoute pour les requêtes HTTP

    access_log  /usr/local/etc/nginx/logs/all_acces.log;
    access_log  /usr/local/etc/nginx/logs/hereweb.access.log;
    error_log  /usr/local/etc/nginx/logs/hereweb.error.log;

    server_name hereweb.me;  # Remplacez par votre nom de domaine

    root /Users/flo/github/hereweb;  # Chemin vers le dossier racine de votre application

    index index.php index.html index.htm;  # Définition de l'ordre des fichiers index à rechercher

    location / {
        try_files $uri $uri/ /index.php?$query_string;  # Tentative de recherche de fichiers,
		# puis redirection vers index.php si le fichier n'existe pas
    }

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;  # Adresse et port de PHP-FPM
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
```

#### Conf Phpmyadmin

```bash
server {
    listen   80; 

    server_name  phpmyadmin.me;
    
    root       /var/www/phpmyadmin/;

    index index.php index.html index.htm;

    access_log  /usr/local/etc/nginx/logs/all_acces.log; 
    access_log  /usr/local/etc/nginx/logs/phpmyadmin.access.log;
    error_log  /usr/local/etc/nginx/logs/phpmyadmin.error.log;
 
    location ~ \.php$ {
        try_files      $uri = 404;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    error_page  404     /404.html;
    error_page  403     /403.html;
}
```

#### Configurer la redirection url

```bash
sudo nano /etc/hosts
```

##### Ajouter au fichier

```bash
127.0.0.1	localhost	hereweb.me
```

#### Configurer Mysql 

```
brew install mysql
brew services start mysql
mysql --help
mysql_secure_installation
```

#### Installer phpmyadmin

téléchargé le zip de phpmyadmin

<p class="callout info">LINK : [https://www.phpmyadmin.net/downloads/](https://www.phpmyadmin.net/downloads/)</p>

déplacer dans les contenant dans un dossier commme : /var/www/phpmyadmin

créer lui une conf nginx et une redirection url

#### Configurer php 

```bash
cd /usr/local/etc/php/
cd  /usr/local/etc/php/8.2/
sudo nano php.ini
```

pour activer des extensions php

rechercher : "extension="