Requisits previs
Pas 1: afegiu un usuari de Sudo
Pas 2: actualitzeu el sistema FreeBSD 11
Pas 3: instal·leu el servidor web Apache
Pas 4: instal·leu PHP 7.1
Pas 5: instal·leu el servidor MariaDB (MySQL).
Pas 6: creeu una base de dades per a Selfoss RSS Reader
Pas 7: instal·leu els fitxers Selfoss RSS Reader
Pas 8: instal·leu i executeu Composer
Pas 9: completeu la instal·lació del lector RSS de Selfoss
Selfoss RSS Reader és un lector de notícies (RSS/Atom) i un agregador universal, gratuït i de codi obert, basat en la web, multipropòsit, transmissió en directe, mashup. Selfoss RSS Reader inclou la importació OPML, una API JSON tranquil·la i el seu sistema de connectors oberts us permet ampliar fàcilment la funcionalitat predeterminada escrivint els vostres propis connectors de dades personalitzats. Podeu utilitzar Selfoss per reproduir en directe i recopilar totes les vostres publicacions, tuits, podcasts i fonts en un lloc central al qual podeu accedir fàcilment des de qualsevol escriptori o dispositiu mòbil.
En aquest tutorial, instal·larem Selfoss RSS Reader 2.17 en un VPS FreeBSD 11 FAMP mitjançant el servidor web Apache, PHP 7.1 i una base de dades MariaDB.
Requisits previs
- Una instància neta del servidor Vultr FreeBSD 11 amb accés SSH
Pas 1: afegiu un usuari de Sudo
Començarem afegint un nou sudousuari.
Primer, inicieu sessió al vostre servidor com a root:
ssh root@YOUR_VULTR_IP_ADDRESS
L' sudoordre no s'instal·la per defecte a la instància del servidor Vultr FreeBSD 11, de manera que primer instal·larem sudo:
pkg install sudo
Ara afegiu un usuari nou anomenat user1(o el vostre nom d'usuari preferit):
adduser user1
L' adduserordre us demanarà molts detalls per al compte d'usuari, així que simplement seleccioneu els valors predeterminats per a la majoria d'ells quan tingui sentit fer-ho. Quan se us demani si voleu Invite user1 into any other groups?, heu d'entrar wheelper afegir user1-lo al wheelgrup.
Ara comproveu el /etc/sudoersfitxer per assegurar-vos que el sudoersgrup estigui habilitat:
visudo
Busca una secció com aquesta:
# %wheel ALL=(ALL) ALL
Aquesta línia ens indica que els usuaris que són membres del wheelgrup poden utilitzar l' sudoordre per obtenir rootprivilegis. Es comentarà de manera predeterminada, de manera que haureu de deixar-lo de comentar i després desar i sortir del fitxer.
Podem verificar la user1pertinença al grup amb l' groupsordre:
groups user1
Si user1no wheelsou membre del grup, podeu utilitzar aquesta ordre per actualitzar la user1pertinença al grup:
pw group mod wheel -m user1
Ara utilitzeu l' suordre per canviar al nou user1compte d' usuari sudo :
su - user1
L'indicador d'ordres s'actualitzarà per indicar que ara heu iniciat sessió al user1compte. Podeu comprovar-ho amb l' whoamiordre:
whoami
Ara reinicieu el sshdservei perquè pugueu iniciar sessió sshamb el nou compte d'usuari sudo no root que acabeu de crear:
sudo /etc/rc.d/sshd restart
Sortiu del user1compte:
exit
Sortiu del rootcompte (que desconnectarà la vostra sshsessió):
exit
Ara podeu accedir ssha la instància del servidor des del vostre amfitrió local mitjançant el nou user1compte d' usuari sudo no root :
ssh user1@YOUR_VULTR_IP_ADDRESS
Si voleu executar sudo sense haver d'escriure una contrasenya cada cop, torneu a obrir el /etc/sudoersfitxer amb visudo:
sudo visudo
Editeu la secció del wheelgrup perquè quedi així:
%wheel ALL=(ALL) NOPASSWD: ALL
Tingueu en compte: desactivar el requisit de contrasenya per a l'usuari sudo no és una pràctica recomanada, però s'inclou aquí, ja que pot fer que la configuració del servidor sigui molt més còmoda i menys frustrant, especialment durant sessions d'administració de sistemes més llargues. Si us preocupen les implicacions de seguretat, sempre podeu revertir el canvi de configuració a l'original després d'haver acabat les tasques d'administració.
Sempre que vulgueu iniciar sessió al rootcompte d'usuari des del sudocompte d'usuari, podeu utilitzar una de les ordres següents:
sudo -i
sudo su -
Podeu sortir del rootcompte i tornar al vostre sudocompte d'usuari en qualsevol moment:
exit
Pas 2: actualitzeu el sistema FreeBSD 11
Abans d'instal·lar qualsevol paquet a la instància del servidor FreeBSD, primer actualitzarem el sistema.
Assegureu-vos que heu iniciat sessió al servidor amb un usuari sudo que no sigui root i executeu les ordres següents:
sudo freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade
Pas 3: instal·leu el servidor web Apache
Instal·leu el servidor web Apache:
sudo pkg install apache24
Introduïu yquan se us demani.
Ara feu servir l' sysrcordre per permetre que el servei Apache s'executi automàticament en el moment de l'arrencada:
sudo sysrc apache24_enable=yes
L' sysrcordre actualitza el /etc/rc.conffitxer de configuració, de manera que si voleu verificar l'actualització de configuració manualment, simplement podeu obrir el /etc/rc.conffitxer amb el vostre editor de terminal preferit:
vi /etc/rc.conf
Ara inicieu el servei Apache:
sudo service apache24 start
Podeu comprovar ràpidament que Apache s'està executant visitant l'adreça IP o el domini de la instància del servidor al vostre navegador:
http://YOUR_VULTR_IP_ADDRESS/
Veureu la pàgina predeterminada de FreeBSD Apache que mostra el text:
It works!
Comproveu el vostre fitxer de configuració predeterminat d'Apache per assegurar-vos que la DocumentRootdirectiva apunta al directori correcte:
sudo vi /usr/local/etc/apache24/httpd.conf
L' DocumentRootopció de configuració serà així:
DocumentRoot "/usr/local/www/apache24/data"
Ara hem d'habilitar el mod_rewritemòdul Apache. Podem fer-ho cercant al fitxer de configuració d'Apache per defecte el terme mod_rewrite.
De manera predeterminada, el mod_rewritemòdul Apache es comentarà (el que significa que està desactivat). La línia de configuració d'una instància neta de Vultr FreeBSD 11 tindrà aquest aspecte:
#LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Simplement traieu el símbol hash per eliminar el comentari de la línia i carregar el mòdul. Això, per descomptat, també s'aplica a qualsevol altre mòdul d'Apache necessari:
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
També hem d'habilitar els mòduls mod_authz_codei mod_headers, així que assegureu-vos que tots dos també estiguin sense comentaris:
LoadModule authz_core_module libexec/apache24/mod_authz_core.so
LoadModule headers_module libexec/apache24/mod_headers.so
Ara hem d'editar la Directorydirectiva Apache al mateix fitxer de configuració perquè mod_rewritefuncioni correctament amb Selfoss RSS Reader.
Cerqueu la secció del fitxer de configuració que comença amb <Directory "/usr/local/www/apache24/data">i canvieu-la AllowOverride nonea AllowOverride All. El resultat final (amb tots els comentaris eliminats) semblarà a això:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Ara deseu i sortiu del fitxer de configuració d'Apache.
Reiniciarem Apache al final d'aquest tutorial, però reiniciar Apache regularment durant la instal·lació i la configuració és sens dubte un bon hàbit, així que fem-ho ara:
sudo service apache24 restart
Pas 4: instal·leu PHP 7.1
Ara podem instal·lar PHP 7.1 juntament amb tots els mòduls PHP necessaris que requereix 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
Ara descomprimiu l'arxiu zip:
sudo unzip selfoss-2.17.zip
Mou tots els fitxers d'instal·lació al directori arrel web:
sudo mv -v selfoss-2.17/* selfoss-2.17/.* /usr/local/www/apache24/data 2>/dev/null
Canvieu la propietat dels fitxers web per evitar problemes de permisos:
sudo chown -R www:www * ./
Reinicieu Apache de nou:
sudo service apache24 restart
Pas 8: instal·leu i executeu Composer
Selfoss RSS Reader requereix que l'utilitzem composerper descarregar alguns connectors, així que instal·lem composer. Malauradament, la versió de la versió binària preconstruïda de compositor als repositoris de paquets FreeBSD no és compatible amb PHP 7.1. Per tant, en comptes d'instal·lar composeramb l' pkgordre, el compilarem des de la font.
Primer, configurem el sistema FreeBSD 11 per compilar programari PHP utilitzant la versió 7.1 de PHP en comptes de la 5.6 per defecte.
Creeu un fitxer nou al /etc/directori anomenat make.conf:
sudo vi /etc/make.conf
Introduïu el text següent al fitxer:
DEFAULT_VERSIONS+= php=7.1
Ara deseu i tanqueu el fitxer.
A continuació, hem de descarregar la col·lecció de ports de FreeBSD mitjançant l' portsnapordre:
sudo portsnap fetch extract update
Un cop portsnapcompletada l' ordre, canvieu al php-composerdirectori del codi font:
cd /usr/ports/devel/php-composer/
Ara inicieu la php-composercompilació i la instal·lació amb l' makeordre:
sudo make install clean BATCH=yes
Quan s'hagi completat la compilació, canvieu al directori arrel web:
cd /usr/local/www/apache24/data
Executeu el compositor amb l' wwwusuari:
sudo -u www composer install
Veureu alguns missatges d'advertència de composerno poder escriure a la memòria cau, però no us preocupeu massa perquè tot s'instal·larà bé.
Ara estem preparats per passar al pas final.
Primer hem d'actualitzar el fitxer de configuració del Selfoss RSS Reader config.iniamb la configuració correcta de la base de dades, així que assegureu-vos que encara esteu al directori webroot i copieu-lo defaults.inia config.ini:
sudo cp -iv defaults.ini config.ini
A continuació, obriu el config.inifitxer de configuració i afegiu els valors de la base de dades següents:
[globals]
db_type=mysql
db_host=localhost
db_database=selfoss_db
db_username=selfoss_user
db_password=UltraSecurePassword
db_port=3306
Ara hem d'afegir un hash de contrasenya a config.ini, però primer hem de generar-lo, així que visiteu l'URL següent al vostre navegador:
http://YOUR_VULTR_IP_ADDRESS/password
A continuació, introduïu la contrasenya desitjada al Passwordcamp i feu clic a Generate.
Simplement copieu el valor hash resultant a l'opció de contrasenya del config.inifitxer de manera que la secció de contrasenya sembli ara com això:
username=admin
password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
salt=<long string of random chracters>
Nota: òbviament, el vostre hash de contrasenya serà diferent del hash que es mostra a dalt i podeu triar un nom d'usuari diferent.
Elimineu totes les altres opcions no editades del config.inifitxer perquè el vostre fitxer de configuració complet sembli semblant a això:
[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>
Nota: si voleu canviar alguna de les defaults.iniopcions, simplement podeu afegir-les a la llista d'opcions anterior.
Quan hàgiu acabat d'editar el fitxer de configuració, podeu desar-lo i sortir del fitxer.
Ara podeu iniciar sessió a Selfoss RSS Reader visitant la pàgina d'inici i introduint el vostre nom d'usuari i contrasenya:
http://YOUR_VULTR_IP_ADDRESS/
Si voleu que el lector actualitzi automàticament els vostres feeds (i gairebé segur que ho feu), haureu d'editar el vostre crontab:
sudo crontab -e
Afegiu la línia següent per actualitzar els vostres feeds cada hora:
0 * * * * www cd /usr/local/www/apache24/data && php cliupdate.php
Si encara no heu configurat la vostra configuració de Vultr DNS, podeu fer-ho mitjançant el tauler de control de Vultr DNS.
També és recomanable configurar el vostre lloc per utilitzar SSL, ja que la majoria dels navegadors moderns donaran avisos quan els llocs no tinguin SSL activat i els certificats SSL ara estiguin disponibles de forma gratuïta.
En qualsevol cas, ara podeu començar a afegir els vostres canals i personalitzar encara més el vostre lector, si ho voleu.