diff options
| author | 2017-12-02 13:43:28 +0100 | |
|---|---|---|
| committer | 2017-12-02 13:43:28 +0100 | |
| commit | b5626391553b57d85cca87869c27ffdbdb9a0b04 (patch) | |
| tree | cd749bce826f886e7e7e7be2d02e29b177ff0d76 /docs/en/admins | |
| parent | 6c6d9bdfdcfb0155e8adfaaae679512ec819c0f9 (diff) | |
Documentation updates (#1697)
* added documentation about updating FreshRSS
moved Installation to admin directory
linked some already existing documentation files
Diffstat (limited to 'docs/en/admins')
| -rw-r--r-- | docs/en/admins/01_Index.md | 8 | ||||
| -rw-r--r-- | docs/en/admins/02_Installation.md | 147 | ||||
| -rw-r--r-- | docs/en/admins/03_Updating.md | 90 |
3 files changed, 245 insertions, 0 deletions
diff --git a/docs/en/admins/01_Index.md b/docs/en/admins/01_Index.md new file mode 100644 index 000000000..446780060 --- /dev/null +++ b/docs/en/admins/01_Index.md @@ -0,0 +1,8 @@ +# FreshRSS administration + +Learn how to install, update and backup FreshRSS and how to use the command line tools. + +* [Install FreshRSS](02_Installation.md) on your server +* [Update your installation](03_Updating.md) to the latest stable or dev version +* [The command line interface](https://github.com/FreshRSS/FreshRSS/tree/master/cli) can be used to administrate feeds and users +* [Automatic feed updates](https://github.com/FreshRSS/FreshRSS#automatic-feed-update) using cron is the preferred way to get the latest feeds entries diff --git a/docs/en/admins/02_Installation.md b/docs/en/admins/02_Installation.md new file mode 100644 index 000000000..ef6531bd0 --- /dev/null +++ b/docs/en/admins/02_Installation.md @@ -0,0 +1,147 @@ +# Server requirements + +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. + +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 | +| 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 IE11+ | + +## Important notice + +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. + + +# 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 + +This is an example Apache virtual hosts configuration file. It covers HTTP and HTTPS configuration. + +``` +<VirtualHost *:80> + DocumentRoot /var/www/html/ + + #Default site... + + 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/ + + <Directory /path/to/FreshRSS/p> + AllowOverride AuthConfig FileInfo Indexes Limit + Require all granted + </Directory> + + 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 rss.example.net + DocumentRoot /path/to/FreshRSS/p/ + + <Directory /path/to/FreshRSS/p> + AllowOverride AuthConfig FileInfo Indexes Limit + Require all granted + </Directory> + + 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> + + # For the API + 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> +``` + +# Nginx installation + +This is an example nginx configuration file. It covers HTTP, HTTP, and php-fpm configuration. + +_You can find simpler config file but they may be incompatible with FreshRSS API._ + +``` +server { + 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; + } +} +``` + +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/). + +# Security + +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. + +**TODO** diff --git a/docs/en/admins/03_Updating.md b/docs/en/admins/03_Updating.md new file mode 100644 index 000000000..4e1fdfa5d --- /dev/null +++ b/docs/en/admins/03_Updating.md @@ -0,0 +1,90 @@ + +First things first: we recommend to create a backup before updating: + +```sh +# Perform all commands below in your FreshRSS directory: +cd /usr/share/FreshRSS + +tar -czvf FreshRSS-backup.tgz . +``` + +The update process depends on your installation type, see below: + + +## Using the web admin panel + +Change to your installation at http://localhost/FreshRSS/p/i/?c=update and hit the "Check for new updates" button. + +If there is a new version you will be prompted again. + + +## Using git + +If you manage FreshRSS via command line, then installing and updating FreshRSS can be done via git: + +```sh +# If your local user does not have write access, prefix all commands by sudo: +sudo ... + +# Perform all commands below in your FreshRSS directory: +cd /usr/share/FreshRSS + +# Use the development version of FreshRSS +git checkout -b dev origin/dev + +# Check out a specific version of FreshRSS +# See release names on https://github.com/FreshRSS/FreshRSS/releases +# You will then need to manually change version +# or checkout master or dev branch to get new versions +git checkout 1.7.0 + +# Verify what branch is used +git branch + +# Check whether there is a new version of FreshRSS, +# assuming you are on the /master or /dev branch +git fetch --all +git status + +# Discard manual changes (do a backup before) +git reset --hard +# Then re-delete the file forcing the setup wizard +rm data/do-install.txt + +# Delete manual additions (do a backup before) +git clean -f -d + +# Update to a newer version of FreshRSS, +# assuming you are on the /master or /dev branch +git pull + +# Set the rights so that your Web server can access the files +# (Example for Debian / Ubuntu) +chown -R :www-data . && chmod -R g+r . && chmod -R g+w ./data/ +``` + + +## Using the zip archive + +Perform all commands in your FreshRSS directory: +```sh +cd /usr/share/FreshRSS +``` + +Commands intended to be executed in order (you can c/p the whole block if desired): + +```sh +wget https://github.com/FreshRSS/FreshRSS/archive/master.zip +unzip master.zip +cp -R FreshRSS-master/* . +chown -R :www-data . && chmod -R g+r . && chmod -R g+w ./data/ +rm -f master.zip +rm -f data/do-install.txt +rm -rf FreshRSS-master/ +``` + +Short explanation of the commands above: +* Download the latest version and unzip it +* Overwrite all your existing files with the new ones +* Fix possible permission issues +* Cleanup by deleting the downloaded zip, the file forcing the setup wizard and the temporary directory |
