Προαπαιτούμενα
Βήμα 1: Προσθήκη χρήστη Sudo
Βήμα 2: Ενημερώστε το σύστημα FreeBSD 11
Βήμα 3: Εγκαταστήστε τον διακομιστή Web Apache
Βήμα 4: Εγκαταστήστε την PHP 7.1
Βήμα 5: Εγκαταστήστε το διακομιστή MariaDB (MySQL).
Βήμα 6: Δημιουργία βάσης δεδομένων για Selfoss RSS Reader
Βήμα 7: Εγκαταστήστε τα αρχεία Selfoss RSS Reader
Βήμα 8: Εγκαταστήστε και εκτελέστε το Composer
Βήμα 9: Ολοκληρώστε την εγκατάσταση του Selfoss RSS Reader
Το Selfoss RSS Reader είναι ένας δωρεάν και ανοιχτός κώδικας που φιλοξενείται μόνος του στο διαδίκτυο πολλαπλών χρήσεων, ζωντανής ροής, mashup, τροφοδοσίας ειδήσεων (RSS/Atom) και καθολικός αθροιστής. Το Selfoss RSS Reader διαθέτει εισαγωγή OPML, ένα ξεκούραστο JSON API και το ανοιχτό σύστημα προσθήκης του σάς επιτρέπει να επεκτείνετε εύκολα την προεπιλεγμένη λειτουργία γράφοντας τις δικές σας προσαρμοσμένες συνδέσεις δεδομένων. Μπορείτε να χρησιμοποιήσετε το Selfoss για ζωντανή ροή και να συλλέξετε όλες τις αναρτήσεις, τα tweet, τα podcast και τις ροές δεδομένων σας σε ένα κεντρικό σημείο στο οποίο μπορείτε εύκολα να έχετε πρόσβαση από οποιαδήποτε επιτραπέζια ή φορητή συσκευή.
Σε αυτό το σεμινάριο, θα εγκαταστήσουμε το Selfoss RSS Reader 2.17 σε ένα FreeBSD 11 FAMP VPS χρησιμοποιώντας διακομιστή ιστού Apache, PHP 7.1 και μια βάση δεδομένων MariaDB.
Προαπαιτούμενα
- Μια καθαρή παρουσία διακομιστή Vultr FreeBSD 11 με πρόσβαση SSH
Βήμα 1: Προσθήκη χρήστη Sudo
Θα ξεκινήσουμε προσθέτοντας έναν νέο sudo
χρήστη.
Πρώτα, συνδεθείτε στον διακομιστή σας ως root
:
ssh root@YOUR_VULTR_IP_ADDRESS
Η sudo
εντολή δεν είναι εγκατεστημένη από προεπιλογή στην παρουσία διακομιστή Vultr FreeBSD 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
λογαριασμό χρήστη sudo :
su - user1
Η γραμμή εντολών θα ενημερωθεί για να υποδείξει ότι είστε πλέον συνδεδεμένοι στο user1
λογαριασμό. Μπορείτε να το επαληθεύσετε με την whoami
εντολή:
whoami
Τώρα επανεκκινήστε την sshd
υπηρεσία, ώστε να μπορείτε να συνδεθείτε μέσω ssh
του νέου λογαριασμού χρήστη sudo που δεν είναι root που μόλις δημιουργήσατε:
sudo /etc/rc.d/sshd restart
Έξοδος από τον user1
λογαριασμό:
exit
Έξοδος από τον root
λογαριασμό (που θα αποσυνδέσει τη ssh
συνεδρία σας ):
exit
Μπορείτε τώρα να εισέλθετε ssh
στην παρουσία διακομιστή από τον τοπικό σας κεντρικό υπολογιστή χρησιμοποιώντας τον νέο user1
λογαριασμό χρήστη sudo που δεν είναι root :
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
Βήμα 2: Ενημερώστε το σύστημα FreeBSD 11
Πριν εγκαταστήσουμε οποιοδήποτε πακέτο στην παρουσία του διακομιστή FreeBSD, θα ενημερώσουμε πρώτα το σύστημα.
Βεβαιωθείτε ότι έχετε συνδεθεί στον διακομιστή χρησιμοποιώντας έναν χρήστη sudo που δεν είναι root και εκτελέστε τις ακόλουθες εντολές:
sudo freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade
Βήμα 3: Εγκαταστήστε τον διακομιστή Web Apache
Εγκαταστήστε τον διακομιστή ιστού 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
Τώρα πρέπει να επεξεργαστούμε την Directory
οδηγία Apache στο ίδιο αρχείο ρυθμίσεων, ώστε mod_rewrite
να λειτουργεί σωστά με το Selfoss RSS Reader.
Βρείτε την ενότητα του αρχείου διαμόρφωσης που ξεκινά με <Directory "/usr/local/www/apache24/data">
και αλλάξτε AllowOverride none
σε AllowOverride All
. Το τελικό αποτέλεσμα (με όλα τα σχόλια αφαιρεμένα) θα μοιάζει κάπως έτσι:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Τώρα αποθηκεύστε και βγείτε από το αρχείο διαμόρφωσης Apache.
Θα κάνουμε επανεκκίνηση του Apache στο τέλος αυτού του σεμιναρίου, αλλά η τακτική επανεκκίνηση του Apache κατά την εγκατάσταση και τη ρύθμιση παραμέτρων είναι σίγουρα μια καλή συνήθεια, οπότε ας το κάνουμε τώρα:
sudo service apache24 restart
Βήμα 4: Εγκαταστήστε την PHP 7.1
Μπορούμε τώρα να εγκαταστήσουμε την PHP 7.1 μαζί με όλες τις απαραίτητες ενότητες PHP που απαιτούνται από το 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
Τώρα αποσυμπιέστε το αρχείο 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
Βήμα 8: Εγκαταστήστε και εκτελέστε το Composer
Το 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
Εκτελέστε το συνθέτη χρησιμοποιώντας τον 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/
Εάν θέλετε ο αναγνώστης να ενημερώνει αυτόματα τις ροές σας (και σχεδόν σίγουρα το κάνετε), θα χρειαστεί να επεξεργαστείτε την καρτέλα σας:
sudo crontab -e
Προσθέστε την ακόλουθη γραμμή για να ανανεώνετε τις ροές σας ανά ώρα:
0 * * * * www cd /usr/local/www/apache24/data && php cliupdate.php
Εάν δεν έχετε διαμορφώσει ακόμη τις ρυθμίσεις σας στο Vultr DNS, μπορείτε να το κάνετε χρησιμοποιώντας τον πίνακα ελέγχου του Vultr DNS.
Συνιστάται επίσης να διαμορφώσετε τον ιστότοπό σας ώστε να χρησιμοποιεί SSL, καθώς τα περισσότερα σύγχρονα προγράμματα περιήγησης θα δίνουν προειδοποιήσεις όταν οι ιστότοποι δεν έχουν ενεργοποιημένο το SSL και τα πιστοποιητικά SSL είναι πλέον διαθέσιμα δωρεάν.
Σε κάθε περίπτωση, μπορείτε πλέον να αρχίσετε να προσθέτετε τις ροές σας και να προσαρμόζετε περαιτέρω τον αναγνώστη σας, εάν το επιθυμείτε.