Loading...
 

How To Apache- Php- Postgresql

APACHE+PHP+POSTGRESQL
Obbiettivo: installare una copia locale di universibo sul mio PC di casa.

Attenzione

Questa guida è obsoleta e dev'essere aggiornata, per quanto riguarda Ubuntu consultare:


Software necessario

[-]

  • PostgreSQL 8.x
    • Dove scaricarlo: http://www.postgresql.org/ftp/(external link)
    • NB scaricate sempre l'ultima versione che trovate di postgres, ma ricordatevi sempre che, supponendo il numero di versione si 8.x.y, per gli sviluppatori di postgres un cambiamento nella 'x' vuol dire una major version, quindi potrebbero esserci dei cambiamenti anche incompatibili, ma soprattutto il passare i dati del db alla nuova versione richiede delle accortezze specificate nelle note di rilascio. Siate intelligenti e dateci un'occhiata prima di installare ;)

  • PHP
  • NOTE: Universibo funziona sia con php4 (escluso php 4.4.0) che con php5, ma dato che adesso php4 è deprecato, installate direttamente php5. eventuali configurazioni per php4 saranno tenute come memoria storica, just in case.




Win

Installazione Apache

[-]
- Lanciate l'installer di Apache
- Andate avanti sino alla sezione " License Agreement" e accettate la licenza e andate avanti
- Arrivate alla sezione "Server information", queste informazioni non sono molto importanti se non dovete fare un server pubblico, e visto che in questo caso sarà un server ad "uso personale", i valori di default dovrebbero andare bene, quindi:
spuntate "For All Users, on port 80, as a service"... (opzione che modificheremo manualmente più avanti)
- Sezione "Setup Type", scegliete l'installazione tipica
- Sezione "Destination Folder", i valori di defoult dovrebbero andare bene, quindi:
C:\Programmi\Apache Group\
- Sezione "Ready To Install The Program", pigiate su INSTALL
- Ad installazione completata cliccate su FINISH
- bene avete un server web installato sulla vostra macchina

Installazione PostgreSQL (riferito alla versoine 8.0.3)

[-]
-Scompattate l'archivio postgresql-8.0.3.zip
-Troverete 4 file di cui ve ne seve solo uno, esattamente quello che si chiama "postgresql-8.0.msi".. lanciatelo!
-Scegliete la lingua e andate avanti
-Arrivati alla sezione "Installation Notes", accetate la licenza e andate avanti
-Sezione "Installation Options", le impostazioni di defoult dovrebbero andare bene, quindi: come cartella di installazione lasciate C:\Programmi\PostgreSQL\8.0\
-Ok arrivate alla sezione "service configuration", spuntate l'opzione "Install as a service"! Lasciate invariati i campi "Service name", "Account name" e "Account domain", impostate invece una password per l'account di POSTGRES. (vi verranno fatte 2 successive richieste: 1)la conferma della creazione dell'account "POSTGRES" confermate!, 2)la creazione di una password casuale in sostituzione a quella impostata da voi Annullate! )
-bene, siamo alla sezione "Initialise database cluster":
1) spuntate la voce "Initialise database cluster"
2) lasciate la porta di default
3) Non spuntate "Accept connections on all addreses..."
4) Nella casella "Locale" impostate "Italian, Italy"
5) Nella casella "Encoding" impostate "LATIN1"
EDIT: probabilmente nelle ultime versione di eclipse è quasi obbligatorio mettere "UTF8"
6) Nella casella "Super username" scrivete "my_username"
7) Nella casella "Password" scivete "my_password" e confermate di nuovo sotto scrivendo sempre "my_password".Pigiate NEXT.
-Sezione "Enable provedural languages", lasciate le impostazione di defoult
-Sezione "Enable contrib modules", lasciate le impostazione di defoult
-Sezione "Ready to install", cliccate NEXT
-Completatal'installazione pigiate Finish.

Ok siamo a buon punto..Sia apache ke postgres si avviano allo startup..vi dovreste trovare una 40ina di processi aperti...hehe Windows..e grazie a loro il vostro pc c mette 3 min in + a caricare.(vah beh dopo vediamo di ottimizzare un pò le cosette!)

Installazione PHP

[-]

  • php5
