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

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

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

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

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

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

Ще започнем с добавяне на нов sudoпотребител.

Първо влезте в сървъра си като root:

ssh root@YOUR_VULTR_IP_ADDRESS

Добавете нов потребител, наречен user1(или предпочитаното от вас потребителско име):

adduser user1

Когато бъдете подканени, въведете сигурна и запомняща се парола. Ще бъдете подканени и за вашето „Пълно име“ и някои други подробности, но можете просто да ги оставите празни, като натиснете Enter.

Сега проверете /etc/sudoersфайла, за да се уверите, че sudoersгрупата е активирана:

visudo

Потърсете раздел като този:

%sudo        ALL=(ALL:ALL)       ALL

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

След това трябва да добавим user1към sudoгрупата:

usermod -aG sudo 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

Редактирайте секцията за sudoгрупата, така че да изглежда така:

%sudo   ALL=(ALL) NOPASSWD: ALL

Моля, обърнете внимание: Деактивирането на изискването за парола за потребителя на sudo не е препоръчителна практика, но е включено тук, тъй като може да направи конфигурацията на сървъра много по-удобна и по-малко разочароваща, особено по време на по-дълги сесии на системно администриране. Ако сте загрижени за последиците за сигурността, винаги можете да върнете промяната на конфигурацията към оригинала, след като завършите административните си задачи.

Всеки път, когато искате да влезете в rootпотребителския акаунт от sudoпотребителския акаунт, можете да използвате една от следните команди:

sudo -i
sudo su -

Можете да излезете от rootакаунта и да се върнете обратно към вашия sudoпотребителски акаунт по всяко време:

exit

Стъпка 2: Актуализирайте системата Ubuntu 16.04

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

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

sudo apt-get update
sudo apt-get -y upgrade

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

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

sudo apt-get -y install apache2 

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

sudo systemctl enable apache2
sudo systemctl start apache2

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

sudo vi /etc/apache2/sites-enabled/000-default.conf 

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

DocumentRoot "/var/www/html"

Сега трябва да активираме mod_rewriteмодула Apache, така че се уверете, че вашият конфигурационен файл по подразбиране на Apache все още е отворен и добавете следните Directoryдирективи на Apache точно преди затварящия </VirtualHost>маркер, така че краят на вашия конфигурационен файл да изглежда така:

    <Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

Най-важната директива, показана по-горе, е AllowOverride All.

Сега запазете и излезте от файла и активирайте модулите mod_rewrite, mod_authz_coreи mod_headersApache:

sudo a2enmod rewrite authz_core headers

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

sudo systemctl restart apache2

Стъпка 4: Инсталирайте PHP 7.0

Вече можем да инсталираме PHP 7.0 заедно с всички необходими PHP модули, изисквани от Selfoss RSS Reader:

sudo apt-get -y install php php-gd php-mbstring php-common php-mysql php-imagick php-xml libapache2-mod-php php-curl php-tidy php-zip

Стъпка 5: Инсталирайте MySQL Server

Инсталирайте MySQL сървър на база данни:

sudo apt-get -y install mysql-server

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

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

sudo systemctl enable mysql
sudo systemctl start mysql    

Защитете инсталацията на вашия MySQL сървър:

sudo mysql_secure_installation

When prompted, enter the password you created for the MYSQL root user during installation. Simply answer "Y" to all of the other yes/no questions as the default suggestions are the most secure options.

Step 6: Create Database for Selfoss RSS Reader

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

sudo mysql -u root -p

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

Run the following queries to create a MySQL 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 7: Install Selfoss RSS Reader Files

Променете текущата си работна директория към уеб директорията по подразбиране:

cd /var/www/html/

Ако получите съобщение за грешка, което казва нещо подобно, 'No such file or directory'опитайте следната команда:

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

Вашата текуща работна директория вече ще бъде: /var/www/html/. Можете да проверите това с pwdкомандата (печатна работна директория):

pwd

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

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

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

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

ls -la

Премахни index.html:

sudo rm index.html

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

sudo apt-get -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 www-data:www-data * ./

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

sudo systemctl restart apache2

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

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

sudo apt-get -y install composer

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

cd /var/www/html

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

sudo -u www-data composer install 

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

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

Стъпка 9: Завършете инсталацията на 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 * * * * www-data cd /var/www/html && php cliupdate.php
    

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

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

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


Инсталирайте Lets Encrypt SSL в приложението WordPress с едно щракване

