« Apache/Installation Linux » : différence entre les versions

m
<source> -> <syntaxhighlight> (phab:T237267)
m (<source> -> <syntaxhighlight> (phab:T237267))
===== PHP =====
On distingue principalement deux versions de PHP : celle dont le binaire est appelé par le serveur Web, et php-fpm qui possède son propre service daemon (aussi appelé par le serveur Web) testable ainsi :
<sourcesyntaxhighlight lang=bash>
telnet localhost 9000
CTRL + ALT + ]
quit
</syntaxhighlight>
</source>
 
PHP peut-être installé avec toutes les déclinaisons de la distribution Debian (stable, testing, unstable).
Il suffit pour cela d'insérer vos lignes préférées dans le fichier ''/etc/apt/sources.list'' :
 
<sourcesyntaxhighlight lang=bash>
deb http://ftp.fr.debian.org/debian/ stable main non-free contrib
deb-src http://ftp.fr.debian.org/debian/ stable main non-free contrib
</syntaxhighlight>
</source>
 
Ce qui suit suppose que le serveur Web a bien été installé : exécuter les commandes suivantes :
<sourcesyntaxhighlight lang=bash>
sudo apt-get update && apt-get install php7.0 && apt-get install libapache2-mod-php7.0
</syntaxhighlight>
</source>
 
Une fois ces commandes exécutées, redémarrer le serveur Web. Dans le cas d'Apache cela s'effectue avec la commande suivante :
<sourcesyntaxhighlight lang=bash>
/etc/init.d/apache2 restart
</syntaxhighlight>
</source>
 
Si tout s'est bien passé, vous disposez maintenant d'un serveur Web qui a la capacité d'exécuter des scripts PHP dans votre navigateur.
====== Mise à jour ======
Pour la v7.2 sur Ubuntu :
<sourcesyntaxhighlight lang=php>
sudo add-apt-repository ppa:ondrej/php
</syntaxhighlight>
</source>
 
Sur Debian :
<sourcesyntaxhighlight lang=php>
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
</syntaxhighlight>
</source>
 
Puis :
<sourcesyntaxhighlight lang=php>
sudo apt update
sudo apt install php7.2 php7.2-common php7.2-cli php7.2-fpm
sudo a2enmod php7.2
sudo a2dismod php7.0
</syntaxhighlight>
</source>
 
{{attention|Une fois les serveurs Web installés, ils se lancent automatiquement à chaque démarrage de la machine, ce qui est souhaitable pour un serveur, mais pas toujours pour un PC. Pour éviter cela, il suffit d'y désactiver les daemons :
<sourcesyntaxhighlight lang=bash>
sudo update-rc.d apache2 disable
sudo update-rc.d mysql disable
</syntaxhighlight>
</source>
}}
 
 
En l'absence de {{w|gestionnaire de paquets}}, utiliser le .tar ainsi :
<sourcesyntaxhighlight lang=bash>
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql &
</syntaxhighlight>
</source>
 
==== APT ====
<sourcesyntaxhighlight lang=bash>
$ sudo apt-get install mysql-server mysql_secure_installation
</syntaxhighlight>
</source>
 
Puis, modifier PHP pour qu'il supporte MySQL :
 
<sourcesyntaxhighlight lang=bash>
$ sudo apt-get install php4-mysql
</syntaxhighlight>
</source>
 
===== Variante =====
 
==== Sur Gentoo ====
<sourcesyntaxhighlight lang=bash>
emerge mysql
</syntaxhighlight>
</source>
 
=== Modules ===
 
Pour les lister, on utilise <code>apachectl</code> (parfois <code>apache2ctl</code>) :
<sourcesyntaxhighlight lang=bash>
apachectl -t -D DUMP_MODULES
</syntaxhighlight>
</source>
 
Pour activer un module :
<sourcesyntaxhighlight lang=bash>
a2enmod Nom_du_module
</syntaxhighlight>
</source>
Un fichier est alors créé dans /etc/apache2/mods-enabled/.
 
Exemple pour la réécriture d'URL :
<sourcesyntaxhighlight lang=bash>
a2enmod rewrite
</syntaxhighlight>
</source>
 
Pour le désactiver :
<sourcesyntaxhighlight lang=bash>
a2dismod Nom_du_module
</syntaxhighlight>
</source>
La configuration du module reste toutefois disponible dans /etc/apache2/mods-available/.
 
{{remarque|Les extensions PHP nécessitent une autre commande. Ex :
<sourcesyntaxhighlight lang=bash>
phpenmod mbstring
</syntaxhighlight>
</source>
}}
 
=== Sites ===
Pour lister les sites du serveur :
<sourcesyntaxhighlight lang=bash>
apachectl -S
</syntaxhighlight>
</source>
 
Pour activer un site :
<sourcesyntaxhighlight lang=bash>
a2ensite Nom_du_site
</syntaxhighlight>
</source>
Le fichier du site est alors visible dans /etc/apache2/sites-enabled/.
 
Pour le désactiver :
<sourcesyntaxhighlight lang=bash>
a2dissite Nom_du_site
</syntaxhighlight>
</source>
Le site est dans /etc/apache2/sites-available/.
 
1 535

modifications