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 [24/05/2016 18:52]
Hypathie [Pour résumer]
utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-prendre-en-main-apache2-sur-jessie [16/06/2020 14:47]
Hypathie [Pour un projet symfony]
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 91: Ligne 97:
 </​VirtualHost>​ </​VirtualHost>​
 </​code>​ </​code>​
 +
 +<note tip>
 +**__Explications__**\\
 +
 +  * **VirtualHost *:80** \\ L'​étoile signifie toutes les adresses écoutées par apache et auxquelles il répond. Ce sont les adresses des clients qui consultent les sites servis par apache, sur **le port 80**.
 +
 +  * **ServerName and ServerAlias** :\\ Let Apache know the domain to match to this virtual host by setting the ServerName. Optionally also use ServerAlias to tell apache to listen to other domains and point them to this virtual host as well, such as a "​www"​ subdomain.
 +  * **DocumentRoot**:​ \\ Change to suit your needs. I often have a "​public_html"​ or "​public"​ directory which is the web root. Then I can encapsulate related files which stay behind the web-root within the sites directory. (site.com directory, with site.com/​public_html directory as the web-root). This is how Laravel works by default.
 +    Options -Indexes:: -Indexes stops people from being able to go to a directory and see files listed in there. Instead they see a Forbidden error. This can stops users view all your files in your /images directory, for instance.
 +  * **AllowOverride**:​ \\ Set to "​all"​ to allow .htaccess files in your virtual host (And sub-directories)
 +    ErrorLog, CustomLog: Create log files specifically for your domain, so they don't get mixed in with traffic / errors from other sites running on the server.
 +
 +</​note>​
  
 ===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/​)===
Ligne 209: 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 235: 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 242: 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 277: 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 294: Ligne 465:
   * Désactiver un module :   * Désactiver un module :
 <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 =====
 +
 +<code root>
 +cd /​etc/​apache2/​sites-available && vim mon_site_symfony5
 +</​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