English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Analisi dettagliata della configurazione dell'ambiente PHP su CentOS 5.5 (il miglior ambiente LAMP)

Questo articolo spiega in dettaglio come configurare l'ambiente PHP su un sistema Linux, poiché PHP è scritto in linguaggio C e inizialmente è stato eseguito su un sistema Linux, quindi Linux è l'ambiente migliore per PHP.

Per i software utilizzati in questo articolo, fare clic su questo link per il download.

CentOS 5.5 non è più fornito ufficialmente, si consiglia di utilizzare versioni di CentOS superiori a 6:

Indirizzo di download CentOS 6.8: https://it.oldtoolbag.com/softs/499124.html

Indirizzo di download CentOS 7.2: https://it.oldtoolbag.com/softs/499109.html

>>> 【Clicca per scaricare

Nello studio di questo articolo, l'autore ha eseguito il test utilizzando CentOS 5.5 installato su una macchina virtuale (VMware). Di seguito è riportato il dettaglio dell'installazione

1. Preparazione

1. Prima di tutto, conferma se il sistema Linux che hai installato ha già installato Apache, MySQL, PHP, se è installato, disinstallalo prima.

Controllare se è installato (ad esempio Apache)

[root@gamejzy Linux]# rpm -qa|grep httpd 

Nota: rpm -qa è usato per visualizzare tutti i software installati sul computer. grep httpd è usato per filtrare i software relativi a httpd (Apache). Nota: grep php è usato per visualizzare PHP; grep mysql è usato per visualizzare MySQL

Se dopo l'esecuzione del comando si verifica un vuoto, allora significa che il computer non ha installato il software Apache, se si verifica una situazione simile, allora è stato installato.

Se è come mostrato nell'immagine, allora è necessario disinstallare questi tre software.

I comandi di disinstallazione sono i seguenti:

[root@gamejzy Linux]# rpm -e httpd-2.2.3-43.el5.centos --nodeps 

Nota: --nodeps è un comando forzato per il disinstallazione

Secondo: assicurati che il tuo sistema Linux abbia installato i compilatori gcc e g++

Controllare se è installato è molto semplice, digitare 'gc' o 'g+' nella riga di comando, premere il tasto tab, vedere se ci sono comandi visualizzati di seguito.

Se non ce l'hai, non c'è problema, il metodo di installazione di gcc e g++ è molto semplice

Installazione gcc:

yum -y install gcc 

Installazione g++:

yum install gcc-c++ 

Terzo: copiare tutti i software (la maggior parte sono pacchetti tar) nella directory /tmp/lamp e decomprimere

Comando di decompressione tar.gz (ad esempio, software php): tar zxvf php-5.2.6.tar.gz 

Dopo aver eseguito questo comando, verrà creata una cartella php-5.2.6 nel directory corrente, tutti i file decompressi verranno messi nella cartella php-5.2.6

Segui lo stesso metodo per decomprimere tutti i pacchetti e rimuovere tutti i file *.tar.gz

[root@gamejzy lamp]# rm -rf *.gz 

I comandi sopra rimuovono tutti i file .gz

Quarto: introduzione all'installazione della compilazione del pacchetto software

Il processo di installazione di ogni pacchetto di codice sorgente nel sistema Linux è il seguente:
△ Configurazione (configure)
△ Compilazione (make)
△ Installazione (make install)

2, costruire l'ambiente LAMP (installare secondo l'ordine fornito di seguito)

Tutti i software installati qui sono sotto /usr/local
Primo: installare libxml

L'ordine di installazione: 1, entrare nella directory libxml; 2, configurare i parametri (inclusi il percorso di installazione, i software dipendenti, le funzioni di installazione, ecc.); 3, compilare; 4, installare. Nota: l'installazione di tutti i pacchetti software è simile

[root@gamejzy lamp]# cd libxml2-2.6.30/ 
[root@gamejzy libxml2-2.6.30]# ./configure --prefix=/usr/local/libxml2 

./configure è il comando per configurare i parametri del pacchetto software, --prefix indica la directory di installazione specificata, la maggior parte delle directory verranno create automaticamente se non esistono, alcune no, quindi dobbiamo crearle manualmente

[root@gamejzy libxml2-2.6.30]# make && make install 

Questi comandi eseguono contemporaneamente la compilazione e l'installazione, poiché il software è piccolo, l'installazione è relativamente veloce, ma per software più grandi potrebbe richiedere più tempo.

II. Installazione libmcrypt

