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 14:41]
Hypathie [Modules Php]
utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-prendre-en-main-apache2-sur-jessie [07/12/2020 18:17]
Hypathie [Le module php5]
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>​ 
 + 
 +<code root> 
 +systemctl reload apache2 
 +</​code>​ 
 + 
 +===On teste : === 
 + 
 +* Par exemple, dans le navigateur ​ : **''​site1.local''​** 
 + 
 +===== Le module php5 =====
  
 Sur Jessie inutile d'​activer le module avec a2enmod. Sur Jessie inutile d'​activer le module avec a2enmod.
Ligne 339: Ligne 350:
   * On installe les paquets nécessaires.   * On installe les paquets nécessaires.
  
-<code root>​apt-get install ​php5 libapache2-mod-php5</​code>​+<code root>apt -install ​php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd ​ php-mbstring php-curl php-xml php-pear php-bcmath</​code>​
  
  
Ligne 346: Ligne 357:
  
  
-  * Pour les autres ​paquets ​concernant php7 : +On installe ​les paquets ​nécessaires.
-<code user>​apt-cache search php7</​code>​+
  
-  * On installe les paquets nécessaires.+<code root>apt -y install libapache2-mod-php</​code>​
  
-<code root>apt install php-pear ​php7.4 libapache2-mod-php7.4</​code>​+<code root>a2enmod rewrite</​code>​ 
 + 
 +<code root>​a2enmod ​php7.3</​code>​
  
 ==== Configurer Apache pour utiliser du code php dans un fichier avec une extension html ==== ==== Configurer Apache pour utiliser du code php dans un fichier avec une extension html ====
 +
 +Il faut vérifier la directive active directory :
 +
 +<code user>cd /​etc/​apache2/​mods-available/</​code>​
 +
 +<code root>vim dir.conf</​code>:​
 +
 +<​code>​DirectoryIndex index.html index.php</​code>​
 +
 +<code user>/cd etc/​apache2/​mods-enabled</​code>​
 +<code root> vim php7.3.conf</​code>​
 +il faut modifier le fichier **/​etc/​apache2/​mods-enabled/​php7.3.conf** en ajoutant :
 +
 +<​code>​
 +<​FilesMatch "​.+\.html$">​
 +    SetHandler application/​x-httpd-php
 +</​FilesMatch>​
 +</​code>​
 +
 +<code root>​systemctl restart apache2</​code>​
 +
 +=== Test===
  
 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.\\ 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.\\
Ligne 377: Ligne 411:
 </​code>​ </​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>​ 
  
  
Ligne 480: Ligne 508:
 </​code>​ </​code>​
  
-===== Pour un projet symfony =====+===== Pour un projet symfony5 ===== 
 + 
 +==== On installe Apache2 si c'est pas fait ==== 
 + 
 +<code root>apt install apache2</​code>​ 
 + 
 +==== On installe php7 ==== 
 + 
 +<code root> 
 +apt install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-mysql php7.2-gmp php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-ldap php7.2-gd php7.2-bcmath php7.2-xml php7.2-cli php7.2-zip 
 +</​code>​ 
 + 
 +==== On configure php pour Apache ainsi==== 
 + 
 +<code root>/​etc/​php/​7.[version]/​apache2/​php.ini </​code>​ 
 + 
 +<​code>​ 
 +file_uploads = On 
 +allow_url_fopen = On 
 +short_open_tag = On 
 +memory_limit = 256M 
 +upload_max_filesize = 100M 
 +max_execution_time = 360 
 +</​code>​ 
 + 
 +==== On crée un virtualhost de même nom que le projet symfony==== 
 +<code root> 
 +cd /​etc/​apache2/​sites-available && vim TestSymfony 
 +</​code>​ 
 +apt install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-mysql php7.2-gmp php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-ldap php7.2-gd php7.2-bcmath php7.2-xml php7.2-cli php7.2-zip 
 +<​code>​ 
 +<​VirtualHost *:80> 
 +   ​ServerName TestSymfony 
 +  
 +   ​DocumentRoot /​var/​www/​TestSymfony/​public/​ 
 +    
 +   <​Directory /​var/​www/​TestSymfony/​public/>​ 
 + Options FollowSymLinks MultiViews 
 + AllowOverride All 
 + Order allow,​deny 
 +        Allow from All 
 +   </​Directory>​ 
 +  
 +   ​ErrorLog /​var/​log/​apache2/​project_error.log 
 +   ​CustomLog /​var/​log/​apache2/​projec_access.log combined 
 +</​VirtualHost>​ 
 +</​code>​ 
 + 
 + 
 +==== On donne les bons droits au dossier du projet ==== 
 +Symfony a besoin du droit d’exécution de certains fichiers. 
 + 
 +<code root> 
 +chown -R www-data:​www-data /​var/​www/​TestSymfony/​ 
 +chmod -R 755 /​var/​www/​TestSymfony/​ 
 + 
 +</​code>​ 
 + 
 + 
 +==== On crée un lien symbolique vers "site enable"​ ==== 
 + 
 +<code root> 
 +a2ensite TestSymfony && systemctl restart apache2.service 
 +</​code>​ 
 + 
 +=== Discuter avec Apache === 
 +<code root> 
 +systemctl [stop|start|enable] apache2.service 
 +</​code>​ 
 + 
 + 
 +==== On installe symfony ==== 
 + 
 +<code user> 
 +mkdir InstallSymfonyComposer 
 +cd InstallSymfonyComposer/​ 
 +wget https://​getcomposer.org/​installer 
 + 
 +php installer 
 +  
 +cp composer.phar composer.phar_copy 
 + 
 +sudo mv composer.phar /​usr/​local/​bin/​composer 
 + 
 +sudo chmod +x /​usr/​local/​bin/​composer 
 + 
 +cd /var/www/ 
 +</​code>​ 
 + 
 +<code user> 
 +composer create-project symfony/​skeleton TestSymfony 
 +</​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 : 
 +<code user> 
 +composer create-project symfony/​skeleton TestSymfony [^version_voulue] 
 +</​code>​ 
 + 
 +ou 
 +<code user>  
 +symfony new my_project [--version=lts|stable|4.4] 
 +</​code>​ 
 + 
 +Pour créer une application web traditionnelle : 
 +<code user> 
 +composer create-project symfony/​website-skeleton TestSymfony 
 +</​code>​ 
 + 
 +ou  
 + 
 +<code user> 
 +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>​ 
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