Предпоставки
											
										
																			
											
												Стъпка 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новия не-root потребителски акаунт на sudo, който току-що създадохте:
sudo /etc/rc.d/sshd restart
Излезте от user1акаунта:
exit
Излезте от rootакаунта (което ще прекъсне връзката на вашата sshсесия):
exit
Вече можете да sshвлезете в сървърния екземпляр от вашия локален хост, като използвате новия не-root потребителски user1акаунт sudo :
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 като rootпотребител на MariaDB, като изпълните следната команда:
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 адреса на вашия сървърен екземпляр във вашия браузър или ако вече сте конфигурирали настройките на Vultr DNS (и сте му дали достатъчно време за разпространение), можете просто да посетите вашия домейн вместо това.
За достъп до страницата за самостоятелно инсталиране на 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
Ако все още не сте конфигурирали настройките на Vultr DNS, можете да го направите с помощта на контролния панел на Vultr DNS.
Също така е препоръчително да конфигурирате сайта си да използва SSL, тъй като повечето съвременни браузъри ще предупреждават, когато сайтовете нямат активиран SSL и SSL сертификатите вече са достъпни безплатно.
Във всеки случай вече сте готови да започнете да добавяте своите емисии и допълнително да персонализирате външния вид и функционалността на вашия четец.