Files
FreshRSS/docs/en/admins/06_LinuxInstall.md
T
Alexandre AlapetiteandInverle cea88ace69 Reword explanations for edge/latest channels (#9270)
* Reword explanations for edge/latest channels
Highlight the fact that we do not backport bug fixes or security fixes to previous releases.
Simplify also a slightly obsolte MySQL doc to favour SQLite

* Merge i18n: az

* Update Polish translations to specify rolling/versioned releases

Co-authored-by: Inverle <inverle@proton.me>

* Update 05_Release_new_version.md

---------

Co-authored-by: Inverle <inverle@proton.me>
2026-09-08 23:25:18 +02:00

89 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Installation on Debian/Ubuntu
This tutorial will give you step-by-step commands to install FreshRSS with Apache using git.
Its always recommended that you [backup your installation](05_Backup.md) before updating
Please note: Commands need to be run as an administrator; either perform the following from a sudo shell (`sudo -s`) or use an administrator account.
## Part 1: Setting up and configuring the Web server
Begin by installing Apache, and enable Apache modules needed for FreshRSS
```sh
apt install apache2
a2enmod headers expires rewrite ssl
```
Then, you have to configure Apache. You can create a file in `/etc/apache2/sites-available`, based on [our example configuration file](10_ServerConfig.md). Once youre done, create a symbolic link from this file to the `sites-enabled` folder:
```sh
ln -s /etc/apache2/sites-available/freshrss.conf /etc/apache2/sites-enabled/freshrss.conf
```
Next, install PHP and the necessary modules
```sh
apt install php php-curl php-gmp php-intl php-mbstring php-sqlite3 php-xml php-zip
```
Install the PHP module for Apache
```sh
apt install libapache2-mod-php
```
This tutorial uses [SQLite](DatabaseConfig.md), which needs no database server:
the `php-sqlite3` module installed above is all that is required.
Each users data is stored in a single file, `data/users/_user_/db.sqlite`, created during the installation.
Finally, restart the web server
```sh
service apache2 restart
```
## Part 2: Installing FreshRSS
Begin by installing git, if you dont already have it installed.
```sh
apt install git
```
Next, change to the install directory and download FreshRSS using git. The following path keeps FreshRSS out of system read-only directories, which avoids write failures from hardened PHP-FPM service settings.
```sh
mkdir -p /var/www/
cd /var/www/
git clone https://github.com/FreshRSS/FreshRSS.git
```
Change to the new FreshRSS directory, and set the permissions so that your Web server can access the files
```sh
cd FreshRSS
sudo cli/access-permissions.sh
```
Optional: If you would like to allow updates from the Web interface, set write permissions (reduces slightly the security)
```sh
# Debian
chown www-data:www-data -R .
# Alpine
chown apache:www-data -R .
```
Finally, symlink the public folder to your FreshRSS directory
```sh
[ ! -e "/var/www/html/FreshRSS" ] && ln -s /var/www/FreshRSS/p /var/www/html/FreshRSS || echo "/var/www/html/FreshRSS already exists"
```
## Part 3: Finishing the Installation
No database setup is needed with SQLite: it is created automatically during the installation.
You can now finish the installation from a web browser by navigating to to `http://<your_server>/` and following the graphical prompts.
Alternatively, you can finish the installation using [the cli](https://github.com/FreshRSS/FreshRSS/tree/edge/cli)