Ricerca nel sito web

Installazione di LAMP (Linux, Apache, MySQL, PHP e PhpMyAdmin) in Gentoo Linux


Le massime prestazioni ottenute compilando software da sorgenti con Gentoo hanno un impatto minimo, se prendiamo come riferimento la potenza di elaborazione dell’hardware odierno. Allora qual è lo scopo dell'utilizzo di Gentoo come piattaforma server Web, potresti chiedere? Bene, l'attributo più importante di Gentoo è la sua estrema flessibilità che Portage può fornire su compiti specifici e il pieno controllo che l'utente finale può ottenere sull'intero sistema, dovuto al fatto che Gentoo è compilato e compila dai sorgenti e non utilizza binari preconfezionati come la maggior parte delle distribuzioni Linux.

Questa guida fornisce una procedura di installazione passo passo per il famoso stack LAMP (Linux, Apache, MySQL e PHP/PhpMyAdmin) utilizzando un ambiente di installazione Gentoo minimo.

Requisiti

  1. Ambiente Gentoo Linux minimo installato come in questo tutorial (Installa Gentoo Linux)

Passaggio 1: configurare l'indirizzo IP statico

1. Prima di procedere con l'installazione dello stack LAMP è necessario configurare il sistema con un indirizzo IP statico, che è un "must" in caso di server. Ma, prima di iniziare a configurare le impostazioni statiche della rete, utilizza il comando ifconfig per mostrare i nomi delle schede di interfaccia di rete.

ifconfig -a

Come puoi vedere, il nome della NIC può differire da altri nomi comuni utilizzati in Linux come ethX, ensXX o altri, quindi annota questo nome per ulteriori impostazioni.

2. Se in precedenza hai utilizzato un server DHCP per la tua rete, assicurati di smontare e disabilitare il client DHCP sul tuo sistema utilizzando i seguenti comandi (sostituisci IP e dispositivi con le tue impostazioni).

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. Quindi crea un collegamento simbolico dal dispositivo di loopback di rete con il nome dell'interfaccia connessa della tua scheda NIC e crea un file di configurazione statico per questo dispositivo in /etc/conf.d/ sentiero.

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

Modifica questo file del dispositivo con le seguenti configurazioni.

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. Dopo aver terminato la modifica delle configurazioni statiche della NIC, avvia l'interfaccia di rete e verifica le impostazioni di rete e la connessione utilizzando i comandi ifconfig e ping e se tutto è configurato correttamente aggiungerlo al processo di avvio.

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

Se desideri che i server dei nomi DNS siano configurati a livello di sistema, modifica il file /etc/resolv.conf e aggiungi la stringa del server dei nomi per ogni indirizzo IP DNS.

Passaggio 2: installare LAMP

5. Dopo aver finito con le impostazioni di rete, procedi con l'installazione dello stack LAMP, ma non prima di aver verificato i profili Gentoo e aggiornato l'albero e il sistema di Portage.

Per un server connesso a Internet con patch di sicurezza probabilmente vorrai utilizzare un profilo Hardened che modifica le impostazioni del pacchetto per l'intero sistema (maschere, flag USE, ecc.). Utilizza i seguenti comandi per elencare e modificare il tuo profilo.

sudo eselect profile list
sudo eselect profile set 11

6. Dopo che è stato impostato il profilo più adatto a te, aggiorna il tuo sistema e l'albero di Portage.

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

7. Ora è il momento di procedere con l'installazione di LAMP. Verificare la documentazione del server Web Apache per i flag USE utilizzando il comando emerge –pv, quindi modificare il file make.conf di Portage con i flag USE richiesti prima di tentare di installarlo.

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

8. Scegli i tuoi flag USE per il processo di compilazione (puoi lasciarlo così com'è se il tuo server non richiede determinati moduli), quindi installa Apache utilizzando il seguente comando.

emerge --ask www-servers/apache

9. Prima di avviare il servizio Apache, esegui il comando seguente per evitare l'errore ServerName, quindi avvia il demone httpd.

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

service apache2  start

OR

/etc/init.d/apache2 start

10. Nel passaggio successivo installa il linguaggio di scripting dinamico PHP. A causa della ricchezza dei moduli PHP, questo tutorial ti presenterà un ampio elenco di moduli utilizzati come flag USE, ma dovresti attenersi a quelli richiesti dalla configurazione del tuo server.

Per prima cosa ottieni USE flag specifici per PHP utilizzando il comando seguente.

emerge -pv php

11. Quindi modifica il file /etc/portage/make.conf e utilizza i seguenti flag USE per PHP5.5 (I flag USE devono essere su una singola riga).

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"

Un altro metodo che puoi usare è ripetere USE flag per includere i moduli e le opzioni PHP desiderati nel file /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. Dopo aver selezionato i flag USE richiesti utilizzando uno dei due metodi presentati, installa PHP con il seguente comando.

emerge --ask dev-lang/php

13. Il processo di implementazione di PHP può richiedere del tempo a seconda delle risorse del sistema e una volta terminato comunica ad Apache di utilizzare i moduli PHP modificando il file /etc/conf.d/apache2 e aggiungi PHP5 nella direttiva APACHE2_OPTS.

nano /etc/conf.d/apache2

Rendi la riga APACHE2_OPTS simile a questa.

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

Per ottenere un elenco dei moduli installati utilizzare il comando seguente.

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

14. Per testare la configurazione del server finora, crea un file phpinfo nella directory root dell'host locale (/var/www/localhost/htdocs/) e riavvia il servizio Apache, quindi punta il browser su http://localhost/info.php o http://system_IP/info.php.


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

OR

/etc/init.d/apache2  restart

Se ottieni lo stesso risultato dell'immagine sopra, il tuo server è configurato correttamente. Quindi, possiamo andare avanti con il database MySQL e l'installazione di PhpMyAdmin.

15. Prima di installare il database MySQL verificare il pacchetto USE flags e modificare Portage make.conf se necessario. Utilizzare i seguenti comandi per verificare e installare il database del server MySQL.

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

16. Prima di avviare il server MySQL assicurati che il database MySQL sia installato sul tuo sistema utilizzando il seguente comando.

/usr/bin/mysql_install_db

17. Ora avvia il database MySQL e proteggilo utilizzando mysql_secure_installation modificando la password di root, disabilitando l'accesso root all'esterno di localhost, rimuovendo l'utente anonimo e testando il database.

service mysql start
mysql_secure_installation

18. Per testare la funzionalità del database, accedi a MySQL emettendo il comando seguente ed esci dal database con l'istruzione quit.

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

19. Se hai bisogno di un'interfaccia grafica per gestire il server MySQL installa il pacchetto PhpMyAdmin eseguendo questi comandi.

emerge -pv phpmyadmin
emerge  dev-db/phpmyadmin

20. Dopo che il pacchetto è stato compilato e installato, crea un file di configurazione per PhpMyAdmin copiando il suo file modello e sostituisci la passphrase blowfish_secret utilizzando una stringa arbitraria.

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. Prova la procedura di accesso a PhpMyAdmin aprendo un browser e utilizzando il seguente URL.

http://localhost/phpmyadmin

22. Se tutto è a posto, potresti voler avviare automaticamente i tuoi servizi dopo il riavvio rendendoli disponibili a livello di sistema utilizzando i seguenti comandi.

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

È tutto! Ora hai un ambiente web dinamico con Apache, linguaggio di scripting PHP e database relazionale MySQL su una piattaforma server altamente flessibile e personalizzabile fornita da Gentoo.