mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-09-23 11:36:47 -04:00
* 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>
89 lines
2.8 KiB
Markdown
89 lines
2.8 KiB
Markdown
# Installation on Debian/Ubuntu
|
||
|
||
This tutorial will give you step-by-step commands to install FreshRSS with Apache using git.
|
||
It’s 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 you’re 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 user’s 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 don’t 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)
|