Як встановити 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 на VPS Ubuntu 16.04 LAMP за допомогою веб-сервера 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допомогою нового облікового запису 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

Відредагуйте розділ для 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 переконайтеся, що ви ввели безпечний пароль для користувача MySQL root. Цей rootкористувач відрізняється від rootкористувача в Ubuntu, оскільки він використовується лише для підключення до вашого сервера бази даних з повними привілеями.

Запустіть і дозвольте серверу MySQL виконуватися автоматично під час завантаження:

sudo systemctl enable mysql
sudo systemctl start mysql    

Захистіть установку сервера MySQL:

sudo mysql_secure_installation

Коли буде запропоновано, введіть пароль, який ви створили для користувача MYSQL rootпід час встановлення. Просто дайте відповідь «Y» на всі інші запитання так/ні, оскільки пропозиції за замовчуванням є найбезпечнішими варіантами.

Крок 6: Створіть базу даних для Selfoss RSS Reader

Увійдіть до оболонки MySQL як користувач MySQL, rootвиконавши таку команду:

sudo mysql -u root -p

Щоб отримати доступ до командного рядка MySQL, просто введіть rootпароль MySQL, коли з’явиться відповідний запит.

Виконайте такі запити, щоб створити базу даних MySQL та користувача бази даних для 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;

Ви можете замінити ім’я бази даних selfoss_dbта ім’я користувача selfoss_userна щось більше на свій смак, якщо хочете. Також переконайтеся, що ви замінили "UltraSecurePassword" на фактично безпечний пароль.

Крок 7: Встановіть файли Selfoss RSS Reader

Змініть поточний робочий каталог на веб-каталог за замовчуванням:

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

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

cd /var/www/html

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

sudo -u www-data composer install 

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

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

Крок 9: Завершіть установку 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 * * * * www-data cd /var/www/html && php cliupdate.php
    

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

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

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


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

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

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

Установіть Lets Encrypt SSL у програму WordPress одним клацанням миші

Установіть Lets Encrypt SSL у програму WordPress одним клацанням миші

Вступ Lets Encrypt — це служба центру сертифікації, яка пропонує безкоштовні сертифікати TLS/SSL. Certbot спрощує процес встановлення,

Як налаштувати сервер Tekkit Classic на Ubuntu 16.10

Як налаштувати сервер Tekkit Classic на Ubuntu 16.10

Використання іншої системи? Що таке Tekkit Classic? Tekkit Classic — це модпак для гри, яку всі знають і люблять; Майнкрафт. Він містить деякі з вер

Як встановити та налаштувати 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

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

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

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

Три безкоштовні панелі керування сервером (швидке встановлення)

Три безкоштовні панелі керування сервером (швидке встановлення)

1. Virtualmin/Webmin Virtualmin — це потужна та гнучка панель керування веб-хостингом для систем Linux та UNIX на основі відомої веб-бази з відкритим вихідним кодом.

Налаштування програми Yii на Ubuntu 14.04

Налаштування програми Yii на Ubuntu 14.04

Yii — це PHP-фреймворк, який дозволяє розробляти програми швидше та легше. Установка Yii на Ubuntu проста, як ви дізнаєтеся

Використання Screen в Ubuntu 14.04

Використання Screen в Ubuntu 14.04

Screen — це програма, яка дозволяє багаторазово використовувати термінальні сеанси в одному вікні. Це дозволяє моделювати декілька вікон терміналу, де це ma

Використання Logrotate для керування файлами журналу

Використання Logrotate для керування файлами журналу

Вступ Logrotate — це утиліта для Linux, яка спрощує адміністрування файлів журналів. Зазвичай він запускається раз на день через завдання cron і керує базою журналів

Як встановити 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 — це безкоштовна програма з відкритим вихідним кодом для управління проектами, яка призначена для полегшення та візуалізації

Як встановити Gitea на Ubuntu 18.04

Як встановити Gitea на Ubuntu 18.04

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

Встановлення Docker CE на Ubuntu 16.04

Встановлення Docker CE на Ubuntu 16.04

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

Виправлення експлойту Dirty Cow на CentOS

Виправлення експлойту Dirty Cow на CentOS

Що таке Dirty Cow (CVE-2016-5195)? Уразливість Dirty Cow використовується через те, як Linux обробляє код. Це дозволяє непривілейованому користувачеві використовувати gai

Налаштуйте користувача без права root за допомогою Sudo Access в Ubuntu

Налаштуйте користувача без права root за допомогою Sudo Access в Ubuntu

Наявність лише одного користувача, який є root, може бути небезпечним. Тож давайте це виправимо. Vultr надає нам свободу робити з нашими користувачами та нашими серверами, що нам заманеться

Встановіть Adminer на Debian/Ubuntu

Встановіть Adminer на Debian/Ubuntu

Adminer — це легка альтернатива phpMyAdmin. Для порівняння, його загальний розмір пакета становить 400 КБ проти 4,2 МБ phpMyAdmin. На відміну від phpMyAdmin, який

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

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

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

Як встановити Nextcloud на Ubuntu 17.04

Як встановити Nextcloud на Ubuntu 17.04

У цьому посібнику ви навчитеся інсталювати програмне забезпечення NextCloud. Ми будемо використовувати Caddy для потреб нашого веб-сервера, оскільки це спрощує налаштування

Як встановити GoAccess на Ubuntu 16.04

Як встановити GoAccess на Ubuntu 16.04

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

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

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

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

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