Skip to content


HOW TO: Installazione manuale Apache 2, PHP 5, Mysql 5. Con modulo mysqli e link in Init.d – Distribuzioni Linux.

Come primo Articolo ho scelto di pubblicare questa procedura di installazione manuale su cui ho sbattuto la testa per un paio di settimane. Non esistento degli How to abbastanza aggiornati e dettagliati sull’argomento.

 

– A cosa serve la seguente procedura?

Potrete con questa, creare un piccolo server su cui testare i vostri siti con il supporto di un database mysql e un interprete di comandi PHP per i vostri script. Queste stesse procedure possono essere utilizzate per applicazioni professionali e non, in base alle vostre esigenze. Spero possa essere utile ad altri come lo sarebeb stato per me se ne avessi trovato uno 😛

Iniziamo con il download dei pacchetti necessari alla configurazione dell’interprete PHP, nel caso il vostro sistema non avesse già le librerie zlib, libpng, libjpeg, che sono scaricabili dai siti ufficiali omonimi che trovate facilmente attraverso Google.

 

Scarichiamo tutti i pacchetti nella directory /home/<nome_utente>/

quindi attraverso un teminale con privilegi di root spostiamo i pacchetti all’interno di /usr/local/src (Questo è un esempio sarebbe cosa buona conservare tutti i sorgenti che si scaricheranno in una cartella apposita, createne una se non esiste quella da me indicata)

   # mv /home/<nome_utente>/*.tar.* /usr/local/src (o la cartella creata per i sorgenti)

Esplodiamo i pacchetti scaricati spostandoci prima nella directory

   # cd /usr/local/src

   # tar xvf(z)(j) <nome_file1> (tra gli argomenti passati al comando "tar" da ricordare la "z" se si tratta di un pacchetto compresso come ".gz" altrimenti usare la "j" se il pacchetto è compresso come ".bz2". Quindi lanciare tre volte il comando seguito dai nomi dei tre file scaricati.

[Installazione delle librerie]

Cambiando directory, in ogni una di quelle creata dall’esplosione del pacchetto compresso omonimo compiliamo le librerie:

In the zlib source directory (zlib-1.1.4/)
   # ./configure
   # make
   # make install

In the libpng source directory (libpng-1.2.5/)
   # ./configure
   # make
   # make install

In the libjpeg source directory (jpegsrc-v6b/)
   # ./configure
   # make
   # make install

