Как да инсталирате Selfoss RSS Reader на Fedora 26 LAMP VPS

Как да инсталирате Selfoss RSS Reader на Fedora 26 LAMP VPS

Selfoss RSS Reader е безплатен и отворен код, самостоятелно хостван уеб-базиран многофункционален, поточно предаване на живо, смесване, четец на новини (RSS/Atom) и универсален агрегатор. Selfoss RSS Reader разполага с импортиране на OPML, спокоен JSON API и неговата отворена система за приставки ви позволява лесно да разширите функционалността по подразбиране, като напишете свои собствени конектори за данни. Можете да използвате Selfoss, за да предавате на живо и да събирате всичките си публикации, туитове, подкасти и емисии на едно централно място, до което имате лесен достъп от всеки настолен компютър или мобилно устройство.

В този урок ще инсталираме Selfoss RSS Reader 2.17 на Fedora 26 LAMP VPS, използвайки уеб сървър на Apache, PHP 7.1 и база данни MariaDB.

Предпоставки

  • Чист Vultr Fedora 26 сървърен екземпляр със SSH достъп

Стъпка 1: Добавете потребител на Sudo

Ще започнем с добавяне на нов 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командата, за да превключите към новия потребителски user1акаунт sudo :

su - user1

Командният ред ще се актуализира, за да покаже, че вече сте влезли в user1акаунта. Можете да проверите това с whoamiкомандата:

whoami

Сега рестартирайте sshdуслугата, за да можете да влезете чрез sshновия не-root потребителски акаунт на sudo, който току-що създадохте:

sudo systemctl restart sshd

Излезте от user1акаунта:

exit

Излезте от rootакаунта (което ще прекъсне връзката на вашата sshсесия):

exit

Вече можете да sshвлезете в сървърния екземпляр от вашия локален хост, като използвате новия не-root потребителски user1акаунт sudo :

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: Актуализирайте системата Fedora 26

Преди да инсталираме пакети на сървърния модел на Fedora, първо ще актуализираме системата.

Уверете се, че сте влезли в сървъра, като използвате sudo потребител без root и изпълнете следната команда:

sudo dnf -y update

Стъпка 3: Инсталирайте уеб сървъра на Apache

Инсталирайте уеб сървъра Apache:

sudo dnf -y install httpd

След това използвайте systemctlкомандата, за да стартирате и активирате Apache да се изпълнява автоматично при стартиране:

sudo systemctl enable httpd
sudo systemctl start httpd

Проверете вашия конфигурационен файл на Apache, за да се уверите, че DocumentRootдирективата сочи към правилната директория:

sudo vi /etc/httpd/conf/httpd.conf

Опцията за DocumentRootконфигурация ще изглежда така:

DocumentRoot "/var/www/html"

Сега нека се уверим, че mod_rewriteмодулът Apache е зареден. Можем да направим това, като потърсим в конфигурационния файл на базовите модули на Apache термина " mod_rewrite".

Отворете файла:

sudo vi /etc/httpd/conf.modules.d/00-base.conf

Потърсете термина mod_rewrite.

Ако mod_rewriteмодулът Apache е зареден, ще намерите конфигурационен ред, изглеждащ така:

LoadModule rewrite_module modules/mod_rewrite.so

Ако горният ред започва с точка и запетая, ще трябва да премахнете точката и запетая, за да декоментирате реда и да заредите модула. Това, разбира се, важи и за всички други необходими модули на Apache.

Сега трябва да редактираме конфигурационния файл по подразбиране на Apache, така че mod_rewriteда работи правилно със Selfoss RSS Reader.

Отворете файла:

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.

Ще рестартираме Apache в края на този урок, но рестартирането на 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портът Apache е отворен, като посетим IP адреса или домейна на сървърния екземпляр в браузър:

http://YOUR_VULTR_IP_ADDRESS/

Ще видите уеб страницата на Apache по подразбиране във вашия браузър.

Стъпка 5: Деактивирайте SELinux

SELinux stands for "Security Enhanced Linux". It is a security enhancement to Linux which allows users and administrators more control over access control. It is enabled by default in Fedora 26, but it is definitely not essential for server security as many Linux server distributions do not ship with it installed or enabled by default.

