Compilare il proprio stack LAMP consente di utilizzare le ultime versioni di Apache, MySQL e PHP. Usando il gestore di pacchetti CentOS 6, ricevi Apache 2.2, MySQL 5.1 e PHP 5.3. Il gestore pacchetti installa solo aggiornamenti di sicurezza dal team CentOS.
Come amministratore di sistema, sai che mantenere il software aggiornato è la chiave. E con il tuo server web rivolto verso Internet, devi assicurarti che il software del server web sia aggiornato per prevenire le vulnerabilità.
Questo articolo ti insegna come compilare il tuo stack LAMP. Ciascuno dei comandi verrà spiegato utilizzando il seguente formato.
# Commands will be listed here
Una spiegazione dei comandi verrà dichiarata qui.
Passaggio 1: download / installazione di Apache 2.4
Per questo articolo, useremo un mirror predefinito; ma se lo desideri, puoi utilizzare un altro mirror dalla pagina mirror di Apache con una chiamata dal tuo VPS.
curl -q -s apache.org/dyn/closer.cgi > /tmp/closer
sed -e 151b -e '$!d' /tmp/closer
Il comando curl invia una richiesta HTTP all'URL e ne recupera il contenuto. Reindirizziamo l'output a /tmp/closer, quindi il comando sed lo riduce a qualcosa che puoi leggere.
Vedrai un link mirror contenuto nella href=""sezione. Sostituisci semplicemente i link specificati in questo articolo con quel mirror.
Scarica l'origine su Apache 2.4.
cd /usr/src && wget http://apache.mirrors.ionfish.org/httpd/httpd-2.4.17.tar.gz && tar xvf httpd-2.4.17.tar.gz
La prima parte di questo comando cambierà la nostra directory corrente in /usr/src, quindi la sezione wget scaricherà il sorgente. L'ultima parte di questo comando decomprime la fonte.
Poiché Apache richiede APR e APR-util, procedi come segue:
wget http://apache.mirrors.ionfish.org/apr/apr-1.5.2.tar.gz && tar xvf apr-1.5.2.tar.gz && mv apr-1.5.2 httpd-2.4.17/srclib/apr
wget http://apache.mirrors.ionfish.org/apr/apr-util-1.5.4.tar.gz && tar xvf apr-util-1.5.4.tar.gz && mv apr-util-1.5.4 httpd-2.4.17/srclib/apr-util
Questi comandi scaricheranno i sorgenti per APR e APR-util e li decomprimeranno. Quindi, spostiamo il sorgente nella directory di build di Apache in modo che Apache si compili correttamente.
Poiché abbiamo bisogno di un compilatore C appropriato, dovremo installarne uno usando il gestore pacchetti.
yum groupinstall 'Development Tools' -y
yum install gcc-c++ -y
yum install pcre-devel -y
yum install bison bison-devel -y
yum install ncurses-devel -y
yum install perl-devel -y
Come accennato in precedenza, dobbiamo ancora ottenere i prerequisiti di Apache, quindi li installeremo usando il gestore pacchetti.
Ottimo lavoro! Ora è il momento di configurare e creare Apache.
cd httpd-2.4.17 && ./configure
La cd httpd-2.4.17parte cambia la nostra directory di lavoro corrente in httpd-2.4.17/. Quando eseguiamo ./configure, stiamo configurando il nostro sistema per creare Apache.
Consentire al sistema di configurare l'origine per l'installazione, non dovrebbe richiedere troppo tempo. Una volta completato, eseguire:
make && make install
cp support/apachectl /usr/sbin
chmod 755 /usr/sbin/apachectl
La sezione make di questi comandi costruirà il software. Quando eseguiamo make install, installiamo efficacemente Apache sul nostro sistema. Ora, dobbiamo copiarlo nella directory bin sicura (cp significa copia). Infine, gli daremo le autorizzazioni per l'esecuzione chmod 755.
Congratulazioni, hai installato Apache 2.4 con successo!
Passaggio 2: download / installazione di MySQL
Ora installiamo MySQL, un database utilizzato da molte applicazioni web. Dato che MySQL fornisce già l'ultima versione sotto forma di RPM, è più semplice utilizzare il loro file di installazione preconfigurato e configurarlo. Useremo il repository ufficiale MySQL.
cd /usr/src && wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm && rpm -i mysql57-community-release-el6-7.noarch.rpm
yum install mysql-community-server -y
Il primo comando è dove scarichiamo il file RPM per abilitare il repository MySQL sul nostro sistema. Quindi, rpm -iinstalla il file RPM. Infine, installeremo MySQL dal repository ufficiale MySQL.
Passaggio 3: download / installazione di PHP
PHP ha alcune dipendenze che dobbiamo installare, quindi andiamo prima a quello.
yum install -y libxml2-devel libcurl-devel libmcrypt libmcrypt-devel
Stiamo usando il gestore pacchetti ancora una volta, ma questa volta stiamo installando alcuni componenti per consentire alle applicazioni PHP di funzionare correttamente.
Scarica il sorgente per PHP, che viene eseguito eseguendo i seguenti comandi:
wget http://docs.php.net/distributions/php-5.6.15.tar.gz && tar xvf php-5.6.15.tar.gz
cd php-5.6.15
./configure --with-pear=/usr/lib/pear --enable-libxml --with-pdo-mysql --with-mysqli --with-mysql --enable-mbstring --with-mcrypt --with-apxs2=/usr/local/apache2/bin/apxs --enable-maintainer-zts --with-curl=/lib
make && make install
La prima parte, wgetè dove scarichiamo il sorgente su PHP 5.6.15. Quindi, cambiamo la nostra directory di lavoro in php-5.6.15. Infine, configuriamo PHP con le funzionalità necessarie per eseguire varie applicazioni Web, come i siti Web di e-commerce.
Nota: se ricevi un messaggio che contiene "/ path / to / perl", dovrai modificare il file /usr/local/apache2/bin/apxs.
nano /usr/local/apache2/bin/apxs
Cambia la prima riga in:
#!/usr/bin/perl -w
Passaggio 4: avvio / arresto dello stack LAMP
Poiché abbiamo creato Apache da zero, non include un servizio predefinito. Dovremo configurare da soli lo script init.
cd /usr/src && wget https://gist.githubusercontent.com/anonymous/62b0b788f86e7773e901/raw/6bcc88f9354f7139916272ac7a4eb998b1f26fdd/httpd-init
mv httpd-init /etc/init.d/httpd
chmod 755 /etc/init.d/httpd
La prima parte, dove noi cd, cambia la nostra directory di lavoro nella directory in cui costruiamo / compiliamo il software. Quindi, &&eseguiamo anche qualsiasi cosa dopo di essa, che in questo caso scarica il file di servizio per Apache. Infine, diamo il permesso che venga eseguito con il chmodcomando.
Fatto e fatto!
Ora, iniziamo Apache + MySQL + PHP:
service httpd start
service mysqld start
Con i comandi di servizio, possiamo gestire lo stato dei servizi. In questo caso, abbiamo avviato i servizi httpde mysqld.
PHP viene avviato con Apache, non viene avviato tramite un servizio.
Conclusione
In questo articolo, abbiamo spiegato come impostare uno stack LAMP da zero usando le versioni aggiornate di Apache / PHP / MySQL. Sebbene richieda più amministrazione per essere gestita, questa tecnica è utile quando vogliamo uno stack più nuovo di quello che offre il fornitore del sistema operativo.