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 [07/12/2020 19:54] Hypathie [Le module php7] |
utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-prendre-en-main-apache2-sur-jessie [07/12/2020 22:58] Hypathie [Installer son site dans son répertoire personnel] |
||
---|---|---|---|
Ligne 71: | Ligne 71: | ||
- | <code root>service apache2 reload</code> | + | <code root>systemctl restart apache2</code> |
</note> | </note> | ||
===Création d'un virtualhost en local pour le site dans /etc/apache2/sites-available/=== | ===Création d'un virtualhost en local pour le site dans /etc/apache2/sites-available/=== | ||
Ligne 113: | Ligne 113: | ||
===Activer le site (cela crée un lien symbolique dans /etc/apache2/sites-enabled/)=== | ===Activer le site (cela crée un lien symbolique dans /etc/apache2/sites-enabled/)=== | ||
<code root>a2ensite hypathie.net.conf</code> | <code root>a2ensite hypathie.net.conf</code> | ||
- | <code root>service apache2 reload</code> | + | <code root>systemctl restart apache2</code> |
Ligne 148: | Ligne 148: | ||
On désactive ce site : | On désactive ce site : | ||
- | <code root>cd /etc/apache2/sites-enabled/ && a2dissite 000-default.conf && service apache2 reload</code> | + | <code root>cd /etc/apache2/sites-enabled/ && a2dissite 000-default.conf && systemctl restart apache2</code> |
</note> | </note> | ||
Ligne 226: | Ligne 226: | ||
* On modifie le fichier /etc/hosts des machines du réseau local avec lesquelles on souhaite se connecter au site web. | * On modifie le fichier /etc/hosts des machines du réseau local avec lesquelles on souhaite se connecter au site web. | ||
- | <code root>service apache2 reload</code> | + | <code root>systemctl restart apache2</code> |
===fichier hosts sur debian === | ===fichier hosts sur debian === | ||
Ligne 291: | Ligne 291: | ||
- | <code root>chmod -R 750 /home/user/www/</code> | + | <code root>chmod -R 2750 /home/user/www/</code> |
Ligne 344: | Ligne 344: | ||
- | On installe les paquets nécessaires. | + | ===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 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> | <code root>apt -y install libapache2-mod-php</code> | ||
+ | |||
+ | === On active le mode php === | ||
<code root>a2enmod php7.3</code> | <code root>a2enmod php7.3</code> | ||
Ligne 353: | Ligne 355: | ||
<code root>systemctl restart apache2</code> | <code root>systemctl restart apache2</code> | ||
- | === Configurer Apache pour utiliser un index.php === | + | ==== Fichiers intéressants ==== |
- | Il faut vérifier la directive active directory. | + | Tout est configuré comme il faut, mais à savoir ! |
- | <code user>cd /etc/apache2/mods-available/</code> | + | ===La directive active directory=== |
- | <code root>vim dir.conf</code>: | + | <code user>more /etc/apache2/mods-available/dir.conf</code> |
- | <code>DirectoryIndex DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm</code> | + | <code bash>DirectoryIndex DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm</code> |
- | ==== Autre fichier intéressant ==== | ||
- | <code user>/cd etc/apache2/mods-enabled</code> | + | ===Le fichier php7.3.conf=== |
- | <code root> vim php7.3.conf</code> | + | |
- | il faut modifier le fichier **/etc/apache2/mods-enabled/php7.3.conf** en ajoutant : | + | |
- | <code> | + | <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)$"> | <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''. | ||
+ | |||
+ | |||
Ligne 383: | Ligne 388: | ||
===== 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 388: | 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 395: | 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 461: | 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 ===== |