[root@gamejzy lamp]# cd libmcrypt-2.5.8/ 
[root@gamejzy libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt 
[root@gamejzy libmcrypt-2.5.8]# make && make install 

III. Installazione zlib

[root@gamejzy lamp]# cd zlib-1.2.3/ 
[root@gamejzy zlib-1.2.3]# ./configure 
[root@gamejzy zlib-1.2.3]# make && make install 

Non seguire il parametro --prefix dopo ./configure, lascialo installare nel percorso predefinito, perché l'installazione di libpng utilizzerà zlib.
IV. Installazione libpng

[root@gamejzy lamp]# cd libpng-1.2.31/ 
[root@gamejzy libpng-1.2.31]# ./configure --prefix=/usr/local/libpng 
[root@gamejzy libpng-1.2.31]# make && make install 

V. Installazione jpeg6

Questa configurazione del software non crea automaticamente le directory, è necessario crearle manualmente

[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6 
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/bin 
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/lib 
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/include 
[root@gamejzy libpng-1.2.31]# mkdir -p /usr/local/jpeg6/man/man1 

Creazione della directory completata!

[root@gamejzy lamp]# cd jpeg-6b/ 
[root@gamejzy jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static 
[root@gamejzy jpeg-6b]# make && make install 

Spiegazione dei parametri di ./configure:
--enable-shared stabilire la libreria condivisa utilizzando GNU libtool
--enable-static stabilire la libreria statica utilizzando GNU libtool

sesto, installare freetype

[root@gamejzy lamp]# cd freetype-2.3.5/ 
[root@gamejzy freetype-2.3.5]# ./configure --prefix=/usr/local/freetype 
[root@gamejzy freetype-2.3.5]# make && make install 

sette, installare autoconf

[root@gamejzy lamp]# cd autoconf-2.61/ 
[root@gamejzy autoconf-2.61]# ./configure 
[root@gamejzy autoconf-2.61]# make && make install 

Questo software viene installato direttamente nella directory predefinita.

otto, installare GD

[root@gamejzy lamp]# cd gd-2.0.35/ 
[root@gamejzy gd-2.0.35]# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ 
[root@gamejzy gd-2.0.35]# make && make install 

Spiegazione dei parametri di ./configure:
--with-jpeg=/usr/local/jpeg6/ specificare la posizione della libreria dei file jpeg
--with-png=/usr/local/libpng/ specificare la posizione della libreria dei file png
--with-freetype=/usr/local/freetype/ Specifica la posizione in cui cercare la libreria di font freetype 2.x

Attenzione: L'installazione di questo pacchetto potrebbe generare gli errori elencati di seguito, come nella figura seguente:

Se si verifica un errore come questo, il metodo di risoluzione:

[root@gamejzy gd-2.0.35]# vi gd_png.c 

Trova la parola chiave "png.h" comando: /png.h Invio

Sostituisci con: /usr/local/libpng/include/png.h

L'effetto è come nella figura seguente:

Salva e esci, continua ad eseguire "make && make install" per completare l'installazione con successo.

Nove: Installa Apache (critico)

[root@gamejzy lamp]# cd httpd-2.2.9/ 
[root@gamejzy httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support 
[root@gamejzy httpd-2.2.9]# make && make install 

Spiegazione dei parametri di ./configure:
--sysconfdir=/etc/httpd Specifica la posizione di archiviazione dei file di configurazione del server Apache (httpd.conf ecc.)
--with-included-apr Usa la copia inclusa di APR/APR-Util
--enable-so Compilazione di oggetti condivisi (DSO) dinamicamente
--enable-deflate=shared Supporto alla codifica di compressione
--enable-expires=shared Controllo di gestione dei periodi di scadenza
--enable-rewrite=shared Gestione URL basata su regole
--enable-static-support Crea una versione di link statico di supporto

Testa il server Apache

1、Controlla se il 目录 /usr/local/ contiene il directory apache2;

2、Controlla se il 目录 /etc/ contiene il 目录 httpd, ovvero se contiene il file httpd.conf e il directory extra, ecc.

3. Avviare il server Apache

[root@gamejzy httpd]# /usr/local/apache2/bin/apachectl start 

stop (chiudere), restart (riavviare)

4. Controllare se il server Apache è stato avviato, ossia controllare se il porto 80 è stato avviato

[root@gamejzy httpd]# netstat -tnl|grep 80 

Dopo aver eseguito il comando, apparirà come segue, il che significa che è stato avviato
tcp        0      0 :::80                       :::*                        LISTEN

5. Accedere al browser
Se si è sul computer locale, inserire: nella barra degli indirizzi del browser:http://localhost O http://127.0.0.1

Se si tratta di una connessione remota, ad esempio: connessione SSH, allora inserire l'indirizzo IP di Linux nella barra degli indirizzi del browser. Ad esempio:http://192.168.1.233

Se nella pagina web appare un carattere grande “
Funziona!
”Significa che l'installazione di Apache è avvenuta con successo.
Test completato!

Aggiungere Apache per l'avvio automatico ogni volta che il computer si accende

[root@gamejzy /]# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local 

X. Installare MySQL (importante)

Prima di installare MySQL, creare un gruppo e un utente specifici per la gestione di MySQL

Creare un gruppo chiamato “mysql”

[root@gamejzy /]# groupadd mysql 

Creare un utente chiamato “mysql” e farlo appartenere al gruppo “mysql”

[root@gamejzy /]# useradd -g mysql mysql 
[root@gamejzy lamp]# cd mysql-5.0.41/ 
[root@gamejzy mysql-5.0.41]# ./configure --prefix=/usr/local/mysql --with-extra-charsets=all 
[root@gamejzy mysql-5.0.41]# make && make install 

./configure Descrizione dei parametri:
--with-extra-charsets=all Installa tutti i set di caratteri di MySQL
Attenzione: se durante ./configure si verifica l'errore seguente

Causa: mancanza del pacchetto di installazione ncurses.

Soluzione: scarica e installa il pacchetto software corrispondente

yum list|grep ncurses 
yum -y install ncurses-devel 

Dopo l'installazione di ncurses, esegui ./configure!

Dopo l'installazione di MySQL, impostare alcuni contenuti, che sono molto complessi ma molto critici, si prega di studiare con pazienza.

1、Imposta il file di configurazione my.cnf, mettilo nella directory /etc/

[root@gamejzy mysql-5.0.41]# cp support-files/my-medium.cnf /etc/my.cnf 

2、Inizializza i file del database, dopo l'installazione di MySQL, non appariranno i file di dati di MySQL e la posizione di archiviazione dei dati

Prima di tutto, cambia nella directory di installazione MySQL

[root@gamejzy mysql-5.0.41]# cd /usr/local/mysql/ 

Utilizza mysql_install_db nella directory bin per inizializzare i file del database e utilizza l'utente mysql creato in precedenza

[root@gamejzy mysql]# bin/mysql_install_db --user=mysql 

Dopo l'esecuzione, troverai che nella directory di installazione MySQL ci sarà una directory var, nella quale verranno messi i file del database, inclusi i database che abbiamo creato, che verranno messi in questa directory.

3、Imposta i permessi della directory di installazione MySQL

Modifica il proprietario di tutti i file e directory sotto la directory in root

[root@gamejzy mysql]# chown -R root . 

Modifica il proprietario della directory var in utente mysql

[root@gamejzy mysql]# chown -R mysql ./var/ 

Modifica il gruppo utente di tutti i directory e file in gruppo mysql

[root@gamejzy mysql]# chgrp -R mysql . 

4、Avvio MySQL

[root@gamejzy mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql & 

Il simbolo & indica l'avvio in background
A questo punto, usando netstat -tnl, se vedi la porta 3306, allora significa che il lancio è stato eseguito con successo
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN

5、Imposta i permessi, se ora usiamo il comando mysql nella directory bin, possiamo accedere

[root@gamejzy mysql]# bin/mysql 

Questo è molto pericoloso! Pertanto, è necessario impostare i permessi.

Prima di accedere a MySQL, usa il comando SQL per eliminare gli utenti con host diversi da "localhost" (tutti gli utenti di MySQL sono nella tabella user del database mysql), lasciando solo gli account che possono accedere da questo computer.

mysql> delete from mysql.user where Host != 'localhost'; 

Aggiorna la tabella di autorizzazione

mysql> flush privileges; 

Imposta la password dell'utente root che può accedere da questo computer

mysql> set password for 'root'@'localhost'=password('123456'); 

Nota: è necessario ricordare la password impostata, altrimenti non si potrà accedere al database MySQL.

Arrivati a questo punto, il nostro utente root ha già impostato la password (la password è "123456"), possiamo fare un test digitando "exit" per uscire da MySQL

A questo punto, il comando per accedere al database MySQL non può essere così semplice, dovrebbe essere come segue:

[root@gamejzy mysql]# bin/mysql -h 127.0.0.1 -u root -p123456 

-h Specifica il nome dell'host
-u Nome utente
-p Password

6、Chiudi il server di database MySQL

[root@gamejzy mysql]# bin/mysqladmin -u root -p shutdown 

Qui root è l'utente MySQL, dopo l'esecuzione ti verrà richiesto di inserire la password, Enter password:

Inserisci la password e premi Invio per chiudere il database.

Comando di avvio, consulta la sezione 4 di questo capitolo

7、Aggiungi al lancio automatico di avvio

[root@gamejzy mysql]# echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.d/rc.local 

Undicesimo: Installazione PHP (importante)}

Qui installiamo la versione più alta di PHP, php-5.3.19, ci sono molti parametri di installazione, quindi attenzione.

[root@gamejzy lamp]# cd php-5.3.19/\ 
[root@gamejzy php-5.3.19]# ./configure \ 
> --prefix=/usr/local/php \ 
> --with-config-file-path=/usr/local/php/etc \ 
> --with-apxs2=/usr/local/apache2/bin/apxs \ 
> --with-mysql=/usr/local/mysql/ \ 
> --with-libxml-dir=/usr/local/libxml2/ \ 
> --with-png-dir=/usr/local/libpng/ \ 
> --with-jpeg-dir=/usr/local/jpeg6/ \ 
> --with-freetype-dir=/usr/local/freetype/ \ 
> --with-gd=/usr/local/gd2/ \ 
> --with-mcrypt=/usr/local/libmcrypt/ \ 
> --with-mysqli=/usr/local/mysql/bin/mysql_config \ 
> --enable-soap \ 
> --enable-mbstring=all \ 
> --enable-sockets 

./configure Descrizione dei parametri:
--with-config-file-path=/usr/local/php/etc Specifica il percorso di salvataggio del file di configurazione PHP5
--with-apxs2=/usr/local/apache2/bin/apxs Informa PHP dove trovare Apache 2
--with-mysql=/usr/local/mysql/ Specifica la directory di installazione di MySQL
--with-libxml-dir=/usr/local/libxml2/ Informa PHP dove collocare la libreria libxml2
--with-png-dir=/usr/local/libpng/ Informa PHP dove collocare la libreria libpng
--with-jpeg-dir=/usr/local/jpeg6/ Informa PHP dove collocare la libreria jpeg
L'abilitazione del variabile --with-freetype-dir=/usr/local/freetype/ indica a PHP dove collocare la libreria freetype
L'abilitazione del variabile --with-gd=/usr/local/gd2/ indica a PHP dove collocare la libreria gd
L'abilitazione del variabile --with-mcrypt=/usr/local/libmcrypt/ indica a PHP dove collocare la libreria libmcrypt
L'abilitazione del variabile --with-mysqli=/usr/local/mysql/bin/mysql_config attiva le funzionalità aggiuntive MySQLi
L'abilitazione del variabile --enable-soap attiva il supporto per SOAP e Web services
L'abilitazione del variabile --enable-mbstring=all abilita il supporto per le stringhe a più byte
L'abilitazione del variabile --enable-sockets attiva la funzionalità di comunicazione socket

Problemi che possono verificarsi durante la compilazione:

Viene visualizzato il seguente errore:

Soluzione:

cd /usr/local/mysql/lib/mysql/ 
ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so 

Dopo la compilazione, viene visualizzato "Thank you for using PHP.". Questo significa che la configurazione è avvenuta con successo.

[root@gamejzy php-5.3.19]# make && make install 

La compilazione e l'installazione richiedono molto tempo, attendere con pazienza!

Dopo la compilazione, è necessario la seguente configurazione

1. Impostare il file di configurazione php.ini

[root@gamejzy php-5.3.19]# cp php.ini-development /usr/local/php/etc/php.ini 

Nota: /usr/local/php/etc è la posizione specificata durante la configurazione
2. Integrare con Apache

Apri il file di configurazione di Apache httpd.conf

[root@gamejzy php-5.3.19]# vi /etc/httpd/httpd.conf 

Scoprirete che il file contiene il seguente contenuto

LoadModule php5_module modules/libphp5.so 

Questo significa che PHP è stato caricato nel server Apache, tutto ciò che dobbiamo fare è informare il server Apache quali estensioni devono essere解析ate con PHP

Cerca "AddType application/x-compress .Z" nell'editor vi

Aggiungi una riga alla fine: AddType application/x-httpd-php .php
L'effetto modificato è illustrato di seguito

Salva e esci, riavvia Apache

[root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl stop 
[root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl start 

3. Testa se il server Apache può interpretare PHP

Aggiungi un file phpinfo.php nella directory /usr/local/apache2/htdocs e inserisci il seguente codice:

<?php 
header("Content-Type:text/html;Charset=utf-8"); 
phpinfo(); 
?> 

Apri il browser, accedi al file e vedi come illustrato di seguito, ciò significa che l'installazione di PHP è stata eseguita con successo e l'integrazione con il server Apache è avvenuta con successo.

Fino a questo punto, l'ambiente LAMP sotto CentOS è stato configurato, anche se i passaggi sono complessi, ma come si dice 'Se si desidera fare bene un lavoro, è necessario prima avere gli strumenti giusti', dedicare del tempo a costruire un ambiente perfetto è una cosa giusta da fare.

Dichiarazione: il contenuto di questo articolo è stato raccolto da Internet, il copyright è della proprietà del rispettivo proprietario, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, il sito web non detiene il diritto di proprietà, non è stato elaborato manualmente e non assume alcuna responsabilità legale. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a notice#oldtoolbag.com (sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, il sito web eliminerà immediatamente il contenuto sospetto di violazione del copyright.

Ti potrebbe interessare