Предуслови
Корак 1: Додајте Судо корисника
Корак 2: Ажурирајте ФрееБСД 11 систем
Корак 3: Инсталирајте Апацхе веб сервер
Корак 4: Инсталирајте ПХП 7.1
Корак 5: Инсталирајте МариаДБ (МиСКЛ) сервер
Корак 6: Креирајте базу података за Селфосс РСС Реадер
Корак 7: Инсталирајте Селфосс РСС Реадер датотеке
Корак 8: Инсталирајте и покрените Цомпосер
Корак 9: Завршите инсталацију Селфосс РСС читача
Селфосс РСС Реадер је бесплатан и вишенаменски веб-базирани читач отвореног кода који се самостално хостује, стриминг уживо, мешап, читач вести (РСС/Атом) и универзални агрегатор. Селфосс РСС Реадер карактерише ОПМЛ увоз, ЈСОН АПИ за одмор, а његов отворени систем додатака омогућава вам да лако проширите подразумевану функционалност писањем сопствених прилагођених конектора података. Можете да користите Селфосс да стримујете уживо и прикупљате све своје постове, твитове, подкастове и фидове на једном централном месту коме можете лако да приступите са било ког десктопа или мобилног уређаја.
У овом водичу ћемо инсталирати Селфосс РСС Реадер 2.17 на ФрееБСД 11 ФАМП ВПС користећи Апацхе веб сервер, ПХП 7.1 и МариаДБ базу података.
Предуслови
- Чиста Вултр ФрееБСД 11 инстанца сервера са ССХ приступом
Корак 1: Додајте Судо корисника
Почећемо додавањем новог sudoкорисника.
Прво се пријавите на свој сервер као root:
ssh root@YOUR_VULTR_IP_ADDRESS
sudoКоманда није инсталиран подразумевано у Вултр ФрееБСД 11 сервера пример, тако да ће прво инсталирати 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налог:
su - user1
Командна линија ће се ажурирати како би означила да сте сада пријављени на user1налог. Ово можете да проверите whoamiкомандом:
whoami
Сада поново покрените sshdуслугу како бисте се могли пријавити sshса новим судо корисничким налогом који сте управо креирали:
sudo /etc/rc.d/sshd restart
Изађите са user1налога:
exit
Изађите са rootналога (што ће прекинути вашу sshсесију):
exit
Сада можете да sshприступите инстанци сервера са свог локалног хоста користећи нови судо кориснички user1налог који није роот :
ssh user1@YOUR_VULTR_IP_ADDRESS
Ако желите да извршите судо без потребе да сваки пут куцате лозинку, онда поново отворите /etc/sudoersдатотеку користећи visudo:
sudo visudo
Уредите одељак за wheelгрупу тако да изгледа овако:
%wheel ALL=(ALL) NOPASSWD: ALL
Имајте на уму: Онемогућавање захтева за лозинку за судо корисника није препоручена пракса, али је укључена овде јер може учинити конфигурацију сервера много погоднијом и мање фрустрирајућом, посебно током дужих сесија администрације система. Ако сте забринути због безбедносних импликација, увек можете да вратите промену конфигурације на оригинал након што завршите своје административне задатке.
Кад год желите да се пријавите на rootкориснички налог из sudoкорисничког налога, можете користити једну од следећих команди:
sudo -i
sudo su -
Можете напустити rootналог и вратити се на свој sudoкориснички налог у било ком тренутку:
exit
Корак 2: Ажурирајте ФрееБСД 11 систем
Пре инсталирања било ког пакета на инстанци ФрееБСД сервера, прво ћемо ажурирати систем.
Уверите се да сте пријављени на сервер користећи судо корисника који није роот и покрените следеће команде:
sudo freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade
Корак 3: Инсталирајте Апацхе веб сервер
Инсталирајте Апацхе веб сервер:
sudo pkg install apache24
Унесите yкада се то од вас затражи.
Сада користите sysrcнаредбу да омогућите Апацхе сервису да се аутоматски извршава у тренутку покретања:
sudo sysrc apache24_enable=yes
sysrcКоманда ажурира /etc/rc.confдатотеке са подешавањима, тако да ако желите да ручно проверите исправку конфигурацији можете једноставно да отворите /etc/rc.confфајл са вашим омиљеним терминал уредник:
vi /etc/rc.conf
Сада покрените Апацхе услугу:
sudo service apache24 start
Можете брзо да проверите да ли је Апацхе покренут тако што ћете посетити ИП адресу или домен инстанце сервера у вашем претраживачу:
http://YOUR_VULTR_IP_ADDRESS/
Видећете подразумевану ФрееБСД Апацхе страницу која приказује текст:
It works!
Проверите своју Апацхе подразумевану конфигурациону датотеку да бисте били сигурни да DocumentRootдиректива указује на тачан директоријум:
sudo vi /usr/local/etc/apache24/httpd.conf
Опција DocumentRootконфигурације ће изгледати овако:
DocumentRoot "/usr/local/www/apache24/data"
Сада морамо да омогућимо mod_rewriteАпацхе модул. То можемо да урадимо тако што ћемо претражити подразумевану Апацхе конфигурациону датотеку за термин mod_rewrite.
Подразумевано, mod_rewriteАпацхе модул ће бити коментарисан (што значи да је онемогућен). Конфигурациона линија на чистој Вултр ФрееБСД 11 инстанци ће изгледати овако:
#LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Једноставно уклоните хеш симбол да бисте декоментирали ред и учитали модул. Ово се, наравно, односи и на све друге потребне Апацхе модуле:
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Апацхе директиву у истој конфигурационој датотеци како би она mod_rewriteисправно функционисала са Селфосс РСС Реадер-ом.
Пронађите одељак конфигурационе датотеке који почиње са <Directory "/usr/local/www/apache24/data">и промените га AllowOverride noneу AllowOverride All. Крајњи резултат (са уклоњеним свим коментарима) ће изгледати отприлике овако:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Сада сачувајте и изађите из Апацхе конфигурационе датотеке.
Поново ћемо покренути Апацхе на крају овог упутства, али редовно поновно покретање Апацхе-а током инсталације и конфигурације је свакако добра навика, па хајде да то урадимо сада:
sudo service apache24 restart
Корак 4: Инсталирајте ПХП 7.1
Сада можемо да инсталирамо ПХП 7.1 заједно са свим потребним ПХП модулима које захтева Селфосс РСС Реадер:
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.
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
Сада декомпримујте зип архиву:
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 * ./
Поново покрените Апацхе:
sudo service apache24 restart
Корак 8: Инсталирајте и покрените Цомпосер
Селфосс РСС Реадер захтева да користимо composerза преузимање неких додатака, па хајде да инсталирамо composer. Нажалост, верзија унапред изграђене бинарне верзије цомпосер-а у репозиторијумима ФрееБСД пакета није компатибилна са ПХП 7.1. Дакле, уместо да инсталирамо composerса pkgкомандом, ми ћемо је компајлирати из извора.
Прво, хајде да конфигуришемо ФрееБСД 11 систем да компајлира ПХП софтвер користећи ПХП верзију 7.1 уместо подразумеване 5.6.
Креирајте нову датотеку у /etc/директоријуму под називом make.conf:
sudo vi /etc/make.conf
Унесите следећи текст у датотеку:
DEFAULT_VERSIONS+= php=7.1
Сада сачувајте и затворите датотеку.
Затим морамо да преузмемо колекцију ФрееБСД портова користећи 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
Покрените цомпосер користећи wwwкорисника:
sudo -u www composer install
Видећете неке поруке упозорења composerо томе да не можете да пишете у кеш, али не брините превише о томе јер ће се све и даље добро инсталирати.
Сада смо спремни да пређемо на последњи корак.
Прво морамо да ажурирамо конфигурациону датотеку Селфосс РСС Реадер config.iniисправним поставкама базе података, тако да се уверите да сте још увек у веброот директоријуму и копирајте 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, али прво морамо да га генеришемо, па посетите следећу УРЛ адресу у свом претраживачу:
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опција, можете их једноставно додати на листу опција изнад.
Када завршите са уређивањем конфигурационе датотеке, можете је сачувати и изаћи из ње.
Сада се можете пријавити на Селфосс РСС Реадер тако што ћете посетити почетну страницу и унети своје корисничко име и лозинку:
http://YOUR_VULTR_IP_ADDRESS/
Ако желите да читалац аутоматски ажурира ваше фидове (а ви то готово сигурно желите), мораћете да уредите свој цронтаб:
sudo crontab -e
Додајте следећи ред да освежавате своје фидове сваког сата:
0 * * * * www cd /usr/local/www/apache24/data && php cliupdate.php
Ако још нисте конфигурисали Вултр ДНС подешавања, то можете учинити помоћу Вултр ДНС контролне табле.
Такође је препоручљиво да конфигуришете своју веб локацију да користи ССЛ јер ће већина модерних претраживача давати упозорења када сајтови немају омогућен ССЛ, а ССЛ сертификати су сада доступни бесплатно.
У сваком случају, сада сте слободни да почнете да додајете своје фидове и даље прилагођавате свој читач, ако желите.