logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 [16/06/2020 15:45]
Hypathie [Pour un projet symfony5]
utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-prendre-en-main-apache2-sur-jessie [07/12/2020 22:54]
Hypathie [Pour résumer]
Ligne 1: Ligne 1:
-====== ​Créer son site web en php _ prendre ​en main Apache2 ======+====== ​Prendre ​en main Apache2 ======
  
  
Ligne 278: Ligne 278:
 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 ====+===== Installer son site dans son répertoire personnel ​===== 
 +<note tip> 
 +Attention de modifier ''​user''​ par l'​utilisateur qui est propriétaire du dit répertoire ! 
 +</​note>​ 
 +====On crée un dossier Web ====
  
-===On crée un dossier Web ===+<code user>​mkdir /​home/​user/​www/​site1</​code>​
  
-<code user>​mkdir Web/</​code>​+==== On donne propriétés et droits ====
  
-=== On donne propriétés et droits ===+<code root>​chown -R user:​www-data /​home/​user/​www/</​code>​
  
-<code root>​chown -R hypathie:​www-data /​home/​hypathie/​Web/</​code>​ 
  
-<note tip> +<code root>chmod -R 750 /​home/​user/​www/​</code>
-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 ===+==== On crée un dossier ​pour le site1 et un index.html pour tester ====
  
-<code user>cd /var/www/ && ​mv essai/ ~/Web/</​code>​+<code user>cd /home/user/www/ && ​mkdir site1/</​code>​
  
-<note tip> +<code user>vim site1/​index.html/​</code>
-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>​+==== On crée un lien symbolique vers le répertoire utilisateur dans www ==== 
 + 
 +<​code ​root>ln -s /home/​user/​www/site1/ /​var/​www/​essai</​code>​
  
 Il n'y a rien de plus à faire, ni à modifier le virtualhost ni à recharger apache. Il n'y a rien de plus à faire, ni à modifier le virtualhost ni à recharger apache.
  
-=== Avec la configuration du virtualhost ===+==== On lui crée un virtualhost ​====
  
 On donne le chemin du dossier de son répertoire personnel dans le virtualhost. On donne le chemin du dossier de son répertoire personnel dans le virtualhost.
  
 <​code><​VirtualHost *:80> <​code><​VirtualHost *:80>
-        ServerName ​test.local+        ServerName ​site1.local
         ServerAdmin webmaster@localhost         ServerAdmin webmaster@localhost
-        DocumentRoot /home/user/dossier-racine-du-site/+        DocumentRoot /home/user/www/site1/
  
-        <​Directory /home/user/dossier-racine-du-site/+        <​Directory /home/user/www/site1/
           require all granted           require all granted
           AllowOverride All           AllowOverride All
Ligne 330: Ligne 329:
 </​code>​ </​code>​
  
-==== Le module php5 ====+<code root> 
 +a2ensite site1.local 
 +</​code>​
  
-Sur Jessie inutile d'​activer le module avec a2enmod.+<code root> 
 +systemctl reload apache2 
 +</​code>​
  
-    * Pour les autres paquets concernant php5 : +===On teste : ===
-<code user>​apt-cache search php5</​code>​ +
-   +
-  * On installe les paquets nécessaires.+
  
-<code root>​apt-get install php5 libapache2-mod-php5</​code>​+* Par exemple, dans le navigateur ​ : **''​site1.local''​**
  
 +===== Le module php7 =====
  
  
-==== Le module php7 ====+===On installe les paquets nécessaires=== 
 +<code root>apt install php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd ​ php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath php7.3-json</​code>​
  
 +<code root>apt -y install libapache2-mod-php</​code>​
  
-  * Pour les autres paquets concernant php7 : +=== On active le mode php ===
-<code user>​apt-cache search php7</​code>​+
  
-  * On installe les paquets nécessaires.+<code root>​a2enmod php7.3</​code>​
  
-<code root>apt install php-pear php7.4 libapache2-mod-php7.4</​code>​+<code root>systemctl restart apache2</​code>​
  
-==== Configurer Apache pour utiliser du code php dans un fichier avec une extension html ====+==== Fichiers intéressants  ​====
  
-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.\\ +Tout est configuré comme il fautmais à savoir !
-Pour utiliser du code php comme ci-dessous dans un fichier nommé avec l'​extension htmlpar exemple index.html : \\+
  
-<code html> ​   +===La directive active directory===
-<​!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();+<code user>​more /​etc/​apache2/​mods-available/​dir.conf</​code>​
  
-    ?> +<code bash>DirectoryIndex DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm</​code>​
- </body> +
-</html+
-</​code>​+
  
-il faut modifier le fichier **/​etc/​apache2/​mods-enabled/​php7.4.conf** en ajoutant :\\ 
  
-<​code>​ +===Le fichier php7.3.conf=== 
-<​FilesMatch ".+\.html$">+ 
 +<code user> vim php7.3.conf</​code>​ 
 +<code user>​more /​etc/​apache2/​mods-enabled/​php7.3.conf</​code>​ 
 + 
 +<​code ​bash
 +<​FilesMatch ".+\.ph(ar|p|tml)$">
     SetHandler application/​x-httpd-php     SetHandler application/​x-httpd-php
 </​FilesMatch>​ </​FilesMatch>​
 </​code>​ </​code>​
 +
 +Les premières lignes que l'​application x-httpd-php interprète les fichier qui se termine soit par ''​.phar'',​ soit par ''​.php''​ soit par ''​.phtml''​.
 +
 +
 +
 +
 +
 +
  
  
  
 ===== Pour résumer ===== ===== Pour résumer =====
 +
 +
 +===Fichiers de log d'​apache ===
 +
 + * Erreurs
 +<code user>​more /​var/​log/​apache2/​error.log</​code>​
 +
 +Par exemple erreur suivante indique un problème de droit sur le fichier index.php
 +
 +<​code>​[Mon Dec 07 19:​18:​33.354048 2020] [php7:​error] [pid 5220] [client ::1:38114] PHP Fatal error: ​ Unknown: Failed opening required '/​home/​user/​www/​mon_site.com/​index.php'​ (include_path='​.:/​usr/​share/​php'​) in Unknown on line 0
 +</​code>​
 +
 + * Accès
 +
 +<code user>​more /​var/​log/​apache2/​access.log</​code>​
  
 === Propriétés et droits === === Propriétés et droits ===
Ligne 393: Ligne 408:
   * **On donne les propriétés** : utilisateur du site et au groupe www-data :\\ ''​chown -R utilisateur:​www-data /​chemin/​du/​site/''​   * **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/''​+  * **On donne récursivement les droits ​2750 sur le dossier du site** :\\ ''​chmod -R 750 /​home/​utilisateur/​site/''​ 
 +    * SGID sur un fichier ou un dossier, Valeur octale : 2000, valeur symbolique : s
     * les droits de lecture + écriture + exécution pour l'​utilisateur (7)     * les droits de lecture + écriture + exécution pour l'​utilisateur (7)
     * les droits de lecture + exécution pour le groupe www-data (5)     * les droits de lecture + exécution pour le groupe www-data (5)
Ligne 400: Ligne 416:
  
 <note tip> <note tip>
-**Ne pas laisser ​les droits d’exécution sur les fichiers !**  +Pour les //​paranoïdes// ​de la sécurité.\\ 
- +
-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 d -exec chmod 2750 {} \;</​code>​
 <code root>cd /​chemin/​dossier/​site_web && find . -type f -exec chmod 640 {} \;</​code> ​ <code root>cd /​chemin/​dossier/​site_web && find . -type f -exec chmod 640 {} \;</​code> ​
 </​note>​ </​note>​
Ligne 466: Ligne 479:
 <code root>​a2dismod nomModule</​code>​ <code root>​a2dismod nomModule</​code>​
  
-===== Modules Php ===== 
- 
-Pour installer un module php en fonction de sa version de php 
- 
-<code user> 
-php -v 
-</​code>​ 
- 
-Puis  
- 
-<code root> 
-apt-get install php[version-here]-sqlite3 
-</​code>​ 
  
 ===== Pour un projet symfony5 ===== ===== Pour un projet symfony5 =====
Ligne 530: Ligne 530:
  
 ==== On donne les bons droits au dossier du projet ==== ==== On donne les bons droits au dossier du projet ====
 +Symfony a besoin du droit d’exécution de certains fichiers.
  
 <code root> <code root>
-chown -R user:www-data /​var/​www/​TestSymfony/​+chown -R www-data:www-data /​var/​www/​TestSymfony/​
 chmod -R 755 /​var/​www/​TestSymfony/​ chmod -R 755 /​var/​www/​TestSymfony/​
  
Ligne 572: Ligne 573:
 </​code>​ </​code>​
  
 +Le dossier web /var/www appartient à root :
 +
 +<code root>
 +chmod -R 777 /var/www/
 +</​code>​
  
 Pour créer une application plus légère comme un microservice,​ une app console ou une API dans une certaine version du framework : Pour créer une application plus légère comme un microservice,​ une app console ou une API dans une certaine version du framework :
Ligne 592: Ligne 598:
 <code user> <code user>
 symfony new --full my_project [--version=lts|stable|4.4] symfony new --full my_project [--version=lts|stable|4.4]
 +</​code>​
 +
 +
 +On n'​oublie de remettre les droits à /var/www
 +
 +<code root>
 +chmod -R 755 /var/www/
 </​code>​ </​code>​
  
utilisateurs/hypathie/tutos/creer-son-site-web-en-php-_-prendre-en-main-apache2-sur-jessie.txt · Dernière modification: 17/09/2023 10:36 par Hypathie

Pied de page des forums

Propulsé par FluxBB