Εγκατάσταση LAMP (Linux, Apache, MySQL, PHP και PhpMyAdmin) στο Gentoo Linux


Η μέγιστη απόδοση που επιτυγχάνεται με τη μεταγλώττιση λογισμικού από πηγές με το Gentoo έχει ελάχιστο αντίκτυπο, αν λάβουμε ως σημείο αναφοράς τη σημερινή επεξεργασία ισχύος του υλικού. Τότε ποιος είναι ο σκοπός της χρήσης του Gentoo ως πλατφόρμας διακομιστή Web, θα μπορούσατε να ρωτήσετε; Λοιπόν, το πιο σημαντικό χαρακτηριστικό που έχει το Gentoo είναι η εξαιρετική του ευελιξία ότι το Portage μπορεί να προσφέρει σε συγκεκριμένες εργασίες και ο πλήρης έλεγχος που μπορεί να επιτύχει ο τελικός χρήστης σε ολόκληρο το σύστημα, λόγω του γεγονότος ότι το Gentoo έχει μεταγλωττιστεί και δημιουργείται από πηγές και δεν χρησιμοποιεί προσυσκευασμένα δυαδικά όπως οι περισσότερες διανομές Linux.

Αυτός ο οδηγός παρέχει μια διαδικασία εγκατάστασης βήμα προς βήμα για τη διάσημη στοίβα LAMP (Linux, Apache, MySQL και PHP/PhpMyAdmin) χρησιμοποιώντας ένα ελάχιστο περιβάλλον εγκατάστασης Gentoo.

Απαιτήσεις

  1. Το Minimal Gentoo Linux περιβάλλον εγκατεστημένο όπως σε αυτό το σεμινάριο (Εγκατάσταση Gentoo Linux)

Βήμα 1: Διαμόρφωση στατικής διεύθυνσης IP

1. Προτού προχωρήσουμε στην εγκατάσταση της στοίβας LAMP, το σύστημα πρέπει να διαμορφωθεί με μια στατική διεύθυνση IP, η οποία είναι "πρέπει" σε περίπτωση διακομιστή. Ωστόσο, πριν ξεκινήσουμε τη διαμόρφωση στατικών ρυθμίσεων δικτύου χρησιμοποιήστε την εντολή ifconfig για να εμφανίσετε τα ονόματα καρτών διεπαφής δικτύου.

ifconfig -a

Όπως μπορείτε να δείτε το όνομα του NIC μπορεί να διαφέρει από άλλα κοινά ονόματα που χρησιμοποιούνται στο Linux, όπως ethX, ensXX ή άλλα, οπότε σημειώστε αυτό το όνομα για περαιτέρω ρυθμίσεις.

2. Εάν στο παρελθόν χρησιμοποιούσατε διακομιστή DHCP για το δίκτυό σας, βεβαιωθείτε ότι έχετε καταργήσει και απενεργοποιήσει το DHCP Client στο σύστημά σας χρησιμοποιώντας τις ακόλουθες εντολές (αντικαταστήστε τις IP και τις συσκευές με τις ρυθμίσεις σας).

rc-update del dhcpcd default
/etc/init.d/dhcpcd stop
ifconfig eno16777736 down
ifconfig eno16777736 del 192.168.1.13 netmask 255.255.255.0
emerge –unmerge dhcpcd

3. Στη συνέχεια, δημιουργήστε έναν συμβολικό σύνδεσμο από τη συσκευή επαναφοράς δικτύου με το όνομα της συνδεδεμένης διεπαφής του NIC και δημιουργήστε ένα στατικό αρχείο διαμόρφωσης για αυτήν τη συσκευή στο /etc/conf.d/ μονοπάτι.

ln -s /etc/init.d/net.lo  /etc/init.d/net.eno16777736
sudo nano /etc/conf.d/net.eno16777736

Επεξεργαστείτε αυτό το αρχείο συσκευής με τις ακόλουθες διαμορφώσεις.

config_eno16777736="192.168.1.25 netmask 255.255.255.0 brd 192.168.1.255"
routes_eno16777736="default via 192.168.1.1"
dns_servers_eno16777736="192.168.1.1 8.8.8.8"

4. Αφού ολοκληρώσετε την επεξεργασία των στατικών διαμορφώσεων του NIC, ξεκινήστε τη διεπαφή δικτύου και επαληθεύστε τις ρυθμίσεις δικτύου και τη σύνδεση χρησιμοποιώντας τις εντολές ifconfig και ping και εάν όλα έχουν ρυθμιστεί με επιτυχία προσθέστε το για να ξεκινήσει η διαδικασία.

/etc/init.d/net.eno16777736 start
ifconfig
ping -c2 domain.tld
rc-update add net.eno16777736 default

Εάν θέλετε οι διακομιστές ονομάτων DNS να είναι διαμορφωμένοι σε όλο το σύστημα, επεξεργαστείτε το αρχείο /etc/resolv.conf και προσαρτήστε τη συμβολοσειρά διακομιστή ονομάτων για κάθε διεύθυνση IP DNS.

Βήμα 2: Εγκαταστήστε το LAMP

