Προαπαιτούμενα
Βήμα 1: Προσθήκη χρήστη Sudo
Βήμα 2: Ενημερώστε το σύστημα FreeBSD 11
Βήμα 3: Εγκαταστήστε τον διακομιστή Web Apache
Βήμα 4: Εγκαταστήστε την PHP 7.1
Βήμα 5: Εγκαταστήστε το διακομιστή MariaDB (MySQL).
Βήμα 6: Δημιουργία βάσης δεδομένων για επικόλληση
Βήμα 7: Εγκατάσταση Επικόλλησης Αρχείων
Βήμα 8: Ολοκληρώστε την εγκατάσταση επικόλλησης
Το Paste 2.1 είναι μια απλή και ευέλικτη, δωρεάν και ανοιχτού κώδικα εφαρμογή pastebin για αποθήκευση κώδικα, κειμένου και άλλα. Αρχικά διαχωρίστηκε από τον δωρεάν διαθέσιμο αρχικό πηγαίο κώδικα που χρησιμοποιήθηκε από το pastebin.com πριν από την πώληση του τομέα το 2010. Από τότε, οι προγραμματιστές Επικόλλησης έχουν προσθέσει πολλές βελτιώσεις και δυνατότητες, όπως έναν χαρακτηριστικό πίνακα ελέγχου διαχειριστή με στατιστικά και ρυθμίσεις ιστότοπου, Απαγορεύσεις IP και χρηστών, δυνατότητα επιλεκτικής διαγραφής επικολλήσεων, λογαριασμών χρηστών με ενσωμάτωση κοινωνικής δικτύωσης, σελίδες προφίλ και όλα τα συνηθισμένα πρόσθετα, όπως επισήμανση σύνταξης για τις περισσότερες γλώσσες, διαμορφώσιμα όρια επικόλλησης και πολλά άλλα.
Σε αυτό το σεμινάριο θα εγκαταστήσουμε την Επικόλληση 2.1 σε ένα 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
Τώρα πρέπει να επεξεργαστούμε την Directoryοδηγία Apache στο ίδιο αρχείο ρυθμίσεων, έτσι ώστε mod_rewriteνα λειτουργεί σωστά με το Paste.
Βρείτε την ενότητα του αρχείου διαμόρφωσης που ξεκινά με <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 που απαιτούνται από την Επικόλληση:
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 μας δίνει την επιλογή να χρησιμοποιήσουμε μια ανάπτυξη php.iniή μια παραγωγή php.ini. Εφόσον πρόκειται να εγκαταστήσουμε την Επικόλληση σε έναν δημόσιο διακομιστή ιστού, θα χρησιμοποιήσουμε την έκδοση παραγωγής. Πρώτα, δημιουργήστε αντίγραφα ασφαλείας php.ini-production:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.backup
Στη συνέχεια, συνδέστε απαλά php.ini-productionμε php.ini:
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Πρέπει να ρυθμίσουμε τον Apache ώστε να χρησιμοποιεί πραγματικά την PHP, οπότε ας δημιουργήσουμε ένα νέο αρχείο που ονομάζεται php.confστον Includesκατάλογο Apache :
sudo vi /usr/local/etc/apache24/Includes/php.conf
Εισαγάγετε το ακόλουθο κείμενο στο νέο αρχείο:
<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>
Αποθηκεύστε και βγείτε από το αρχείο.
Τώρα ας κάνουμε επανεκκίνηση του Apache για να μπορέσει να φορτώσει ξανά τις αλλαγές διαμόρφωσης:
sudo service apache24 restart
Βήμα 5: Εγκαταστήστε το διακομιστή MariaDB (MySQL).
Το FreeBSD 11 χρησιμοποιεί ως προεπιλογή τον διακομιστή βάσης δεδομένων MariaDB, ο οποίος είναι ένας βελτιωμένος, πλήρως ανοιχτού κώδικα, αναπτυγμένος από την κοινότητα, drop-in αντικατάσταση του διακομιστή MySQL.
Εγκαταστήστε την πιο πρόσφατη έκδοση του διακομιστή βάσης δεδομένων MariaDB:
sudo pkg install mariadb102-server mariadb102-client
Ξεκινήστε και ενεργοποιήστε τον διακομιστή MariaDB να εκτελείται αυτόματα κατά την εκκίνηση:
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
Ασφαλίστε την εγκατάσταση του διακομιστή MariaDB:
sudo mysql_secure_installation
Όταν σας ζητηθεί να δημιουργήσετε έναν rootχρήστη MariaDB/MySQL , επιλέξτε "Y" (για ναι) και, στη συνέχεια, εισαγάγετε έναν ασφαλή rootκωδικό πρόσβασης. Απλώς απαντήστε "Y" σε όλες τις άλλες ερωτήσεις ναι/όχι καθώς οι προεπιλεγμένες προτάσεις είναι οι πιο ασφαλείς επιλογές.
Βήμα 6: Δημιουργία βάσης δεδομένων για επικόλληση
Συνδεθείτε στο κέλυφος MariaDB ως rootχρήστης MariaDB εκτελώντας την ακόλουθη εντολή:
sudo mysql -u root -p
Για πρόσβαση στη γραμμή εντολών MariaDB, απλώς εισαγάγετε τον rootκωδικό πρόσβασης MariaDB όταν σας ζητηθεί.
Εκτελέστε τα ακόλουθα ερωτήματα για να δημιουργήσετε μια βάση δεδομένων MariaDB και χρήστη βάσης δεδομένων για Επικόλληση:
CREATE DATABASE paste_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'paste_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON paste_db.* TO 'paste_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Μπορείτε να αντικαταστήσετε το όνομα της βάσης δεδομένων paste_dbκαι το όνομα χρήστη paste_userμε κάτι περισσότερο της αρεσκείας σας, αν προτιμάτε. Επίσης, βεβαιωθείτε ότι έχετε αντικαταστήσει τον "UltraSecurePassword" με έναν πραγματικά ασφαλή κωδικό πρόσβασης.
Βήμα 7: Εγκατάσταση Επικόλλησης Αρχείων
Αλλάξτε τον τρέχοντα κατάλογο εργασίας σας στον προεπιλεγμένο κατάλογο ιστού:
cd /usr/local/www/apache24/data
Ο τρέχων κατάλογος εργασίας σας θα είναι τώρα: /usr/local/www/apache24/data. Μπορείτε να το ελέγξετε με την pwdεντολή (print working directory):
pwd
Τώρα χρησιμοποιήστε το wgetγια λήψη του πακέτου εγκατάστασης Επικόλληση:
sudo wget --content-disposition https://sourceforge.net/projects/phpaste/files/latest/download?source=files
Σημείωση: Πρέπει οπωσδήποτε να ελέγξετε για την πιο πρόσφατη έκδοση μεταβαίνοντας στη σελίδα Επικόλληση λήψης .
Καταχωρίστε τον τρέχοντα κατάλογο για να ελέγξετε ότι κατεβάσατε με επιτυχία το αρχείο:
ls -la
Αφαίρεση index.html:
sudo rm index.html
Τώρα αποσυμπιέστε το αρχείο zip:
sudo unzip paste-2.1.zip
Μετακινήστε όλα τα αρχεία εγκατάστασης στον ριζικό κατάλογο ιστού:
sudo mv paste-2.1/* /usr/local/www/apache24/data
Αλλάξτε την ιδιοκτησία των αρχείων Ιστού για να αποφύγετε τυχόν προβλήματα αδειών:
sudo chown -R www:www * ./
Επανεκκινήστε ξανά τον Apache:
sudo service apache24 restart
Τώρα είμαστε έτοιμοι να προχωρήσουμε στο τελευταίο βήμα.
Βήμα 8: Ολοκληρώστε την εγκατάσταση επικόλλησης
Ήρθε η ώρα να επισκεφτείτε τη διεύθυνση IP της παρουσίας του διακομιστή σας στο πρόγραμμα περιήγησής σας ή εάν έχετε ήδη διαμορφώσει τις ρυθμίσεις του Vultr DNS (και του έχετε δώσει αρκετό χρόνο για να διαδοθεί), μπορείτε απλώς να επισκεφτείτε τον τομέα σας.
Για να αποκτήσετε πρόσβαση στη σελίδα εγκατάστασης Επικόλληση, εισαγάγετε τη διεύθυνση IP της παρουσίας Vultr στη γραμμή διευθύνσεων του προγράμματος περιήγησής σας, ακολουθούμενη από /install/:
http://YOUR_VULTR_IP_ADDRESS/install/
Οι περισσότερες από τις επιλογές εγκατάστασης είναι αυτονόητες, αλλά εδώ είναι μερικές υποδείξεις που θα σας βοηθήσουν:
Βεβαιωθείτε ότι Pre-installation checksείναι όλα πράσινα. Συγκεκριμένα, τα ακόλουθα 3 αρχεία πρέπει να είναι writable:
config.php
tmp/temp.tdata
sitemap.xml
Εισαγάγετε τα εξής DATABASE INFORMATION:
Hostname: localhost
Database Name: paste_db
Username: paste_user
Password: UltraSecurePassword
Σημειώστε την keyτιμή και αποθηκεύστε την σε ασφαλές μέρος και, στη συνέχεια, κάντε κλικ Installγια να συνεχίσετε.
Εισαγάγετε τα ακόλουθα στοιχεία διαχειριστή:
Username: admin
Password: <secure admin password>
Κάντε κλικ Submitγια να ολοκληρώσετε την εγκατάσταση.
Για πρόσβαση στην ενότητα διαχειριστή απλά κάντε κλικ στο dashboardκουμπί και πληκτρολογήστε το όνομα χρήστη και τον κωδικό πρόσβασής σας. Εάν δεν ανακατευθυνθείτε στη σελίδα σύνδεσης διαχειριστή, μπορείτε να εισαγάγετε τη διεύθυνση διαχειριστή με μη αυτόματο τρόπο:
http://YOUR_VULTR_IP_ADDRESS/admin/
Για λόγους ασφαλείας, βεβαιωθείτε ότι έχετε διαγράψει τον /install/κατάλογο από τον κατάλογο webroot:
sudo rm -rf ./install
Εάν λάβετε ένα μήνυμα σφάλματος όταν προσπαθείτε να διαγράψετε τον /install/κατάλογο, απλώς αλλάξτε τα δικαιώματα του webroot και δοκιμάστε ξανά:
sudo chmod 755 .
sudo rm -rf ./install
Είστε πλέον έτοιμοι να αρχίσετε να διαχειρίζεστε τον προσωπικό σας ιστότοπο pastebin.