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 [16/06/2020 16:24] Hypathie [Pour un projet symfony5] |
utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-prendre-en-main-apache2-sur-jessie [07/12/2020 20:12] 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> |
+ | |||
+ | <code user>vim site1/index.html/</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 === | + | ==== On crée un lien symbolique vers le répertoire utilisateur dans www ==== |
- | <code user>ln -s ~/Web/essai/ /var/www/essai</code> | + | <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 faut, mais à savoir ! |
- | Pour utiliser du code php comme ci-dessous dans un fichier nommé avec l'extension html, par 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 466: | Ligne 481: | ||
<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 ===== |