[HOW-TO] Installazione Apache2, PHP, Mysql e PhpMyAdmin

Forum riservato alla documentazione in italiano.

Moderator: ago

User avatar
neryo
Veteran
Veteran
Posts: 1292
Joined: Sat Oct 09, 2004 2:54 pm
Location: Ferrara, Italy, Europe
Contact:

[HOW-TO] Installazione Apache2, PHP, Mysql e PhpMyAdmin

Post by neryo »

Installazione di APACHE, PHP, MYSQL e PHPMYADMIN

Questo piccolo how-to e' stato scritto allo scopo di poter installare un proprio webserver apache in locale e poter programmare in php usando un database MySql. Chiaramente i passi per ottenere un webserver da locale a remoto sono relativamente pochi...

Ogni errore e/o ommissione comunicatemela cosi' verra' integrata nell'how-to, in modo da renderlo il piu' completo possibile.
Se avete dubbi o errori durante l'installazione postateli su questo thread! :lol:
Sarebbe utile che chi porta a termine la guida, seguendola passo a passo come e' qui descritta, lasciasse un suo feedback con la versione dei vari software installati.



Loggatevi con privilegi di root!

Se volete una configurazione generica inserire queste USE flags nel file /etc/make.conf :

Code: Select all

USE="apache2 mysql php session pam ssl xml xml2 berkdb innodb jpeg png unicode"
altrimenti controllate ogni pacchetto da installare e inserite in /etc/portage/package.use le use specifiche che volete abilitare su ogni software.

Per controllare le use che avete/non avete abilitato per ogni pacchetto usate questo comando:

Code: Select all

# emerge -pv nomepacchetto
Se non l'avete gia' fatto, aggiornate gli ebuilds del vostro portage tree :

Code: Select all

# emerge sync
Se volete l'ultima versione di ogni software, dite a portage che volete utilizzare i pacchetti masked:

Code: Select all

# echo  NOMEPACCHETTO ~VOSTRA_ARCH >> /etc/portage/package.keywords
chiaramente sostituite NOMEPACCHETTO con ad esempio dev-lang/php e ~VOSTRA_ARCH con ad Es. x86, amd64 ecc..

Editate il file hosts :

Code: Select all

# nano -w /etc/hosts
e inserite il nome del vostro host..Ad esempio :

Code: Select all

127.0.0.1 localhost
N.B: L'ip 127.0.0.1 e' l'interfaccia di loopback, viene utilizzata dalle applicazioni per far riferimento alla macchina su cui sono installate.. quindi e' fondamentale per il corretto funzionamento di tutto il sistema non solo per apache!

Stessa cosa con /etc/conf.d/hostname inserendo..Ad esempio :

Code: Select all

HOSTNAME="localhost"
Procedete con l'emerge di apache:

Code: Select all

# emerge net-www/apache
Decommentate in /etc/apache2/httpd.conf impostando il vostro nome host.. Ad esempio :

Code: Select all

ServerName localhost
Editate il file /etc/conf.d/apache2 aggiungendo alla riga -D PHP4 o PHP5 secondo la vostra versione :

Code: Select all

APACHE2_OPTS="-D DEFAULT_VHOST -D SSL -D PHP5"
E sempre nello stesso file decommentate per avere i log di startup :

Code: Select all

STARTUPERRORLOG="/var/log/apache2/startuperror.log
Se non esiste gia', create la directory per i logs e cambiate l'owner per apache :

Code: Select all

# ls /var/log/
# mkdir /var/log/apache2
# chown apache:apache /var/log/apache2
Aggiungete apache allo script di startup :

Code: Select all

# rc-update add apache2 default
Procedete con l'emerge di MySql:

Code: Select all

# emerge dev-db/mysql

N.B:
Attenzione alle informazioni che vengono date al termine dell'emerge sono utili per la configurazione e potrebbero differire da quelle scritte in questa guida.

Configurate Mysql :

Code: Select all

