Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-prendre-en-main-apache2-sur-jessie [24/05/2016 22:33] Hypathie [Créer son site web rapidement] |
utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-prendre-en-main-apache2-sur-jessie [15/06/2020 16:59] Hypathie [Pour résumer] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Créer son site web en php _ prendre en main Apache2 sur Jessie ====== | + | ====== Créer son site web en php _ prendre en main Apache2 ====== |
Ligne 26: | Ligne 26: | ||
<code root>apt-get install build-essential </code> | <code root>apt-get install build-essential </code> | ||
+ | |||
+ | |||
+ | <code root>apt-get install apache2</code> | ||
+ | |||
Dans ce wiki : la prise en main d'apache2 qui est le serveur web ! | Dans ce wiki : la prise en main d'apache2 qui est le serveur web ! | ||
Ligne 37: | Ligne 41: | ||
<code root>chown -R hypathie:www-data hypathie.net/</code> | <code root>chown -R hypathie:www-data hypathie.net/</code> | ||
+ | |||
+ | <code root>chmod -R 750 hypathie.net/</code> | ||
<code user>vim hypathie.net/index.html</code> | <code user>vim hypathie.net/index.html</code> | ||
Ligne 222: | Ligne 228: | ||
<code root>service apache2 reload</code> | <code root>service apache2 reload</code> | ||
- | * On configure le fichier hosts des ordinateurs distants du réseau local susceptibles de se connecter aux sites ''test.local'' et ''essai.local'' : | + | ===fichier hosts sur debian === |
+ | On configure le fichier hosts des ordinateurs distants du réseau local susceptibles de se connecter aux sites ''test.local'' et ''essai.local'' : | ||
Par exemple pour la machine d'ip : 192.168.0.14, qui se connectera sur le serveur d'ip 192.168.0.17 sur lequel tourne apache2 : | Par exemple pour la machine d'ip : 192.168.0.14, qui se connectera sur le serveur d'ip 192.168.0.17 sur lequel tourne apache2 : | ||
Ligne 248: | Ligne 255: | ||
</note> | </note> | ||
- | * On teste : | + | ===fichier hosts sur windows === |
+ | |||
+ | On édite le fichier hosts qui se trouve : ''C:\Windows\System32\drivers\etc'' | ||
+ | |||
+ | On y ajoute l'ip du serveur debian qui se trouve sur le sous-réseau : | ||
+ | <code># localhost name resolution is handled within DNS itself. | ||
+ | 127.0.0.1 localhost | ||
+ | ::1 localhost | ||
+ | |||
+ | 192.168.0.17 db | ||
+ | 192.168.0.17 test.local | ||
+ | 192.168.0.17 essai.local | ||
+ | |||
+ | </code> | ||
+ | |||
+ | ===On teste=== | ||
* Dans le navigateur de la machine d'ip 192.168.0.14 de son réseau local : **''essai.local''** | * Dans le navigateur de la machine d'ip 192.168.0.14 de son réseau local : **''essai.local''** | ||
* Dans le navigateur de la machine d'ip 192.168.0.14 de son réseau local : **''test.local''** | * Dans le navigateur de la machine d'ip 192.168.0.14 de son réseau local : **''test.local''** | ||
Ligne 255: | Ligne 277: | ||
* On teste depuis l'extérieur de son réseau local :**''http://ip_du_routeur_de_son_fai/essai.local''** | * On teste depuis l'extérieur de son réseau local :**''http://ip_du_routeur_de_son_fai/essai.local''** | ||
Pour ce faire, il faut configurer son routeur pour rediriger les connexions extérieures qui viennent toc-toquer sur sa box-machin, dans cet exemple vers l'ip 192.168.0.17 de la machine sur laquelle tourne apache2. | Pour ce faire, il faut configurer son routeur pour rediriger les connexions extérieures qui viennent toc-toquer sur sa box-machin, dans cet exemple vers l'ip 192.168.0.17 de la machine sur laquelle tourne apache2. | ||
+ | |||
+ | ==== Installer son site dans son répertoire personnel ==== | ||
+ | |||
+ | ===On crée un dossier Web === | ||
+ | |||
+ | <code user>mkdir Web/</code> | ||
+ | |||
+ | === On donne propriétés et droits === | ||
+ | |||
+ | <code root>chown -R hypathie:www-data /home/hypathie/Web/</code> | ||
+ | |||
+ | <note tip> | ||
+ | Attention de modifier ''hypathie'' par l'utilisateur voulu ! | ||
+ | </note> | ||
+ | |||
+ | <code root>chmod -R 750 /home/hypathie/Web/</code> | ||
+ | |||
+ | === On déplace le dossier du site === | ||
+ | |||
+ | <code user>cd /var/www/ && mv essai/ ~/Web/</code> | ||
+ | |||
+ | <note tip> | ||
+ | En user si on a modifier les droits sur ''www'', sinon en root ! | ||
+ | </note> | ||
+ | |||
+ | === On crée un lien symbolique vers le répertoire utilisateur dans www === | ||
+ | |||
+ | <code user>ln -s ~/Web/essai/ /var/www/essai</code> | ||
+ | |||
+ | Il n'y a rien de plus à faire, ni à modifier le virtualhost ni à recharger apache. | ||
+ | |||
+ | === Avec la configuration du virtualhost === | ||
+ | |||
+ | On donne le chemin du dossier de son répertoire personnel dans le virtualhost. | ||
+ | |||
+ | <code><VirtualHost *:80> | ||
+ | ServerName test.local | ||
+ | ServerAdmin webmaster@localhost | ||
+ | DocumentRoot /home/user/dossier-racine-du-site/ | ||
+ | |||
+ | <Directory /home/user/dossier-racine-du-site/ | ||
+ | require all granted | ||
+ | AllowOverride All | ||
+ | </Directory> | ||
+ | |||
+ | LogLevel info | ||
+ | |||
+ | ErrorLog ${APACHE_LOG_DIR}/error.log | ||
+ | CustomLog ${APACHE_LOG_DIR}/access.log combined | ||
+ | |||
+ | </VirtualHost> | ||
+ | </code> | ||
+ | |||
+ | ==== Le module php5 ==== | ||
+ | |||
+ | Sur Jessie inutile d'activer le module avec a2enmod. | ||
+ | |||
+ | * Pour les autres paquets concernant php5 : | ||
+ | <code user>apt-cache search php5</code> | ||
+ | | ||
+ | * On installe les paquets nécessaires. | ||
+ | |||
+ | <code root>apt-get install php5 libapache2-mod-php5</code> | ||
+ | |||
+ | |||
+ | |||
+ | ==== Le module php7 ==== | ||
+ | |||
+ | |||
+ | * Pour les autres paquets concernant php7 : | ||
+ | <code user>apt-cache search php7</code> | ||
+ | |||
+ | * On installe les paquets nécessaires. | ||
+ | |||
+ | <code root>apt install php-pear php7.4 libapache2-mod-php7.4</code> | ||
+ | |||
+ | ==== Configurer Apache pour utiliser du code php dans un fichier avec une extension html ==== | ||
+ | |||
+ | Par défaut, le code php est interprété s'il se trouve dans un fichier nommé avec l'extension .php, par exemple index.php.\\ | ||
+ | Pour utiliser du code php comme ci-dessous dans un fichier nommé avec l'extension html, par exemple index.html : \\ | ||
+ | |||
+ | <code html> | ||
+ | <!DOCTYPE html> | ||
+ | <html> | ||
+ | <head> | ||
+ | <meta charset="UTF-8"> | ||
+ | <title>test1.net _ index.html</title> | ||
+ | </head> | ||
+ | |||
+ | <body> | ||
+ | <h1>Bienvenue sur le site de test de /var/www/test1.net/index.php ! </h1> | ||
+ | <?php | ||
+ | |||
+ | phpinfo(); | ||
+ | |||
+ | ?> | ||
+ | </body> | ||
+ | </html> | ||
+ | </code> | ||
+ | |||
+ | il faut modifier le fichier **/etc/apache2/mods-enabled/php7.4.conf** en ajoutant :\\ | ||
+ | |||
+ | <code> | ||
+ | <FilesMatch ".+\.html$"> | ||
+ | SetHandler application/x-httpd-php | ||
+ | </FilesMatch> | ||
+ | </code> | ||
===== Pour résumer ===== | ===== Pour résumer ===== | ||
+ | |||
+ | === Propriétés et droits === | ||
+ | |||
+ | * **On donne les propriétés** : utilisateur du site et au groupe www-data :\\ ''chown -R utilisateur:www-data /chemin/du/site/'' | ||
+ | |||
+ | * **On donne récursivement les droits 750 sur le dossier du site** :\\ ''chmod -R 750 /home/utilisateur/site/'' | ||
+ | * les droits de lecture + écriture + exécution pour l'utilisateur (7) | ||
+ | * les droits de lecture + exécution pour le groupe www-data (5) | ||
+ | * aucun droit pour les autres (0) | ||
+ | |||
+ | |||
+ | <note tip> | ||
+ | **Ne pas laisser les droits d’exécution sur les fichiers !** | ||
+ | |||
+ | Si le droit d'exécution est nécessaire pour traverser les sous-dossiers du site, quand ceux-ci contiendront les fichiers de code source, mieux vaut retirer récursivement depuis le dossier racine du site le droit d'exécution sur tous les fichiers.\\ | ||
+ | |||
+ | Pour ce faire : | ||
+ | |||
+ | <code root>cd /chemin/dossier/site_web && find . -type f -exec chmod 640 {} \;</code> | ||
+ | </note> | ||
===Fichiers de configuration d'apache === | ===Fichiers de configuration d'apache === | ||
Ligne 290: | Ligne 439: | ||
* Relancer le service d'apache après une modification d'un ou plusieurs fichiers de configuration | * Relancer le service d'apache après une modification d'un ou plusieurs fichiers de configuration | ||
+ | __**Sur Jessie**__ | ||
<code root>service apache2 reload</code> | <code root>service apache2 reload</code> | ||
<note> | <note> | ||
On peut faire aussi : | On peut faire aussi : | ||
<code>{start|stop|graceful-stop|restart|reload|force-reload|start-htcacheclean|stop-htcacheclean}</code> | <code>{start|stop|graceful-stop|restart|reload|force-reload|start-htcacheclean|stop-htcacheclean}</code> | ||
+ | </note> | ||
+ | |||
+ | __**Sur Buster (debian10)**__ | ||
+ | |||
+ | <code root>systemctl reload apache2</code> | ||
+ | <note> | ||
+ | Info sur systemctl : https://www.linuxtricks.fr/wiki/systemd-les-commandes-essentielles | ||
+ | |||
</note> | </note> | ||
Ligne 307: | Ligne 465: | ||
* Désactiver un module : | * Désactiver un module : | ||
<code root>a2dismod nomModule</code> | <code root>a2dismod nomModule</code> | ||
+ | |||
+ | ===== Modules Php ===== | ||
+ |