5. Αφού ολοκληρώσετε τις ρυθμίσεις δικτύου, προχωρήστε στην εγκατάσταση της στοίβας LAMP, αλλά όχι πριν επαληθεύσετε τα προφίλ Gentoo και ενημερώσετε το δέντρο και το σύστημα Portage.

Για έναν διακομιστή που αντιμετωπίζει το Διαδίκτυο με ενημερωμένες εκδόσεις κώδικα ασφαλείας, πιθανότατα θα θέλετε να χρησιμοποιήσετε ένα προφίλ Hardened που αλλάζει τις ρυθμίσεις πακέτου για ολόκληρο το σύστημά σας (μάσκες, σημαίες USE κ.λπ.). Χρησιμοποιήστε τις παρακάτω εντολές για να παραθέσετε και να αλλάξετε το προφίλ σας.

sudo eselect profile list
sudo eselect profile set 11

6. Αφού οριστεί το προφίλ που ταιριάζει καλύτερα για εσάς, ενημερώστε το σύστημά σας και το δέντρο Portage.

sudo emerge --sync
sudo emerge --update @world

7. Τώρα είναι ώρα να προχωρήσετε στην εγκατάσταση LAMP. Επαληθεύστε την τεκμηρίωση του διακομιστή Web Apache για Σημαίες USE χρησιμοποιώντας τον διακόπτη εντολής emerge –pv και, στη συνέχεια, επεξεργαστείτε το αρχείο Portage make.conf με τις απαιτούμενες σημαίες USE πριν επιχειρήσετε εγκαταστήστε το.

emerge -pv apache
nano /etc/portage/make.conf

8. Επιλέξτε τις Σημαίες ΧΡΗΣΗΣ για τη διαδικασία μεταγλώττισης (μπορείτε να την αφήσετε ως έχει, εάν ο διακομιστής σας δεν απαιτεί συγκεκριμένες μονάδες) και, στη συνέχεια, εγκαταστήστε το Apache χρησιμοποιώντας την ακόλουθη εντολή.

emerge --ask www-servers/apache

9. Πριν ξεκινήσετε την υπηρεσία Apache, εκτελέστε την ακόλουθη εντολή για να αποφύγετε το σφάλμα ServerName και, στη συνέχεια, ξεκινήστε το httpd daemon.

echo “ServerName localhost” >> /etc/apache2/httpd.conf

service apache2  start

OR

/etc/init.d/apache2 start

10. Στο επόμενο βήμα εγκαταστήστε τη γλώσσα δυναμικής δέσμης ενεργειών PHP. Λόγω του πλούτου των λειτουργικών μονάδων PHP, αυτό το σεμινάριο θα σας παρουσιάσει μια μεγάλη λίστα λειτουργικών μονάδων που χρησιμοποιούνται ως ΧΡΗΣΙΜΟΠΟΙΗΣΤΕ σημαίες, αλλά θα πρέπει να τηρείτε αυτές που απαιτεί η διαμόρφωση του διακομιστή σας.

Πρώτα λάβετε ΧΡΗΣΙΜΟΠΟΙΗΣΤΕ συγκεκριμένες σημαίες για PHP χρησιμοποιώντας την παρακάτω εντολή.

emerge -pv php

11. Στη συνέχεια, επεξεργαστείτε το αρχείο /etc/portage/make.conf και χρησιμοποιήστε τις ακόλουθες σημαίες ΧΡΗΣΗ για PHP5.5 (Οι σημαίες USE πρέπει να βρίσκονται σε μία γραμμή).

USE="apache2 php pam berkdb bzip2 cli crypt ctype exif fileinfo filter gdbm hash iconv ipv6 json -ldap nls opcache phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -bcmath calendar -cdb cgi -cjk curl -debug -embed -enchant -firebird -flatfile -fpm (-frontbase) ftp gd -gmp imap -inifile -intl -iodbc -kerberos -ldap-sasl -libedit libmysqlclient -mhash -mssql mysql mysqli -oci8-instant-client -odbc -pcntl pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -sqlite (-sybase-ct) -systemd -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt zip jpeg png pcre session unicode"

PHP_TARGETS="php5-5"

Μια άλλη μέθοδος που μπορείτε να χρησιμοποιήσετε είναι να επαναφέρετε Σημαίες USE για να συμπεριλάβετε τις επιθυμητές μονάδες και επιλογές PHP στο αρχείο /etc/portage/package.use.

echo “dev-lang/php apache2 cgi ctype curl curlwrappers -doc exif fastbuild filter ftp hash inifile json mysql mysqli pdo pic posix sockets spell truetype xml zip” >> /etc/portage/package.use

12. Αφού επιλέξετε τις απαιτούμενες ΧΡΗΣΗ σημαιών χρησιμοποιώντας μία από τις δύο μεθόδους που παρουσιάζονται, εγκαταστήστε την PHP με την ακόλουθη εντολή.

emerge --ask dev-lang/php

