Preduvjeti
Korak 1: Dodajte Sudo korisnika
Korak 2: Ažurirajte FreeBSD 11 sustav
Korak 3: Instalirajte Apache web poslužitelj
Korak 4: Instalirajte PHP 7.1
Korak 5: Instalirajte MariaDB (MySQL) poslužitelj
Korak 6: Napravite bazu podataka za Selfoss RSS Reader
Korak 7: Instalirajte Selfoss RSS Reader datoteke
Korak 8: Instalirajte i pokrenite Composer
Korak 9: Dovršite instalaciju Selfoss RSS čitača
Selfoss RSS Reader je besplatan i open source višenamjenski web-based web-based reader, live stream, mashup, news feed (RSS/Atom) čitač i univerzalni agregator. Selfoss RSS Reader ima OPML uvoz, mirni JSON API, a njegov otvoreni sustav dodataka omogućuje vam jednostavno proširenje zadane funkcionalnosti pisanjem vlastitih prilagođenih podatkovnih konektora. Selfoss možete koristiti za prijenos uživo i prikupljanje svih svojih postova, tweetova, podcastova i feedova na jednom središnjem mjestu kojem možete lako pristupiti s bilo kojeg stolnog ili mobilnog uređaja.
U ovom vodiču ćemo instalirati Selfoss RSS Reader 2.17 na FreeBSD 11 FAMP VPS koristeći Apache web poslužitelj, PHP 7.1 i MariaDB bazu podataka.
Preduvjeti
- Čista instanca poslužitelja Vultr FreeBSD 11 sa SSH pristupom
Korak 1: Dodajte Sudo korisnika
Započet ćemo dodavanjem novog sudokorisnika.
Prvo se prijavite na svoj poslužitelj kao root:
ssh root@YOUR_VULTR_IP_ADDRESS
sudoNaredba nije instaliran po defaultu u Vultr FreeBSD 11 instance poslužitelja, tako da će prvo instalirati sudo:
pkg install sudo
Sada dodajte novog korisnika pod nazivom user1(ili svoje željeno korisničko ime):
adduser user1
adduserNaredba će vas pitati za mnogo detalja za korisnički račun, tako da jednostavno odaberete zadane za većinu njih kad ima smisla za to. Kada budete upitani hoćete li Invite user1 into any other groups?, trebate unijeti wheelda biste dodali user1u wheelgrupu.
Sada provjerite /etc/sudoersdatoteku kako biste bili sigurni da je sudoersgrupa omogućena:
visudo
Potražite odjeljak poput ovoga:
# %wheel ALL=(ALL) ALL
Ovaj redak nam govori da korisnici koji su članovi wheelgrupe mogu koristiti sudonaredbu za stjecanje rootprivilegija. Zadano će biti komentirano tako da ćete ga morati ukloniti iz komentara, a zatim spremiti i izaći iz datoteke.
user1Članstvo u grupi možemo provjeriti groupsnaredbom:
groups user1
Ako user1nije član wheelgrupe, možete koristiti ovu naredbu za ažuriranje user1članstva u grupi:
pw group mod wheel -m user1
Sada koristite sunaredbu za prebacivanje na novi sudo korisnički user1račun:
su - user1
Naredbeni redak će se ažurirati kako bi naznačio da ste sada prijavljeni na user1račun. To možete provjeriti whoaminaredbom:
whoami
Sada ponovno pokrenite sshduslugu kako biste se mogli prijaviti putem sshnovog sudo korisničkog računa koji ste upravo kreirali:
sudo /etc/rc.d/sshd restart
Izađite iz user1računa:
exit
Izađite iz rootračuna (što će prekinuti vašu sshsesiju):
exit
Sada možete sshući u instancu poslužitelja sa svog lokalnog hosta koristeći novi nekorijenski sudo korisnički user1račun:
ssh user1@YOUR_VULTR_IP_ADDRESS
Ako želite izvršiti sudo bez potrebe za svakim upisivanjem lozinke, zatim ponovo otvorite /etc/sudoersdatoteku koristeći visudo:
sudo visudo
Uredite odjeljak za wheelgrupu tako da izgleda ovako:
%wheel ALL=(ALL) NOPASSWD: ALL
Napomena: Onemogućavanje zahtjeva za lozinkom za sudo korisnika nije preporučena praksa, ali je ovdje uključena jer može učiniti konfiguraciju poslužitelja mnogo praktičnijom i manje frustrirajućom, osobito tijekom dužih sesija administracije sustava. Ako ste zabrinuti zbog sigurnosnih implikacija, uvijek možete vratiti promjenu konfiguracije na izvornu nakon što završite svoje administrativne zadatke.
Kad god se želite prijaviti na rootkorisnički račun iz sudokorisničkog računa, možete koristiti jednu od sljedećih naredbi:
sudo -i
sudo su -
Možete izaći s rootračuna i vratiti se na svoj sudokorisnički račun u bilo kojem trenutku:
exit
Korak 2: Ažurirajte FreeBSD 11 sustav
Prije instaliranja bilo kojeg paketa na instancu poslužitelja FreeBSD, prvo ćemo ažurirati sustav.
Provjerite jeste li prijavljeni na poslužitelj koristeći sudo korisnika koji nije root i pokrenite sljedeće naredbe:
sudo freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade
Korak 3: Instalirajte Apache web poslužitelj
Instalirajte Apache web poslužitelj:
sudo pkg install apache24
Unesite ykada se to od vas zatraži.
Sada upotrijebite sysrcnaredbu da omogućite automatsko izvršavanje usluge Apache prilikom pokretanja:
sudo sysrc apache24_enable=yes
sysrcNaredba ažurira /etc/rc.confkonfiguracijsku datoteku, pa ako želite ručno provjeriti ažuriranja konfiguraciju možete jednostavno otvoriti /etc/rc.confdatoteku s omiljenom terminala urednika:
vi /etc/rc.conf
Sada pokrenite uslugu Apache:
sudo service apache24 start
Možete brzo provjeriti radi li se apache tako da posjetite IP adresu ili domenu instance poslužitelja u vašem pregledniku:
http://YOUR_VULTR_IP_ADDRESS/
Vidjet ćete zadanu stranicu FreeBSD Apache koja prikazuje tekst:
It works!
Provjerite svoju zadanu konfiguracijsku datoteku Apachea kako biste bili sigurni da DocumentRootdirektiva ukazuje na ispravan direktorij:
sudo vi /usr/local/etc/apache24/httpd.conf
Opcija DocumentRootkonfiguracije će izgledati ovako:
DocumentRoot "/usr/local/www/apache24/data"
Sada moramo omogućiti mod_rewriteApache modul. To možemo učiniti pretraživanjem zadane Apache konfiguracijske datoteke za pojam mod_rewrite.
Prema zadanim postavkama, mod_rewriteApache modul će biti komentiran (što znači da je onemogućen). Konfiguracijska linija na čistoj instanci Vultr FreeBSD 11 izgledat će ovako:
#LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Jednostavno uklonite hash simbol da dekomentirate redak i učitate modul. Ovo se, naravno, odnosi i na sve ostale potrebne Apache module:
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Također moramo omogućiti mod_authz_codei mod_headersmodule, pa provjerite jesu li oba bez komentara:
LoadModule authz_core_module libexec/apache24/mod_authz_core.so
LoadModule headers_module libexec/apache24/mod_headers.so
Sada moramo urediti DirectoryApache direktivu u istoj konfiguracijskoj datoteci tako da mod_rewriteće ispravno raditi sa Selfoss RSS Readerom.
Pronađite odjeljak konfiguracijske datoteke koji počinje s <Directory "/usr/local/www/apache24/data">i promijenite AllowOverride noneu AllowOverride All. Konačni rezultat (sa uklonjenim svim komentarima) izgledat će otprilike ovako:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Sada spremite i izađite iz Apache konfiguracijske datoteke.
Ponovo ćemo pokrenuti Apache na kraju ovog vodiča, ali redovito ponovno pokretanje Apachea tijekom instalacije i konfiguracije svakako je dobra navika, pa učinimo to sada:
sudo service apache24 restart
Korak 4: Instalirajte PHP 7.1
Sada možemo instalirati PHP 7.1 zajedno sa svim potrebnim PHP modulima koje zahtijeva 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.
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
Sada dekomprimirajte zip arhivu:
sudo unzip selfoss-2.17.zip
Premjestite sve instalacijske datoteke u web korijenski direktorij:
sudo mv -v selfoss-2.17/* selfoss-2.17/.* /usr/local/www/apache24/data 2>/dev/null
Promijenite vlasništvo nad web datotekama kako biste izbjegli probleme s dopuštenjima:
sudo chown -R www:www * ./
Ponovno pokrenite Apache:
sudo service apache24 restart
Korak 8: Instalirajte i pokrenite Composer
Selfoss RSS Reader od nas zahtijeva korištenje composerza preuzimanje nekih dodataka pa instalirajmo composer. Nažalost, verzija unaprijed izgrađene binarne verzije composer-a u repozitoriji paketa FreeBSD nije kompatibilna s PHP 7.1. Dakle, umjesto instalacije composers pkgnaredbom, mi ćemo je kompajlirati iz izvora.
Prvo, konfigurirajmo FreeBSD 11 sustav za kompajliranje PHP softvera koristeći PHP verziju 7.1 umjesto zadane 5.6.
Napravite novu datoteku u /etc/direktoriju pod nazivom make.conf:
sudo vi /etc/make.conf
Unesite sljedeći tekst u datoteku:
DEFAULT_VERSIONS+= php=7.1
Sada spremite i zatvorite datoteku.
Zatim moramo preuzeti kolekciju FreeBSD portova pomoću portsnapnaredbe:
sudo portsnap fetch extract update
Kada se portsnapnaredba dovrši, promijenite se u php-composerdirektorij izvornog koda:
cd /usr/ports/devel/php-composer/
Sada pokrenite php-composerkompilaciju i instalaciju pomoću makenaredbe:
sudo make install clean BATCH=yes
Kada je kompilacija završena, promijenite se u webroot direktorij:
cd /usr/local/www/apache24/data
Pokrenite composer pomoću wwwkorisnika:
sudo -u www composer install
Vidjet ćete neke poruke upozorenja composero tome da ne možete pisati u predmemoriju, ali nemojte se previše brinuti o tome jer će se sve i dalje dobro instalirati.
Sada smo spremni prijeći na posljednji korak.
Prvo moramo ažurirati konfiguracijsku datoteku Selfoss RSS Reader config.iniispravnim postavkama baze podataka pa provjerite jeste li još uvijek u webroot direktoriju i kopirajte defaults.inina config.ini:
sudo cp -iv defaults.ini config.ini
Zatim otvorite config.inikonfiguracijsku datoteku i dodajte sljedeće vrijednosti baze podataka:
[globals]
db_type=mysql
db_host=localhost
db_database=selfoss_db
db_username=selfoss_user
db_password=UltraSecurePassword
db_port=3306
Sada moramo dodati hash lozinke u config.ini, ali prvo ga moramo generirati, stoga posjetite sljedeći URL u svom pregledniku:
http://YOUR_VULTR_IP_ADDRESS/password
Zatim unesite željenu lozinku u Passwordpolje i kliknite na Generate.
Jednostavno kopirajte rezultirajuću hash vrijednost u opciju lozinke u config.inidatoteci tako da odjeljak lozinke sada izgleda otprilike ovako:
username=admin
password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
salt=<long string of random chracters>
Napomena: Hash vaše lozinke očito će se razlikovati od gore prikazanog i možete slobodno odabrati drugo korisničko ime.
Uklonite sve ostale neuređene opcije iz config.inidatoteke kako bi vaša kompletna konfiguracijska datoteka izgledala slično ovome:
[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>
Napomena: Ako želite promijeniti bilo koju od defaults.iniopcija, možete je jednostavno dodati na gornji popis opcija.
Kada završite s uređivanjem konfiguracijske datoteke, možete je spremiti i izaći iz nje.
Sada se možete prijaviti na Selfoss RSS Reader tako da posjetite početnu stranicu i unesete svoje korisničko ime i lozinku:
http://YOUR_VULTR_IP_ADDRESS/
Ako želite da čitatelj automatski ažurira vaše feedove (a vi to gotovo sigurno želite), morat ćete urediti svoj crontab:
sudo crontab -e
Dodajte sljedeći redak za osvježavanje feedova svaki sat:
0 * * * * www cd /usr/local/www/apache24/data && php cliupdate.php
Ako još niste konfigurirali svoje Vultr DNS postavke, to možete učiniti pomoću Vultr DNS upravljačke ploče.
Također je preporučljivo konfigurirati svoju web stranicu za korištenje SSL-a jer će većina modernih preglednika davati upozorenja kada web-mjesta nemaju omogućen SSL, a SSL certifikati su sada dostupni besplatno.
U svakom slučaju, sada možete početi dodavati svoje feedove i dodatno prilagođavati svoj čitač, ako želite.