Selfoss RSS रीडर एक स्वतंत्र और खुला स्रोत है जो स्वयं-आधारित वेब-आधारित बहुउद्देशीय, लाइव स्ट्रीम, मैशअप, न्यूज फीड (RSS / Atom) रीडर और यूनिवर्सल एग्रीगेटर है। Selfoss RSS Reader में OPML आयात, एक आरामदायक JSON API और इसकी ओपन प्लग-इन प्रणाली है जो आपको आसानी से अपने स्वयं के कस्टम डेटा कनेक्टर लिखकर डिफ़ॉल्ट कार्यक्षमता का विस्तार करने की अनुमति देता है। आप लाइव स्ट्रीम के लिए सेल्फॉस का उपयोग कर सकते हैं और अपने सभी पोस्ट, ट्वीट, पॉडकास्ट, और एक केंद्रीय स्थान पर फीड कर सकते हैं जिसे आप आसानी से किसी भी डेस्कटॉप या मोबाइल डिवाइस से एक्सेस कर सकते हैं।
इस ट्यूटोरियल में, हम अपाचे वेब सर्वर, PHP 7.1 और मारियाडीबी डेटाबेस का उपयोग करके फेडोरा 26 LAMP VPS पर Selfoss RSS रीडर 2.17 स्थापित करने जा रहे हैं।
आवश्यक शर्तें
	- SSH पहुंच के साथ एक क्लीन वल्चर फेडोरा 26 सर्वर का उदाहरण