13. Η διαδικασία εμφάνισης της PHP μπορεί να διαρκέσει λίγο ανάλογα με τους πόρους του συστήματός σας και αφού ολοκληρωθεί πείτε στον Apache να χρησιμοποιήσει λειτουργικές μονάδες PHP επεξεργάζοντας το αρχείο /etc/conf.d/apache2 και προσθέστε PHP5 στην οδηγία APACHE2_OPTS.

nano /etc/conf.d/apache2

Κάντε τη γραμμή APACHE2_OPTS να μοιάζει με αυτό.

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"

Για να λάβετε μια λίστα εγκατεστημένων λειτουργικών μονάδων χρησιμοποιήστε την ακόλουθη εντολή.

ls -al /etc/apache2/modules.d/

14. Για να δοκιμάσετε τη διαμόρφωση του διακομιστή μέχρι στιγμής, δημιουργήστε ένα αρχείο phpinfo στον ριζικό κατάλογο localhost (/var/www/localhost/htdocs/) και επανεκκινήστε την υπηρεσία Apache και, στη συνέχεια, τοποθετήστε το πρόγραμμα περιήγησής σας στη διεύθυνση http://localhost/info.php ή http://system_IP/info.php.


echo "<!--?php phpinfo(); ?-->"  /var/www/localhost/htdocs/info.php
service apache2  restart

OR

/etc/init.d/apache2  restart

Εάν έχετε το ίδιο αποτέλεσμα με την παραπάνω εικόνα, τότε ο διακομιστής σας έχει ρυθμιστεί σωστά. Έτσι, μπορούμε να προχωρήσουμε με τη βάση δεδομένων MySQL και την εγκατάσταση PhpMyAdmin.

15. Πριν εγκαταστήσετε τη βάση δεδομένων MySQL, επαληθεύστε το πακέτο ΧΡΗΣΙΜΟΠΟΙΗΣΤΕ σημαίες και επεξεργαστείτε το Portage make.conf εάν απαιτείται. Χρησιμοποιήστε τις ακόλουθες εντολές για να επαληθεύσετε και να εγκαταστήσετε τη βάση δεδομένων MySQL-server.

emerge -pv mysql
emerge --ask dev-db/mysql

16. Πριν ξεκινήσετε τον διακομιστή MySQL βεβαιωθείτε ότι η βάση δεδομένων MySQL είναι εγκατεστημένη στο σύστημά σας χρησιμοποιώντας την ακόλουθη εντολή.

/usr/bin/mysql_install_db

17. Τώρα ξεκινήστε τη βάση δεδομένων MySQL και ασφαλίστε την χρησιμοποιώντας mysql_secure_installation αλλάζοντας τον κωδικό πρόσβασης root, απενεργοποιώντας τη σύνδεση root εκτός του localhost, καταργήστε τον ανώνυμο χρήστη και δοκιμάστε τη βάση δεδομένων.

service mysql start
mysql_secure_installation

18. Για να ελέγξετε τη λειτουργικότητα της βάσης δεδομένων, συνδεθείτε στη MySQL εκδίδοντας την παρακάτω εντολή και πραγματοποιήστε έξοδο από τη βάση δεδομένων με δήλωση εξόδου.

mysql -u roo -p
mysql> select user,host from mysql.user;
mysql> quit;

19. Εάν χρειάζεστε μια γραφική διεπαφή για τη διαχείριση του διακομιστή MySQL, εγκαταστήστε το πακέτο PhpMyAdmin εκτελώντας αυτές τις εντολές.

emerge -pv phpmyadmin
emerge  dev-db/phpmyadmin

20. Αφού μεταγλωττιστεί και εγκατασταθεί το πακέτο, δημιουργήστε ένα αρχείο διαμόρφωσης για το PhpMyAdmin αντιγράφοντας το αρχείο προτύπου και αντικαταστήστε τη φράση πρόσβασης blowfish_secret χρησιμοποιώντας μια αυθαίρετη συμβολοσειρά.

cp /var/www/localhost/htdocs/phpmyadmin/config.sample.inc.php  /var/www/localhost/htdocs/phpmyadmin/config.inc.php
nano /var/www/localhost/htdocs/phpmyadmin/config.inc.php

21. Δοκιμάστε τη διαδικασία σύνδεσης στο PhpMyAdmin ανοίγοντας ένα πρόγραμμα περιήγησης και χρησιμοποιήστε την ακόλουθη διεύθυνση URL.

http://localhost/phpmyadmin

22. Εάν όλα είναι στη θέση τους, ίσως θελήσετε να ξεκινήσετε αυτόματα τις υπηρεσίες σας μετά την επανεκκίνηση, καθιστώντας τις διαθέσιμες σε όλο το σύστημα χρησιμοποιώντας τις ακόλουθες εντολές.

rc-update -v add apache2 default
rc-update -v add mysql default

Αυτό είναι όλο! Τώρα έχετε ένα δυναμικό διαδικτυακό περιβάλλον με Apache, γλώσσα προγραμματισμού PHP και σχεσιακή βάση δεδομένων MySQL σε μια πλατφόρμα διακομιστή υψηλής ευελιξίας και προσαρμογής που παρέχεται από το Gentoo.