diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 100 |
1 files changed, 12 insertions, 88 deletions
@@ -5,7 +5,7 @@ * [Version française](README.fr.md) # FreshRSS -FreshRSS is a self-hosted RSS feed aggregator like [Leed](http://leed.idleman.fr/) or [Kriss Feed](https://tontof.net/kriss/feed/). +FreshRSS is a self-hosted RSS feed aggregator like [Leed](https://github.com/LeedRSS/Leed) or [Kriss Feed](https://tontof.net/kriss/feed/). It is lightweight, easy to work with, powerful, and customizable. @@ -43,10 +43,10 @@ FreshRSS comes with absolutely no warranty. * Light server running Linux or Windows * It even works on Raspberry Pi 1 with response time under a second (tested with 150 feeds, 22k articles) * A web server: Apache2 (recommended), nginx, lighttpd (not tested on others) -* PHP 5.3.8+ (PHP 5.4+ recommended, and PHP 5.5+ for performance, or PHP 7 for even higher performance) - * Required extensions: [cURL](https://secure.php.net/curl), [DOM](https://secure.php.net/dom), [XML](https://secure.php.net/xml), [session](https://secure.php.net/session), [ctype](https://secure.php.net/ctype), and [PDO_MySQL](https://secure.php.net/pdo-mysql) or [PDO_SQLite](https://secure.php.net/pdo-sqlite) or [PDO_PGSQL](https://secure.php.net/pdo-pgsql) - * Recommended extensions: [JSON](https://secure.php.net/json), [GMP](https://secure.php.net/gmp) (for API access on 32-bit platforms), [IDN](https://secure.php.net/intl.idn) (for Internationalized Domain Names), [mbstring](https://secure.php.net/mbstring) (for Unicode strings), [iconv](https://secure.php.net/iconv) (for charset conversion), [ZIP](https://secure.php.net/zip) (for import/export), [zlib](https://secure.php.net/zlib) (for compressed feeds) -* MySQL 5.5.3+ (recommended), or SQLite 3.7.4+, or PostgreSQL 9.2+ +* PHP 5.6+ (PHP 7+ recommended for higher performance) + * Required extensions: [cURL](https://www.php.net/curl), [DOM](https://www.php.net/dom), [JSON](https://www.php.net/json), [XML](https://www.php.net/xml), [session](https://www.php.net/session), [ctype](https://www.php.net/ctype), and [PDO_MySQL](https://www.php.net/pdo-mysql) or [PDO_SQLite](https://www.php.net/pdo-sqlite) or [PDO_PGSQL](https://www.php.net/pdo-pgsql) + * Recommended extensions: [GMP](https://www.php.net/gmp) (for API access on 32-bit platforms), [IDN](https://www.php.net/intl.idn) (for Internationalized Domain Names), [mbstring](https://www.php.net/mbstring) (for Unicode strings), [iconv](https://www.php.net/iconv) (for charset conversion), [ZIP](https://www.php.net/zip) (for import/export), [zlib](https://www.php.net/zlib) (for compressed feeds) +* MySQL 5.5.3+ or MariaDB equivalent, or SQLite 3.7.4+, or PostgreSQL 9.5+ # Releases @@ -76,73 +76,6 @@ See the [list of releases](../../releases). More detailed information about installation and server configuration can be found in [our documentation](https://freshrss.github.io/FreshRSS/en/admins/02_Installation.html). -### Example of full installation on Linux Debian/Ubuntu -```sh -# If you use an Apache Web server (otherwise you need another Web server) -sudo apt-get install apache2 -sudo a2enmod headers expires rewrite ssl #Apache modules - -# Example for Ubuntu >= 16.04, Debian >= 9 Stretch -sudo apt install php php-curl php-gmp php-intl php-mbstring php-sqlite3 php-xml php-zip -sudo apt install libapache2-mod-php #For Apache -sudo apt install mysql-server mysql-client php-mysql #Optional MySQL database -sudo apt install postgresql php-pgsql #Optional PostgreSQL database - -# Restart Web server -sudo service apache2 restart - -# For FreshRSS itself (git is optional if you manually download the installation files) -cd /usr/share/ -sudo apt-get install git -sudo git clone https://github.com/FreshRSS/FreshRSS.git -cd FreshRSS - -# If you want to use the development version of FreshRSS -sudo git checkout -b dev origin/dev - -# Set the rights so that your Web server can access the files -sudo chown -R :www-data . && sudo chmod -R g+r . && sudo chmod -R g+w ./data/ -# If you would like to allow updates from the Web interface -sudo chmod -R g+w . - -# Publish FreshRSS in your public HTML directory -sudo ln -s /usr/share/FreshRSS/p /var/www/html/FreshRSS -# Navigate to http://example.net/FreshRSS to complete the installation -# (If you do it from localhost, you may have to adjust the setting of your public address later) -# or use the Command-Line Interface - -# Update to a newer version of FreshRSS with git -cd /usr/share/FreshRSS -sudo git pull -sudo chown -R :www-data . && sudo chmod -R g+r . && sudo chmod -R g+w ./data/ -``` - -See more commands and git commands in the [Command-Line Interface documentation](cli/README.md). - -## Access control -This is needed if you will be using the multi-user mode, to limit access to FreshRSS. Options Available: -* form authentication (needs JavaScript, and PHP 5.5+ recommended) -* HTTP authentication supported by your web server - * See [Apache documentation](https://httpd.apache.org/docs/trunk/howto/auth.html) - * In that case, create a `./p/i/.htaccess` file with a matching `.htpasswd` file. - -## Automatic feed update -* You can add a Cron job to launch the update script. -Check the Cron documentation related to your distribution ([Debian/Ubuntu](https://help.ubuntu.com/community/CronHowto), [Red Hat/Fedora](https://fedoraproject.org/wiki/Administration_Guide_Draft/Cron), [Slackware](https://docs.slackware.com/fr:slackbook:process_control?#cron), [Gentoo](https://wiki.gentoo.org/wiki/Cron), [Arch Linux](https://wiki.archlinux.org/index.php/Cron)…). -It is a good idea to run the cron job as the webserver user (often “www-data”). -For instance, if you want to run the script every hour: - -``` -9 * * * * php /usr/share/FreshRSS/app/actualize_script.php > /tmp/FreshRSS.log 2>&1 -``` - -### Example on Debian / Ubuntu -Create `/etc/cron.d/FreshRSS` with: - -``` -6,36 * * * * www-data php -f /usr/share/FreshRSS/app/actualize_script.php > /tmp/FreshRSS.log 2>&1 -``` - ## Advice * For better security, expose only the `./p/` folder to the Web. * Be aware that the `./data/` folder contains all personal data, so it is a bad idea to expose it. @@ -156,16 +89,6 @@ Create `/etc/cron.d/FreshRSS` with: * In particular, when importing a new feed, all of its articles will appear at the top of the feed list regardless of their declared date. -# Backup -* You need to keep `./data/config.php`, and `./data/users/*/config.php` files -* You can export your feed list in OPML format either from the Web interface, or from the [Command-Line Interface](cli/README.md) -* To save articles, you can use [phpMyAdmin](https://www.phpmyadmin.net) or MySQL tools: - -```bash -mysqldump --skip-comments --disable-keys --user=<db_user> --password --host <db_host> --result-file=freshrss.dump.sql --databases <freshrss_db> -``` - - # Extensions FreshRSS supports further customizations by adding extensions on top of its core functionality. See the [repository dedicated to those extensions](https://github.com/FreshRSS/Extensions). @@ -187,8 +110,11 @@ Supported clients are: * [EasyRSS](https://github.com/Alkarex/EasyRSS) (Open source, [F-Droid](https://f-droid.org/packages/org.freshrss.easyrss/)) * GNU/Linux * [FeedReader 2.0+](https://jangernert.github.io/FeedReader/) (Open source) +* iOS + * [Reeder](https://www.reederapp.com/) (Commercial) * MacOS * [Vienna RSS](http://www.vienna-rss.com/) (Open source) + * [Reeder](https://www.reederapp.com/) (Commercial) ## Fever API @@ -199,11 +125,10 @@ Supported clients are: * Android * [Readably](https://play.google.com/store/apps/details?id=com.isaiasmatewos.readably) (Closed source) * iOS - * [Fiery Feeds](https://itunes.apple.com/app/fiery-feeds-rss-reader/id1158763303) (Closed source) - * [Unread](https://itunes.apple.com/app/unread-rss-reader/id1252376153) (Closed source) - * [Reeder-3](https://itunes.apple.com/app/reeder-3/id697846300) (Closed source) + * [Fiery Feeds](https://apps.apple.com/app/fiery-feeds-rss-reader/id1158763303) (Closed source) + * [Unread](https://apps.apple.com/app/unread-rss-reader/id1252376153) (Commercial) * MacOS - * [Readkit](https://itunes.apple.com/app/readkit/id588726889) (Closed source) + * [Readkit](https://apps.apple.com/app/readkit/id588726889) (Commercial) # Included libraries @@ -213,12 +138,11 @@ Supported clients are: * [jQuery](https://jquery.com/) * [lib_opml](https://github.com/marienfressinaud/lib_opml) * [flotr2](http://www.humblesoftware.com/flotr2) +* [PHPMailer](https://github.com/PHPMailer/PHPMailer) ## Only for some options or configurations * [bcrypt.js](https://github.com/dcodeIO/bcrypt.js) * [phpQuery](https://github.com/phpquery/phpquery) -* [Services_JSON](https://pear.php.net/pepr/pepr-proposal-show.php?id=198) -* [password_compat](https://github.com/ircmaxell/password_compat) [travis-badge]:https://travis-ci.org/FreshRSS/FreshRSS.svg?branch=master [travis-link]:https://travis-ci.org/FreshRSS/FreshRSS |