To avoid file permission problems with Selfoss RSS Reader later down the line, we are going to disable SELinux, for now. So open the SELinux configuration file with your favourite terminal editor:

sudo vi /etc/selinux/config

Change SELINUX=enforcing to SELINUX=disabled and then save the file.

To apply the configuration change, SELinux requires a server reboot, so you can either restart the server using the Vultr control panel or you can simply use the shutdown command:

sudo shutdown -r now

When the server reboots, your SSH session will get disconnected and you may see a message informing you about a 'broken pipe' or 'Connection closed by remote host'. This is nothing to worry about, simply wait for 20 seconds or so and then SSH back in again (with your own username and domain):

ssh user1@YOUR_DOMAIN

Or (with your own username and IP address):

ssh user1@YOUR_VULTR_IP_ADDRESS

Once you have logged back in, you should check the status of SELinux with the sestatus command to make sure it is properly disabled:

sudo sestatus

You should see a message saying SELinux status: disabled. If you see a message saying SELinux status: enabled (or something similar) you will need to repeat the above steps and ensure that you properly restart your server.

Step 6: Install PHP 7.1

We can now install PHP 7.1 along with all of the necessary PHP modules required by Selfoss RSS Reader:

sudo dnf -y install php php-mysqlnd php-mbstring php-gd php-common php-pdo php-pecl-imagick php-xml php-zip

Step 7: Install MariaDB (MySQL) Server

Fedora 26 defaults to using MariaDB database server, which is an enhanced, fully open source, community developed, drop-in replacement for MySQL server.

Install MariaDB database server:

sudo dnf -y install mariadb-server

Start and enable MariaDB server to execute automatically at boot time:

sudo systemctl enable mariadb
sudo systemctl start mariadb    

Secure your MariaDB server installation:

sudo mysql_secure_installation

The root password will be blank, so simply hit enter when prompted for the root password.

When prompted to create a MariaDB/MySQL root user, select "Y" (for yes) and then enter a secure root password. Simply answer "Y" to all of the other yes/no questions as the default suggestions are the most secure options.

Step 8: Create Database for Selfoss RSS Reader

Log into the MariaDB shell as the MariaDB root user by running the following command:

sudo mysql -u root -p

To access the MariaDB command prompt, simply enter the MariaDB root password when prompted.

Run the following queries to create a MariaDB database and database user for Selfoss RSS Reader:

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;

You can replace the database name selfoss_db and username selfoss_user with something more to your liking, if you prefer. Also, make sure that you replace "UltraSecurePassword" with an actually secure password.

Step 9: Install Selfoss RSS Reader Files

Change your current working directory to the default web directory:

cd /var/www/html/

If you get an error message saying something like 'No such file or directory' then try the following command:

cd /var/www/ ; sudo mkdir html ; cd html

Your current working directory will now be: /var/www/html/. You can check this with the pwd (print working directory) command:

pwd

Сега използвайте wgetза изтегляне на инсталационния пакет Selfoss RSS Reader:

sudo wget --content-disposition https://github.com/SSilence/selfoss/archive/2.17.zip

Моля, обърнете внимание: Определено трябва да проверите за най-новата версия, като посетите страницата за изтегляне на Selfoss RSS Reader .

Избройте текущата директория, за да проверите дали сте изтеглили файла успешно:

ls -la

Нека бързо да инсталираме, unzipза да можем да разархивираме файла:

sudo dnf -y install unzip

Сега декомпресирайте zip архива:

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 * ./

Рестартирайте Apache отново:

sudo systemctl restart httpd

Стъпка 10: Инсталирайте и стартирайте Composer

Selfoss RSS Reader изисква да използваме composerза изтегляне на някои плъгини, така че нека инсталираме composer:

sudo dnf -y install composer

Сега се уверете, че сте в директорията webroot:

cd /var/www/html

Стартирайте composer с помощта на apacheпотребителя:

sudo -u apache composer install

Ще видите някои предупредителни съобщения от това, composerче не можете да пишете в кеша, но не се тревожете твърде много за това, тъй като всичко ще се инсталира добре.

Вече сме готови да преминем към последната стъпка.

Стъпка 11: Завършете инсталацията на Selfoss RSS Reader

  1. Първо трябва да актуализираме конфигурационния файл на Selfoss RSS Reader config.iniс правилните настройки на базата данни, така че се уверете, че все още сте в директорията webroot и копирайте defaults.iniв config.ini:

    sudo cp -iv defaults.ini config.ini
    
  2. След това отворете config.iniконфигурационния файл и добавете следните стойности на базата данни:

    [globals]
    db_type=mysql
    db_host=localhost
    db_database=selfoss_db
    db_username=selfoss_user
    db_password=UltraSecurePassword
    db_port=3306
    
  3. Сега трябва да добавим хеш на паролата към config.ini, но първо трябва да го генерираме, така че посетете следния URL в браузъра си:

    http://YOUR_VULTR_IP_ADDRESS/password
    

    След това въведете желаната парола в Passwordполето и щракнете върху Generate.

    Просто копирайте получената хеш стойност към опцията за парола във config.iniфайла, така че секцията за парола сега изглежда така:

    username=admin
    password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
    salt=<long string of random chracters>
    

    Забележка: Хешът на вашата парола очевидно ще бъде различен от хеша, показан по-горе и вие сте свободни да изберете различно потребителско име.

  4. Премахнете всички други нередактирани опции от 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опциите, можете просто да ги добавите към списъка с опции по-горе.

    Когато приключите с редактирането на конфигурационния файл, можете да запишете и да излезете от файла.

  5. Вече можете да влезете в Selfoss RSS Reader, като посетите началната страница и въведете вашето потребителско име и парола:

     http://YOUR_VULTR_IP_ADDRESS/
    
  6. Ако искате читателят автоматично да актуализира вашите емисии (и почти сигурно го правите), ще трябва да редактирате своя crontab:

    sudo crontab -e
    

    Добавете следния ред, за да опреснявате емисиите си всеки час:

    0 * * * * apache cd /var/www/html && php cliupdate.php
    

Ако все още не сте конфигурирали настройките на Vultr DNS, можете да го направите с помощта на контролния панел на Vultr DNS.

Също така е препоръчително да конфигурирате сайта си да използва SSL, тъй като повечето съвременни браузъри ще предупреждават, когато сайтовете нямат активиран SSL и SSL сертификатите вече са достъпни безплатно.

Във всеки случай вече сте свободни да започнете да добавяте своите емисии и допълнително да персонализирате своя четец, ако желаете.


Как да инсталирате BigTree CMS на Fedora 26 LAMP VPS

Как да инсталирате BigTree CMS на Fedora 26 LAMP VPS

Използване на различна система? BigTree CMS 4.2 е бърза и лека, безплатна и с отворен код, корпоративна система за управление на съдържанието (CMS) с обширна

Как да инсталирате Koel на Fedora 28

Как да инсталирате Koel на Fedora 28

Използване на различна система? Koel е просто уеб-базирано лично приложение за стрийминг на аудио, написано на Vue от страна на клиента и Laravel от страна на сървъра. Кое

Как да инсталирате Grav CMS на Fedora 28

Как да инсталирате Grav CMS на Fedora 28

Използване на различна система? Grav е CMS с плосък файл с отворен код, написан на PHP. Изходният код на Grav се хоства публично на GitHub. Това ръководство ще ви покаже как т

Инсталиране на Akaunting на Fedora 28

Инсталиране на Akaunting на Fedora 28

Използване на различна система? Akaunting е безплатен, отворен код и онлайн счетоводен софтуер, предназначен за малки фирми и служители на свободна практика. Изградено е остроумно

Как да инсталирате Tiny Tiny RSS Reader на Fedora 26 LAMP VPS

Как да инсталирате Tiny Tiny RSS Reader на Fedora 26 LAMP VPS

Използване на различна система? Tiny Tiny RSS Reader е безплатен четец и агрегатор с отворен код, самостоятелно хостван уеб базиран новинарски канал (RSS/Atom), предназначен да

Как да инсталирате InvoicePlane на Fedora 28

Как да инсталирате InvoicePlane на Fedora 28

Използване на различна система? InvoicePlane е безплатно приложение за фактуриране с отворен код. Неговият изходен код може да бъде намерен в това хранилище на Github. Това ръководство

Инсталирайте сървър на Minecraft на Fedora 26

Инсталирайте сървър на Minecraft на Fedora 26