Инсталирайте Lets Encrypt SSL в приложението WordPress с едно щракване

Въведение Lets Encrypt е услуга на сертифициращ орган, която предлага безплатни TLS/SSL сертификати. Процесът на инсталиране е опростен от Certbot,

Как да настроите надстройки без надзор на Debian 9 (разтягане)

Как да настроите надстройки без надзор на Debian 9 (разтягане)

Използване на различна система? Ако закупите сървър на Debian, винаги трябва да имате най-новите корекции за сигурност и актуализации, независимо дали спите или не

Как да инсталирате и конфигурирате PHP 7.0 или PHP 7.1 на Ubuntu 16.04

Как да инсталирате и конфигурирате PHP 7.0 или PHP 7.1 на Ubuntu 16.04

PHP и свързаните с него пакети са най-често използваните компоненти при разгръщане на уеб сървър. В тази статия ще научим как да настроим PHP 7.0 или PHP 7.1 o

Как да инсталирате Squid Proxy на CentOS

Как да инсталирате Squid Proxy на CentOS

Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

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

Три безплатни контролни панела на сървъра (бърза инсталация)

Три безплатни контролни панела на сървъра (бърза инсталация)

1. Virtualmin/Webmin Virtualmin е мощен и гъвкав контролен панел за уеб хостинг за Linux и UNIX системи, базиран на добре познатата уеб база с отворен код

Настройване на приложение Yii на Ubuntu 14.04

Настройване на приложение Yii на Ubuntu 14.04

Yii е PHP рамка, която ви позволява да разработвате приложения по-бързо и лесно. Инсталирането на Yii в Ubuntu е лесно, както ще научите точно l

Настройте свой собствен DNS сървър на Debian/Ubuntu

Настройте свой собствен DNS сървър на Debian/Ubuntu

Този урок обяснява как да настроите DNS сървър с помощта на Bind9 на Debian или Ubuntu. В цялата статия заменете your-domain-name.com съответно. При th

Използване на Logrotate за управление на регистрационни файлове

Използване на Logrotate за управление на регистрационни файлове

Въведение Logrotate е помощна програма за Linux, която опростява администрирането на лог файлове. Обикновено се изпълнява веднъж на ден чрез cron задание и управлява базата от регистрационни файлове

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент

Настройте Red5 Media Server на Ubuntu 16.04

Настройте Red5 Media Server на Ubuntu 16.04

Използване на различна система? Red5 е медиен сървър с отворен код, внедрен в Java, който ви позволява да стартирате Flash многопотребителски приложения, като например предаване на живо

Компилирайте и инсталирайте Nginx с модула PageSpeed ​​на Debian 8

Компилирайте и инсталирайте Nginx с модула PageSpeed ​​на Debian 8

В тази статия ще видим как да компилирате и инсталирате основната линия на Nginx от официалните източници на Nginx с модула PageSpeed, който ви позволява да

Как да инсталирате Apache Cassandra 3.11.x на Ubuntu 16.04 LTS

Как да инсталирате Apache Cassandra 3.11.x на Ubuntu 16.04 LTS

Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока

Как да инсталирате Vanilla Forum на Ubuntu 16.04

Как да инсталирате Vanilla Forum на Ubuntu 16.04

Използване на различна система? Vanilla forum е приложение за форум с отворен код, написано на PHP. Той е напълно адаптивен, лесен за използване и поддържа външен

Как да инсталирате Kanboard на Ubuntu 18.04 LTS

Как да инсталирате Kanboard на Ubuntu 18.04 LTS

Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира

Как да инсталирате Kanboard на Debian 9

Как да инсталирате Kanboard на Debian 9

Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира

Как да инсталирате Gitea на Debian 9

Как да инсталирате Gitea на Debian 9

Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от Git. Gitea е написана на Голанг и е

Как да инсталирате Gitea на Ubuntu 18.04

Как да инсталирате Gitea на Ubuntu 18.04

Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от git. Gitea е написана на Голанг и е

Инсталирайте Lynis на Debian 8

Инсталирайте Lynis на Debian 8

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

Как да инсталирате Thelia 2.3 на Debian 9

Как да инсталирате Thelia 2.3 на Debian 9

Използване на различна система? Thelia е инструмент с отворен код за създаване на уебсайтове за е-бизнес и управление на онлайн съдържание, написано на PHP. Изходен код на Thelia i

Възходът на машините: Реални приложения на 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 машини. Прочетете тази статия, за да научите повече