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 | ||
utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-prendre-en-main-apache2-sur-jessie [29/12/2020 17:31] Hypathie [Pour résumer] |
utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-prendre-en-main-apache2-sur-jessie [17/09/2023 10:36] (Version actuelle) Hypathie [Pour un projet symfony5] |
||
---|---|---|---|
Ligne 274: | Ligne 274: | ||
- | <code root>chmod -R 2750 /home/user/www/</code> | + | <code root>chmod -R 755 /home/user/www/</code> |
+ | <note> | ||
+ | Si on veut que www-data puisse écrire (log ou autre) il faut ajouter les droits d'écriture pour le groupe : \\ | ||
+ | ''chmod -R 775 /home/user/www/'' \\ | ||
+ | |||
+ | * 700 : 4 (lecture) + 2 (écriture) + 1 (exécution) pour l'utilisateur | ||
+ | * 070 : idem pour le groupe | ||
+ | * 005 : 2 (écriture) + 1 (exécution) pour les autres | ||
+ | Avec -R pour récursif dans les répertoires, il faut le droit d'éxécution pour traverser un répertoire. | ||
+ | |||
+ | </note> | ||
==== On crée un dossier pour le site1 et un index.html pour tester ==== | ==== On crée un dossier pour le site1 et un index.html pour tester ==== | ||
Ligne 568: | Ligne 578: | ||
- | On n'oublie de remettre les droits à /var/www | + | On n'oublie de remettre les droits d'origines à /var/www |
<code root> | <code root> | ||
Ligne 574: | Ligne 584: | ||
</code> | </code> | ||
+ | Avec un virualhost qui pointe dans un répertoire personnel pour symfony : | ||
+ | |||
+ | <code root> | ||
+ | chmod -R 2775 /var/www/ | ||
+ | </code> | ||
+ | ===== Pour un projet symfony5 ===== | ||
+ | |||
+ | 1. À la racine du projet symfony on ajoute un fichier dans public/.htaccess | ||
+ | |||
+ | <code file> | ||
+ | # Use the front controller as index file. It serves as a fallback solution when | ||
+ | # every other rewrite/redirect fails (e.g. in an aliased environment without | ||
+ | # mod_rewrite). Additionally, this reduces the matching process for the | ||
+ | # start page (path "/") because otherwise Apache will apply the rewriting rules | ||
+ | # to each configured DirectoryIndex file (e.g. index.php, index.html, index.pl). | ||
+ | DirectoryIndex index.php | ||
+ | |||
+ | # By default, Apache does not evaluate symbolic links if you did not enable this | ||
+ | # feature in your server configuration. Uncomment the following line if you | ||
+ | # install assets as symlinks or if you experience problems related to symlinks | ||
+ | # when compiling LESS/Sass/CoffeScript assets. | ||
+ | # Options +FollowSymlinks | ||
+ | |||
+ | # Disabling MultiViews prevents unwanted negotiation, e.g. "/index" should not resolve | ||
+ | # to the front controller "/index.php" but be rewritten to "/index.php/index". | ||
+ | <IfModule mod_negotiation.c> | ||
+ | Options -MultiViews | ||
+ | </IfModule> | ||
+ | |||
+ | <IfModule mod_rewrite.c> | ||
+ | # This Option needs to be enabled for RewriteRule, otherwise it will show an error like | ||
+ | # 'Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden' | ||
+ | Options +FollowSymlinks | ||
+ | |||
+ | RewriteEngine On | ||
+ | |||
+ | # Determine the RewriteBase automatically and set it as environment variable. | ||
+ | # If you are using Apache aliases to do mass virtual hosting or installed the | ||
+ | # project in a subdirectory, the base path will be prepended to allow proper | ||
+ | # resolution of the index.php file and to redirect to the correct URI. It will | ||
+ | # work in environments without path prefix as well, providing a safe, one-size | ||
+ | # fits all solution. But as you do not need it in this case, you can comment | ||
+ | # the following 2 lines to eliminate the overhead. | ||
+ | RewriteCond %{REQUEST_URI}::$0 ^(/.+)/(.*)::\2$ | ||
+ | RewriteRule .* - [E=BASE:%1] | ||
+ | |||
+ | # Sets the HTTP_AUTHORIZATION header removed by Apache | ||
+ | RewriteCond %{HTTP:Authorization} .+ | ||
+ | RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0] | ||
+ | |||
+ | # Redirect to URI without front controller to prevent duplicate content | ||
+ | # (with and without `/index.php`). Only do this redirect on the initial | ||
+ | # rewrite by Apache and not on subsequent cycles. Otherwise we would get an | ||
+ | # endless redirect loop (request -> rewrite to front controller -> | ||
+ | # redirect -> request -> ...). | ||
+ | # So in case you get a "too many redirects" error or you always get redirected | ||
+ | # to the start page because your Apache does not expose the REDIRECT_STATUS | ||
+ | # environment variable, you have 2 choices: | ||
+ | # - disable this feature by commenting the following 2 lines or | ||
+ | # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the | ||
+ | # following RewriteCond (best solution) | ||
+ | RewriteCond %{ENV:REDIRECT_STATUS} ="" | ||
+ | RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L] | ||
+ | |||
+ | # If the requested filename exists, simply serve it. | ||
+ | # We only want to let Apache serve files and not directories. | ||
+ | # Rewrite all other queries to the front controller. | ||
+ | RewriteCond %{REQUEST_FILENAME} !-f | ||
+ | RewriteRule ^ %{ENV:BASE}/index.php [L] | ||
+ | </IfModule> | ||
+ | |||
+ | <IfModule !mod_rewrite.c> | ||
+ | <IfModule mod_alias.c> | ||
+ | # When mod_rewrite is not available, we instruct a temporary redirect of | ||
+ | # the start page to the front controller explicitly so that the website | ||
+ | # and the generated links can still be used. | ||
+ | RedirectMatch 307 ^/$ /index.php/ | ||
+ | # RedirectTemp cannot be used instead | ||
+ | </IfModule> | ||
+ | </IfModule> | ||
+ | </code> | ||
+ | |||
+ | 2. On active le mode rewrite d'apache | ||
+ | |||
+ | <code root> | ||
+ | a2enmod rewrite && systemctl restart apache2 | ||
+ | </code> |