Як встановити Selfoss RSS Reader на CentOS 7 LAMP VPS

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

У цьому підручнику ми збираємося встановити Selfoss RSS Reader 2.17 на CentOS 7 LAMP VPS за допомогою веб-сервера Apache, PHP 7.1 і бази даних MariaDB.

Передумови

  • Чистий екземпляр сервера Vultr CentOS 7 з доступом по 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привілеїв. За замовчуванням він буде розкоментований, тому ви можете просто вийти з файлу.

Далі нам потрібно додати user1до wheelгрупи:

usermod -aG wheel user1

Ми можемо перевірити user1членство в групі та перевірити, чи usermodкоманда працювала з groupsкомандою:

groups user1

Тепер скористайтеся suкомандою, щоб перейти до нового user1облікового запису користувача sudo :

su - user1

Командний рядок оновиться, щоб вказати, що ви тепер увійшли в user1обліковий запис. Ви можете перевірити це за допомогою whoamiкоманди:

whoami

Тепер перезапустіть sshdслужбу, щоб ви могли ввійти за sshдопомогою нового облікового запису sudo, який ви щойно створили:

sudo systemctl restart sshd

Вийти з user1облікового запису:

exit

Вийдіть з rootоблікового запису (що призведе до відключення вашого sshсеансу):

exit

Тепер ви можете зайти sshна екземпляр сервера з вашого локального хоста за допомогою нового user1облікового запису користувача sudo без root прав :

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: Оновіть систему CentOS 7

Перш ніж інсталювати будь-які пакунки на екземпляр сервера CentOS, ми спершу оновимо систему.

Переконайтеся, що ви ввійшли на сервер за допомогою користувача sudo без прав root і виконайте таку команду:

sudo yum -y update

Крок 3: Встановіть веб-сервер Apache

Встановіть веб-сервер Apache:

sudo yum -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 завантажено. Ми можемо зробити це, шукаючи термін « mod_rewrite« у файлі конфігурації базових модулів Apache .

Відкрийте файл:

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 disabled by default on Vultr CentOS 7 instances, but we will cover the steps to disable it, just in case you are not starting from a clean install and it was previously enabled.

To avoid file permission problems with Selfoss RSS Reader we need to ensure that SELinux is disabled.

First, let's check whether SELinux is enabled or disabled with the sestatus command:

sudo sestatus

If you see something like: SELinux status: disabled then it is definitely disabled and you can skip straight to Step 6. If you see any other message, then you will need to complete this section.

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 again 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

CentOS 7 requires us to add an external repo in order to install PHP 7.1, so run the following command:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

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

sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-pdo php71w-mysqlnd

Step 7: Install MariaDB (MySQL) Server

CentOS 7 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 yum -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. (Please note that the default maximum length for usernames in MariaDB on CentOS 7 is 16 characters). 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

Now use wget to download the Selfoss RSS Reader installation package:

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

Зверніть увагу: вам обов’язково слід перевірити останню версію, відвідавши сторінку завантаження Selfoss RSS Reader .

Укажіть поточний каталог, щоб перевірити, чи ви успішно завантажили файл:

ls -la

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

sudo yum -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 yum -y install composer

Тепер переконайтеся, що ви перебуваєте в кореневому каталозі:

cd /var/www/html

Запустіть composer за допомогою apacheкористувача:

sudo -u apache composer install

Ви побачите кілька попереджувальних повідомлень composerпро те, що неможливо записати в кеш, але не турбуйтеся про це, оскільки все встановиться нормально.

Тепер ми готові перейти до останнього кроку.

Крок 11: Завершіть установку Selfoss RSS Reader

  1. Спочатку нам потрібно оновити файл конфігурації Selfoss RSS Reader config.iniз правильними налаштуваннями бази даних, тому переконайтеся, що ви все ще перебуваєте в кореневому каталозі, і скопіюйте 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
    

Якщо ви ще не налаштували свої параметри DNS Vultr, ви можете зробити це за допомогою панелі керування Vultr DNS.

Також доцільно налаштувати свій сайт на використання SSL, оскільки більшість сучасних браузерів видаватиме попередження, коли на сайтах не ввімкнено SSL, а сертифікати SSL тепер доступні безкоштовно.

У будь-якому випадку, тепер ви можете почати додавати свої канали та додатково налаштовувати читач, якщо хочете.


Leave a Comment

Встановіть Plesk на CentOS 7

Встановіть Plesk на CentOS 7

Використання іншої системи? Plesk — це власна панель керування веб-хостом, яка дозволяє користувачам адмініструвати свої персональні та/або клієнтські веб-сайти, бази даних

Як встановити Squid Proxy на CentOS

Як встановити Squid Proxy на CentOS

Squid — популярна безкоштовна програма для Linux, яка дозволяє створювати веб-проксі для переадресації. У цьому посібнику ви дізнаєтеся, як встановити Squid на CentOS, щоб перетворити вас

Як встановити Lighttpd (LLMP Stack) на CentOS 6

Як встановити Lighttpd (LLMP Stack) на CentOS 6

