Как да инсталирате Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS
Използване на различна система? Tiny Tiny RSS Reader е безплатен четец и агрегатор с отворен код, самостоятелно хостван уеб базиран новинарски канал (RSS/Atom), предназначен да
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.
Ще започнем с добавяне на нов 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
Преди да инсталираме пакети на сървъра на FreeBSD, първо ще актуализираме системата.
Уверете се, че сте влезли в сървъра, като използвате sudo потребител без root права и изпълнете следните команди:
sudo freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade
Инсталирайте уеб сървъра 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
We now need to edit the Directory
Apache directive in the same configuration file so that mod_rewrite
will work correctly with Selfoss RSS Reader.
Find the section of the configuration file that starts with <Directory "/usr/local/www/apache24/data">
and change AllowOverride none
to AllowOverride All
. The end result (with all comments removed) will look something like this:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Now save and exit the Apache configuration file.
We will restart Apache at the end of this tutorial, but restarting Apache regularly during installation and configuration is certainly a good habit, so let's do it now:
sudo service apache24 restart
We can now install PHP 7.1 along with all of the necessary PHP modules required by 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
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.
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.
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
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
Когато компилацията приключи, променете в директорията webroot:
cd /usr/local/www/apache24/data
Стартирайте composer с помощта на www
потребителя:
sudo -u www composer install
Ще видите някои предупредителни съобщения от това, composer
че не можете да пишете в кеша, но не се тревожете твърде много за това, тъй като всичко ще се инсталира добре.
Вече сме готови да преминем към последната стъпка.
Първо трябва да актуализираме конфигурационния файл на Selfoss RSS Reader config.ini
с правилните настройки на базата данни, така че се уверете, че все още сте в директорията webroot и копирайте defaults.ini
в config.ini
:
sudo cp -iv defaults.ini config.ini
След това отворете config.ini
конфигурационния файл и добавете следните стойности на базата данни:
[globals]
db_type=mysql
db_host=localhost
db_database=selfoss_db
db_username=selfoss_user
db_password=UltraSecurePassword
db_port=3306
Сега трябва да добавим хеш на паролата към config.ini
, но първо трябва да го генерираме, така че посетете следния URL в браузъра си:
http://YOUR_VULTR_IP_ADDRESS/password
След това въведете желаната парола в Password
полето и щракнете върху Generate
.
Просто копирайте получената хеш стойност към опцията за парола във config.ini
файла, така че секцията за парола сега изглежда така:
username=admin
password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
salt=<long string of random chracters>
Забележка: Хешът на вашата парола очевидно ще бъде различен от хеша, показан по-горе и вие сте свободни да изберете различно потребителско име.
Премахнете всички други нередактирани опции от 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
опциите, можете просто да ги добавите към списъка с опции по-горе.
Когато приключите с редактирането на конфигурационния файл, можете да запишете и да излезете от файла.
Вече можете да влезете в Selfoss RSS Reader, като посетите началната страница и въведете вашето потребителско име и парола:
http://YOUR_VULTR_IP_ADDRESS/
Ако искате читателят автоматично да актуализира вашите емисии (и почти сигурно го правите), ще трябва да редактирате своя crontab:
sudo crontab -e
Добавете следния ред, за да опреснявате емисиите си всеки час:
0 * * * * www cd /usr/local/www/apache24/data && php cliupdate.php
Ако все още не сте конфигурирали настройките на Vultr DNS, можете да го направите с помощта на контролния панел на Vultr DNS.
Също така е препоръчително да конфигурирате сайта си да използва SSL, тъй като повечето съвременни браузъри ще предупреждават, когато сайтовете нямат активиран SSL и SSL сертификатите вече са достъпни безплатно.
Във всеки случай вече сте свободни да започнете да добавяте своите емисии и допълнително да персонализирате своя четец, ако желаете.
Използване на различна система? Tiny Tiny RSS Reader е безплатен четец и агрегатор с отворен код, самостоятелно хостван уеб базиран новинарски канал (RSS/Atom), предназначен да
Използване на различна система? Wiki.js е безплатно и модерно уики приложение с отворен код, изградено на Node.js, MongoDB, Git и Markdown. Изходният код на Wiki.js е публичен
Използване на различна система? Pagekit 1.0 CMS е красива, модулна, разширяема и лека, безплатна система за управление на съдържанието (CMS) с отворен код с
Използване на различна система? MODX Revolution е бърза, гъвкава, мащабируема система за управление на съдържанието (CMS) от корпоративен клас, написана на PHP. То и
Тази статия ви превежда през настройката на OpenBSD 5.5 (64-битов) на KVM с Vultr VPS. Стъпка 1. Влезте в контролния панел на Vultr. Стъпка 2. Щракнете върху РАЗГРАЖДАНЕ
Използване на различна система? osTicket е система за билети за поддръжка на клиенти с отворен код. Изходният код на osTicket се хоства публично на Github. В този урок
Използване на различна система? Flarum е безплатен софтуер за форуми от следващо поколение с отворен код, който прави онлайн дискусията забавна. Изходният код на Flarum се хоства o
Използване на различна система? TLS 1.3 е версия на протокола за сигурност на транспортния слой (TLS), който беше публикуван през 2018 г. като предложен стандарт в RFC 8446
Въведение WordPress е доминиращата система за управление на съдържанието в интернет. Той захранва всичко от блогове до сложни уебсайтове с динамично съдържание
Използване на различна система? Subrion 4.1 CMS е мощна и гъвкава система за управление на съдържанието (CMS) с отворен код, която носи интуитивно и ясно съдържание
Този урок ще ви покаже как да конфигурирате DNS услуга, която е лесна за поддръжка, лесна за конфигуриране и която като цяло е по-сигурна от класическия BIN
FEMP стек, който е сравним с LEMP стек в Linux, е колекция от софтуер с отворен код, който обикновено се инсталира заедно, за да даде възможност на FreeBS
MongoDB е NoSQL база данни от световна класа, която често се използва в по-новите уеб приложения. Той осигурява заявки с висока производителност, разделяне и репликация
Използване на различна система? Monica е система за управление на лични взаимоотношения с отворен код. Мислете за него като за CRM (популярен инструмент, използван от търговските екипи в th
Въведение Този урок демонстрира OpenBSD като решение за електронна търговия, използващо PrestaShop и Apache. Apache е необходим, тъй като PrestaShop има сложен UR
Използване на различна система? Fork е CMS с отворен код, написан на PHP. Изходният код на Forks се хоства на GitHub. Това ръководство ще ви покаже как да инсталирате Fork CM
Използване на различна система? Directus 6.4 CMS е мощна и гъвкава, безплатна и с отворен код Headless Content Management System (CMS), която предоставя на разработчиците
VPS сървърите често са насочени от натрапници. Често срещан тип атака се появява в системните регистрационни файлове като стотици неоторизирани опити за влизане в ssh. Настройвам
Въведение OpenBSD 5.6 въведе нов демон, наречен httpd, който поддържа CGI (чрез FastCGI) и TLS. Не е необходима допълнителна работа за инсталиране на новия http
Този урок ще ви покаже как да инсталирате груповия софтуер iRedMail на нова инсталация на FreeBSD 10. Трябва да използвате сървър с поне един гигабайт o
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече