Előfeltételek
											
										
																			
											
												1. lépés: Adjon hozzá egy Sudo-felhasználót
											
										
																			
											
												2. lépés: Frissítse a FreeBSD 11 rendszert
											
										
																			
											
												3. lépés: Telepítse az Apache webszervert
											
										
																			
											
												4. lépés: Telepítse a PHP 7.1-et
											
										
																			
											
												5. lépés: Telepítse a MariaDB (MySQL) szervert
											
										
																			
											
												6. lépés: Hozzon létre adatbázist a Selfoss RSS Reader számára
											
										
																			
											
												7. lépés: Telepítse a Selfoss RSS Reader Files fájlokat
											
										
																			
											
												8. lépés: Telepítse és futtassa a Composert
											
										
																			
											
												9. lépés: A Selfoss RSS Reader telepítésének befejezése
											
										
																	
												
						
												
A Selfoss RSS Reader egy ingyenes és nyílt forráskódú, saját üzemeltetésű webalapú többcélú, élő közvetítés, mashup, hírfolyam (RSS/Atom) olvasó és univerzális aggregátor. A Selfoss RSS Reader OPML importálást, nyugodt JSON API-t kínál, és nyílt beépülő rendszere lehetővé teszi az alapértelmezett funkciók egyszerű kiterjesztését saját egyéni adatcsatlakozók írásával. A Selfoss segítségével élő közvetítéseket végezhet, és egyetlen központi helyen gyűjtheti össze bejegyzéseit, tweetjeit, podcastjait és hírfolyamait, amelyet bármely asztali számítógépről vagy mobileszközről könnyedén elérhet.
Ebben az oktatóanyagban a Selfoss RSS Reader 2.17-et telepítjük FreeBSD 11 FAMP VPS-re Apache webszerver, PHP 7.1 és MariaDB adatbázis használatával.
Előfeltételek
- Tiszta Vultr FreeBSD 11 szerverpéldány SSH hozzáféréssel
1. lépés: Adjon hozzá egy Sudo-felhasználót
Kezdjük egy új sudofelhasználó hozzáadásával .
Először jelentkezzen be a szerverére a következőképpen root:
ssh root@YOUR_VULTR_IP_ADDRESS
A sudoparancs alapértelmezés szerint nincs telepítve a Vultr FreeBSD 11 kiszolgálópéldányában, ezért először telepítjük sudo:
pkg install sudo
Most adjon hozzá egy új felhasználót user1(vagy a kívánt felhasználónevet):
adduser user1
A adduserparancs sok részletet kér a felhasználói fiókkal kapcsolatban, ezért egyszerűen válassza ki a legtöbbjük alapértelmezett beállításait, amikor ésszerű megtenni. Amikor a rendszer megkérdezi, hogy engedélyezi-e a lehetőséget Invite user1 into any other groups?, lépjen be a csoportba wheelvaló felvételhez .user1wheel
Most ellenőrizze a /etc/sudoersfájlt, és győződjön meg arról, hogy a sudoerscsoport engedélyezve van:
visudo
Keress egy ilyen részt:
# %wheel        ALL=(ALL)       ALL
Ez a sor azt jelzi, hogy a wheelcsoport tagjai a sudoparancs segítségével rootjogosultságokat szerezhetnek . Alapértelmezés szerint a rendszer kommentálja, ezért törölnie kell a megjegyzést, majd mentenie kell, és ki kell lépnie a fájlból.
A user1csoporttagságot a következő groupsparanccsal ellenőrizhetjük :
groups user1
Ha user1nem tagja a wheelcsoportnak, ezzel a paranccsal frissítheti a user1csoporttagságot:
pw group mod wheel -m user1 
Most használja a suparancsot az új sudo felhasználói user1fiókra való váltáshoz :
su - user1
A parancssor frissül, jelezve, hogy be van jelentkezve a user1fiókba. Ezt a következő whoamiparanccsal ellenőrizheti :
whoami
Most indítsa újra a sshdszolgáltatást, hogy bejelentkezhessen az sshimént létrehozott új, nem root sudo felhasználói fiókkal:
sudo /etc/rc.d/sshd restart
Kilépés a user1fiókból:
exit
Lépjen ki a rootfiókból (ami leválasztja a sshmunkamenetet):
exit
Mostantól sshbeléphet a kiszolgálópéldányba a helyi gazdagépről az új, nem root sudo felhasználói user1fiók használatával :
ssh user1@YOUR_VULTR_IP_ADDRESS
Ha úgy szeretné futtatni a sudo-t, hogy nem kell minden alkalommal jelszót beírnia, nyissa meg /etc/sudoersújra a fájlt a következő használatával visudo:
sudo visudo
Szerkessze a wheelcsoport szakaszát úgy, hogy az így nézzen ki:
%wheel        ALL=(ALL)       NOPASSWD: ALL
Megjegyzés:  A jelszó-követelmény letiltása a sudo felhasználó számára nem ajánlott gyakorlat, de itt szerepel, mivel sokkal kényelmesebbé és kevésbé frusztrálóvá teheti a szerver konfigurációját, különösen a hosszabb rendszeradminisztrációs munkamenetek során. Ha aggódik a biztonsági következmények miatt, az adminisztrációs feladatok elvégzése után bármikor visszaállíthatja a konfiguráció módosítását az eredetire. 
Amikor a rootfelhasználói fiókból szeretne bejelentkezni a sudofelhasználói fiókba, használhatja a következő parancsok egyikét:
sudo -i
sudo su -
Bármikor kiléphet a rootfiókból, és visszatérhet sudofelhasználói fiókjába:
exit
2. lépés: Frissítse a FreeBSD 11 rendszert
Mielőtt bármilyen csomagot telepítenénk a FreeBSD szerverpéldányra, először frissítjük a rendszert. 
Győződjön meg arról, hogy nem root sudo felhasználóval jelentkezett be a kiszolgálóra, és futtassa a következő parancsokat:
sudo freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade
3. lépés: Telepítse az Apache webszervert
Telepítse az Apache webszervert:
sudo pkg install apache24
Írja be, yamikor a rendszer kéri.
Most használja a sysrcparancsot, hogy engedélyezze az Apache szolgáltatás automatikus végrehajtását rendszerindításkor:
sudo sysrc apache24_enable=yes
A sysrcparancs frissíti a /etc/rc.confkonfigurációs fájlt, így ha manuálisan szeretné ellenőrizni a konfigurációs frissítést, egyszerűen nyissa meg a /etc/rc.conffájlt kedvenc terminálszerkesztőjével:
vi /etc/rc.conf
Most indítsa el az Apache szolgáltatást:
sudo service apache24 start
Gyorsan ellenőrizheti, hogy az apache fut-e, ha meglátogatja a kiszolgálópéldány IP-címét vagy tartományát a böngészőben:
http://YOUR_VULTR_IP_ADDRESS/
Látni fogja az alapértelmezett FreeBSD Apache oldalt a következő szöveggel:
It works!
Ellenőrizze az Apache alapértelmezett konfigurációs fájlját, és győződjön meg arról, hogy a DocumentRootdirektíva a megfelelő könyvtárra mutat:
sudo vi /usr/local/etc/apache24/httpd.conf
A DocumentRootkonfigurációs lehetőség így fog kinézni:
DocumentRoot "/usr/local/www/apache24/data"
Most engedélyeznünk kell az mod_rewriteApache modult. Ezt úgy tehetjük meg, hogy az alapértelmezett Apache konfigurációs fájlban keressük a kifejezést mod_rewrite.
Alapértelmezés szerint az mod_rewriteApache modul megjegyzést kap (ami azt jelenti, hogy le van tiltva). A konfigurációs sor egy tiszta Vultr FreeBSD 11 példányon így fog kinézni:
#LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Egyszerűen távolítsa el a hash szimbólumot a sor megjegyzésének törléséhez és a modul betöltéséhez. Ez természetesen minden más szükséges Apache modulra is vonatkozik:
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Engedélyeznünk kell a mod_authz_codeés a mod_headersmodulokat is, ezért győződjön meg róla, hogy mindkettőhöz nincs megjegyzés:
LoadModule authz_core_module libexec/apache24/mod_authz_core.so
LoadModule headers_module libexec/apache24/mod_headers.so
Most Directoryugyanabban a konfigurációs fájlban kell szerkesztenünk az Apache direktívát, hogy mod_rewritemegfelelően működjön a Selfoss RSS Readerrel.
Keresse meg a konfigurációs fájlnak azt a részét, amely a következővel kezdődik, <Directory "/usr/local/www/apache24/data">és módosítsa AllowOverride nonea következőre AllowOverride All. A végeredmény (az összes megjegyzés eltávolításával) így fog kinézni:
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
Most mentse el, és lépjen ki az Apache konfigurációs fájlból.  
Az oktatóanyag végén újraindítjuk az Apache-t, de az Apache rendszeres újraindítása a telepítés és a konfiguráció során minden bizonnyal jó szokás, ezért tegyük meg most:
sudo service apache24 restart
4. lépés: Telepítse a PHP 7.1-et
Most már telepíthetjük a PHP 7.1-et a Selfoss RSS Reader által igényelt összes PHP modullal együtt:
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
Most csomagolja ki a zip-archívumot:
sudo unzip selfoss-2.17.zip
Helyezze át az összes telepítőfájlt a web gyökérkönyvtárába:
sudo mv -v selfoss-2.17/* selfoss-2.17/.* /usr/local/www/apache24/data 2>/dev/null
Az engedélyekkel kapcsolatos problémák elkerülése érdekében módosítsa a webfájlok tulajdonjogát:
sudo chown -R www:www * ./
Indítsa újra az Apache-ot:
sudo service apache24 restart
8. lépés: Telepítse és futtassa a Composert
A Selfoss RSS Reader megköveteli, hogy használjunk composernéhány bővítmény letöltéséhez, ezért telepítsük composer. Sajnos a composer előre beépített bináris verziójának verziója a FreeBSD csomagtárolókban nem kompatibilis a PHP 7.1-gyel. Tehát composera pkgparanccsal történő telepítés helyett a forrásból fordítjuk le.
Először is állítsuk be a FreeBSD 11 rendszert úgy, hogy az alapértelmezett 5.6 helyett a PHP 7.1-es verzióját használja.
Hozzon létre egy új fájlt a következő /etc/könyvtárban make.conf:
sudo vi /etc/make.conf
Írja be a következő szöveget a fájlba:
DEFAULT_VERSIONS+= php=7.1
Most mentse és zárja be a fájlt.
Ezután le kell töltenünk a FreeBSD portgyűjteményét a következő portsnapparanccsal:
sudo portsnap fetch extract update
A portsnapparancs befejezése után lépjen át a php-composerforráskód könyvtárba:
cd /usr/ports/devel/php-composer/
Most indítsa el a php-composerfordítást és a telepítést a következő makeparanccsal:
sudo make install clean BATCH=yes
Amikor a fordítás befejeződött, lépjen át a webroot könyvtárba:
cd /usr/local/www/apache24/data
Futtassa a zeneszerzőt a wwwfelhasználó segítségével:
sudo -u www composer install
Látni fog néhány figyelmeztető üzenetet composerarról, hogy nem tud írni a gyorsítótárba, de ne aggódjon emiatt, mivel továbbra is minden rendben lesz.
Most készen állunk, hogy továbblépjünk az utolsó lépésre. 
- Először frissítenünk kell a Selfoss RSS Reader konfigurációs fájlját - config.inia megfelelő adatbázis-beállításokkal, ezért győződjön meg arról, hogy továbbra is a webroot könyvtárban van, és másolja a következő- defaults.inihelyre- config.ini:
 - sudo cp -iv defaults.ini config.ini
 
- Ezután nyissa meg a - config.inikonfigurációs fájlt, és adja hozzá a következő adatbázisértékeket:
 - [globals]
db_type=mysql
db_host=localhost
db_database=selfoss_db
db_username=selfoss_user
db_password=UltraSecurePassword
db_port=3306
 
- Most hozzá kell adnunk egy jelszókivonatot a címhez - config.ini, de először létre kell hoznunk, ezért keresse fel a következő URL-t böngészőjében:
 - http://YOUR_VULTR_IP_ADDRESS/password
 - Ezután írja be a kívánt jelszót a - Passwordmezőbe, és kattintson a gombra- Generate.
 - Egyszerűen másolja a kapott hash értéket a - config.inifájl jelszóbeállításába, így a jelszó szakasz most így néz ki:
 - username=admin
password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
salt=<long string of random chracters>
 - Megjegyzés:  A jelszó-kivonat nyilvánvalóan eltér a fent látható hash-től, és szabadon választhat másik felhasználónevet. 
- Távolítsa el az összes többi nem szerkesztett beállítást a - config.inifájlból, hogy a teljes konfigurációs fájl a következőhöz hasonlítson:
 - [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>
 - Megjegyzés:  Ha módosítani szeretné valamelyik - defaults.iniopciót, egyszerűen hozzáadhatja a fenti opciók listájához.
 - Ha befejezte a konfigurációs fájl szerkesztését, mentheti a fájlt, és kiléphet belőle. 
- Mostantól bejelentkezhet a Selfoss RSS Readerbe, ha ellátogat a kezdőlapra, és megadja felhasználónevét és jelszavát: -  http://YOUR_VULTR_IP_ADDRESS/
 
- Ha azt szeretné, hogy az olvasó automatikusan frissítse a hírcsatornáit (és szinte biztosan megteszi), szerkesztenie kell a crontab-ot: - sudo crontab -e
 - Adja hozzá a következő sort a hírcsatornák óránkénti frissítéséhez: - 0 * * * * www cd /usr/local/www/apache24/data && php cliupdate.php
 
Ha még nem konfigurálta a Vultr DNS beállításait, megteheti a Vultr DNS vezérlőpult segítségével.
Javasoljuk, hogy webhelyét SSL használatára állítsa be, mivel a legtöbb modern böngésző figyelmeztetést ad, ha a webhelyeken nincs engedélyezve az SSL, és az SSL-tanúsítványok mostantól ingyenesen elérhetők.
Mindenesetre most már szabadon hozzáadhatja hírcsatornáit és tovább testreszabhatja olvasóját, ha kívánja.