Se quest’ultimo dovesse restituirvi un errore simile a questo:

 /usr/bin/install: cannot create regular file `/usr/local/man/man1/cjpeg.1′: No such file or directory

Non dovete far altro che spostarvi nella directory /usr/local/ e creare la directory ./man e./man/man1 come root o usando il comando "sudo" (per ubunto e simili) come segue

   # mkdir /usr/local/man

   # mkdir /usr/local/man/man1

   # make install

[Installazione interprete Apache 2]

 Con privilegi di root quindi usando il comando su – o il comando sudo creare un nuovo gruppo e un nuovo utente appartenente a quel gruppo

   # /usr/sbin/groupadd www
   # /usr/sbin/useradd -g www www

Una volta scaricato il pacchetto zippato dei sorgenti di una delle release 2.x di Apache dal sito ufficiale. Spostare tale file nella directory creata per i sorgenti, spostarsi nella directory che contiene i sorgenti quindi lanciare il comando tar xvf(z)(j) con il giusto parametro in base al metodo usato per comprire la tarball. Infine, con i privilegi di root,procedere come segue nella nuova directory creata contenente i sorgenti esplosi:

   # ./configure –prefix=/usr/local/apache2 –enable-mods-shared=all
   # make
   # make install

Completata l’installazione procedere alla configurazione del file httpd.conf come segue;

   # vi /usr/local/apache2/conf/httpd.conf

Controllare all’interno del file che siano presenti le seguenti righe di configurazione;

La definizione del modulo php che dovrà essere usate a il relativo path dove posa la libreria relativa

   LoadModule php5_module modules/libphp5.so

Controllare il nome del server su cui gira il demone

   ServerName <nome del server>

Controllare il path della DocumentRoot

   DocumentRoot "/usr/local/apache2/htdocs"

Trocare la DirectoryIndex ed editatela come segue;

   DirectoryIndex index.html index.html.var index.php

Trovare l’ AddType application section e aggiungere la seguente riga;

   AddType application/x-httpd-php .php

Concludiamo impostando i permessi sulle directory del software installato:

   # chown -R root:www /usr/local/apache2

A questo punto salvate il file di configurazione e attendete il ritorno della voglia di continuare in questa missione suicida 😛

 

[Installazione Mysql 5]

Con privilegi di root quindi usando il comando su – o il comando sudo creare un nuovo gruppo e un nuovo utente appartenente a quel gruppo

   # /usr/sbin/groupadd mysql
   # /usr/sbin/useradd -g mysql mysql

Una volta scaricato il pacchetto zippato dei sorgenti di una delle release 5.x di Mysql dal sito ufficiale. Spostare tale file nella directory creata per i sorgenti, spostarsi nella directory che contiene i sorgenti quindi lanciare il comando tar xvf(z)(j) con il giusto parametro in base al metodo usato per comprire la tarball. Infine, con i privilegi di root, procedere come segue nella nuova directory creata contenente i sorgenti esplosi:

   # ./configure –prefix=/usr/local/mysql –localstatedir=/usr/local/mysql/data –with-mysqld-user=mysql

   # make

   # make install

Lanciare quindi lo script di creazione del DB mysql come segue:

   # ./scripts/mysql_install_db

Impostiamo i permessi sulle cartelle nel seguente modo:

   # chown -R root:mysql /usr/local/mysql
   # chown -R mysql:mysql /usr/local/mysql/data

Procediamo con la configurazione delle librerie necessarie a mysql:

   # vi /etc/ld.so.conf

aggiungere all’interno del file la seguente riga

      /usr/local/mysql/lib/mysql

Lanciare infine il comando:

   # ldconfig

Startiamo il servizio e impostiamo la password dell’utente root del db:

   # /usr/local/mysql/bin/mysqld_safe –user=mysql &
   # /usr/local/mysql/bin/mysqladmin -u root password <NEWPASSWORD>

Ormai siamo in fondo su non mollare ^_^ il bello deve ancora venire XD

 

[Installazione PHP 5]

Una volta scaricato il pacchetto zippato dei sorgenti di una delle release 5.x di PHP dal sito ufficiale. Spostare tale file nella directory creata per i sorgenti, spostarsi nella directory che contiene i sorgenti quindi lanciare il comando tar xvf(z)(j) con il giusto parametro in base al metodo usato per comprire la tarball. Infine, con i privilegi di root, procedere come segue nella nuova directory creata contenente i sorgenti esplosi:

   # ./configure –prefix=/usr/local/php –with-jpeg-dir=/usr/local/bin/ –with-zlib-dir=/usr/local/lib –with-png-dir=/usr/local/lib –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config

   # make

   # make install

   # libtool –finish /usr/local/src/php-5.2.8/libs

   # ldconfig

 

Create il file di configurazione php.ini partendo dalla configurazione raccomandata,

   # cp php.ini-recommended /usr/local/php/lib/php.ini

Qunidi editiamolo cone segue:

   # vi /usr/local/php/lib/php.ini

Trovate la doc_root section ed inseriamo il corretto path come segue:

   doc_root= "/usr/local/apache2/htdocs/"

(this is default for apache2)

Quindi toriamo la file_uploads section e modifichiamo voce seguente sostituendo On con OFF. Se doveste importare tramite web ad esempio con un MyPhpAdmin, un file con questa opzione disabilitaat non vi sarà possibile. Basterà rimetterla su On, ricordandovi di riportarlo su Off una volta completata l’operazione di cui avete bisogno, per motivi di sicurezza.

   file_uploads=Off

 

Concludiamo impostando i permessi sulle directory del software installato:

   # chown -R root:www /usr/local/php

 

E siamo arrivati al ritocco finale. ^_^ complimenti

 

[Aggiunta dei servizi httpd (apache2) e mysql (mysql5) in Init.d]

All’interno della directory /usr/local/apache2/bin lanciate il comando:

   # cp apachectl /etc/init.d/httpd

Quindi proseguire:

   # cd /etc/rc3.d

   # ln -s ../init.d/httpd S85httpd

   # ln -s ../init.d/httpd K85httpd

   # cd /etc/rc5.d

   # ln -s ../init.d/httpd S85httpd

   # ln -s ../init.d/httpd K85httpd

Spostarsi nella directory support-files contenenuta nella directory con i sorgenti esplosi di mysql:

   # cd /usr/local/src/<mysql5xxxx>/support-files/
   # make
   # cp mysql.server /etc/init.d/mysql

Concludiamo con:

   # cd /etc/rc3.d

   # ln -s ../init.d/mysql S85mysql

   # ln -s ../init.d/mysql K85mysql

   # cd /etc/rc5.d

   # ln -s ../init.d/mysql S85mysql

   # ln -s ../init.d/mysql K85mysql

   # cd ../init.d

   # chmod 755 mysql

 

 

E con questo si conclude il primo post e il primo HOW TO. Spero possa essere utile a qualcuno, se avete domande o suggerimenti attendo commenti da parte di chiunque. un saluto a voi tutti e al prossimo articolo.

Posted in Unix/Linux e Dintorni.


2 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. skip bins adelaide says

    This is the third time I’ve been to your site. Thanks for posting more details.

  2. Rubbish Removal hall says

    Thanks for providing these details within your website.