Вступ Lighttpd — це форк Apache, який має набагато меншу ресурсомісткість. Він легкий, звідси його назва, і досить простий у використанні. Встановити

Налаштування статичної мережі та IPv6 на CentOS 7

Налаштування статичної мережі та IPv6 на CentOS 7

VULTR нещодавно вніс зміни на свою сторону, і тепер усе має працювати нормально з коробки з увімкненим NetworkManager. Якщо ви бажаєте вимкнути

Змінення Icinga2 для використання моделі Master/Client на CentOS 6 або CentOS 7

Змінення Icinga2 для використання моделі Master/Client на CentOS 6 або CentOS 7

Icinga2 — це потужна система моніторингу, і при використанні в моделі «майстер-клієнт» вона може замінити потребу в перевірках моніторингу на основі NRPE. Майстер-клієнт

Як встановити Apache Cassandra 3.11.x на CentOS 7

Як встановити Apache Cassandra 3.11.x на CentOS 7

Використання іншої системи? Apache Cassandra — це безкоштовна система керування базами даних NoSQL з відкритим вихідним кодом, яка розроблена для забезпечення масштабованості, високої

Як встановити Microweber на CentOS 7

Як встановити Microweber на CentOS 7

Використання іншої системи? Microweber — це CMS та інтернет-магазин із відкритим вихідним кодом. Вихідний код Microweber розміщено на GitHub. Цей посібник покаже вам

Як встановити Vanilla Forum на CentOS 7

Як встановити Vanilla Forum на CentOS 7

Використання іншої системи? Vanilla forum — це програма з відкритим вихідним кодом, написана на PHP. Це повністю настроюваний, простий у використанні та підтримує зовнішній вигляд

Як встановити Mattermost 4.1 на CentOS 7

Як встановити Mattermost 4.1 на CentOS 7

Використання іншої системи? Mattermost — це автономна альтернатива службі обміну повідомленнями Slack SAAS з відкритим кодом. Іншими словами, з Mattermost ви бл

Lets Encrypt на Plesk

Lets Encrypt на Plesk

Панель керування Plesk має дуже гарну інтеграцію для Lets Encrypt. Lets Encrypt є одним із єдиних постачальників SSL, які надають сертифікати повністю

Дозволяє шифрувати на cPanel

Дозволяє шифрувати на cPanel

Lets Encrypt — це центр сертифікації, який надає безкоштовні сертифікати SSL. cPanel створив чітку інтеграцію, щоб ви і ваш клієнт

Як встановити Concrete5 на CentOS 7

Як встановити Concrete5 на CentOS 7

Використання іншої системи? Concrete5 — це CMS з відкритим вихідним кодом, яка пропонує багато відмінних і корисних функцій, які допомагають редакторам легко створювати вміст.

Як встановити Review Board на CentOS 7

Як встановити Review Board на CentOS 7

Використання іншої системи? Review Board — це безкоштовний інструмент з відкритим кодом для перегляду вихідного коду, документації, зображень та багато іншого. Це веб-програмне забезпечення

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

У цьому посібнику ви дізнаєтеся, як налаштувати автентифікацію HTTP для веб-сервера Nginx, що працює на CentOS 7. Вимоги Щоб почати, вам знадобиться

Як встановити GoAccess на CentOS 7

Як встановити GoAccess на CentOS 7

Використання іншої системи? GoAccess — це аналізатор веб-журналів з відкритим вихідним кодом. Ви можете використовувати його для аналізу журналів у режимі реального часу в терміналі або

Як встановити YOURLS на CentOS 7

Як встановити YOURLS на CentOS 7

YOURLS (Your Own URL Shortener) — програма для скорочення URL-адрес і аналізу даних із відкритим вихідним кодом. У цій статті ми розглянемо процес встановлення

Як встановити та налаштувати ArangoDB на CentOS 7

Як встановити та налаштувати ArangoDB на CentOS 7

Використання іншої системи? Вступ ArangoDB — це відкрита база даних NoSQL з гнучкою моделлю даних для документів, графіків і ключів-значень. це є

Використання Etckeeper для контролю версій /etc

Використання Etckeeper для контролю версій /etc

Вступ Каталог /etc/ відіграє важливу роль у функціонуванні системи Linux. Причина цього в тому, що майже кожна конфігурація системи

Чому ви повинні використовувати SSHFS? Як підключити віддалену файлову систему з SSHFS на CentOS 6

Чому ви повинні використовувати SSHFS? Як підключити віддалену файлову систему з SSHFS на CentOS 6

Багато системних адміністраторів керують великою кількістю серверів. Якщо потрібно отримати доступ до файлів на різних серверах, увійти на кожен окремо бл

Налаштування сервера Half Life 2 на CentOS 6

Налаштування сервера Half Life 2 на CentOS 6

У цьому посібнику буде описано процес встановлення ігрового сервера Half Life 2 на систему CentOS 6. Крок 1: Встановлення необхідних умов Щоб налаштувати ou

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

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. Прочитайте цю статтю, щоб дізнатися більше