# /usr/bin/mysql_install_db
# /etc/init.d/mysql start
# /usr/bin/mysqladmin -u root -h localhost password QUIMETTILATUAPASSWORD
N.B:Chiaramente al posto di localhost usato il vostro nome host.
Per default il file /etc/mysql/my.cnf imposta il logging binario (log-bin). Ciò logghera ogni singola transazione che modifica i dati. Se si possiede un database molto grande (per esempio di 1GB), si può arrivare a creare file estremamente grandi che possono consumare velocemente lo spazio del disco. Se si possiede poco spazio, può essere utile disattivare il logging binario.
Avviate i servizi di apache e MySql:

Code: Select all

# /etc/init.d/mysql start
# /etc/init.d/apache2 start 
Aggiungiamo anche Mysql allo startup..

Code: Select all

# rc-update add mysql default
nel mio caso ho editato il file package.use aggiungendo queste USE, vedete vuoi di aggiungere quelle che vi servono...

Code: Select all

# cat /etc/portage/package.use |grep php
dev-lang/php xmlrpc imap exif gd pic odbc soap postgres snmp iconv
Procedete con l'emerge di php:

Code: Select all

# emerge dev-lang/php
Se tutto e' andato bene e non ho dimenticato nulla dovreste vedere digitando sul browser http://localhost il vostro apache e aggiungendo un file ad esempio info.php all'interno della dir di default /var/www/localhost/htdocs/ con :

Code: Select all

<?php phpinfo(); ?>
Dovreste visualizzare andando a http://localhost/info.php le info del vostro php! Vi lascio a voi il testing di Mysql.

Installazione di PhpMyAdminL

Per chi desidera avere anche un'ottimo tool grafico per interfacciarsi da web con Mysql puo' emergiare phpmyadmin :

Code: Select all

# emerge phpmyadmin 
Seguite le istruzioni date elencate al termine dell'emerge, ovvero create il database per phpmyadmin! Questo e' solo un esempio occhio alla vostra versione! :P

Code: Select all

# mysql -u root -p < /usr/share/webapps/phpmyadmin/2.8.0.3/sqlscripts/mysql/2.8.0.3_create.sql
Fate ripartire il servizio MySql :

Code: Select all

# /etc/init.d/mysql restart
L'interfaccia e' accessibile all'indirizzo URL:

http://localhost/phpmyadmin/

Se necessario editate, modificando le impostazioni necessarie [/code]:

Code: Select all

nano -w /var/www/localhost/htdocs/phpmyadmin/config.inc.php
RIFERIMENTI UTILI


http://gentoo-wiki.com/Apache2_Install
http://gentoo-wiki.com/HOWTO_MySQL
http://www.gentoo.org/doc/it/mysql-howto.xml
http://gentoo-wiki.com/Apache_Modules_mod_php
http://gentoo-wiki.com/HOWTO_PHP4_and_P ... ltaneously

Se notate errori ed omissioni scrivete su questo thread
Last edited by neryo on Sat Jun 17, 2006 8:18 am, edited 22 times in total.
cache: a safe place for hiding or storing things..

D-link DWL-G650 AirPlus
Apache Php Mysql
User avatar
ataraxic
n00b
n00b
Posts: 74
Joined: Sun Sep 26, 2004 4:34 pm
Location: Brescia

Post by ataraxic »

Ottimo lavoro!! Davvero utile!

Appena riesco a far capire al mio router dlink di forwardare le connessioni esterne, metto su un sito!! :)
User avatar
unz
l33t
l33t
Posts: 819
Joined: Wed Jul 28, 2004 12:19 am
Location: Roma, Italia

Post by unz »

ottimo how-to, però inserirei una nota:
le nuove versioni di bashlayout cercano le configurazioni di hosts e hostname in /etc/conf.d/ e non in /etc. Per ora esce solo un avviso al boot e tutto continua a funzionare, non so però se nel futuro rimarranno "attivi" entrambi i percorsi.
Ma che c'hai là? Sulla spalla!!!! http://lascimmia.it/
User avatar
xchris
Advocate
Advocate
Posts: 2824
Joined: Thu Jul 10, 2003 10:21 pm

Re: HOW-TO Installazione Apache2, PHP, Mysql e PhpMyAdmin

Post by xchris »

neryo wrote: Se volete PHP5, emergiatevi php e mod_php separatamente in questo modo accettando temporaneamente i pacchetti masked :

Code: Select all

# ACCEPT_KEYWORDS="~x86" emerge php mod_php
questo e' altamente sconsigliato.
Meglio utilizzare /etc/portage/package.keywords

ciao
while True:Gentoo()
User avatar
neryo
Veteran
Veteran
Posts: 1292
Joined: Sat Oct 09, 2004 2:54 pm
Location: Ferrara, Italy, Europe
Contact:

Post by neryo »

unz wrote:ottimo how-to, però inserirei una nota:
le nuove versioni di bashlayout cercano le configurazioni di hosts e hostname in /etc/conf.d/ e non in /etc. Per ora esce solo un avviso al boot e tutto continua a funzionare, non so però se nel futuro rimarranno "attivi" entrambi i percorsi.
ok, ottima nota.. vedro' di aggiungere qualche avvertimento.. intanto ditemi se apportargli ulteriori miglioramenti!!

Grazie
:wink:
cache: a safe place for hiding or storing things..

D-link DWL-G650 AirPlus
Apache Php Mysql
User avatar
neryo
Veteran
Veteran
Posts: 1292
Joined: Sat Oct 09, 2004 2:54 pm
Location: Ferrara, Italy, Europe
Contact:

Re: HOW-TO Installazione Apache2, PHP, Mysql e PhpMyAdmin

Post by neryo »

xchris wrote:
neryo wrote: Se volete PHP5, emergiatevi php e mod_php separatamente in questo modo accettando temporaneamente i pacchetti masked :

Code: Select all

# ACCEPT_KEYWORDS="~x86" emerge php mod_php
questo e' altamente sconsigliato.
Meglio utilizzare /etc/portage/package.keywords
Si hai ragione.. altrimenti avviene il downgrade dei pacchetti durante un emerge world.. postate pure che poi modifico in una botta sola! :D
cache: a safe place for hiding or storing things..

D-link DWL-G650 AirPlus
Apache Php Mysql
pistodj
Apprentice
Apprentice
Posts: 229
Joined: Wed Jan 26, 2005 4:20 pm

Post by pistodj »

Giusto quello che cercavo, mi serve giusto ora!!
User avatar
!equilibrium
Bodhisattva
Bodhisattva
Posts: 2109
Joined: Sun Jun 06, 2004 5:05 pm
Location: MI/BG/LC
Contact:

Post by !equilibrium »

una nota, la use CFLAGS "mod_php" non esiste
Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe

all my contents are released under the Creative Commons Licence by-nc-nd 2.5
lavish
Bodhisattva
Bodhisattva
Posts: 4296
Joined: Mon Sep 13, 2004 10:33 am
Contact:

Post by lavish »

DarkAngel76 wrote:una nota, la use CFLAGS "mod_php" non esiste
CFLAGS? :roll: :roll: :roll: :roll:
<EDIT> se parli delle USE hai ragione ;)
User avatar
neryo
Veteran
Veteran
Posts: 1292
Joined: Sat Oct 09, 2004 2:54 pm
Location: Ferrara, Italy, Europe
Contact:

Post by neryo »

grazie per la segnalazione.. ora la tolgo!
cache: a safe place for hiding or storing things..

D-link DWL-G650 AirPlus
Apache Php Mysql
User avatar
!equilibrium
Bodhisattva
Bodhisattva
Posts: 2109
Joined: Sun Jun 06, 2004 5:05 pm
Location: MI/BG/LC
Contact:

Post by !equilibrium »

lavish wrote:
DarkAngel76 wrote:una nota, la use CFLAGS "mod_php" non esiste
CFLAGS? :roll: :roll: :roll: :roll:
<EDIT> se parli delle USE hai ragione ;)
heheehhe si, hai ragione, è che stavo modificando le mie CFLAGS mentre rispondevo sul forum,
e mi sono fatto trasportare dalla mano... lapsus, a volte capitano
scusate ;)
Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe

all my contents are released under the Creative Commons Licence by-nc-nd 2.5
User avatar
neryo
Veteran
Veteran
Posts: 1292
Joined: Sat Oct 09, 2004 2:54 pm
Location: Ferrara, Italy, Europe
Contact:

Post by neryo »

Cosa dite potrebbe essere approvato come how-to, o c'e' bisogno di ulteriori miglioramenti?

:)
cache: a safe place for hiding or storing things..

D-link DWL-G650 AirPlus
Apache Php Mysql
User avatar
randomaze
Bodhisattva
Bodhisattva
Posts: 9985
Joined: Tue Oct 21, 2003 7:55 am
Contact:

Post by randomaze »

neryo wrote:Cosa dite potrebbe essere approvato come how-to, o c'e' bisogno di ulteriori miglioramenti?

:)
Il buono di tenerli sul forum é che possono essere aggiornati sempre in base alle considerazioni.

Metterei comunque più enfasi nel fatto che quel "127.0.0.1 localhost" in /etc/hosts é fondamentale per il corretto funzionamento di (almeno) la metà delle applicazioni, non solo per apache ;-)
Ciao da me!
User avatar
neryo
Veteran
Veteran
Posts: 1292
Joined: Sat Oct 09, 2004 2:54 pm
Location: Ferrara, Italy, Europe
Contact:

Post by neryo »

randomaze wrote: Metterei comunque più enfasi nel fatto che quel "127.0.0.1 localhost" in /etc/hosts é fondamentale per il corretto funzionamento di (almeno) la metà delle applicazioni, non solo per apache ;-)
Ok! hai ragione.. l'interfaccia di loopback la usano molte applicazioni.. aggiungo qualche commento! :D
cache: a safe place for hiding or storing things..

D-link DWL-G650 AirPlus
Apache Php Mysql
Pancu
l33t
l33t
Posts: 612
Joined: Wed Feb 16, 2005 1:33 pm
Location: Cesena

Post by Pancu »

Ho un problemino.
Ho seguito la guida sopracitata.
Riesco a loggarmi da root sia da locale sia da remoto ma poi non riesco nemmeno a vedere un database e tantomeno a crearlo...
Sembro non avere nessun permesso.
Potete aiutarmi??
User avatar
neryo
Veteran
Veteran
Posts: 1292
Joined: Sat Oct 09, 2004 2:54 pm
Location: Ferrara, Italy, Europe
Contact:

Post by neryo »

Pancu wrote:Ho un problemino.
Ho seguito la guida sopracitata.
Riesco a loggarmi da root sia da locale sia da remoto ma poi non riesco nemmeno a vedere un database e tantomeno a crearlo...
Sembro non avere nessun permesso.
hai creato il db per phpmyadmin corrispondente alla tua versione?
cache: a safe place for hiding or storing things..

D-link DWL-G650 AirPlus
Apache Php Mysql
User avatar
Cerberos86
Guru
Guru
Posts: 581
Joined: Sat Dec 13, 2003 2:58 pm
Location: Padova
Contact:

Post by Cerberos86 »

Forse ho incasinato io le cose più del necessario ma per emergere ho dovuto aggiungere a mano al file /etc/portage/package.keywords:

Code: Select all

dev-lang/php ~x86
dev-php/mod_php ~x86
app-admin/eselect-php ~x86
e per emerge il comando:

Code: Select all

emerge mysql apache dev-lang/php mod_php
questo perchè il pacchetto "php" è equivoco, esiste un interprete di shel php con l'ebuild dev-php/php che tra l'altro blocca quello che interessa per questo how-to. Per PHP5 è richiesto anche il pacchetto mascherato eselect-php sul quale chiedo delucidazioni... :wink:

Ciao!
Account jabber: cerberos@jabber.org
"I'm using the hand..." ~ Guybrush Threepwood ~
User avatar
neryo
Veteran
Veteran
Posts: 1292
Joined: Sat Oct 09, 2004 2:54 pm
Location: Ferrara, Italy, Europe
Contact:

Post by neryo »

Cerberos86 wrote: Per PHP5 è richiesto anche il pacchetto mascherato eselect-php sul quale chiedo delucidazioni... :wink:
forse questo link ti può aiutare...
http://svn.gnqs.org/projects/gentoo-php ... format=raw

Comunque controlla di aver creato il db in maniera corretta... perchè come vedi al momento della creazione si fa riferimento ad un file .sql che è dipendente della versione. Quindi se hai fatto copia incolla hai sicuramente ottenuto degli errori... se hai voglia posta anche i passi che fai.. posso essere utili ad altri
cache: a safe place for hiding or storing things..

D-link DWL-G650 AirPlus
Apache Php Mysql
Pancu
l33t
l33t
Posts: 612
Joined: Wed Feb 16, 2005 1:33 pm
Location: Cesena

Post by Pancu »

neryo wrote:
Pancu wrote:Ho un problemino.
Ho seguito la guida sopracitata.
Riesco a loggarmi da root sia da locale sia da remoto ma poi non riesco nemmeno a vedere un database e tantomeno a crearlo...
Sembro non avere nessun permesso.
hai creato il db per phpmyadmin corrispondente alla tua versione?
Certo ho creato il db per phpmyadmin con questo comando:

Code: Select all

mysql -u root -p < /usr/share/webapps/phpmyadmin/2.7.0_p1/sqlscripts/mysql/2.7.0_p1_create.sql
Sapete aiutarmi??
Grazie!
Pancu
l33t
l33t
Posts: 612
Joined: Wed Feb 16, 2005 1:33 pm
Location: Cesena

Post by Pancu »

Nessuno può aiutarmi ragazzi??
User avatar
RenfildDust
Guru
Guru
Posts: 321
Joined: Sat Nov 22, 2003 9:57 am
Location: Reggio Calabria - Catania - Roma
Contact:

Post by RenfildDust »

Ho seguito la procedura e la pagina caricata mi da questo errore:

Code: Select all

Cannot load session extension. Please check your PHP configuration.
Cosa ho sbagliato?
Ho provato a seguire il link session, ma non è molto chiaro su quello chie devo fare, sembra parlare di tutt'altro..
La generazione di numeri casuali è troppo importante per essere lasciata al caso.
User avatar
Luca89
Advocate
Advocate
Posts: 2107
Joined: Wed Apr 27, 2005 12:44 pm
Location: Agrigento (Italy)

Post by Luca89 »

Prova ad abilitare la flag use session in php.
Running Fast!
User avatar
neryo
Veteran
Veteran
Posts: 1292
Joined: Sat Oct 09, 2004 2:54 pm
Location: Ferrara, Italy, Europe
Contact:

Post by neryo »

Luca89 wrote:Prova ad abilitare la flag use session in php.
la aggiungo alla guida come configurazione generica.. effettivamente l'avevo messa anch'io in package.use
cache: a safe place for hiding or storing things..

D-link DWL-G650 AirPlus
Apache Php Mysql
User avatar
neryo
Veteran
Veteran
Posts: 1292
Joined: Sat Oct 09, 2004 2:54 pm
Location: Ferrara, Italy, Europe
Contact:

Post by neryo »

ho dato una rinfresatina all how-to... intanto che mi installavo un web server al lavoro, chiramente gentoo... :P

ciau
cache: a safe place for hiding or storing things..

D-link DWL-G650 AirPlus
Apache Php Mysql
User avatar
fbcyborg
Advocate
Advocate
Posts: 3056
Joined: Sun Oct 16, 2005 12:08 pm
Location: ROMA

Post by fbcyborg »

Ciao a tutti,

ho un problema con la directory libraries: non riesco a renderla inaccessibile.. nella directory è presente un file ".htaccess" contenente le seguenti righe:

Code: Select all

# cat .htaccess
# This folder does not require access over HTTP
# (the following directive denies access by default)
Order allow,deny
A me non risulta, invece, che l'accesso sia negato. Infatti da un'altro pc della lan riesco ad accedere via browser a quella directory.
Post Reply