SSD Nodes Learn 8GB RAM — సంవత్సరానికి $66
మార్గదర్శకాలు Matt Connorద్వారా Matt Connor · అప్‌డేట్ చేయబడింది 2026-08-01

Ubuntu VPSలో FreshRSSను ఎలా ఇన్‌స్టాల్ చేయాలి?

Ubuntu 24.04 VPSలో Apache, PHP 8.3 మరియు MariaDB ఉపయోగించి FreshRSSను సెటప్ చేయండి. వర్చువల్ హోస్ట్ కాన్ఫిగరేషన్, cron జాబ్ సెటప్ మరియు మొబైల్ API యాక్సెస్ కోసం పూర్తి గైడ్.

మీరు ఏమి నిర్మిస్తున్నారు

సెల్ఫ్-హోస్టెడ్ RSS రీడర్ అనేది మీరు సొంతంగా కలిగి ఉన్న సర్వర్‌లో నడిచే ఫీడ్ రీడర్. దీనివల్ల ఎవరూ దీన్ని నిలిపివేయలేరు లేదా మీకు కనిపించే కంటెంట్‌ను మార్చలేరు. ఈ గైడ్ Ubuntu 24.04 VPSలో FreshRSSను ఎలా ఇన్‌స్టాల్ చేయాలో వివరిస్తుంది: ముందు భాగంలో Apache, వెనుక భాగంలో PHP, డేటా నిల్వ కోసం MariaDB, మరియు కొత్త కథనాలను సేకరించడానికి ఒక cron job ఉంటాయి. RSS (Really Simple Syndication) అనేది ఒక వెబ్‌సైట్ తన కథనాలను సాఫ్ట్‌వేర్ చదవగలిగేలా ప్రచురించే ఫైల్ ఫార్మాట్. FreshRSS అనేది ఆ ఫైళ్లను సేకరించి, కథనాలను భద్రపరిచి, మీకు వెబ్ ఇంటర్‌ఫేస్‌తో పాటు ఫోన్ యాప్‌లు కమ్యూనికేట్ చేయడానికి ఒక API (Application Programming Interface)ని అందించే PHP అప్లికేషన్.

ఇన్‌స్టాలేషన్ ప్రక్రియ చాలా చిన్నది: ఒక రిలీజ్‌ను అన్‌ప్యాక్ చేయడం, డేటాబేస్‌ను సృష్టించడం, ఒక వర్చువల్ హోస్ట్‌ను రాయడం, మరియు ఒక కమాండ్ లైన్ ఇన్‌స్టాలర్‌ను రన్ చేయడం. కింద వివరించిన పనిలో ఎక్కువ భాగం, సాధారణంగా తప్పులు జరిగే అంశాలైన రిఫ్రెష్ జాబ్, మొబైల్ API కోసం ఎన్‌కోడ్ చేసిన స్లాష్‌లు, మరియు ఫైల్ ఓనర్‌షిప్ వంటి వాటికి సంబంధించినది.

జూలై 2026 నాటికి FreshRSS 1.29.1 ప్రస్తుత రిలీజ్, దీనికి PHP 8.1 లేదా అంతకంటే కొత్త వెర్షన్ అవసరం. Ubuntu 24.04 లో PHP 8.3 అందుబాటులో ఉంది, కాబట్టి డిస్ట్రిబ్యూషన్ ప్యాకేజీలే సరిపోతాయి మరియు మీరు థర్డ్ పార్టీ PHP రిపోజిటరీని ఉపయోగించాల్సిన అవసరం లేదు.

పని చేస్తున్న LAMP స్టాక్ నుండి ప్రారంభించండి

FreshRSS అనేది ఒక సాధారణ PHP అప్లికేషన్, కాబట్టి దీనికి ఇతర అప్లికేషన్ల మాదిరిగానే అదే ప్రాథమిక వాతావరణం అవసరం. మీరు ఇంకా ఆ పునాదిని సిద్ధం చేయకపోతే, ముందుగా Ubuntu 24.04 కోసం LAMP స్టాక్ సెటప్ అనుసరించి, ఆపై ఇక్కడికి తిరిగి రండి. క్లుప్తంగా చెప్పాలంటే:

sudo apt update
sudo apt install -y apache2 mariadb-server php libapache2-mod-php
sudo systemctl enable --now apache2 mariadb

systemctl status apache2 కమాండ్ active (running) అని చూపించాలి. ఒకవేళ Apache ప్రారంభం కాకపోతే, సాధారణంగా మరొక ప్రాసెస్ ఇప్పటికే 80 పోర్టును ఆక్రమించి ఉండటం దీనికి కారణం కావచ్చు, అటువంటి సందర్భంలో sudo ss -ltnp | grep :80 ఆ ప్రాసెస్ పేరును తెలియజేస్తుంది.

FreshRSS కు అవసరమైన PHP ఎక్స్‌టెన్షన్లు

FreshRSS కి libxml, cURL, JSON, PDO_MySQL, PCRE మరియు ctype తప్పనిసరి. వీటితో పాటు mbstring, iconv, Zlib, ZipArchive మరియు 32-bit సిస్టమ్ అయితే GMP కూడా అవసరం. Ubuntu లో ఇవి డిస్ట్రిబ్యూషన్ ప్యాకేజీలుగా అందుబాటులో ఉంటాయి:

sudo apt install -y php-curl php-mbstring php-xml php-zip php-mysql php-intl php-gmp
sudo systemctl restart apache2

PHP ప్రస్తుతం వేటిని లోడ్ చేసిందో php -m తో తనిఖీ చేయండి. ఏదైనా ఎక్స్‌టెన్షన్ లేకపోయినా ఇన్‌స్టాలర్ ప్రారంభం కావడం ఆగదు. కానీ, అవసరాల స్క్రీన్ వద్ద ఆ ఎక్స్‌టెన్షన్ పేరుతో ఎరుపు రంగు లైన్ కనిపిస్తుంది. సమస్యను అక్కడ తెలుసుకోవడం గందరగోళంగా ఉంటుంది, కాబట్టి ఇప్పుడే నిర్ధారించుకోండి. Apache ని రీస్టార్ట్ చేయడం ముఖ్యం, ఎందుకంటే libapache2-mod-php PHP ని Apache ప్రాసెస్‌లోనే ఉంచుతుంది. కాబట్టి, కొత్తగా ఇన్‌స్టాల్ చేసిన ఎక్స్‌టెన్షన్ రీస్టార్ట్ చేసే వరకు వెబ్ సర్వర్‌కు కనిపించదు.

విడుదల ఫైళ్లను డౌన్‌లోడ్ చేయండి

FreshRSSని డిఫాల్ట్ వెబ్ రూట్ వెలుపల ఇన్‌స్టాల్ చేయండి, ఆపై Apacheని దాని వైపు మళ్లించండి. అప్లికేషన్ డైరెక్టరీని డాక్యుమెంట్ రూట్ నుండి వేరుగా ఉంచడం వల్ల, కేవలం public ఫోల్డర్ మాత్రమే HTTP ద్వారా అందుబాటులో ఉంటుంది.

cd /tmp
curl -fsSLO https://github.com/FreshRSS/FreshRSS/archive/refs/tags/1.29.1.tar.gz
tar xzf 1.29.1.tar.gz
sudo mv FreshRSS-1.29.1 /srv/freshrss

ఇప్పుడు అనుమతుల (permissions) విషయానికి వస్తే, FreshRSS డాక్యుమెంటేషన్ దీనిపై చాలా కఠినంగా ఉంటుంది: వెబ్ సర్వర్ యూజర్ మొత్తం ట్రీకి యజమానిగా ఉండాలి, గ్రూప్ ప్రతి ఫైల్‌ను చదవగలగాలి, మరియు గ్రూప్ ./data/కి రాయగలగాలి.

sudo chown -R www-data:www-data /srv/freshrss
sudo chmod -R g+r /srv/freshrss
sudo chmod -R g+w /srv/freshrss/data

దీనిని విస్మరిస్తే, ఇన్‌స్టాలర్ తన కాన్ఫిగరేషన్‌ను రాసేటప్పుడు విఫలమవుతుంది. ఎందుకంటే PHP అనేది www-dataగా రన్ అవుతుంది మరియు root యాజమాన్యంలో ఉన్న డైరెక్టరీలోకి www-data రాయలేదు.

డేటాబేస్‌ను సృష్టించండి

FreshRSS అనేది SQLite, MariaDB, MySQL మరియు PostgreSQL లకు మద్దతు ఇస్తుంది. SQLite కు ఎటువంటి సెటప్ అవసరం లేదు మరియు ఒక వ్యక్తి కొన్ని వందల ఫీడ్‌లను నిర్వహించడానికి ఇది సరిపోతుంది. పలువురు వ్యక్తులు ఒకే ఇన్‌స్టాన్స్‌ను ఉపయోగిస్తున్నప్పుడు MariaDB ఉత్తమమైన ఎంపిక, ఎందుకంటే రిఫ్రెష్ జాబ్ మరియు వెబ్ ఇంటర్‌ఫేస్ నుండి వచ్చే ఏకకాల రైట్‌లు (concurrent writes) ఇకపై ఒకే ఫైల్ లాక్ కోసం పోటీ పడవు.

sudo mariadb -e "CREATE DATABASE freshrss CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
sudo mariadb -e "CREATE USER 'freshrss'@'localhost' IDENTIFIED BY 'ReplaceThisPassword';"
sudo mariadb -e "GRANT ALL PRIVILEGES ON freshrss.* TO 'freshrss'@'localhost';"
sudo mariadb -e "FLUSH PRIVILEGES;"

utf8 కి బదులుగా utf8mb4 ని ఉపయోగించండి. ఫీడ్‌లలో ఎమోజీలు మరియు లాటిన్-యేతర స్క్రిప్ట్‌లు ఉంటాయి, మరియు పాత మూడు బైట్ల utf8 ఎన్‌కోడింగ్ మొదటి నాలుగు బైట్ల క్యారెక్టర్ వద్ద ఆర్టికల్ శీర్షికను కత్తిరిస్తుంది.

Apache వర్చువల్ హోస్ట్

పబ్లిక్ డైరెక్టరీ p/, ఇది ట్రీ యొక్క పైభాగం కాదు. మీ డేటాబేస్ పాస్‌వర్డ్‌ను కలిగి ఉన్న కాన్ఫిగరేషన్ ఫైల్‌తో సహా మిగిలినవన్నీ డాక్యుమెంట్ రూట్ పైన ఉంటాయి, అక్కడ Apache వాటిని ఎప్పటికీ సర్వ్ చేయదు.

<VirtualHost *:80>
	ServerName rss.example.com
	DocumentRoot /srv/freshrss/p/

	<Directory /srv/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>

దీనిని /etc/apache2/sites-available/freshrss.confగా సేవ్ చేసి, ఎనేబుల్ చేయండి:

sudo a2enmod rewrite
sudo a2ensite freshrss
sudo a2dissite 000-default
sudo apache2ctl configtest
sudo systemctl reload apache2

configtest కమాండ్ Syntax OKని ప్రింట్ చేయాలి. AllowEncodedSlashes On ఐచ్ఛికంలా కనిపిస్తుంది కానీ అది కాదు: Google Reader API అనేది %2Fని కలిగి ఉన్న ఫీడ్ ఐడెంటిఫైయర్‌లను పంపుతుంది, ఈ డైరెక్టివ్ లేకపోతే Apache వాటిని తిరస్కరిస్తుంది, దీనివల్ల వెబ్ ఇంటర్‌ఫేస్ సరిగ్గా పనిచేస్తున్నప్పటికీ మొబైల్ యాప్‌లు సింక్ అవ్వవు.

లాగిన్ అయ్యే ముందు HTTPSని జోడించండి

మీరు ఈ సైట్‌లో పాస్‌వర్డ్‌ను టైప్ చేయబోతున్నారు, కాబట్టి ముందుగా ఒక సర్టిఫికేట్‌ను పొందండి. సర్వర్‌కు ఒక A రికార్డును పాయింట్ చేయండి, ఆపై Ubuntuలో Apache కోసం Certbot సెటప్ అనుసరించి sudo certbot --apache -d rss.example.comని రన్ చేయండి. Certbot పోర్ట్ 443 కోసం వర్చువల్ హోస్ట్‌ను తిరిగి రాస్తుంది మరియు రీడైరెక్ట్‌ను జోడిస్తుంది. curl -I https://rss.example.com/తో నిర్ధారించుకోండి, ఇది 200ని లేదా లాగిన్ పేజీకి రీడైరెక్ట్‌ను అందించాలి.

కమాండ్ లైన్ నుండి ఇన్‌స్టాలర్‌ను రన్ చేయడం

FreshRSSలో బ్రౌజర్ ఆధారిత ఇన్‌స్టాలర్ ఉంది, కానీ కమాండ్ లైన్ వెర్షన్ ద్వారా పదేపదే ఇన్‌స్టాల్ చేయడం సులభం మరియు మీరు ఎంచుకున్న సెట్టింగ్‌ల రికార్డును ఇది భద్రపరుస్తుంది.

sudo -u www-data php /srv/freshrss/cli/do-install.php \
  --default-user admin --auth-type form --environment production \
  --base-url https://rss.example.com --language en --api-enabled \
  --db-type mysql --db-host localhost --db-user freshrss \
  --db-password 'ReplaceThisPassword' --db-base freshrss
sudo -u www-data php /srv/freshrss/cli/create-user.php \
  --user admin --password 'a-long-passphrase' --api-password 'a-different-passphrase'

రెండింటినీ www-dataగా రన్ చేయండి. వీటిని rootగా రన్ చేస్తే, క్రియేట్ అయ్యే కాన్ఫిగరేషన్ ఫైళ్లకు root యజమానిగా ఉంటుంది, దీనివల్ల తర్వాత వెబ్ ఇంటర్‌ఫేస్ ద్వారా ఏ సెట్టింగ్‌లను సేవ్ చేయడం సాధ్యపడదు. --environment production కూడా ముఖ్యమైనది, ఎందుకంటే డెవలప్‌మెంట్ సెట్టింగ్ PHP నోటీసులను పేజీలో ప్రింట్ చేస్తుంది.

https://rss.example.com/ని లోడ్ చేసి, adminగా లాగిన్ అవ్వండి.

ఫీడ్‌లు వాటంతట అవే ఎందుకు రిఫ్రెష్ కావు

మీరు ఆదేశించే వరకు ఏదీ మీ ఫీడ్‌లను పోల్ (poll) చేయదు. బ్రౌజర్‌లో FreshRSS తెరిచి ఉన్నప్పుడు మాత్రమే అది రిఫ్రెష్ అవుతుంది. అంటే, మీరు రోజుకు రెండుసార్లు మాత్రమే చూసే ఇన్‌స్టాన్స్ పన్నెండు గంటల పాత వ్యాసాలను చూపుతుంది. దీనికి పరిష్కారం, ఈ ప్రాజెక్ట్ అందించే app/actualize_script.php స్క్రిప్ట్‌ను cron ద్వారా రన్ చేయడం.

sudo crontab -u www-data -e

ఒక లైన్‌ను జోడించండి:

*/20 * * * * php /srv/freshrss/app/actualize_script.php > /tmp/FreshRSS.log 2>&1

ఇరవై నిమిషాల సమయం సరైన కనీస వ్యవధి. ఎందుకంటే, ఏ ఒక్క ఫీడ్‌ను కూడా ఇరవై నిమిషాలకు ఒకసారి కంటే ఎక్కువసార్లు రిఫ్రెష్ చేయడానికి ఈ స్క్రిప్ట్ అనుమతించదు. కాబట్టి, అంతకంటే తక్కువ సమయం సెట్ చేయడం వల్ల CPU వృథా అవుతుంది. ముందుగా దీన్ని ఒకసారి మాన్యువల్‌గా రన్ చేయండి:

sudo -u www-data php /srv/freshrss/app/actualize_script.php

సరిగ్గా పనిచేస్తున్నప్పుడు, అది తాను సేకరించిన ప్రతి ఫీడ్ పేరును చూపిస్తుంది మరియు ఎటువంటి PHP ఎర్రర్ లేకుండా ముగుస్తుంది. ఒకవేళ అది ఏమీ ప్రింట్ చేయకపోతే, cron యూజర్ తప్పుగా ఉన్నారని అర్థం. అలాగే data/ వద్ద పర్మిషన్ ఎర్రర్ వస్తే, chmod -R g+w దశను మీరు దాటేశారని అర్థం.

