Εισαγωγή
Μια στοίβα FAMP, η οποία είναι συγκρίσιμη με μια στοίβα LAMP στο Linux, είναι μια συλλογή λογισμικού ανοιχτού κώδικα που συνήθως εγκαθίσταται μαζί για να επιτρέπει σε έναν διακομιστή FreeBSD να φιλοξενεί δυναμικούς ιστότοπους και εφαρμογές Ιστού. Το FAMP είναι ένα ακρωνύμιο που σημαίνει F reeBSD (λειτουργικό σύστημα), A pache (διακομιστής HTTP), M ySQL (διακομιστής βάσης δεδομένων) και P HP (γλώσσα προγραμματισμού για την επεξεργασία δυναμικού περιεχομένου PHP).
Σε αυτόν τον οδηγό, θα αναπτύξουμε στοιχεία μιας στοίβας FAMP σε μια παρουσία του FreeBSD 12.0 Vultr χρησιμοποιώντας pkg
τον διαχειριστή πακέτων του FreeBSD.
Απαιτήσεις
Πριν ξεκινήσετε αυτόν τον οδηγό, θα χρειαστείτε τα εξής:
- Ένα FreeBSD 12.0 VPS.
- Ένας χρήστης με δικαιώματα root ή
sudo
χρήστης για να κάνει αλλαγές στις ρυθμίσεις παραμέτρων.
- Συνιστάται η βασική εξοικείωση με το σύστημα FreeBSD και τη διεπαφή γραμμής εντολών.
Πριν ξεκινήσεις
Ελέγξτε την έκδοση του FreeBSD.
uname -ro # FreeBSD 12.0-RELEASE-p6
Βεβαιωθείτε ότι το σύστημά σας FreeBSD είναι ενημερωμένο.
freebsd-update fetch install pkg update && pkg upgrade -y
Εγκαταστήστε τα απαραίτητα πακέτα.
pkg install -y sudo vim bash curl
Δημιουργήστε έναν νέο λογαριασμό χρήστη με το όνομα χρήστη που προτιμάτε. χρησιμοποιούμε johndoe
.
adduser # Username: johndoe # Full name: John Doe # Uid (Leave empty for default): <Enter> # Login group [johndoe]: <Enter> # Login group is johndoe. Invite johndoe into other groups? []: wheel # Login class [default]: <Enter> # Shell (sh csh tcsh nologin) [sh]: bash # Home directory [/home/johndoe]: <Enter> # Home directory permissions (Leave empty for default): <Enter> # Use password-based authentication? [yes]: <Enter> # Use an empty password? (yes/no) [no]: <Enter> # Use a random password? (yes/no) [no]: <Enter> # Enter password: your_secure_password # Enter password again: your_secure_password # Lock out the account after creation? [no]: <Enter> # OK? (yes/no): yes # Add another user? (yes/no): no # Goodbye!
Εκτελέστε την visudo
εντολή και αποσχολιάστε τη %wheel ALL=(ALL) ALL
γραμμή, για να επιτρέψετε στα μέλη της wheel
ομάδας να εκτελέσουν οποιαδήποτε εντολή.
visudo # Uncomment by removing hash (#) sign # %wheel ALL=(ALL) ALL
Τώρα, μεταβείτε στον νέο χρήστη που δημιουργήσατε με su
:
su - johndoe
ΣΗΜΕΙΩΣΗ: Αντικαταστήστε το johndoe
με το όνομα χρήστη σας.
Ρυθμίστε τη ζώνη ώρας:
sudo tzsetup
Βήμα 1 — Εγκατάσταση του Apache
Ο διακομιστής ιστού Apache είναι σήμερα ένας από τους πιο δημοφιλείς διακομιστές ιστού στον κόσμο. Είναι μια εξαιρετική επιλογή για τη φιλοξενία μιας ιστοσελίδας.
Μπορείτε να εγκαταστήσετε το Apache χρησιμοποιώντας τον διαχειριστή πακέτων του FreeBSD, pkg
. Ένας διαχειριστής πακέτων σάς επιτρέπει να εγκαταστήσετε το μεγαλύτερο μέρος του λογισμικού χωρίς κόπο από ένα αποθετήριο που διατηρεί το FreeBSD. Μπορείτε να μάθετε περισσότερα σχετικά με τον τρόπο χρήσης pkg
εδώ .
Για να εγκαταστήσετε το Apache, εκτελέστε την ακόλουθη εντολή:
sudo pkg install -y apache24
Ελέγξτε την έκδοση:
httpd -v # Server version: Apache/2.4.39 (FreeBSD)
Τώρα, ενεργοποιήστε και ξεκινήστε το Apache:
sudo sysrc apache24_enable=yes sudo service apache24 start
Για να ελέγξετε ότι ο Apache έχει ξεκινήσει, μπορείτε να εκτελέσετε την ακόλουθη εντολή:
sudo service apache24 status
Ως αποτέλεσμα, θα δείτε κάτι παρόμοιο με:
# Output apache24 is running as pid 17772.
Μπορείτε να επαληθεύσετε ότι το Apache ήταν εγκατεστημένο και λειτουργούσε χωρίς σφάλματα μεταβαίνοντας στη δημόσια διεύθυνση IP του διακομιστή σας στο πρόγραμμα περιήγησής σας. Πλοηγηθείτε στο http://your_server_IP
. Θα δείτε την προεπιλεγμένη σελίδα " Λειτουργεί! " Apache.
Βήμα 2 — Εγκατάσταση MySQL 8.0
Τώρα που έχετε τον web server σας σε λειτουργία, ήρθε η ώρα να εγκαταστήσετε το MySQL, το σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων. Ο διακομιστής MySQL θα οργανώσει και θα παρέχει πρόσβαση σε βάσεις δεδομένων όπου ο διακομιστής σας μπορεί να αποθηκεύσει πληροφορίες.
Και πάλι, μπορείτε να το χρησιμοποιήσετε pkg
για να αποκτήσετε και να εγκαταστήσετε το λογισμικό σας.
Για να εγκαταστήσετε τη MySQL 8.0
χρησιμοποιώντας pkg
, χρησιμοποιήστε αυτήν την εντολή:
sudo pkg install -y mysql80-client mysql80-server
Αυτή η εντολή θα εγκαταστήσει την πιο πρόσφατη έκδοση του προγράμματος-πελάτη και διακομιστή MySQL, η οποία αυτή τη στιγμή είναι 8.x.x
.
Ελέγξτε την έκδοση:
mysql --version # mysql Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)
Τώρα, ενεργοποιήστε και ξεκινήστε τη MySQL:
sudo sysrc mysql_enable=yes sudo service mysql-server start
Για να ελέγξετε ότι η MySQL έχει ξεκινήσει, μπορείτε να εκτελέσετε την ακόλουθη εντολή:
sudo service mysql-server status
Θα δείτε κάτι παρόμοιο με το παρακάτω:
# Output mysql is running as pid 19171.
Ως καλή πρακτική, μπορείτε να εκτελέσετε το mysql_secure_installation
σενάριο ασφαλείας που θα καταργήσει ορισμένες μη ασφαλείς προεπιλογές και θα περιορίσει ελαφρώς την πρόσβαση στο σύστημα βάσης δεδομένων σας.
sudo mysql_secure_installation
Θα σας ζητηθεί να ορίσετε έναν κωδικό πρόσβασης, ακολουθούμενο από κάποιες άλλες ερωτήσεις. Εισαγάγετε έναν ισχυρό κωδικό πρόσβασης και, στη συνέχεια, για τις υπόλοιπες ερωτήσεις πατήστε ENTERγια να επιλέξετε τις προεπιλογές.
Βήμα 3 — Εγκατάσταση της PHP 7.3
Η PHP είναι μια γλώσσα προγραμματισμού από την πλευρά του διακομιστή που έχει σχεδιαστεί για ανάπτυξη ιστού. Η PHP είναι ένα απαραίτητο συστατικό της στοίβας FAMP. Επίσης, Python ή Perl χρησιμοποιούνται συνήθως αντί για PHP. Ωστόσο, η PHP ως η πιο δημοφιλής επιλογή χρησιμοποιείται συχνότερα. Μαζί με τη βάση δεδομένων, θα δώσει στους ιστότοπους ή τις εφαρμογές σας δυναμική συμπεριφορά.
Για άλλη μια φορά αξιοποιήστε το pkg
σύστημα για να εγκαταστήσετε στοιχεία PHP.
Για να εγκαταστήσετε την PHP 7.3 με pkg
, εκτελέστε αυτήν την εντολή:
sudo pkg install -y php73 php73-mysqli mod_php73
Αυτό εγκαθιστά τα php73
, mod_php73
και php73-mysqli
τα πακέτα.
Ελέγξτε την έκδοση.
php --version # PHP 7.3.7 (cli) (built: Jul 25 2019 01:28:53) ( NTS ) # Copyright (c) 1997-2018 The PHP Group # Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
Αντιγράψτε το δείγμα αρχείου διαμόρφωσης PHP στη θέση του με αυτήν την εντολή:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Τώρα, ενεργοποιήστε και ξεκινήστε το PHP-FPM:
sudo sysrc php_fpm_enable=yes sudo service php-fpm start
Για να ελέγξετε ότι το PHP-FPM έχει ξεκινήσει, μπορείτε να εκτελέσετε την ακόλουθη εντολή:
sudo service php-fpm status
Ως αποτέλεσμα, θα δείτε κάτι παρόμοιο με:
# Output php_fpm is running as pid 23005.
Εγκατάσταση μονάδων PHP (προαιρετικό)
Για να βελτιώσετε τη λειτουργικότητα της PHP, μπορείτε προαιρετικά να εγκαταστήσετε ορισμένες πρόσθετες μονάδες.
Για να δείτε τις τρέχουσες μεταγλωττισμένες μονάδες PHP, μπορείτε να εκτελέσετε αυτό:
php -m # [PHP Modules] # Core # date # libxml # mysqlnd # pcre # Reflection # SPL # standard # [Zend Modules]
Για να αναζητήσετε διαθέσιμες μονάδες PHP, μπορείτε να χρησιμοποιήσετε αυτήν την εντολή:
pkg search ^php73-*
Τα αποτελέσματα θα είναι κυρίως ενότητες PHP 7.3 που μπορείτε να εγκαταστήσετε:
# Output # php73-7.3.7 PHP Scripting Language # php73-Ice37-3.7.2 Modern alternative to object middleware such as CORBA/COM/DCOM/COM+ # php73-aphpbreakdown-2.2.2 Code-Analyzer for PHP for Compatibility Check-UP # php73-aphpunit-1.8 Testing framework for unit tests # php73-bcmath-7.3.7 The bcmath shared extension for php # php73-brotli-0.7.0 Brotli extension for PHP # php73-bsdconv-11.5.0 PHP wrapper for bsdconv # php73-bz2-7.3.7 The bz2 shared extension for php # php73-calendar-7.3.7 The calendar shared extension for php # php73-composer-1.8.6 Dependency Manager for PHP # php73-ctype-7.3.7 The ctype shared extension for php # php73-curl-7.3.7 The curl shared extension for php # . . .
Εάν, μετά από έρευνα, αποφασίσετε ότι πρέπει να εγκαταστήσετε ένα πακέτο, μπορείτε να το κάνετε χρησιμοποιώντας την pkg install
εντολή. Οι περισσότερες εφαρμογές ιστού PHP θα απαιτούν πρόσθετες ενότητες, επομένως είναι καλό να γνωρίζετε πώς να τις αναζητάτε.
Βήμα 4 — Διαμόρφωση του Apache για χρήση της μονάδας PHP
Πριν χρησιμοποιήσετε την PHP, πρέπει να τη ρυθμίσετε ώστε να λειτουργεί με τον Apache.
Εκτελέστε sudo vi /usr/local/etc/apache24/modules.d/001_mod-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>
Αποθηκεύστε το αρχείο και βγείτε με :+ W+Q
Ελέγξτε τη διαμόρφωση του Apache.
sudo apachectl configtest
Επειδή έχετε κάνει αλλαγές διαμόρφωσης στο Apache, πρέπει να φορτώσετε ξανά την υπηρεσία για να εφαρμοστούν. Διαφορετικά, το Apache θα εξακολουθεί να λειτουργεί με την προηγούμενη διαμόρφωση.
sudo apachectl restart
Βήμα 5 — Δοκιμή επεξεργασίας PHP
Για να ελέγξετε ότι το σύστημά σας έχει ρυθμιστεί σωστά για PHP, μπορείτε να δημιουργήσετε ένα πολύ βασικό σενάριο PHP. Θα καλέσετε αυτό το σενάριο info.php
. Από προεπιλογή, το DocumentRoot
έχει οριστεί σε /usr/local/www/apache24/data
. Μπορείτε να δημιουργήσετε το info.php
αρχείο κάτω από αυτήν τη θέση πληκτρολογώντας:
sudo vim /usr/local/www/apache24/data/info.php
Προσθέστε αυτόν τον κώδικα σε αυτό το αρχείο:
<?php phpinfo(); ?>
Μεταβείτε http://your_server_IP/info.php
και θα δείτε την παρακάτω σελίδα:
Μετά την εγκατάσταση και τη ρύθμιση της στοίβας FAMP, θα πρέπει να αφαιρέσετε το info.php
αρχείο για να αποφύγετε την αποκάλυψη των πληροφοριών σχετικά με τον διακομιστή στο κοινό.
sudo rm /usr/local/www/apache24/data/info.php
συμπέρασμα
Συγχαρητήρια, εγκαταστήσατε με επιτυχία μια στοίβα FAMP στο FreeBSD 12.0 VPS σας. Τώρα έχετε πολλές επιλογές για το τι να κάνετε στη συνέχεια. Έχετε εγκαταστήσει μια πλατφόρμα που θα σας επιτρέπει να εγκαταστήσετε τα περισσότερα είδη ιστότοπων και λογισμικού ιστού πάνω από αυτήν.