Передумови
											
										
																			
											
												Крок 1: Додайте користувача Sudo
											
										
																			
											
												Крок 2: Оновіть систему FreeBSD 11
											
										
																			
											
												Крок 3: Встановіть веб-сервер Apache
											
										
																			
											
												Крок 4: Встановіть PHP 7.1
											
										
																			
											
												Крок 5: Встановіть сервер MariaDB (MySQL).
											
										
																			
											
												Крок 6: Створіть базу даних для Reader Self
											
										
																			
											
												Крок 7. Установіть файли Reader Self Files
											
										
																			
											
												Крок 8. Завершіть самостійну інсталяцію Reader
											
										
																	
												
						
												
Reader Self 3.5 — це простий і гнучкий, безкоштовний і відкритий код для читання RSS з власним розміщенням і альтернатива Google Reader. Reader Self підтримує основні комбінації клавіш із Google Reader, імпорт OPML, вбудовану аутентифікацію, проксі-сервер зображень HTTPS (для завантаження зображень HTTP), синхронізацію елементів із зірочкою з Pinboard, можливість ділитися між основними соціальними мережами, інтеграцію Elastic Search, і це чудово адаптивний для настільних комп’ютерів, планшетів і мобільних пристроїв.
У цьому підручнику ми збираємося встановити Reader Self 3.5 на 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
Тепер нам потрібно відредагувати Directoryдирективу Apache в тому самому файлі конфігурації, щоб mod_rewriteвона коректно працювала з Reader Self.
Знайдіть розділ конфігураційного файлу, який починається з <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, які потрібні Reader Self:
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 дає нам можливість використовувати розробку php.iniабо виробництво php.ini. Оскільки ми збираємося встановити Reader Self на загальнодоступний веб-сервер, ми будемо використовувати робочу версію. Спочатку створіть резервну копію php.ini-production:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.backup
Потім програмне посилання php.ini-productionна 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
Коли буде запропоновано створити користувача MariaDB/MySQL root, виберіть «Y» (так), а потім введіть безпечний rootпароль. Просто дайте відповідь «Y» на всі інші запитання так/ні, оскільки пропозиції за замовчуванням є найбезпечнішими варіантами.
Крок 6: Створіть базу даних для Reader Self
Увійдіть в оболонку MariaDB як користувач MariaDB, rootвиконавши таку команду:
sudo mysql -u root -p
Щоб отримати доступ до командного рядка MariaDB, просто введіть rootпароль MariaDB, коли буде запропоновано.
Виконайте такі запити, щоб створити базу даних MariaDB і користувача бази даних для Reader Self:
CREATE DATABASE self_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'self_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON self_db.* TO 'self_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Ви можете замінити ім’я бази даних self_dbта ім’я користувача self_userна щось більше на свій смак, якщо хочете. Також переконайтеся, що ви замінили "UltraSecurePassword" на фактично безпечний пароль.
Крок 7. Установіть файли Reader Self Files
Змініть поточний робочий каталог на веб-каталог за замовчуванням:
cd /usr/local/www/apache24/data
Ваш поточний робочий каталог тепер буде:   /usr/local/www/apache24/data. Ви можете перевірити це за допомогою команди pwd(друк робочого каталогу):
pwd
Тепер використовуйте wgetдля завантаження пакета самостійної інсталяції Reader:
sudo wget --content-disposition https://github.com/readerself/readerself/archive/3.5.6.zip
Зверніть увагу:  вам обов’язково слід перевірити наявність останньої версії, відвідавши сторінку самостійного завантаження Reader .
Укажіть поточний каталог, щоб перевірити, чи ви успішно завантажили файл:
ls -la
Видалити index.html:
sudo rm index.html
Тепер розпакуйте zip-архів:
sudo unzip readerself-3.5.6.zip
Перемістіть усі інсталяційні файли до кореневого веб-каталогу:
sudo mv -v readerself-3.5.6/* readerself-3.5.6/.* /usr/local/www/apache24/data 2>/dev/null
Змініть власника веб-файлів, щоб уникнути проблем із дозволами:
sudo chown -R www:www * ./
Перезапустіть Apache знову:
sudo service apache24 restart
Тепер ми готові перейти до останнього кроку. 
Крок 8. Завершіть самостійну інсталяцію Reader
Тепер настав час відвідати IP-адресу вашого екземпляра сервера у вашому браузері, або якщо ви вже налаштували параметри DNS Vultr (і надали йому достатньо часу для поширення), ви можете просто відвідати свій домен.
Щоб отримати доступ до сторінки самостійного встановлення Reader, введіть IP-адресу екземпляра Vultr в адресний рядок браузера, а потім /setup/:
http://YOUR_VULTR_IP_ADDRESS/setup/
- Ви побачите - Pre-Installation Checkзначок у верхній частині сторінки, тому переконайтеся, що все виглядає добре, і перейдіть до наступного кроку.
 
- Введіть такі значення бази даних у - Databaseрозділі сторінки встановлення:
 - Database Type:              MySQL (improved version)
Hostname:                   localhost
Username:                   self_user
Password:                   UltraSecurePassword
Database Name:              self_db
 
- Введіть такі - Userдані:
 - Email:                  <your email address>
Password:               <a secure password>
 
- Після того, як ви переконаєтеся, що всі наведені вище деталі в порядку, просто натисніть на піктограму галочки в нижньому лівому куті сторінки, щоб завершити встановлення. 
Ви будете перенаправлені на підтвердження з написом Installation successful.
Щоб додатково налаштувати Reader Self, клацніть меню у верхньому правому куті та виберіть settings.
Якщо ви хочете, щоб читач автоматично оновлював ваші канали (а ви майже напевно це робите), вам потрібно буде відредагувати свою crontab:
sudo crontab -e
Додайте наступний рядок, щоб оновлювати свої канали щогодини:
0 * * * * www cd /usr/local/www/apache24/data && php index.php refresh items
Якщо ви ще не налаштували свої параметри DNS Vultr, ви можете зробити це за допомогою панелі керування Vultr DNS.
Також доцільно налаштувати свій сайт на використання SSL, оскільки більшість сучасних браузерів видаватиме попередження, коли на сайтах не ввімкнено SSL, а сертифікати SSL тепер доступні безкоштовно.
У будь-якому випадку, тепер ви готові почати додавати свої канали та додатково налаштовувати зовнішній вигляд і функціональність вашого читача.