మీ మొదటి ఫీడ్‌లను జోడించండి

ఇంటర్‌ఫేస్ ఎడమ వైపు పైన ఉన్న ప్లస్ బటన్‌ను ఉపయోగించండి, సైట్ అడ్రస్‌ను పేస్ట్ చేయండి, అప్పుడు FreshRSS మీ కోసం ఫీడ్ లింక్‌ను గుర్తిస్తుంది. చాలా సైట్లు తమ ఫీడ్‌ను బహిరంగంగా ప్రకటించకపోయినా, సాధారణంగా /feed, /rss లేదా /atom.xml వద్ద ఒక ఫీడ్‌ను ప్రచురిస్తాయి. కేటగిరీలు అంటే ఫోల్డర్లు, ఒక ఫీడ్‌ను ఒక కేటగిరీ నుండి మరొక దానికి మార్చడం చాలా సులభం.

మీరు మరొక రీడర్ నుండి వస్తున్నట్లయితే, అక్కడ ఒక OPML ఫైల్‌ను ఎగుమతి (export) చేసి, సబ్‌స్క్రిప్షన్ మేనేజ్‌మెంట్ పేజీలో దానిని దిగుమతి (import) చేసుకోండి. OPML (outline processor markup language) అనేది ఫీడ్ జాబితాల కోసం ప్రామాణిక ఫార్మాట్, మరియు ఉపయోగకరమైన ప్రతి రీడర్ దీనికి మద్దతు ఇస్తుంది. పెద్ద మొత్తంలో ఫీడ్‌లను దిగుమతి చేసినప్పుడు మొదటిసారి రిఫ్రెష్ అవ్వడానికి సమయం పడుతుంది, ఎందుకంటే ప్రతి ఫీడ్ ఒకసారి ఫెచ్ (fetch) చేయబడుతుంది. కాబట్టి, వేగాన్ని అంచనా వేసే ముందు మొదటి cron రన్‌కు తగినంత సమయం ఇవ్వండి.

మీ ఫోన్‌లో చదవండి

FreshRSS అనేది Google Reader APIని ఉపయోగిస్తుంది, దీనికి దాదాపు అన్ని RSS యాప్‌లు మద్దతు ఇస్తాయి. రెండు విషయాలు తప్పనిసరిగా జరగాలి. అథెంటికేషన్ సెట్టింగ్‌ల కింద, "Allow API access" ఆన్‌లో ఉండాలి, దీనిని పైన ఉన్న --api-enabled ఫ్లాగ్ ఇప్పటికే సెట్ చేసింది. మీ ప్రొఫైల్ కింద, API password ఫీల్డ్‌లో ఒక విలువ ఉండాలి. ఇది మీ లాగిన్ పాస్‌వర్డ్ కంటే భిన్నంగా ఉంటుంది, ఎందుకంటే ఫోన్ పోయే అవకాశం ఎక్కువగా ఉంటుంది.

https://rss.example.com/api/ని సందర్శించి "Check full server configuration"ని ఎంచుకోండి. సరిగ్గా పనిచేసే సెటప్ PASSని తిరిగి ఇస్తుంది. ఇక్కడ ఏదైనా లోపం వస్తే, అది దాదాపు ఎల్లప్పుడూ AllowEncodedSlashes On లైన్ లేకపోవడం వల్లే జరుగుతుంది. యాప్‌లో, సర్వర్ అడ్రస్‌ను https://rss.example.com/api/greader.phpగా, యూజర్‌నేమ్‌ను మీ FreshRSS యూజర్‌గా, మరియు API పాస్‌వర్డ్‌ను మీ పాస్‌వర్డ్‌గా నమోదు చేయండి.

Docker ప్రత్యామ్నాయం