चरण 1: एक सूडो उपयोगकर्ता जोड़ें
हम एक नया sudoउपयोगकर्ता जोड़कर शुरू करेंगे ।
सबसे पहले, अपने सर्वर में लॉग इन करें root:
ssh root@YOUR_VULTR_IP_ADDRESS
नामक एक नया उपयोगकर्ता जोड़ें user1(या आपका पसंदीदा उपयोगकर्ता नाम):
useradd user1
अगला, user1उपयोगकर्ता के लिए पासवर्ड सेट करें:
passwd user1
संकेत दिए जाने पर, एक सुरक्षित और यादगार पासवर्ड दर्ज करें।
अब /etc/sudoersयह सुनिश्चित करने के लिए फ़ाइल जांचें कि sudoersसमूह सक्षम है:
visudo
इस तरह एक अनुभाग के लिए देखो:
%wheel        ALL=(ALL)       ALL
सुनिश्चित करें कि यह अपूर्ण है। यह पंक्ति हमें बताती है कि जो उपयोगकर्ता wheelसमूह के सदस्य हैं, वे विशेषाधिकार sudoप्राप्त करने के लिए कमांड का उपयोग कर सकते हैं root।
एक बार जब आप फ़ाइल को संपादित कर लेते हैं, तो आप दबाकर बच सकते हैं Escऔर फिर :wqफाइल को "लिखना" और "छोड़ना" दर्ज कर सकते हैं।
अगला हम जोड़ने की जरूरत user1करने के लिए wheelसमूह:
usermod -aG wheel user1
हम user1समूह सदस्यता को सत्यापित कर सकते हैं और जांच सकते हैं कि usermodकमांड ने कमांड के साथ काम किया है groups:
groups user1
अब suनए sudo उपयोगकर्ता user1खाते में जाने के लिए कमांड का उपयोग करें :
su - user1
कमांड प्रॉम्प्ट यह इंगित करने के लिए अपडेट करेगा कि आप अब user1खाते में लॉग इन हैं । आप इसे whoamiकमांड से सत्यापित कर सकते हैं :
whoami
अब sshdसेवा को फिर से शुरू करें ताकि आप अपने द्वारा sshबनाए गए नए गैर-रूट sudo उपयोगकर्ता खाते से लॉगिन कर सकें :
sudo systemctl restart sshd
user1खाता से बाहर निकलें :
exit
rootखाते से बाहर निकलें (जो आपके sshसत्र को काट देगा ):
exit
अब आप sshनए गैर-रूट sudo उपयोगकर्ता user1खाते का उपयोग करके अपने स्थानीय होस्ट से सर्वर उदाहरण में कर सकते हैं :
ssh user1@YOUR_VULTR_IP_ADDRESS
यदि आप हर बार पासवर्ड टाइप किए बिना sudo निष्पादित करना चाहते हैं, तो /etc/sudoersउपयोग करके फ़ाइल को फिर से खोलें visudo:
sudo visudo
wheelसमूह के लिए अनुभाग संपादित करें ताकि यह इस तरह दिखे:
%wheel        ALL=(ALL)       NOPASSWD: ALL
कृपया ध्यान दें:  sudo उपयोगकर्ता के लिए पासवर्ड की आवश्यकता को अक्षम करना एक अनुशंसित अभ्यास नहीं है, लेकिन इसे यहां शामिल किया गया है क्योंकि यह सर्वर कॉन्फ़िगरेशन को अधिक सुविधाजनक और कम निराशाजनक बना सकता है, विशेष रूप से लंबे सिस्टम प्रशासन सत्रों के दौरान। यदि आप सुरक्षा निहितार्थ के बारे में चिंतित हैं, तो आप अपने प्रशासन कार्यों को पूरा करने के बाद कॉन्फ़िगरेशन परिवर्तन को मूल में वापस ला सकते हैं।
जब भी आप rootउपयोगकर्ता खाते के भीतर से उपयोगकर्ता खाते में लॉग इन करना चाहते हैं sudo, आप निम्न आदेशों में से एक का उपयोग कर सकते हैं:
sudo -i
sudo su -
आप rootखाते से बाहर निकल सकते हैं और sudoकिसी भी समय अपने उपयोगकर्ता खाते में वापस आ सकते हैं:
exit
चरण 2: अपडेट फेडोरा 26 सिस्टम
फेडोरा सर्वर उदाहरण पर किसी भी पैकेज को स्थापित करने से पहले, हम पहले सिस्टम को अपडेट करेंगे। 
सुनिश्चित करें कि आप एक गैर-रूट sudo उपयोगकर्ता का उपयोग कर सर्वर में लॉग इन हैं और निम्न कमांड चलाएँ:
sudo dnf -y update
चरण 3: अपाचे वेब सर्वर स्थापित करें
Apache वेब सर्वर स्थापित करें:
sudo dnf -y install httpd
फिर systemctlबूट समय पर स्वचालित रूप से निष्पादित करने के लिए Apache को शुरू करने और सक्षम करने के लिए कमांड का उपयोग करें :
sudo systemctl enable httpd
sudo systemctl start httpd
यह सुनिश्चित करने के लिए अपनी अपाचे कॉन्फ़िगरेशन फ़ाइल की जाँच करें कि DocumentRootनिर्देश सही निर्देशिका को इंगित करता है:
sudo vi /etc/httpd/conf/httpd.conf
DocumentRootविन्यास विकल्प इस तरह दिखेगा:
DocumentRoot "/var/www/html"
अब, यह सुनिश्चित करें कि mod_rewriteApache मॉड्यूल लोड किया गया है। हम " mod_rewrite" के लिए अपाचे आधार मॉड्यूल विन्यास फाइल को खोज कर ऐसा कर सकते हैं ।
फ़ाइल खोलें: 
sudo vi /etc/httpd/conf.modules.d/00-base.conf
शब्द के लिए खोजें mod_rewrite।
यदि mod_rewriteअपाचे मॉड्यूल लोड किया जाता है, तो आपको एक कॉन्फ़िगरेशन लाइन मिलेगी जो इस तरह दिख रही है:
LoadModule rewrite_module modules/mod_rewrite.so
यदि उपर्युक्त रेखा अर्ध-कोलन से शुरू होती है, तो आपको लाइन को अनलोड करने और मॉड्यूल को लोड करने के लिए अर्ध-बृहदान्त्र को हटाने की आवश्यकता होगी। यह, निश्चित रूप से, किसी अन्य आवश्यक अपाचे मॉड्यूल पर भी लागू होता है।
अब हमें Apache की डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल को संपादित करने की आवश्यकता है ताकि mod_rewriteSelfoss RSS रीडर के साथ सही तरीके से काम कर सके।
फ़ाइल खोलें:
sudo vi /etc/httpd/conf/httpd.conf
फिर उस अनुभाग को ढूंढें जो इसके साथ शुरू होता है <Directory "/var/www/html">और बदल AllowOverride noneजाता है AllowOverride All। अंतिम परिणाम (सभी टिप्पणियों को हटा दिया गया) कुछ इस तरह दिखाई देगा:
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
अब Apache कॉन्फ़िगरेशन फ़ाइल को सहेजें और बंद करें।
हम इस ट्यूटोरियल के अंत में अपाचे को फिर से शुरू करेंगे, लेकिन स्थापना और कॉन्फ़िगरेशन के दौरान नियमित रूप से अपाचे को फिर से शुरू करना निश्चित रूप से एक अच्छी आदत है, तो चलिए अब इसे करते हैं:
sudo systemctl restart httpd
चरण 4: वेब फ़ायरवॉल पोर्ट खोलें
अब हमें डिफ़ॉल्ट HTTPऔर HTTPSपोर्ट खोलने की आवश्यकता है क्योंकि वे डिफ़ॉल्ट रूप से अवरुद्ध हो जाएंगे firewalld।
फ़ायरवॉल पोर्ट खोलें:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
परिवर्तनों को लागू करने के लिए फ़ायरवॉल को पुनः लोड करें:
sudo firewall-cmd --reload
आप successप्रत्येक सफल फ़ायरवॉल कॉन्फ़िगरेशन कमांड के बाद अपने टर्मिनल में प्रदर्शित शब्द देखेंगे ।
हम जल्दी से यह सत्यापित कर सकते हैं कि अपाचे HTTPपोर्ट एक ब्राउज़र में आईपी पते या सर्वर उदाहरण के डोमेन पर जाकर खुला है:
http://YOUR_VULTR_IP_ADDRESS/
आपको अपने ब्राउज़र में डिफ़ॉल्ट अपाचे वेब पेज दिखाई देगा। 
चरण 5: SELinux अक्षम करें
SELinux का अर्थ "सिक्योरिटी एन्हांस्ड लिनक्स" है। यह लिनक्स के लिए एक सुरक्षा वृद्धि है जो उपयोगकर्ताओं और प्रशासकों को एक्सेस कंट्रोल पर अधिक नियंत्रण की अनुमति देता है। यह फेडोरा 26 में डिफ़ॉल्ट रूप से सक्षम है, लेकिन यह निश्चित रूप से सर्वर सुरक्षा के लिए आवश्यक नहीं है क्योंकि कई लिनक्स सर्वर वितरण इसे स्थापित या डिफ़ॉल्ट रूप से सक्षम नहीं करते हैं।
Selfoss RSS रीडर के साथ फ़ाइल अनुमति की समस्याओं से बचने के लिए बाद में लाइन के नीचे, हम अभी के लिए SELinux को अक्षम करने जा रहे हैं। तो अपने पसंदीदा टर्मिनल संपादक के साथ SELinux कॉन्फ़िगरेशन फ़ाइल खोलें:
sudo vi /etc/selinux/config
बदलें SELINUX=enforcingकरने के लिए SELINUX=disabledऔर फिर फ़ाइल को बचाने।
कॉन्फ़िगरेशन परिवर्तन को लागू करने के लिए, SELinux को सर्वर रिबूट की आवश्यकता होती है, इसलिए आप या तो Vultr कंट्रोल पैनल का उपयोग करके सर्वर को पुनरारंभ कर सकते हैं या आप बस shutdownकमांड का उपयोग कर सकते हैं :
sudo shutdown -r now
जब सर्वर रिबूट होता है, तो आपका एसएसएच सत्र डिस्कनेक्ट हो जाएगा और आपको एक संदेश दिखाई दे सकता है जो आपको 'broken pipe'या उसके बारे में सूचित करेगा 'Connection closed by remote host'। यह चिंता की कोई बात नहीं है, बस 20 सेकंड या इसके बाद प्रतीक्षा करें और फिर SSH को फिर से (अपने उपयोगकर्ता नाम और डोमेन के साथ) वापस करें:
ssh user1@YOUR_DOMAIN
या (अपने स्वयं के उपयोगकर्ता नाम और आईपी पते के साथ):
ssh user1@YOUR_VULTR_IP_ADDRESS
एक बार जब आप वापस लॉग इन कर लेते हैं, तो आपको sestatusयह सुनिश्चित करने के लिए कमांड के साथ SELinux की स्थिति की जांच करनी चाहिए कि यह ठीक से अक्षम है या नहीं:
sudo sestatus
आपको एक संदेश कहते हुए देखना चाहिए SELinux status: disabled। यदि आप एक संदेश कहते हैं SELinux status: enabled(या कुछ इसी तरह), तो आपको उपरोक्त चरणों को दोहराना होगा और यह सुनिश्चित करना होगा कि आप अपने सर्वर को ठीक से पुनरारंभ करें।
चरण 6: PHP 7.1 स्थापित करें
हम अब Self 7.1 RSS रीडर द्वारा आवश्यक सभी PHP मॉड्यूल के साथ PHP 7.1 स्थापित कर सकते हैं:
sudo dnf -y install php php-mysqlnd php-mbstring php-gd php-common php-pdo php-pecl-imagick php-xml php-zip
चरण 7: MariaDB (MySQL) सर्वर स्थापित करें
फेडोरा 26 मारियाडीबी डेटाबेस सर्वर का उपयोग करने के लिए चूक करता है, जो कि एसएनसीएल सर्वर के लिए ड्रॉप-इन प्रतिस्थापन में एक उन्नत, पूरी तरह से खुला स्रोत, विकसित समुदाय, ड्रॉप-इन है।
MariaDB डेटाबेस सर्वर स्थापित करें:
sudo dnf -y install mariadb-server
बूट समय पर स्वचालित रूप से निष्पादित करने के लिए MariaDB सर्वर को प्रारंभ और सक्षम करें:
sudo systemctl enable mariadb
sudo systemctl start mariadb    
अपने MariaDB सर्वर इंस्टालेशन को सुरक्षित करें:
sudo mysql_secure_installation
rootपासवर्ड खाली हो जाएगा, इसलिए अक्सर हिट जब के लिए कहा जाए दर्ज rootपासवर्ड।
जब मारियाडीबी / माईएसक्यूएल rootउपयोगकर्ता बनाने के लिए कहा जाता है , तो "वाई" (हां के लिए) चुनें और फिर एक सुरक्षित rootपासवर्ड दर्ज करें । बस अन्य सभी हां / ना के सवालों के जवाब में "वाई" का जवाब दें क्योंकि डिफ़ॉल्ट सुझाव सबसे सुरक्षित विकल्प हैं।
rootनिम्नलिखित कमांड को चलाकर मारियाडीबी उपयोगकर्ता के रूप में मारियाडीबी शेल में प्रवेश करें:
sudo mysql -u root -p
MariaDB कमांड प्रॉम्प्ट तक पहुँचने के लिए, संकेत मिलने पर ही MariaDB rootपासवर्ड दर्ज करें ।
Selfoss RSS रीडर के लिए एक MariaDB डेटाबेस और डेटाबेस उपयोगकर्ता बनाने के लिए निम्नलिखित क्वेरीज़ चलाएँ:
CREATE DATABASE selfoss_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'selfoss_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON selfoss_db.* TO 'selfoss_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
आप अपनी पसंद के अनुसार डेटाबेस नाम selfoss_dbऔर उपयोगकर्ता नाम selfoss_userको अपनी पसंद के अनुसार बदल सकते हैं। इसके अलावा, सुनिश्चित करें कि आप "UltraSecurePassword" को वास्तव में सुरक्षित पासवर्ड से बदलते हैं।
अपनी वर्तमान कार्यशील निर्देशिका को डिफ़ॉल्ट वेब निर्देशिका में बदलें:
cd /var/www/html/
यदि आपको कोई त्रुटि संदेश मिलता है जैसे कुछ कह रहा हो 'No such file or directory'तो निम्न कमांड आज़माएं:
cd /var/www/ ; sudo mkdir html ; cd html
आपकी वर्तमान कार्यशील निर्देशिका अब होगी /var/www/html/:। आप इसे pwd(प्रिंट वर्किंग डायरेक्टरी) कमांड के साथ देख सकते हैं :
pwd
अब wgetSelfoss RSS रीडर इंस्टॉलेशन पैकेज डाउनलोड करने के लिए उपयोग करें:
sudo wget --content-disposition https://github.com/SSilence/selfoss/archive/2.17.zip
कृपया ध्यान दें:  आपको Selfoss RSS रीडर डाउनलोड पृष्ठ पर जाकर सबसे हाल के संस्करण की जांच करनी चाहिए ।
वर्तमान निर्देशिका की जाँच करें कि आपने फ़ाइल को सफलतापूर्वक डाउनलोड किया है:
ls -la
चलो जल्दी से स्थापित करें unzipताकि हम फ़ाइल को अनज़िप कर सकें:
sudo dnf -y install unzip
अब जिप आर्काइव को अनकम्प्रेस्ड करें:
sudo unzip selfoss-2.17.zip
सभी स्थापना फ़ाइलों को वेब रूट निर्देशिका में ले जाएँ:
sudo mv -v selfoss-2.17/* selfoss-2.17/.* /var/www/html 2>/dev/null
किसी भी अनुमति की समस्याओं से बचने के लिए वेब फ़ाइलों का स्वामित्व बदलें:
sudo chown -R apache:apache * ./
फिर से अपाचे को फिर से शुरू करें:
sudo systemctl restart httpd
चरण 10: कम्पोज़र को स्थापित करें और चलाएं
Selfoss RSS रीडर हमें composerकुछ प्लगइन्स डाउनलोड करने के लिए उपयोग करने की आवश्यकता है ताकि हम स्थापित करें composer:
sudo dnf -y install composer
अब सुनिश्चित करें कि आप webroot निर्देशिका में हैं:
cd /var/www/html
apacheउपयोगकर्ता का उपयोग करके संगीतकार चलाएं :
sudo -u apache composer install
आप composerकैश में लिखने में सक्षम नहीं होने के बारे में कुछ चेतावनी संदेश देखेंगे , लेकिन इस बारे में बहुत अधिक चिंता न करें क्योंकि सब कुछ अभी भी ठीक स्थापित होगा।
अब हम अंतिम चरण पर जाने के लिए तैयार हैं।
	- 
	हम Selfoss आरएसएस रीडर विन्यास फाइल को अद्यतन करने की आवश्यकता है config.iniसही डेटाबेस सेटिंग्स के साथ तो सुनिश्चित करें कि आप webroot निर्देशिका में अभी भी कर रहे हैं और नकल बनानेdefaults.iniके लिएconfig.ini:
 
sudo cp -iv defaults.ini config.ini
 
- 
	अगला, config.iniकॉन्फ़िगरेशन फ़ाइल खोलें और निम्न डेटाबेस मान जोड़ें:
 
[globals]
db_type=mysql
db_host=localhost
db_database=selfoss_db
db_username=selfoss_user
db_password=UltraSecurePassword
db_port=3306
 
- 
	अब हमें एक पासवर्ड हैश जोड़ने की आवश्यकता है config.ini, लेकिन पहले हमें इसे जनरेट करना होगा, इसलिए अपने ब्राउज़र में निम्न URL पर जाएँ:
 
http://YOUR_VULTR_IP_ADDRESS/password
 फिर Passwordफील्ड में अपना मनचाहा पासवर्ड डालें और क्लिक करेंGenerate।
 बस config.iniफ़ाइल में पासवर्ड विकल्प के परिणामस्वरूप हैश मूल्य की प्रतिलिपि बनाएँ ताकि पासवर्ड अनुभाग अब कुछ इस तरह दिखाई दे:
 
username=admin
password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
salt=<long string of random chracters>
 नोट:  आपका पासवर्ड हैश स्पष्ट रूप से ऊपर दिखाए गए हैश के लिए अलग होगा और आप एक अलग उपयोगकर्ता नाम चुनने के लिए स्वतंत्र हैं। 
- 
	config.iniफ़ाइल से अन्य सभी अनएडिटेड विकल्पों को हटा दें ताकि आपकी पूरी कॉन्फ़िगरेशन फ़ाइल इसके समान दिखे:
 
[globals]
db_type=mysql
db_host=localhost
db_database=db1
db_username=u1
db_password=usecpass1
db_port=3306
username=admin
password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
salt=<long string of random chracters>
 नोट:  यदि आप किसी भी defaults.iniविकल्प को बदलना चाहते हैं, तो आप बस उन्हें ऊपर दिए गए विकल्पों की सूची में जोड़ सकते हैं।
 जब आपने कॉन्फ़िगरेशन फ़ाइल को संपादित करना समाप्त कर लिया है, तो आप फ़ाइल को सहेज सकते हैं और बाहर निकल सकते हैं। 
- 
	अब आप होम पेज पर जाकर अपना यूजरनेम और पासवर्ड डालकर सेल्फोस आरएसएस रीडर पर लॉगिन कर सकते हैं: 
 http://YOUR_VULTR_IP_ADDRESS/
 
- 
	यदि आप चाहते हैं कि पाठक आपके फीड्स को ऑटो-अपडेट करें (और आप लगभग निश्चित रूप से करते हैं), तो आपको अपना कॉन्ट्रास्ट संपादित करना होगा: 
sudo crontab -e
 अपने फ़ीड को प्रति घंटा ताज़ा करने के लिए निम्न पंक्ति जोड़ें: 
0 * * * * apache cd /var/www/html && php cliupdate.php
 
यदि आपने अभी तक अपनी Vultr DNS सेटिंग्स को कॉन्फ़िगर नहीं किया है, तो आप Vultr DNS कंट्रोल पैनल का उपयोग कर सकते हैं।
SSL का उपयोग करने के लिए अपनी साइट को कॉन्फ़िगर करने की भी सलाह दी जाती है क्योंकि अधिकांश आधुनिक ब्राउज़र चेतावनी देते हैं जब साइटें एसएसएल सक्षम नहीं होती हैं और एसएसएल प्रमाणपत्र अब मुफ्त में उपलब्ध हैं।
किसी भी मामले में, यदि आप चाहें तो अब आप अपने फीड को जोड़ना शुरू कर सकते हैं और अपने पाठक को अनुकूलित कर सकते हैं।