-scompattate l'archivio php-5.0.5-Win32 conservando la struttura delle cartelle
-rinominate la cartella in "php" e spostalela in c:\Programmi\
-aggiungete la cartella c:\Programmi\php\ al PATH del vostro sistema, come fare:
1) Tasto destro sull'icona My Computer
2) Scegliete Avanzate, quindi Variabili d'Ambiente
3) Cercate la variabile PATH, fate edit, e AGGIUNGETE ALLA FINE ";C:\Programmi\php\" ...mi raccomando, il ";" é FONDAMENTALE, dopo non vi va piú nulla!
-Copiare il file php.ini-dist che si trova in c:\PHP nella directory C:\windows dopo averlo rinominato in php.ini

  • php4
-scompattate l'archivio php-4.3.11-Win32 conservando la struttura delle cartelle
-Copiare il file php4ts.dll che si trova in c:\PHP nella cartella C:\windows\system32 (o equivalente, a secondo della versione di Windows installata).
-Copiare il file php.ini-dist che si trova in c:\PHP nella directory C:\windows dopo averlo rinominato in php.ini


Configurazione (with php5)

[-]
-stoppate apache
-Aprire php.ini con un qualsiasi editor testuale e modificare la voce extension_dir nel mio caso si trova alla riga 428 specificando la cartella che contiene le estensioni di php; nel nostro caso C:\Programmi\php\ext.
Ora cercate la stringa "extension=php_pgsql.dll" vi accorgerete che ha un ";" davanti, cancellatelo.
Fate la stessa cosa con la stringa "extension=php_mbstring.dll", salvate e chiudete.

-Aprite il file di configurazione di apache cercate la stringa 'Listen 80' e sostituitela con 'Listen 127.0.0.1:80' (serve per rendere accessibile apache solo dal locale).
-Alla fine dei moduli copiate questa stringa 'LoadModule php5_module "c:/programmi/php/php5apache2.dll"'.
-Cercate la stringa 'DocumentRoot' e impostate la cartella su cui apache punterà, nel nostro caso imposteremo la directory del workspace di eclipse dove verranno scaricati i file dal cvs quindi (ad es. nel mio caso 'DocumentRoot "C:/Programmi/eclipse/workspace').
-Cercate la stringa 'AddType application/x-gzip .gz .tgz' e subito sotto aggiungete la stringa 'AddType application/x-httpd-php .php'
-Cercate la stringa 'DirectoryIndex index.html index.html.var' e aggiungete 'index.php'. Salvate e chiudete.
-avviate apache

-scompattate l'archivio contenente phpPgAdmin rispettando la struttura
-copiate la cartella nella DocumentRoot di apache, nel nostro esempio C:/Programmi/eclipse/workspace
-entrate nella sottocartella "config" di "phpPgAdmin" e rinominate il file "config.inc.php-dist" in "config.inc.php"
-aprite il vostro Browser di fiducia e nella barra degli indirizzi digitate "localhost"(invio)
-cliccate sul link "phpPgAdmin", vi dovrebbe apparire la pagina di Login, inserite nel campo username "my_username" e nel campo password "my_password", dovreste così accedere al DB.
-Nel menù a sinistra cliccate sul link PostgreSQL, ora a destra della pagina cliccate sulla voce "Create database", scrivete ora nel campo "Name" la stringa "universibo2_1" e cliccate su CREATE.
-ora dovete procurarvi un Dump del DB di UniversiBo v2
-Aprite un Prompt dei Comandi e digitate
cd C:\Programmi\PostgreSQL\8.0\bin\ 

per entrare nella cartella di PostgreSQL contenente l'esegiubile psql.exe.
-lanciate ora il restore del DB con il comando:
psql.exe -U my_username -d universibo2_1 -f <dumpPath>/<dumpname>


-scompattare l'archivio contenente eclipse conservando la struttura delle cartelle
-spostare la cartella eclipse in c:\Programmi\
-scompattare l'archivio contenente phpeclipse
-copiare il contenuto della sottocartella plugins nella cartella pluging di eclipse:
from: <path_phpeclipse_scompattato>\phpeclipse\plugins\* --> c:\Programmi\eclipse\plugins\ -avviare eclipse -aprire una prospettiva di PHP, Team Synchronizing e CVS repository. -aggiungere un CVS repository con i seguenti dati: Host: cvs.sourceforge.net Repository path: /cvsroot/universibo User: <il vostro nome utente su sf.com> Password: <la vostra psw su sf.com> Connection type: extssh -cliccare su finish

Linux

Configurazione Apache per php e Postgres sotto Linux (Gentoo)

