Outils pour utilisateurs

Outils du site


public:vserveur:debian:vhost_fpm

Ajout d'un site web sur le serveur

Ajout d'un utilisateur

Lancez le script ftpuser en tapant ftpuser dans n'importe quel répertoire :

ftpuser

####   Script de création automatique d'utilisateur FTP   ####


Entrez le nom d'utilisateur :
test

Entrez le mot de passe :
azerty

Voulez vous créer le répertoire de base de test ? o/n
o

Renseignez le repertoire de base de l'utilisateur test [/var/www/test]:


>>> Création du répertoire par défaut /var/www/test


Voulez vous ajouter www-data (Apache) dans le groupe 'test' ? o/N [N]



####  L'utilisateur FTP < test > (azerty) a bien été créé et lié au répertoire < /var/www/test/ >

Les répertoires nécessaires ont été créés avec les droits en 751 :

/var/www/test/logs
/var/www/test/public_html

PHP 5.X

Création d'un pool FPM

Les pools php-fpm sont situés dans le dossier /etc/php5/fpm/pool.d/. Nous allons créer un nouveau pool pour le domaine example.com avec l'utilisateur example :

cd /etc/php5/fpm/pool.d/
cp www.conf example.conf

vi example.conf
...
; Start a new pool named 'www'.
; the variable $pool can we used in any directive and will be replaced by the
; pool name ('www' here)
[example]
...
user = example
group = example
...
listen = /var/run/php5-fpm-example.sock
...

On redémarre le service php5-fpm pour appliquer les changements :

systemctl restart php5-fpm

On vérifie la bonne activation de notre pool :

systemctl status php5-fpm
...
● php5-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php5-fpm.service; enabled)
   Active: active (running) since mer. 2016-05-04 16:05:24 CEST; 1h 15min ago
  Process: 25543 ExecReload=/bin/kill -USR2 $MAINPID (code=exited, status=0/SUCCESS)
 Main PID: 24566 (php5-fpm)
   Status: "Processes active: 0, idle: 6, Requests: 3, slow: 0, Traffic: 0req/sec"
   CGroup: /system.slice/php5-fpm.service
           ├─24566 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)
           ├─25545 php-fpm: pool example
           ├─25546 php-fpm: pool example
           ├─25549 php-fpm: pool www
           └─25550 php-fpm: pool www

Création du VirtualHost

Créez un fichier .conf par site web dans le répertoire suivant : /etc/apache2/sites-available/

Exemple : /etc/apache2/sites-available/example.com.conf où “example.com” correspond à votre nom de domaine.

Voici le contenu du fichier :

<VirtualHost *:80>
# Déclaration du domaine + alias + logs 
     ServerName example.com
     ServerAlias www.example.com
     DocumentRoot /var/www/example/public_html/
     ErrorLog /var/www/example/logs/error.log
     CustomLog /var/www/example/logs/access.log combined
     
# Droits d'accès au dossier DocumentRoot
<Directory /var/www/example/public_html/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

# Déclaration du fastcgi + pool FPM
<IfModule mod_fastcgi.c>
    AddType application/x-httpd-fastphp5 .php
    Action application/x-httpd-fastphp5 /php5-fcgi
    Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi-example
    FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi-example -socket /var/run/php5-fpm-example.sock -pass-header Authorization
</IfModule>
</VirtualHost>

Pour tester votre vHost utilisez la commande suivante :

apache2ctl configtest

Ensuite pour activer ce virtual host vous devez taper la commande suivante :

a2ensite example.com.conf

Puis relancer le service apache2 pour appliquer les changements:

systemctl reload apache2

Pour désactiver le virtual host :

a2dissite example.com

Puis relancer le service apache2 pour appliquer les changements:

systemctl reload apache2

PHP 7

Création d'un pool FPM

Les pools php-fpm sont situés dans le dossier /etc/php/7.0/fpm/pool.d/. Nous allons créer un nouveau pool pour le domaine example.com avec l'utilisateur example :

cd /etc/php/7.0/fpm/pool.d/
cp www.conf example.conf

vi example.conf
...
; Start a new pool named 'www'.
; the variable $pool can we used in any directive and will be replaced by the
; pool name ('www' here)
[example]
...
user = example
group = example
...
listen = /var/run/php7.0-fpm-example.sock
...

On redémarre le service php7.0-fpm pour appliquer les changements :

systemctl restart php7.0-fpm

On vérifie la bonne activation de notre pool :

systemctl status php7.0-fpm
...
● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled)
   Active: active (running) since Mon 2016-11-28 16:36:23 CET; 20min ago
     Docs: man:php-fpm7.0(8)
 Main PID: 8004 (php-fpm7.0)
   Status: "Processes active: 0, idle: 4, Requests: 3, slow: 0, Traffic: 0req/sec"
   CGroup: /system.slice/php7.0-fpm.service
           ├─8004 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
           ├─8006 php-fpm: pool example
           ├─8007 php-fpm: pool example
           ├─8008 php-fpm: pool www
           └─8009 php-fpm: pool www

Création du VirtualHost

Créez un fichier .conf par site web dans le répertoire suivant : /etc/apache2/sites-available/

Exemple : /etc/apache2/sites-available/example.com.conf où “example.com” correspond à votre nom de domaine.

Voici le contenu du fichier :

<VirtualHost *:80>
# Déclaration du domaine + alias + logs 
     ServerName example.com
     ServerAlias www.example.com
     DocumentRoot /var/www/example/public_html/
     ErrorLog /var/www/example/logs/error.log
     CustomLog /var/www/example/logs/access.log combined
     
# Droits d'accès au dossier DocumentRoot
<Directory /var/www/example/public_html/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

# Déclaration du fastcgi + pool FPM
<IfModule mod_fastcgi.c>
    AddType application/x-httpd-fastphp .php
    Action application/x-httpd-fastphp /php-fcgi
    Alias /php-fcgi /usr/lib/cgi-bin/php-exemple
    FastCgiExternalServer /usr/lib/cgi-bin/php-exemple -socket /run/php/php7.0-fpm-exemple.sock -pass-header Authorization
</IfModule>
</VirtualHost>

Pour tester votre vHost utilisez la commande suivante :

apache2ctl configtest

Ensuite pour activer ce virtual host vous devez taper la commande suivante :

a2ensite example.com.conf

Puis relancer le service apache2 pour appliquer les changements:

systemctl reload apache2

Pour désactiver le virtual host :

a2dissite example.com

Puis relancer le service apache2 pour appliquer les changements:

systemctl reload apache2
public/vserveur/debian/vhost_fpm.txt · Dernière modification: 2017/07/26 09:36 par Aurélien FOUCHER