Як встановити Selfoss RSS Reader на FreeBSD 11 FAMP VPS

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

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

Передумови

  • Чистий екземпляр сервера Vultr FreeBSD 11 з доступом по SSH

Крок 1: Додайте користувача Sudo

Ми почнемо з додавання нового sudoкористувача.

Спочатку увійдіть на свій сервер як root:

ssh root@YOUR_VULTR_IP_ADDRESS

sudoКоманда не встановлюється за умовчанням в екземплярі 11 сервера Vultr FreeBSD, так що ми спочатку встановити sudo:

pkg install sudo

Тепер додайте нового користувача user1(або бажане ім’я користувача):

adduser user1

adduserКоманда запропонує вам безліч деталей для облікового запису користувача, так просто вибрати за замовчуванням для більшості з них , коли це має сенс робити це. Коли вас запитають, чи потрібно Invite user1 into any other groups?, ви повинні ввести, wheelщоб додати user1до wheelгрупи.

Тепер перевірте /etc/sudoersфайл, щоб переконатися, що sudoersгрупа ввімкнена:

visudo

Шукайте такий розділ:

# %wheel        ALL=(ALL)       ALL

Цей рядок повідомляє нам, що користувачі, які є членами wheelгрупи, можуть використовувати sudoкоманду для отримання rootпривілеїв. Він буде прокоментований за замовчуванням, тому вам потрібно буде розкоментувати його, а потім зберегти та вийти з файлу.

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

groups user1

Якщо ви user1не є членом wheelгрупи, ви можете використовувати цю команду, щоб оновити user1членство в групі:

pw group mod wheel -m user1 

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

su - user1

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

whoami

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

sudo /etc/rc.d/sshd restart

Вийти з 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: Оновіть систему FreeBSD 11

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

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

sudo freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade

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

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

sudo pkg install apache24

Введіть, yколи буде запропоновано.

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

sudo sysrc apache24_enable=yes

sysrcКоманда оновлює /etc/rc.confфайл конфігурації, так що якщо ви хочете , щоб перевірити оновлення конфігурації вручну , ви можете просто відкрити /etc/rc.confфайл з вашим улюбленим редактором терміналу:

vi /etc/rc.conf

Тепер запустіть службу Apache:

sudo service apache24 start

Ви можете швидко перевірити, чи запущено apache, відвідавши IP-адресу або домен екземпляра сервера у своєму браузері:

http://YOUR_VULTR_IP_ADDRESS/

Ви побачите сторінку FreeBSD Apache за замовчуванням, яка відображає текст:

It works!

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

sudo vi /usr/local/etc/apache24/httpd.conf

Параметр DocumentRootконфігурації буде виглядати так:

DocumentRoot "/usr/local/www/apache24/data"

Тепер нам потрібно включити mod_rewriteмодуль Apache. Ми можемо зробити це, шукаючи термін у файлі конфігурації Apache за замовчуванням mod_rewrite.

За замовчуванням mod_rewriteмодуль Apache буде прокоментований (що означає, що він вимкнено). Рядок конфігурації на чистому екземплярі Vultr FreeBSD 11 виглядатиме так:

#LoadModule rewrite_module libexec/apache24/mod_rewrite.so

Просто видаліть хеш-символ, щоб розкоментувати рядок і завантажити модуль. Це, звичайно, стосується і будь-яких інших необхідних модулів Apache:

LoadModule rewrite_module libexec/apache24/mod_rewrite.so

Нам також потрібно ввімкнути модулі mod_authz_codeта mod_headers, тому переконайтеся, що вони обидва також не прокоментовані:

LoadModule authz_core_module libexec/apache24/mod_authz_core.so
LoadModule headers_module libexec/apache24/mod_headers.so

Тепер нам потрібно відредагувати Directoryдирективу Apache в тому ж файлі конфігурації, щоб mod_rewriteвона коректно працювала з Selfoss RSS Reader.

Знайдіть розділ конфігураційного файлу, який починається з <Directory "/usr/local/www/apache24/data">і змініть його AllowOverride noneна AllowOverride All. Кінцевий результат (з видаленими всіма коментарями) буде виглядати приблизно так:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Тепер збережіть і вийдіть з файлу конфігурації Apache.