[-]
Ancora da completare Premetto che secondo Mel bastava lanciare emerge phppgadmin, e le dipendenze apache-php-postgres si sarebbero risolte da sole...io ho un po' pasticciato, ma cosi' funzia ;) -Installazione Questa e' la parte piu' semplice :-) ... ci metterete un po', ma vi conviene lanciare
$ emerge apache postgresql mod_php php phppgadmin
e questo vi installa tutto :-D -Configurazione Una volta emergiato tutto, dovete lanciare il seguente comando:
$ ebuild /var/db/pkg/dev-php/mod_php<quello che avete voi>/mod_php<quello che avete voi> config
Quindi dovete andare a modificare il file /etc/conf.d/apache inserendo
APACHE2_OPTS="-D SSL -D PHP4"
Poi dovete andare a modificare il file /etc/apache2/conf/apache2.conf dove ripetete le azioni descritte nella sezione precedente...attenzione per quanto riguarda la definizione della libreria di php per apache...sotto gentoo/linux si chiama libphp4.so e io l'ho trovata in /usr/lib/apache2-extramodules/...stessa cosa vale per postgres: dovete andare a modificare il file /etc/php/apache2-php4/php.ini e commentare la riga per la libreria per postgres (sostituendo dll con so se presente) Una volta fatto cio', per far partire/fermare/ripartire apache basta fare
$ apache2 -k start/stop/restart
(se volete, con rc-update potete inserirlo come comando da lanciarlo all'avvio) Per vedere se il php viene interpretato correttamente cercate di aprire phppgadmin oppure fate un file nella vostra directory di lavoro cosi'
<?php

// Show all information, defaults to INFO_ALL
phpinfo();

// Show just the module information.
// phpinfo(8) yields identical results.
phpinfo(INFO_MODULES);

?>
Per il resto...e' da finire l'How-To...;) Un grande grazie per questo How-To sotto Gentoo lo rivolgo a Mel e a http://gentoo-wiki.com/HOWTO_Apache2_with_PHP_MySQL#Configuring_Apache(external link) Passiamo a PostGres: il mio consiglio e' di seguire la prima documentazione di UniversiBO2 che potete trovare qui: http://universibo.sourceforge.net/(external link). Alcune cose pero:
  • I comandi specificati vanno lanciati dall'utente della macchina che usera' il DBMS...quindi quando lanciate
$ initdb -D /usr/share/postgresql/data/
$ postmaster -D /usr/share/postgresql/data/ -i &
NON potete essere root...almeno a me ha scritto cosi'
  • Sempre per questo motivo, io sono impazzito per loggarmi la prima volta con phpPgAdmin...questo perche' mi ha inserito come username proprio quello della mia macchina Linux...e per quanto provassi, non riuscivo ad entrare con un altro login...
  • Altre modifiche che ho fatto: ho modificato il file /etc/phppgadmin/config.inc.php settando
    $conf['extra_login_security'] a false...cosi' si puo' entrare senza password...
Dovete inoltre creare un utente con nick: my_username.

Scaricati UniversiBO! (sempre Gentoo, ma e' analogo a Windows)

[-]
Dopo essersi fatti un account su www.sourceforge.net ed essere stati accettati nel team di lavoro e dopo aver scaricato Eclipse e scompattato il plugin PHPEclipse nella cartella /usr/lib/eclipse-<tua versione>/ si puo' procedere a settare il cvs repository Aggiungetene uno nuovo con host= cvs.sourceforge.net e repository= /cvsroot/universibo e i vostri dati (personalmente non memorizzo mai la password sul computer, ma poi si tratta di inserirla ogni volta che si fa il primo check-out... Quindi scaricate i dati...cliccate su HEAD, selezionate universibo2 e fate "Check out As..." e andate ad inserirlo in una apposita directory creata nella DocumentRoot di Apache (tipo /var/www/localhost/htdocs/universibo2), dove dovete aver cambiato il proprietario della cartella con la vostra identita' normale di Linux. Scaricato tutto, dovete creare due cartelle in universibo2/universibo/, cioe' log-universibo e file-universibo ...anche qui cambiate il proprietario della cartella, e (se qualcuno puo' correggermi, sarebbe gradito :-) ) settate i permessi di scrittura per tutti su quelle due cartelle. In maniera analoga dovete fare per UniversiBO2devel: se non lo vedete fra i branches, dovete fare un refresh, quindi fate un "Check-out as" e lo chiamate universibo2devel, o come volete voi :-) A questo punto dovrebbe andare tutto...puo' essere che ci siano altre cartelle in cui settare i diritti di scrittura, tipo in <path_locale>/universibo/templates_config/unibo oltre che in log-universibo