Използване на различна система? В този урок ще ви насоча как да настроите сървър на Minecraft на високопроизводителен SSD VPS във Vultr. Ще научиш хо

Как да компилирам Nginx от източник на Fedora 25

Как да компилирам Nginx от източник на Fedora 25

Използване на различна система? NGINX може да се използва като HTTP/HTTPS сървър, обратен прокси сървър, имейл прокси сървър, балансьор на натоварване, TLS терминатор или cachin

Как да инсталирате Pagekit 1.0 CMS на Fedora 26 LAMP VPS

Как да инсталирате Pagekit 1.0 CMS на Fedora 26 LAMP VPS

Използване на различна система? Pagekit 1.0 CMS е красива, модулна, разширяема и лека, безплатна система за управление на съдържанието (CMS) с отворен код с

Как да инсталирате Subrion 4.1 CMS на Fedora 26 LAMP VPS

Как да инсталирате Subrion 4.1 CMS на Fedora 26 LAMP VPS

Използване на различна система? Subrion 4.1 CMS е мощна и гъвкава система за управление на съдържанието (CMS) с отворен код, която носи интуитивно и ясно съдържание

Инсталирайте TaskServer (taskd) на Fedora 26

Инсталирайте TaskServer (taskd) на Fedora 26

Използване на различна система? TaskWarrior е инструмент за управление на времето с отворен код, който е подобрение на приложението Todo.txt и неговите клонинги. Поради th

Как да инсталирате CMS Made Simple 2.2 на Fedora 26 LAMP VPS

Как да инсталирате CMS Made Simple 2.2 на Fedora 26 LAMP VPS

Използване на различна система? CMS Made Simple 2.2 е гъвкава и разширяема, безплатна система за управление на съдържанието (CMS) с отворен код, интелигентно проектирана да

Инсталиране на Bro IDS на Fedora 25

Инсталиране на Bro IDS на Fedora 25

Използване на различна система? Въведение Bro е анализатор на мрежов трафик с отворен код. Това е преди всичко монитор за сигурност, който инспектира целия трафик по линия

Как да инсталирате X-Cart 5 на Fedora 31

Как да инсталирате X-Cart 5 на Fedora 31

Използване на различна система? X-Cart е изключително гъвкава платформа за електронна търговия с отворен код с множество функции и интеграции. Изходният код на X-Cart е хост

Как да инсталирате Matomo Analytics на Fedora 28

Как да инсталирате Matomo Analytics на Fedora 28

Използване на различна система? Matomo (бивш Piwik) е платформа за анализи с отворен код, отворена алтернатива на Google Analytics. Източникът на Matomo се хоства o

Как да инсталирате MyBB на Fedora 28

Как да инсталирате MyBB на Fedora 28

Използване на различна система? MyBB е безплатна програма с отворен код, интуитивна и разширяема форумна програма. Изходният код на MyBB се хоства на GitHub. Това ръководство ще шо

Как да инсталирате и конфигурирате TaskBoard на Fedora 30

Как да инсталирате и конфигурирате TaskBoard на Fedora 30

Използване на различна система? Въведение TaskBoard е безплатен инструмент с отворен код, който може да се използва за проследяване на нещата, които трябва да се направят. Осигурява

Как да инсталирате LimeSurvey CE на Fedora 28

Как да инсталирате LimeSurvey CE на Fedora 28

Използване на различна система? LimeSurvey е програма за проучване с отворен код, написана на PHP. Изходният код на LimeSurvey се хоства на GitHub. Това ръководство ще ви покаже

Как да инсталирате Backdrop CMS 1.8.0 на Fedora 26 LAMP VPS

Как да инсталирате Backdrop CMS 1.8.0 на Fedora 26 LAMP VPS

Използване на различна система? Backdrop CMS 1.8.0 е проста и гъвкава, удобна за мобилни устройства, безплатна система за управление на съдържанието (CMS) с отворен код, която ни позволява

Как да инсталирате Craft CMS на Fedora 29

Как да инсталирате Craft CMS на Fedora 29

Използване на различна система? Craft CMS е CMS с отворен код, написан на PHP. Craft CMS изходния код се хоства на GitHub. Това ръководство ще ви покаже как да инсталирате

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече