You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
148 lines
5.2 KiB
148 lines
5.2 KiB
8 years ago
|
# Server requirements
|
||
|
|
||
7 years ago
|
FreshRSS is a web application. This means you’ll need a web server to run it. FreshRSS requirements are really low, so it could run on most shared host servers.
|
||
8 years ago
|
|
||
|
You need to verify that your server can run FreshRSS before installing it. If your server has the proper requirements and FreshRSS does not work, please contact us to find a solution.
|
||
|
|
||
|
| Software | Recommended | Works also with |
|
||
|
| ----------- | ---------------- | ----------------------------- |
|
||
|
| Web server | **Apache 2** | Nginx |
|
||
7 years ago
|
| PHP | **PHP 5.5+** | PHP 5.3.8+ |
|
||
8 years ago
|
| 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+ |
|
||
7 years ago
|
| Browser | **Firefox** | Chrome, Opera, Safari, or IE11+ |
|
||
8 years ago
|
|
||
|
## Important notice
|
||
|
|
||
7 years ago
|
FreshRSS **CAN** work with PHP 5.3.8+. To do so, we are using specific functions available in the [''password_compat'' library](https://github.com/ircmaxell/password_compat#requirements) for the form authentication.
|
||
8 years ago
|
|
||
|
|
||
|
# Getting the appropriate version of FreshRSS
|
||
|
|
||
|
FreshRSS has three different releases or branches. Each branch has its own release frequency. So it is better if you spend some time to understand the purpose of each release.
|
||
|
|
||
|
## Stable release
|
||
|
|
||
|
[Download](https://github.com/FreshRSS/FreshRSS/archive/master.zip)
|
||
|
|
||
|
This release is done when we consider that our goal concerning the new features and the stability is reached. It could happen that we make two releases in a really short time if we have a really good coding pace. In reality, we are all working on our spare time, so we release every few months. But this version is really stable, tested thoroughly and you should not face any major bugs.
|
||
|
|
||
|
## Development release
|
||
|
|
||
|
[Download](https://github.com/FreshRSS/FreshRSS/archive/dev.zip)
|
||
|
|
||
|
As its name suggests, it is the working release for developers. **This release is unstable!** If you want to keep track of enhancements on a daily basis, you can use it. But keep in mind that you need to follow the branch activity on Github (via [the branch RSS feed](https://github.com/FreshRSS/FreshRSS/commits/dev.atom) for instance). Some say that the main developers use it on a daily basis without problem. They may know what they are doing…
|
||
|
|
||
|
# Apache installation
|
||
|
|
||
7 years ago
|
This is an example Apache virtual hosts configuration file. It covers HTTP and HTTPS configuration.
|
||
8 years ago
|
|
||
|
```
|
||
|
<VirtualHost *:80>
|
||
7 years ago
|
DocumentRoot /var/www/html/
|
||
8 years ago
|
|
||
7 years ago
|
#Default site...
|
||
8 years ago
|
|
||
7 years ago
|
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/
|
||
|
|
||
7 years ago
|
<Directory /path/to/FreshRSS/p>
|
||
|
AllowOverride AuthConfig FileInfo Indexes Limit
|
||
|
Require all granted
|
||
|
</Directory>
|
||
|
|
||
7 years ago
|
ErrorLog ${APACHE_LOG_DIR}/freshrss_error.log
|
||
|
CustomLog ${APACHE_LOG_DIR}/freshrss_access.log combined
|
||
|
|
||
|
AllowEncodedSlashes On
|
||
8 years ago
|
</VirtualHost>
|
||
|
|
||
|
<IfModule mod_ssl.c>
|
||
7 years ago
|
<VirtualHost *:443>
|
||
|
ServerName rss.example.net
|
||
|
DocumentRoot /path/to/FreshRSS/p/
|
||
8 years ago
|
|
||
7 years ago
|
<Directory /path/to/FreshRSS/p>
|
||
|
AllowOverride AuthConfig FileInfo Indexes Limit
|
||
|
Require all granted
|
||
|
</Directory>
|
||
|
|
||
7 years ago
|
ErrorLog ${APACHE_LOG_DIR}/freshrss_error.log
|
||
|
CustomLog ${APACHE_LOG_DIR}/freshrss_access.log combined
|
||
8 years ago
|
|
||
7 years ago
|
<IfModule mod_http2.c>
|
||
|
Protocols h2 http/1.1
|
||
|
</IfModule>
|
||
8 years ago
|
|
||
7 years ago
|
# For the API
|
||
7 years ago
|
AllowEncodedSlashes On
|
||
|
|
||
|
SSLEngine on
|
||
|
SSLCompression off
|
||
|
SSLCertificateFile /path/to/server.crt
|
||
|
SSLCertificateKeyFile /path/to/server.key
|
||
|
# Additional SSL configuration, e.g. with LetsEncrypt
|
||
|
</VirtualHost>
|
||
8 years ago
|
</IfModule>
|
||
|
```
|
||
|
|
||
|
# Nginx installation
|
||
|
|
||
7 years ago
|
This is an example nginx configuration file. It covers HTTP, HTTP, and php-fpm configuration.
|
||
8 years ago
|
|
||
|
_You can find simpler config file but they may be incompatible with FreshRSS API._
|
||
|
|
||
|
```
|
||
|
server {
|
||
7 years ago
|
listen 80;
|
||
|
listen 443 ssl;
|
||
|
|
||
7 years ago
|
# HTTPS configuration
|
||
7 years ago
|
ssl on;
|
||
|
ssl_certificate /etc/nginx/server.crt;
|
||
|
ssl_certificate_key /etc/nginx/server.key;
|
||
|
|
||
7 years ago
|
# your server’s URL(s)
|
||
7 years ago
|
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
|
||
7 years ago
|
# But FreshRSS API greader.php need it. If you have a “Bad Request” error, double check this var!
|
||
7 years ago
|
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;
|
||
|
}
|
||
8 years ago
|
}
|
||
|
```
|
||
|
|
||
7 years ago
|
A step-by-step tutorial is available [in French](http://www.pihomeserver.fr/2013/05/08/raspberry-pi-home-server-installer-un-agregateur-de-flux-rss-pour-remplacer-google-reader/).
|
||
8 years ago
|
|
||
|
# Security
|
||
|
|
||
7 years ago
|
Make sure to expose only the `./p/` folder on the web, the other directories contain personal and sensitive data.
|
||
|
See the Apache and nginx config examples above.
|
||
|
|
||
8 years ago
|
**TODO**
|