Σε αυτό το άρθρο, θα σας δώσουμε βήμα προς βήμα οδηγίες για το πώς να διαμορφώσετε το περιβάλλον web σε έναν διακομιστή που εκτελεί Linux. Πρώτα πράγματα πρώτα, πρέπει να καταλάβετε ότι ένας τυπικός διακομιστής ιστού αποτελείται από μερικά αλληλεπιδρώντα στοιχεία:
- Διακομιστής HTTP
- διερμηνέας γλώσσας προγραμματισμού
- σύστημα διαχείρισης βάσεων δεδομένων (DBMS)
Για να διαχειριστείτε τον ιστότοπό σας θα χρειαστεί επίσης να ρυθμίσετε ένα σύστημα διαχείρισης περιεχομένου (CMS), μια διεπαφή ιστού για διαχείριση βάσεων δεδομένων και πρόσβαση FTP.
Ας εξετάσουμε το ενδεχόμενο να ρυθμίσουμε μια πολύ δημοφιλή διαμόρφωση Apache-PHP-MySQL(MariaDB) στο Linux. Θα εγκαταστήσουμε επίσης vsftpd ftp server, phpMyAdmin - μια διεπαφή ιστού για διαχείριση βάσεων δεδομένων και ένα σύστημα διαχείρισης περιεχομένου WordPress.
Για να ξεκινήσετε, παραγγείλτε έναν διακομιστή VPS ή έναν αποκλειστικό διακομιστή . Για παράδειγμα, χρησιμοποιήσαμε έναν εικονικό διακομιστή με στατική διεύθυνση IP που εκτελούσε τον Ubuntu Server 18.04. Όλες οι εντολές εκτελούνταν από τον χρήστη root.
Διαμόρφωση διακομιστή HTTP Apache
1. Εγκατάσταση
apt install apache2
Όταν ολοκληρωθεί η εγκατάσταση, ανοίξτε ένα πρόγραμμα περιήγησης και επιλέξτε το "http://[διεύθυνση_ip_διακομιστή]"
Αν δείτε μια σελίδα καλωσορίσματος όπως αυτή στο παραπάνω στιγμιότυπο οθόνης, αυτό σημαίνει ότι ο διακομιστής HTTP σας λειτουργεί.
2. Δημιουργήστε μια δοκιμαστική σελίδα
Ο προεπιλεγμένος ριζικός κατάλογος για τον ιστότοπο είναι "/var/www/html" . Εδώ μπορείτε να βρείτε τη σελίδα υποδοχής που μόλις είδατε. Ας δημιουργήσουμε έναν ξεχωριστό κατάλογο "/var/www/sites" για εικονικούς κεντρικούς υπολογιστές και έναν υποφάκελο "/var/www/sites/site1" με τη σελίδα ευρετηρίου του δοκιμαστικού σας ιστότοπου.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Στο αποτέλεσμα, το αρχείο "/var/www/sites/site1/index.html" θα πρέπει να περιέχει μόνο μία γραμμή κώδικα html:
<H1>Welcome</H1>
3. Διαμόρφωση διακομιστή Apache
Τα αρχεία διαμόρφωσης των ιστότοπων βρίσκονται στον κατάλογο "/etc/apache2/sites-available/" . Ας δημιουργήσουμε ένα αρχείο διαμόρφωσης για έναν νέο εικονικό κεντρικό υπολογιστή λαμβάνοντας ως βάση την προεπιλεγμένη διαμόρφωση από το αρχείο "000-default.conf" .
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Ανοίξτε το αρχείο "site1.conf" και αλλάξτε την ιδιότητα "DocumentRoot" . Ορίστε τη διαδρομή του ιστότοπού σας ως τιμή, έτσι στην περίπτωσή μας είναι "/var/www/sites/site1"
Σε αυτό το στάδιο δεν χρειάζεται να διαμορφώσουμε την ταυτόχρονη λειτουργία πολλών ιστοσελίδων, ώστε να απενεργοποιήσουμε τον προεπιλεγμένο ιστότοπο και να ενεργοποιήσουμε τον νέο ιστότοπο. Φορτώστε ξανά τη διαμόρφωση του διακομιστή για να εφαρμόσετε τις αλλαγές.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Ανοίξτε ξανά τον σύνδεσμο “http://[server's _ip_address]” και βεβαιωθείτε ότι αντί για την προεπιλεγμένη σελίδα υποδοχής έχουμε τη νέα μας σελίδα.
Ολοκληρώσαμε τη διαμόρφωση του διακομιστή HTTP μας και μπορούμε να προχωρήσουμε στο επόμενο βήμα.
Διαμόρφωση διακομιστή FTP
1. Εγκατάσταση
Ας εγκαταστήσουμε τον ftp server μας και ένα επιπλέον πακέτο "db-util" , το οποίο θα χρειαστούμε για να ρυθμίσουμε εικονικούς χρήστες.
apt install vsftpd db-util
2. Δημιουργήστε τοπικό λογαριασμό
Ο διακομιστής vsftpd μας επιτρέπει να διαμορφώνουμε τα δικαιώματα πρόσβασης με πολύ ευέλικτο τρόπο. Για τις εργασίες μας πρέπει να παρέχουμε στους χρήστες ftp τα εξής:
- πλήρη πρόσβαση στα περιεχόμενα του “/var/www/sites/”;
- απενεργοποιήστε όλα τα παραπάνω “/var/www/”;
- σύνδεση με εικονικό λογαριασμό.
Δημιουργήστε έναν τοπικό λογαριασμό "εικονικό" χωρίς άδεια σύνδεσης, αλλά με πρόσβαση στον αρχικό φάκελο "/var/www/" . Αυτός ο λογαριασμός θα χρησιμοποιηθεί από χρήστες ftp για σύνδεση στον διακομιστή.
useradd -d /var/www virtual
Ο φάκελος "Root" θα είναι ο κάτοχος του φακέλου "/var/www" από προεπιλογή. Για να επιτρέψετε στους χρήστες ftp να τροποποιούν το περιεχόμενο των ιστότοπων, ας αλλάξουμε τον κάτοχο του φακέλου "/var/www/sites/", συμπεριλαμβανομένων των υποφακέλων του φακέλου "virtual".
chown -R virtual:root /var/www/sites
Ως αποτέλεσμα, ο «εικονικός» χρήστης θα μπορεί να δει τα περιεχόμενα του «/var/www/» και να γράψει στον υποφάκελο «/var/www/sites/».
3. διαμόρφωση
Η κύρια διαμόρφωση βρίσκεται στο αρχείο "/etc/vsftpd.conf" , οπότε ας το ανοίξουμε και ας το επεξεργαστούμε ως εξής:
#enable virtual users
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
#configure permission
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=0022
chroot_local_user=YES
#launch settings
listen=YES
pasv_min_port=30000
pasv_max_port=30999
4. Δημιουργήστε τη βάση δεδομένων
Θα χρειαστείτε μια βάση δεδομένων για να αποθηκεύσετε δεδομένα εικονικών λογαριασμών.
Αρχικά, ας δημιουργήσουμε ένα απλό αρχείο κειμένου "users.txt" στον αρχικό φάκελο και ας αποθηκεύσουμε τα στοιχεία πρόσβασης (όνομα σύνδεσης και κωδικό πρόσβασης) των εικονικών χρηστών σε κάθε δεύτερη γραμμή. Για παράδειγμα, θα χρειαστούμε έναν εικονικό χρήστη με όνομα σύνδεσης "ftp" και κωδικό πρόσβασης "Qwe123" . Στη συνέχεια, το αρχείο θα μοιάζει με αυτό:
ftp
Qwe123
Ας δημιουργήσουμε τη βάση δεδομένων
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Ας τροποποιήσουμε το προεπιλεγμένο αρχείο PAM "/etc/pam.d/vsftp" ως εξής:
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
Λάβετε υπόψη ότι η διαδρομή της βιβλιοθήκης "pam_userdb.so" μπορεί να είναι διαφορετική, αλλά μπορείτε να την αλλάξετε εάν χρειάζεται.
Φορτώστε ξανά τον διακομιστή vsftpd για να εφαρμόσετε αλλαγές.
systemctl restart vsftpd
Ολοκληρώσαμε τη διαμόρφωση του διακομιστή FTP.
Λεπτομέρειες σύνδεσης:
- ftp://[διακομιστής_ip_address]
- είσοδος: ftp
- κωδικός πρόσβασης: Qwe123
Διαμόρφωση διακομιστή PHP
1. Εγκατάσταση PHP
Σήμερα η τελευταία σταθερή έκδοση της PHP είναι η php 7.4.5 η οποία δεν περιλαμβάνεται στα επίσημα αποθετήρια του Ubuntu. Ας συνδέσουμε ένα αποθετήριο τρίτου μέρους και ας εγκαταστήσουμε την πιο πρόσφατη έκδοση της PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Ελεγχος
Για να εκτελεστεί η PHP, το αρχείο ιστοσελίδας θα πρέπει να έχει επέκταση ".php" . Ας μετονομάσουμε τη δοκιμαστική μας σελίδα:
cd /var/www/sites/site1/
mv index.html index.php
Προσθέστε την ακόλουθη γραμμή php στο αρχείο "/var/www/sites/site1/index.php" , ώστε το αρχείο να έχει την εξής μορφή:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Αποθηκεύστε τις αλλαγές και ελέγξτε το αποτέλεσμα στο πρόγραμμα περιήγησης.
Αν δείτε το αποτέλεσμα της συνάρτησης “phpinfo()” , ο διερμηνέας PHP λειτουργεί σωστά. Ας προχωρήσουμε στο επόμενο βήμα.
Διαμόρφωση MySQL (MariaDB).
1. Εγκατάσταση
Ας εγκαταστήσουμε το MariaDB και μια ενότητα PHP για MySQL και, στη συνέχεια, ας φορτώσουμε ξανά τον Apache.
apt install mariadb-server php-mysql
systemctl restart apache2
Ανανεώστε τη σελίδα δοκιμής και μεταβείτε στην ενότητα PDO στον πίνακα ρυθμίσεων PHP. Εάν μπορείτε να βρείτε την ενότητα "PDO_mysql" , τότε σημαίνει ότι το πρόγραμμα οδήγησης για το Mysql έχει εγκατασταθεί σωστά.
Στη συνέχεια, θα χρειαστεί να κάνουμε την αρχική ρύθμιση ασφαλείας της MariaDB και να ορίσουμε τον κωδικό πρόσβασης για τον χρήστη "root" , να απενεργοποιήσουμε την απομακρυσμένη πρόσβαση και να διαγράψουμε όλους τους λογαριασμούς επισκεπτών.
mysql_secure_installation
Στο πρώτο βήμα, πρέπει να εισαγάγουμε τον κωδικό πρόσβασης του χρήστη "root" για να αποκτήσουμε πρόσβαση στο DBMS ή να πατήσουμε Enter εάν δεν υπάρχει κωδικός πρόσβασης. Δεδομένου ότι δεν έχει οριστεί κωδικός πρόσβασης για τον χρήστη "root" μετά την εγκατάσταση, απλώς πατήστε "Enter".
Λάβετε υπόψη ότι στη MariaDB υπάρχουν ήδη οι δικοί της λογαριασμοί που δεν έχουν καμία σχέση με τους λογαριασμούς του λειτουργικού συστήματος. Επομένως, ο μόνος χρήστης με τον οποίο ασχολούμαστε στη MariaDB είναι ο "root".
Στη συνέχεια, ο διαμορφωτής θα μας ζητήσει να ορίσουμε τον κωδικό πρόσβασης για τον χρήστη root. Πληκτρολογήστε "Y" για επιβεβαίωση και εισαγάγετε τον νέο κωδικό πρόσβασης. Στην περίπτωσή μας, είναι "Qwe123".
Απαντήστε «Ν» σε όλες τις υπόλοιπες ερωτήσεις μέχρι το τέλος.
Η διαμόρφωση έγινε!
Λεπτομέρειες πρόσβασης MariaDB:
- Είσοδος: root
- Κωδικός πρόσβασης: Qwe123
Ρύθμιση παραμέτρων phpMyAdmin
1. Εγκατάσταση
Ας εγκαταστήσουμε την απαραίτητη επέκταση για την PHP - mbstring.
apt install php-mbstring
Στο επίσημο αποθετήριο υπάρχει μόνο μια παλιά έκδοση του phpMyAdmin, οπότε ας εγκαταστήσουμε τη νέα χειροκίνητα.
Ανοίξτε την επίσημη ιστοσελίδα του έργου " https://www.phpmyadmin.net/ " και κατεβάστε το πιο πρόσφατο αρχείο.
Αντιγράψτε το αρχείο στον διακομιστή στον φάκελο "/var/www/sites/" χρησιμοποιώντας οποιοδήποτε ftp client.
Καταργήστε την αρχειοθέτηση του φακέλου και μετονομάστε τον σε "phpMyAdmin" . Μην ξεχάσετε να εγκαταστήσετε το βοηθητικό πρόγραμμα "unzip" . Μπορείτε να διαγράψετε το αρχείο αφού το καταργήσετε από την αρχειοθέτηση.
apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip
Δημιουργήστε τον ακόλουθο φάκελο "/var/www/sites/phpMyAdmin/tmp" για προσωρινά αρχεία και ενεργοποιήστε την πρόσβαση για όλους. Εάν δεν το κάνετε αυτό, το phpMyAdmin θα αναφέρει ότι η πρόσβαση στον προσωρινό φάκελο δεν επιτρέπεται.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Δημιουργήστε ένα ψευδώνυμο
Επειδή το phpMyAdmin δεν είναι ξεχωριστός εικονικός κεντρικός υπολογιστής και βρίσκεται εκτός του ριζικού καταλόγου, ας διαμορφώσουμε το ψευδώνυμο.
Ανοίξτε το αρχείο "/etc/apache2/mods-available/alias.conf" και προσθέστε αυτήν τη γραμμή:
Alias /pma “/var/www/sites/phpMyAdmin"
μέσα σε αυτήν την ενότητα:
<IfModule alias_module>
</IfModule>
Επαναλάβετε τη φόρτωση του Apache για να εφαρμόσετε τις αλλαγές.
systemctl reload apache2
Το ψευδώνυμο έχει οριστεί, επομένως μπορούμε να έχουμε πρόσβαση στο phpMyAdmin εδώ "http://[διεύθυνση_ip_server]/pma".
3. Προετοιμάστε τη βάση δεδομένων
Εφόσον περιορίσαμε τη χρήση χρήστη root κατά την αρχική διαμόρφωση του MariaDB, θα πρέπει να δημιουργήσουμε έναν νέο λογαριασμό με όλα τα δικαιώματα που θα χρησιμοποιηθούν για την πρόσβαση στο phpMyAdmin.
Επιπλέον, για να ενεργοποιήσουμε πρόσθετες δυνατότητες του phpMyAdmin, θα χρειαστούμε μια βάση δεδομένων υπηρεσιών και έναν λογαριασμό για πρόσβαση σε αυτήν.
Ας δημιουργήσουμε τους λογαριασμούς
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit
Λάβετε υπόψη ότι το όνομα της βάσης δεδομένων στο δεύτερο αίτημα βρίσκεται στο back sparks “… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …”,
Ως αποτέλεσμα, θα δημιουργηθούν δύο λογαριασμοί στο MariaDB:
- Είσοδος: pma, Κωδικός πρόσβασης: Qwe123Πλήρης πρόσβαση, θα χρησιμοποιηθεί για τη σύνδεση στο phpMyAdmin
- Είσοδος: pmaservice, Κωδικός πρόσβασης: Qwe123Ο λογαριασμός υπηρεσίας απαιτείται για να λειτουργήσουν πρόσθετες λειτουργίες
Στο επόμενο βήμα, θα ορίσουμε αυτές τις λεπτομέρειες στο αρχείο ρυθμίσεων "config.inc.php".
Στη συνέχεια, θα χρειαστεί να εισαγάγουμε τη βάση δεδομένων από το αρχείο "phpMyAdmin/sql/create_tables.sql".
Ας το εισαγάγουμε με τη βοήθεια του phpMyAdmin.
Ανοίξτε τον σύνδεσμο "http://[διεύθυνση_ip_server]/pma"
Εισαγάγετε το όνομα χρήστη "pma" και τον κωδικό πρόσβασης "Qwe123"
Μεταβείτε στην «Εισαγωγή» , κάντε κλικ στην «Επιλογή αρχείου» και επιλέξτε το αρχείο «sql/create_tables.sql» στον ριζικό κατάλογο του phpMyAdmin. Υποτίθεται ότι υπάρχει ο φάκελος «phpMyAdmin» στον υπολογιστή σας με τα αρχεία. Καταργήστε την αρχειοθέτησή του εάν είναι απαραίτητο.
Κάντε κλικ στο «Επόμενο» για να ξεκινήσετε την εισαγωγή.
4. διαμόρφωση
Ας αντιγράψουμε το αρχείο διαμόρφωσης από το πρότυπο
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Ας ανοίξουμε το αρχείο ρυθμίσεων "/var/www/sites/phpMyAdmin/config.inc.php" και ας κάνουμε τις ακόλουθες αλλαγές:
Ορίστε μια τυχαία τιμή 32 χαρακτήρων για το χαρακτηριστικό "$cfg['blowfish_secret']" . Χρησιμοποιήστε οποιαδήποτε γεννήτρια κωδικών πρόσβασης για αυτό.
Αφαιρέστε τα σχόλια από όλες τις γραμμές της ενότητας "ρυθμίσεις αποθήκευσης διαμόρφωσης phpMyAdmin" και ορίστε τα στοιχεία σύνδεσης και κωδικού πρόσβασης του λογαριασμού υπηρεσίας της MariaDB για τα χαρακτηριστικά "controluser" και "controlpass" αντίστοιχα. Στην περίπτωσή μας, είναι τα pmaservice και Qwe123.
Αποθηκεύστε τις αλλαγές.
Λεπτομέρειες πρόσβασης για το phpMyadmin:
- http://[server’s_ip_address]/pma/
- Είσοδος: pma
- Κωδικός πρόσβασης: Qwe123
Πώς να εγκαταστήσετε και να ρυθμίσετε το WordPress σε διακομιστή Linux
1. Τοποθέτηση πακέτου και αρχείων WordPress
Μεταβείτε στην επίσημη ιστοσελίδα του WP " https://ru.wordpress.org/ " και κατεβάστε το αρχείο στον τοπικό σας υπολογιστή.
Μεταφορτώστε το αρχείο στον διακομιστή στον φάκελο "/var/www/sites/" και αποαρχειοθετήστε το στον φάκελο "wordpress ".
Αντιγράψτε τα περιεχόμενα του ριζικού φακέλου "/var/www/sites/wordpress/" του ιστότοπου "/var/www/sites/site1/".
Εφόσον αντιγράψαμε τα αρχεία μέσω της κονσόλας με δικαιώματα root, ας αλλάξουμε τον κάτοχο του φακέλου "/var/www/sites/" συμπεριλαμβανομένων των περιεχομένων του "virtual" . Αυτό απαιτείται για να ενεργοποιηθεί η πλήρης πρόσβαση για σύνδεση ftp μέσω του προγράμματος-πελάτη.
cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites
2. Δημιουργήστε μια βάση δεδομένων για το WordPress
Συνδεθείτε στο phpMyAdmin και κάντε κλικ στο «Δημιουργία βάσης δεδομένων». Καθορίστε ένα αυθαίρετο όνομα βάσης δεδομένων, στην περίπτωσή μας «wordpress_db» και κάντε κλικ στο κουμπί «Δημιουργία».
Επιλέξτε τη νέα βάση δεδομένων στην αριστερή ενότητα και κάντε κλικ στην επιλογή "Δικαιώματα"
Στη συνέχεια, κάντε κλικ στην επιλογή «Προσθήκη λογαριασμού χρήστη».
Εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασης ( wpservice / Qwe123 ) στο ανοιχτό παράθυρο, επιλέξτε "Χορήγηση όλων των δικαιωμάτων στο wordpress_db" και κάντε κλικ στο "Επόμενο"
Στην επόμενη σελίδα, κάντε κλικ στην επιλογή «Ακύρωση όλων» για να επαναφέρετε όλα τα δικαιώματα σε επίπεδο βάσης δεδομένων και κάντε κλικ στην επιλογή «Επόμενο».
3. Διαμόρφωση WordPress σε διακομιστή Linux
Μεταβείτε στον ριζικό κατάλογο του ιστότοπού σας και αντιγράψτε το αρχείο ρυθμίσεων από το πρότυπο
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Ανοίξτε το αρχείο "wp-config.php" και εισαγάγετε τις παραμέτρους σύνδεσης βάσης δεδομένων που δημιουργήσαμε στο προηγούμενο βήμα και αποθηκεύστε τις αλλαγές.
4. Εγκαταστήστε το CMS WordPress
Ανοίξτε τον ακόλουθο σύνδεσμο στο πρόγραμμα περιήγησης “http://[server's_ip_address]/wp-admin/install.php”.
Συμπληρώστε όλα τα πεδία και κάντε κλικ στην επιλογή «Εγκατάσταση WordPress» . Ορίστε ένα τυχαίο όνομα χρήστη και έναν κωδικό πρόσβασης. Στην περίπτωσή μας, είναι wpadmin και Qwe123 αντίστοιχα.
Αυτά τα στοιχεία θα χρησιμοποιηθούν για πρόσβαση στο WordPress.
Αφού ολοκληρώσετε την εγκατάσταση, ανοίξτε τον σύνδεσμο “http://[server's_ip_address]/wp-login.php” , εισαγάγετε τα στοιχεία πρόσβασης και συνδεθείτε στο WordPress.
Θα πρέπει να δείτε ένα από τα πρότυπα του WordPress στην κύρια σελίδα.
Η διαμόρφωση έχει ολοκληρωθεί.
Λεπτομέρειες πρόσβασης WordPress:
- http://[server’s_ip_address]/wp-login.php
- Είσοδος: wpadmin
- Κωδικός πρόσβασης: Qwe123