Просмотр исходного кода

A bit of Apache documentation (#1670)

https://github.com/FreshRSS/FreshRSS/issues/1666
https://github.com/FreshRSS/FreshRSS/issues/1669
https://github.com/FreshRSS/FreshRSS/issues/908
Alexandre Alapetite 8 лет назад
Родитель
Сommit
920f886c55
4 измененных файлов с 150 добавлено и 96 удалено
  1. 3 2
      README.fr.md
  2. 3 2
      README.md
  3. 66 53
      docs/en/users/01_Installation.md
  4. 78 39
      docs/fr/users/01_Installation.md

+ 3 - 2
README.fr.md

@@ -44,7 +44,7 @@ Nous sommes une communauté amicale.
 # Documentation
 * https://freshrss.github.io/FreshRSS/fr/
 
-# Installation
+# [Installation](https://freshrss.github.io/FreshRSS/fr/users/01_Installation.html)
 1. Récupérez l’application FreshRSS via la commande git ou [en téléchargeant l’archive](../releases)
 2. Placez l’application sur votre serveur (la partie à exposer au Web est le répertoire `./p/`)
 3. Le serveur Web doit avoir les droits d’écriture dans le répertoire `./data/`
@@ -52,6 +52,7 @@ Nous sommes une communauté amicale.
 	* ou utilisez [l’interface en ligne de commande](./cli/README.md)
 5. Tout devrait fonctionner :) En cas de problème, n’hésitez pas à [nous contacter](https://github.com/FreshRSS/FreshRSS/issues).
 6. Des paramètres de configuration avancée peuvent être vues dans [config.default.php](./config.default.php) et modifiées dans `data/config.php`.
+7. Avec Apache, activer [`AllowEncodedSlashes`](http://httpd.apache.org/docs/trunk/mod/core.html#allowencodedslashes) pour une meilleure compatibilité avec les clients mobiles.
 
 ## Installation automatisée
 * [![DP deploy](https://raw.githubusercontent.com/DFabric/DPlatform-ShellCore/gh-pages/img/deploy.png)](https://dfabric.github.io/DPlatform-ShellCore)
@@ -171,7 +172,7 @@ Voir le [dépôt dédié à ces extensions](https://github.com/FreshRSS/Extensio
 * [password_compat](https://github.com/ircmaxell/password_compat)
 
 
-# Clients compatibles
+# [Clients compatibles](https://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html)
 Tout client supportant une API de type Google Reader. Sélection :
 
 * Android

+ 3 - 2
README.md

@@ -46,7 +46,7 @@ We are a friendly community.
 # Documentation
 * https://freshrss.github.io/FreshRSS/en/
 
-# Installation
+# [Installation](https://freshrss.github.io/FreshRSS/en/users/01_Installation.html)
 1. Get FreshRSS with git or [by downloading the archive](https://github.com/FreshRSS/FreshRSS/archive/master.zip)
 2. Dump the application on your server (expose only the `./p/` folder)
 3. Add write access on `./data/` folder to the webserver user
@@ -54,6 +54,7 @@ We are a friendly community.
 	* or use the [Command-Line Interface](./cli/README.md)
 5. Everything should be working :) If you encounter any problem, feel free [contact us](https://github.com/FreshRSS/FreshRSS/issues).
 6. Advanced configuration settings can be seen in [config.default.php](./config.default.php) and modified in `data/config.php`.
+7. When using Apache, enable [`AllowEncodedSlashes`](http://httpd.apache.org/docs/trunk/mod/core.html#allowencodedslashes) for better compatibility with mobile clients.
 
 ## Automated install
 * [![Install on Cloudron](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.freshrss.cloudronapp)
@@ -175,7 +176,7 @@ See the [repository dedicated to those extensions](https://github.com/FreshRSS/E
 * [password_compat](https://github.com/ircmaxell/password_compat)
 
 
-# Compatible clients
+# [Compatible clients](https://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html)
 Any client supporting a Google Reader-like API. Selection:
 
 * Android

+ 66 - 53
docs/en/users/01_Installation.md

@@ -10,7 +10,7 @@ You need to verify that your server can run FreshRSS before installing it. If yo
 | PHP         | **PHP 5.5+**     | PHP 5.3.8+                    |
 | PHP modules | Required: libxml, cURL, PDO_MySQL, PCRE and ctype. \\ Required (32-bit only): GMP \\Recommanded: JSON, Zlib, mbstring, iconv, ZipArchive | |
 | Database    | **MySQL 5.0.3+** | SQLite 3.7.4+                 |
-| Browser     | **Firefox**      | Chrome, Opera, Safari or IE9+ |
+| Browser     | **Firefox**      | Chrome, Opera, Safari, or IE11+ |
 
 ## Important notice
 
@@ -39,31 +39,44 @@ This is an example Apache virtual hosts configuration file. It covers http and h
 
 ```
 <VirtualHost *:80>
-    ServerName example.com
-    DocumentRoot /path/to/FreshRSS
+	DocumentRoot /var/www/html/
 
-    ErrorLog ${APACHE_LOG_DIR}/freshrss_error.log
-    CustomLog ${APACHE_LOG_DIR}/freshrss_access.log combined
+	#Default site...
 
-    RewriteEngine on
-    RewriteCond %{SERVER_NAME} = example.com
-    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
+	ErrorLog ${APACHE_LOG_DIR}/error.default.log
+	CustomLog ${APACHE_LOG_DIR}/access.default.log vhost_combined
+</VirtualHost>
+
+<VirtualHost *:80>
+	ServerName rss.example.net
+	DocumentRoot /path/to/FreshRSS/p/
+
+	ErrorLog ${APACHE_LOG_DIR}/freshrss_error.log
+	CustomLog ${APACHE_LOG_DIR}/freshrss_access.log combined
+
+	AllowEncodedSlashes On
 </VirtualHost>
 
 <IfModule mod_ssl.c>
-<VirtualHost *:443>
-    ServerName example.com
-    DocumentRoot /path/to/FreshRSS
+	<VirtualHost *:443>
+		ServerName rss.example.net
+		DocumentRoot /path/to/FreshRSS/p/
 
-    ErrorLog ${APACHE_LOG_DIR}/freshrss_error.log
-    CustomLog ${APACHE_LOG_DIR}/freshrss_access.log combined
+		ErrorLog ${APACHE_LOG_DIR}/freshrss_error.log
+		CustomLog ${APACHE_LOG_DIR}/freshrss_access.log combined
 
-    SSLCertificateFile /path/to/server.crt
-    SSLCertificateKeyFile /path/to/server.key
+		<IfModule mod_http2.c>
+			Protocols h2 http/1.1
+		</IfModule>
 
-    # Optional letsencrypt config (uncomment) line below
-    #Include /etc/letsencrypt/options-ssl-apache.conf
-</VirtualHost>
+		AllowEncodedSlashes On
+
+		SSLEngine on
+		SSLCompression off
+		SSLCertificateFile /path/to/server.crt
+		SSLCertificateKeyFile /path/to/server.key
+		# Additional SSL configuration, e.g. with LetsEncrypt
+	</VirtualHost>
 </IfModule>
 ```
 
@@ -75,41 +88,41 @@ _You can find simpler config file but they may be incompatible with FreshRSS API
 
 ```
 server {
-  listen 80; # http on port 80
-  listen 443 ssl; # https on port 443
-
-  # https configuration
-  ssl on;
-  ssl_certificate      /etc/nginx/server.crt;
-  ssl_certificate_key  /etc/nginx/server.key;
-
-  # your server's url(s)
-  server_name example.com rss.example.com;
-
-  # the folder p of your FreshRSS installation
-  root /srv/FreshRSS/p/;
-
-  index index.php index.html index.htm;
-
-  # nginx log files
-  access_log /var/log/nginx/rss.access.log;
-  error_log /var/log/nginx/rss.error.log;
-
-  # php files handling
-  # this regex is mandatory because of the API
-  location ~ ^.+?\.php(/.*)?$ {
-    fastcgi_pass unix:/var/run/php5-fpm.sock;
-    fastcgi_split_path_info ^(.+\.php)(/.*)$;
-    # By default, the variable PATH_INFO is not set under PHP-FPM
-    # But FreshRSS API greader.php need it. If you have a "Bad Request" error, double check this var !
-    fastcgi_param PATH_INFO $fastcgi_path_info;
-    include fastcgi_params;
-    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
-  }
-
-  location / {
-    try_files $uri $uri/ index.php;
-  }
+	listen 80;
+	listen 443 ssl;
+
+	# https configuration
+	ssl on;
+	ssl_certificate /etc/nginx/server.crt;
+	ssl_certificate_key /etc/nginx/server.key;
+
+	# your server's url(s)
+	server_name rss.example.net;
+
+	# the folder p of your FreshRSS installation
+	root /srv/FreshRSS/p/;
+
+	index index.php index.html index.htm;
+
+	# nginx log files
+	access_log /var/log/nginx/rss.access.log;
+	error_log /var/log/nginx/rss.error.log;
+
+	# php files handling
+	# this regex is mandatory because of the API
+	location ~ ^.+?\.php(/.*)?$ {
+		fastcgi_pass unix:/var/run/php5-fpm.sock;
+		fastcgi_split_path_info ^(.+\.php)(/.*)$;
+		# By default, the variable PATH_INFO is not set under PHP-FPM
+		# But FreshRSS API greader.php need it. If you have a "Bad Request" error, double check this var !
+		fastcgi_param PATH_INFO $fastcgi_path_info;
+		include fastcgi_params;
+		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+	}
+
+	location / {
+		try_files $uri $uri/ index.php;
+	}
 }
 ```
 

+ 78 - 39
docs/fr/users/01_Installation.md

@@ -10,7 +10,7 @@ Il est toutefois de votre responsabilité de vérifier que votre hébergement pe
  | PHP              | **PHP 5.5+**                                                                                                   | PHP 5.3.8+                     |
  | Modules PHP      | Requis : libxml, cURL, PDO_MySQL, PCRE et ctype \\ Requis (32 bits seulement) : GMP \\ Recommandé : JSON, Zlib, mbstring et iconv, ZipArchive |                                |
  | Base de données  | **MySQL 5.0.3+**                                                                                               | SQLite 3.7.4+                  |
- | Navigateur       | **Firefox**                                                                                                    | Chrome, Opera, Safari or IE 9+ |
+ | Navigateur       | **Firefox**                                                                                                    | Chrome, Opera, Safari, or IE 11+ |
 
 ## Note importante
 
@@ -30,13 +30,52 @@ Cette version sort lorsqu'on considère qu'on a répondu à nos objectifs en ter
 
 [Téléchargement](https://github.com/FreshRSS/FreshRSS/archive/dev.zip)
 
-Comme son nom l'indique, il s'agit de la version sur laquelle les développeurs travaillent. **Elle est donc totalement instable !** Si vous souhaitez recevoir les améliorations au jour le jour, vous pouvez l'utiliser, mais attention à bien suivre les évolutions sur Github (via [le flux RSS de la branche](https://github.com/FreshRSS/FreshRSS/commits/dev.atom) par exemple). On raconte que les développeurs principaux l'utilisent quotidiennement sans avoir de soucis. Sans doute savent-ils ce qu'ils font…
+Comme son nom l'indique, il s'agit de la version sur laquelle les développeurs travaillent. **Elle est donc instable !** Si vous souhaitez recevoir les améliorations au jour le jour, vous pouvez l'utiliser, mais attention à bien suivre les évolutions sur Github (via [le flux RSS de la branche](https://github.com/FreshRSS/FreshRSS/commits/dev.atom) par exemple). On raconte que les développeurs principaux l'utilisent quotidiennement sans avoir de soucis. Sans doute savent-ils ce qu'ils font…
 
 # Installation sur Apache
 
-**TODO**
+```
+<VirtualHost *:80>
+	DocumentRoot /var/www/html/
+
+	#Site par défaut...
+
+	ErrorLog ${APACHE_LOG_DIR}/error.default.log
+	CustomLog ${APACHE_LOG_DIR}/access.default.log vhost_combined
+</VirtualHost>
+
+<VirtualHost *:80>
+	ServerName rss.example.net
+	DocumentRoot /path/to/FreshRSS/p/
+
+	ErrorLog ${APACHE_LOG_DIR}/freshrss_error.log
+	CustomLog ${APACHE_LOG_DIR}/freshrss_access.log combined
 
-Cette partie n'a pas encore été écrite. Néanmoins, comme il s'agit d'une bête application PHP, cela ne pose généralement pas de soucis à installer :)
+	AllowEncodedSlashes On
+</VirtualHost>
+
+<IfModule mod_ssl.c>
+	<VirtualHost *:443>
+		ServerName rss.example.net
+		DocumentRoot /path/to/FreshRSS/p/
+
+		ErrorLog ${APACHE_LOG_DIR}/freshrss_error.log
+		CustomLog ${APACHE_LOG_DIR}/freshrss_access.log combined
+
+		<IfModule mod_http2.c>
+			Protocols h2 http/1.1
+		</IfModule>
+
+		AllowEncodedSlashes On
+
+		SSLEngine on
+		SSLCompression off
+		SSLCertificateFile /path/to/server.crt
+		SSLCertificateKeyFile /path/to/server.key
+		# Additional SSL configuration, e.g. with LetsEncrypt
+	</VirtualHost>
+</IfModule>
+```
 
 # Installation sur Nginx
 
@@ -46,41 +85,41 @@ _Vous pourrez trouver d'autres fichiers de configuration plus simples mais ces d
 
 ```
 server {
-  listen 80; # http sur le port 80
-  listen 443 ssl; # https sur le port 443
-
-  # configuration https 
-  ssl on;
-  ssl_certificate      /etc/nginx/server.crt;
-  ssl_certificate_key  /etc/nginx/server.key;
-
-  # l'url ou les urls de votre serveur
-  server_name example.com rss.example.com;
-
-  # le répertoire où se trouve le dossier p de FreshRSS
-  root /srv/FreshRSS/p/;
-
-  index index.php index.html index.htm;
-
-  # les fichiers de log nginx
-  access_log /var/log/nginx/rss.access.log;
-  error_log /var/log/nginx/rss.error.log;
-
-  # gestion des fichiers php
-  # il est nécessaire d'utiliser cette expression régulière pour le bon fonctionnement de l'API 
-  location ~ ^.+?\.php(/.*)?$ {
-    fastcgi_pass unix:/var/run/php5-fpm.sock;
-    fastcgi_split_path_info ^(.+\.php)(/.*)$;
-    # Par défaut la variable PATH_INFO n'est pas définie sous PHP-FPM
-    # or l'API FreshRSS greader.php en a besoin. Si vous avez un "Bad Request", vérifiez bien cette dernière !
-    fastcgi_param PATH_INFO $fastcgi_path_info;
-    include fastcgi_params;
-    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
-  }
-  
-  location / {
-    try_files $uri $uri/ index.php;
-  }
+	listen 80;
+	listen 443 ssl;
+
+	# configuration https
+	ssl on;
+	ssl_certificate /etc/nginx/server.crt;
+	ssl_certificate_key /etc/nginx/server.key;
+
+	# l'url ou les urls de votre serveur
+	server_name rss.example.net;
+
+	# le répertoire où se trouve le dossier p de FreshRSS
+	root /srv/FreshRSS/p/;
+
+	index index.php index.html index.htm;
+
+	# les fichiers de log nginx
+	access_log /var/log/nginx/rss.access.log;
+	error_log /var/log/nginx/rss.error.log;
+
+	# gestion des fichiers php
+	# il est nécessaire d'utiliser cette expression régulière pour le bon fonctionnement de l'API
+	location ~ ^.+?\.php(/.*)?$ {
+		fastcgi_pass unix:/var/run/php5-fpm.sock;
+		fastcgi_split_path_info ^(.+\.php)(/.*)$;
+		# Par défaut la variable PATH_INFO n'est pas définie sous PHP-FPM
+		# or l'API FreshRSS greader.php en a besoin. Si vous avez un "Bad Request", vérifiez bien cette dernière !
+		fastcgi_param PATH_INFO $fastcgi_path_info;
+		include fastcgi_params;
+		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+	}
+
+	location / {
+		try_files $uri $uri/ index.php;
+	}
 }
 ```