Ми перезапустимо Apache в кінці цього підручника, але регулярне перезапуск Apache під час встановлення та налаштування, безумовно, є хорошою звичкою, тому давайте зробимо це зараз:

sudo service apache24 restart

Крок 4: Встановіть PHP 7.1

Тепер ми можемо інсталювати PHP 7.1 разом з усіма необхідними модулями PHP, необхідними для Selfoss RSS Reader:

sudo pkg install php71 mod_php71 php71-gd php71-mbstring php71-mysqli php71-xml php71-curl php71-ctype php71-tokenizer php71-simplexml php71-dom php71-session php71-iconv php71-hash php71-json php71-fileinfo php71-pdo php71-pdo_mysql php71-zlib php71-openssl php71-zip php71-phar

FreeBSD 11 gives us the option to use a development php.ini or a production php.ini. Since we are going to install Selfoss on a public web server, we'll use the production version. First, back up php.ini-production:

sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.backup

Then soft-link php.ini-production to php.ini:

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

We need to configure Apache to actually use PHP, so let's create a new file called php.conf in the Apache Includes directory:

sudo vi /usr/local/etc/apache24/Includes/php.conf

Enter the following text into the newly created file:

<IfModule dir_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

Save and exit the file.

Now let's restart Apache so that it can reload the configuration changes:

sudo service apache24 restart

Step 5: Install MariaDB (MySQL) Server

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

Install the latest version of MariaDB database server:

sudo pkg install mariadb102-server mariadb102-client

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

sudo sysrc mysql_enable="yes"
sudo service mysql-server start

Secure your MariaDB server installation:

sudo mysql_secure_installation

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 6: 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 7: Install Selfoss RSS Reader Files

Change your current working directory to the default web directory:

cd /usr/local/www/apache24/data

Your current working directory will now be: /usr/local/www/apache24/data. 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

Please note: You should definitely check for the most recent version by visiting the Selfoss RSS Reader download page.

List the current directory to check that you have successfully downloaded the file:

ls -la

Remove index.html:

sudo rm index.html

Тепер розпакуйте zip-архів:

sudo unzip selfoss-2.17.zip

Перемістіть усі інсталяційні файли до кореневого веб-каталогу:

sudo mv -v selfoss-2.17/* selfoss-2.17/.* /usr/local/www/apache24/data 2>/dev/null

Змініть власника веб-файлів, щоб уникнути проблем із дозволами:

sudo chown -R www:www * ./

Перезапустіть Apache знову:

sudo service apache24 restart

Крок 8: Встановіть і запустіть Composer

Selfoss RSS Reader вимагає від нас використання composerдля завантаження деяких плагінів, тому давайте встановимо composer. На жаль, версія попередньо вбудованої двійкової версії composer у сховищах пакунків FreeBSD не сумісна з PHP 7.1. Тому замість того, щоб встановлювати composerза допомогою pkgкоманди, ми натомість компілюємо її з джерела.

По-перше, давайте налаштуємо систему FreeBSD 11 для компіляції програмного забезпечення PHP з використанням PHP версії 7.1 замість стандартної 5.6.

Створіть новий файл у /etc/каталозі під назвою make.conf:

sudo vi /etc/make.conf

Введіть у файл наступний текст:

DEFAULT_VERSIONS+= php=7.1

Тепер збережіть і закрийте файл.

Далі нам потрібно завантажити колекцію портів FreeBSD за допомогою portsnapкоманди:

sudo portsnap fetch extract update

Після виконання portsnapкоманди перейдіть до php-composerкаталогу вихідного коду:

cd /usr/ports/devel/php-composer/

Тепер почніть php-composerкомпіляцію та встановлення за допомогою makeкоманди:

sudo make install clean BATCH=yes

Коли компіляція буде завершена, перейдіть до корневого каталогу:

cd /usr/local/www/apache24/data

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

sudo -u www 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 cd /usr/local/www/apache24/data && php cliupdate.php
    

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

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

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

Залишити коментар

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

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

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

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