మీరు PHP మరియు Apache లను మాన్యువల్‌గా నిర్వహించకూడదనుకుంటే, ఈ ప్రాజెక్ట్ ఒక అధికారిక freshrss/freshrss ఇమేజ్‌ను విడుదల చేస్తుంది. ఒక compose ఫైల్ ద్వారా మీరు అప్లికేషన్ మరియు దాని డేటాబేస్‌ను కలిపి పొందవచ్చు. దీనివల్ల కలిగే లాభనష్టాలు సాధారణమైనవే: హోస్ట్ మెషీన్ మీద తక్కువ భాగాలు ఉంటాయి, కానీ ఏదైనా సమస్య వచ్చినప్పుడు డీబగ్ చేయడానికి ఒక అదనపు లేయర్ ఉంటుంది. అలాగే TLS (transport layer security) కోసం ఒక రివర్స్ ప్రాక్సీ అవసరమవుతుంది. ఇది మీకు అనుకూలంగా ఉంటే, VPS కోసం Docker Compose ప్రాథమిక అంశాలు అనే విభాగంలో ఫైల్ ఫార్మాట్ గురించి చూడవచ్చు. అప్పుడు cron లైన్ docker exec --user www-data freshrss php ./app/actualize_script.php గా మారుతుంది.

బ్యాకప్‌లు మరియు అప్‌గ్రేడ్‌లు

మీ డేటా రెండు అంశాలపై ఆధారపడి ఉంటుంది: డేటాబేస్ మరియు /srv/freshrss/data/. మొదటి దానిని sudo mysqldump freshrss > freshrss.sql ఉపయోగించి డంప్ చేయండి, రెండవ దానిని కాపీ చేయండి, మరియు ఈ రెండింటినీ ఈ సర్వర్ కాకుండా వేరే చోట భద్రపరచండి. మీ సబ్‌స్క్రిప్షన్ జాబితాను అప్పుడప్పుడు OPML ఎగుమతి చేయడం కూడా మంచిది, ఎందుకంటే ఆ ఫైల్ ఏదైనా RSS సాఫ్ట్‌వేర్‌లో మీ రీడింగ్ సెటప్‌ను తిరిగి నిర్మిస్తుంది.

అప్‌గ్రేడ్ చేయడం అంటే కొత్త వెర్షన్‌ను అదే డైరెక్టరీలో అన్‌ప్యాక్ చేసి, ఓనర్‌షిప్ కమాండ్లను మళ్లీ రన్ చేయడం. తదుపరి పేజీ లోడ్ అయినప్పుడు FreshRSS తనంతట తానుగా డేటాబేస్ మైగ్రేషన్‌లను పూర్తి చేస్తుంది. ముందుగా బ్యాకప్ తీసుకోండి, ఎందుకంటే మీరు పునరుద్ధరించలేని డేటాబేస్‌లో మైగ్రేషన్ విఫలమైతే, ఆ పరిస్థితిని తిరిగి సరిచేయడం సాధ్యం కాదు. రీడర్ అనేది తక్కువ రిస్క్ ఉన్న సర్వీస్, కాబట్టి మీరు సెల్ఫ్-హోస్టింగ్ చేయడానికి విలువైన వాటి జాబితా ద్వారా పని చేస్తున్నట్లయితే, ఇది ప్రారంభించడానికి మంచి ఎంపిక.

FAQ

నా ఫీడ్‌లు FreshRSS తెరిచినప్పుడు మాత్రమే ఎందుకు అప్‌డేట్ అవుతున్నాయి?

ఎందుకంటే మీరు షెడ్యూలర్‌ను సృష్టించే వరకు అది ఉండదు. బ్రౌజర్ సెషన్ తెరిచి ఉన్నప్పుడు మాత్రమే FreshRSS ఫీడ్‌లను రిఫ్రెష్ చేస్తుంది, ట్యాబ్ మూసివేసినప్పుడు ఏమీ చేయదు. www-data వినియోగదారుగా app/actualize_script.phpని పిలిచే cron లైన్‌ను జోడించండి, ఆపై స్క్రిప్ట్‌ను ఒకసారి మాన్యువల్‌గా రన్ చేసి దాని అవుట్‌పుట్‌ను చూడండి. సాధారణంగా మౌనంగా ఉందంటే cron దానిని తప్పు వినియోగదారుగా రన్ చేస్తోందని అర్థం, కాబట్టి PHP data/కి రాయలేదు.

నా మొబైల్ యాప్ కనెక్ట్ అవ్వడం లేదు, కానీ వెబ్‌సైట్ పనిచేస్తోంది. ఎందుకు?

Google Reader API అభ్యర్థన మార్గాలలో (request paths) ఎన్‌కోడ్ చేసిన స్లాష్‌లను (%2F) ఉంచుతుంది, మరియు Apache డిఫాల్ట్‌గా వాటిని తిరస్కరిస్తుంది. వర్చువల్ హోస్ట్‌లో AllowEncodedSlashes Onని జోడించి Apacheని రీలోడ్ చేయండి. https://rss.example.com/api/ని తెరిచి "Check full server configuration" రన్ చేయడం ద్వారా పరిష్కారాన్ని నిర్ధారించుకోండి, ఇది PASSని చూపించాలి. అలాగే మీ ప్రొఫైల్‌లో API పాస్‌వర్డ్ సెట్ చేయబడిందో లేదో తనిఖీ చేయండి, ఎందుకంటే ఇది మీ లాగిన్ పాస్‌వర్డ్ కంటే భిన్నంగా ఉంటుంది.

నేను SQLite వాడాలా లేక MariaDB వాడాలా?

ఒకే వినియోగదారు కోసం అయితే SQLite వాడండి, ఎందుకంటే ఇన్‌స్టాల్ చేయడానికి ఏమీ ఉండదు మరియు నిర్వహించడానికి పాస్‌వర్డ్ అవసరం లేదు. ఒకటి కంటే ఎక్కువ మంది వ్యక్తులు ఇన్‌స్టాన్స్‌ను ఉపయోగిస్తున్నప్పుడు లేదా కొన్ని వందల ఫీడ్‌లు దాటినప్పుడు MariaDB వాడండి, ఎందుకంటే రిఫ్రెష్ జాబ్ మరియు వెబ్ ఇంటర్‌ఫేస్ ఒకే సమయంలో రాసేటప్పుడు ఒకే ఫైల్ లాక్ పరిమితిగా మారుతుంది. ఎగుమతి (export) మరియు దిగుమతి (import) కమాండ్‌ల ద్వారా తర్వాత వీటి మధ్య మారడం సాధ్యమే, కాబట్టి ఇది శాశ్వత నిర్ణయం కాదు.

ఇన్‌స్టాలర్ దాని కాన్ఫిగరేషన్‌ను రాసేటప్పుడు ఎందుకు విఫలమవుతోంది?

PHP, Apache కింద www-dataగా రన్ అవుతుంది, మరియు ఆ వినియోగదారు root యాజమాన్యంలో ఉన్న డైరెక్టరీలోకి రాయలేరు. sudo chown -R www-data:www-data /srv/freshrss మరియు sudo chmod -R g+w /srv/freshrss/dataని మళ్లీ రన్ చేయండి, ఆపై ఇన్‌స్టాలర్‌ను మళ్లీ ప్రారంభించండి. మీరు ఇప్పటికే కమాండ్ లైన్ ఇన్‌స్టాలర్‌ను rootగా రన్ చేసి ఉంటే, data/ కింద అది సృష్టించిన ఫైల్‌లను తొలగించండి, ఎందుకంటే వాటి యాజమాన్యమే అసలు సమస్య.

సెల్ఫ్-హోస్టెడ్ RSS రీడర్‌కు ఎంత సర్వర్ సామర్థ్యం అవసరం?

చాలా తక్కువ. చిన్న ప్లాన్‌లో కొన్ని వందల ఫీడ్‌లు సౌకర్యవంతంగా ఉంటాయి, ఎందుకంటే ప్రతి ఇరవై నిమిషాలకు HTTP ఫెచింగ్ స్వల్ప కాలం పాటు జరుగుతుంది మరియు పాత కథనాలను తొలగించినప్పుడు డేటాబేస్ చిన్నదిగా ఉంటుంది. డిస్క్ వినియోగం నిలుపుదల (retention) ఆధారంగా పెరుగుతుంది, కాబట్టి ప్రతిదీ శాశ్వతంగా ఉంచే బదులు ఆర్కైవింగ్ సెట్టింగ్‌లలో కథనాలను తొలగించే విధానాన్ని (purge policy) సెట్ చేయండి.

#freshrss#rss#self-hosting#php#apache