# [SERVERGUIDE] Tips & tricks per server

## cerri

Ciao ragazzi, ben trovati!

Sto mettendo su un serverino per una azienda, ed è la prima azienda che mi sta dando l'oppurtinità di scegliere la distribuzione... non vi dico che mi hanno anche messo a disposizione un vecchio server BULL 4 x CPU PPC e quanto ciò mi possa aver reso felice  :Very Happy: 

A parte tutto, sto mettendo su quindi un serverino con Gentoo, non clusterizzato: avete qualche trick da darmi, info, suggerimenti?

Il serverino dovrà fare da faxserver, spero con un flusso primario a 15 canali. E' un P3 (la macchina BULL la utilizzo per giocare, al momento). Nient'altro.

Al momento ho fatto un po' di modifiche al make.conf, ma niente di che.

Insomma, la mia domanda è: c'è qualcosa che voi fareste a un server linux Gentoo come ottimizzazione?? Ovviamente, non vi sto chiedendo CFLAGS o cose simili....

Su, su, fatevi avanti!

Saluti,

----------

## federico

Non ho ben capito la domanda, come ottimizzazione di cosa se non le flag, hdparm e simili?

Cosa deve fare questo server oltre che da faxserver?

PS:

Prendo occasione per segnalare, a proposito di server, un programma prodotto da un utente del gentoo forums, in portage, che si chiama fail2ban (se fate una ricerca nel forum lo trovate subito assieme a qualche configurazione aggiuntiva) che ho scoperto in questi giorni, un modo semplice per mettere in deny chi sbaglia troppe password da un qualsiasi servizio attivo.

Federico

----------

## randomaze

Ciao cerri, é sempre un piacere leggerti  :Very Happy: 

 *cerri wrote:*   

> Insomma, la mia domanda è: c'è qualcosa che voi fareste a un server linux Gentoo come ottimizzazione?? Ovviamente, non vi sto chiedendo CFLAGS o cose simili....

 

Se vuoi usare XFS sicuramente una letta accurata di questo thread.

----------

## MeMyselfAndI

quando hai finito posti un po di info ? Interessa anche a me la questione del fax server, sopratutto usato in combinazione con client win... 

purtroppo al momento tra lavoro scuola e amenitá varie (femmine) non ho tempo di darci nemmeno un occhiata  :Very Happy: 

----------

## .:chrome:.

trattandosi si "server", io mi sbizzarrirei in hardening lanciato oltre i confini dell'immaginazione.

adesso sto facendo delle prove su come "isolare" gli amministratori nelle proprie homes, fornendo però al contempo tutti gli strumenti ed i privilegi di cui necessitano. se ti interessa una cosa di questo tipo, possiamo scambiarci qualche idea

----------

## acidcrash

Io ormai in produzione avrò almeno una 40ina di box gentoo...la maggior parte fanno da firewall o da gw vpn, ma ho anche qualche file server, un fax server e dei server web; ovviamente per ottimizzare i tempi di installazione all'inizio mi ero preparato una sorta di stage4 per ogni arch con dentro più o meno tutto quello che mi serviva. In seguito, dopo alcuni problemi di stabilità, ho deciso di mantenere arch i386 per tutti, indipendentemente dall'hardware...questo un po' a discapito delle prestazioni, ma con una notevole stabilità (es: ho una macchina che fa da webserver, mail server, ftp, backup, non chè macchina di testing con UML. A oggi, questa macchina ha un uptime di 407 gg e non mi ha dato mai alcun problema!   :Very Happy: 

Gli unici consigli che ti posso dare sono:

- Usa kernel vanilla pulito (possibilmente 2.6 che ormai è molto stabile)

- Non usare opzioni di compilazione "tirate" o otiimizzate per la box che stai installando (leggi sacrifica le prestazioni per la stabilità)

- Cerca di tenere la box aggiornata giornalmente se ce la fai (va bene anche ogni 2-3 gg) e pulita

- Stai attento a ogni pacchetto che installi, quindi non installare pacchetti che non avranno alcuna utilità e che andranno solo a fare + casino nella tua box

- Usa gentoolkit x tenere tutto sotto controllo 

- In ultimo, se questa macchina è su internet, hardenizza il tutto (chroot, file check integrity, intrusion detection etc) e usa al meglio iptables

Magari ho detto cose banali, ma secondo me è tutto quello che c'è da fare!

Per il resto, rimane sempre una box gentoo, quindi amala e curala   :Very Happy: 

Salut

AcidCrash

----------

## cerri

Grazie a tutti delle risposte!

Allora:

federico: intendevo qualcosa di hardening o tuning, che non fossero però le solite cflags o use. Parlavo di qualche patch per il kernel, qualche impostazione per la memoria, qualcosa di questo tipo... diciamo un'ottimizzazione che sia utile per un server ma non per una workstation (un ottimo esempio è lo scheduler).

randomaze: grazie per gli hint di xfs! tuttavia, all'epoca del mio test dei filesystem xfs non si dimostrò un buon filesystem per quanto riguarda il journaling (al contrario della velocità, dove si dimostrò impareggiabile). Vero è che di tempo ne è passato: qualche commento a riguardo?

MeMyselfAndI: io ti posto le info, tu mi passi le "amenità varie"?  :Very Happy: 

k.gothmog: molto interessante... al momento ti posso fornire poche info, in quanto il server in questione non è nemmeno pubblico, non osta servizi pubblici ed è solo un fax server... per cui chroot vari non li reputo necessari. Però il tuo progetto è veramente interessante...  :Smile:  una domanda però: costa intendi per "amministratori"?

Saluti!

PS il fax server con la scheda che ho io non può funzionare £=&"/&£$!$!!!! ora sto provando il pbx asterisk... qualcuno lo ha provato?

----------

## cerri

 *acidcrash wrote:*   

> Io ormai in produzione avrò almeno una 40ina di box gentoo...la maggior parte fanno da firewall o da gw vpn, ma ho anche qualche file server, un fax server e dei server web; ovviamente per ottimizzare i tempi di installazione all'inizio mi ero preparato una sorta di stage4 per ogni arch con dentro più o meno tutto quello che mi serviva. In seguito, dopo alcuni problemi di stabilità, ho deciso di mantenere arch i386 per tutti, indipendentemente dall'hardware...questo un po' a discapito delle prestazioni, ma con una notevole stabilità (es: ho una macchina che fa da webserver, mail server, ftp, backup, non chè macchina di testing con UML. A oggi, questa macchina ha un uptime di 407 gg e non mi ha dato mai alcun problema!   

 

OHHHHHHH! queste sono le cose che mi piace leggere!!!  :Very Happy: 

Forse i386 è un po' troppo spinto, magari i686 ti dovrebbe andare bene uguale.

Comunque si, anch'io sono per un server con ottimizzazioni all'osso: in sostanza, non hanno senso.

 *acidcrash wrote:*   

> Gli unici consigli che ti posso dare sono:
> 
> - Usa kernel vanilla pulito (possibilmente 2.6 che ormai è molto stabile)
> 
> - Non usare opzioni di compilazione "tirate" o otiimizzate per la box che stai installando (leggi sacrifica le prestazioni per la stabilità)
> ...

 

No, hai detto cose sacrosante. Fortunatamente l'ultimo punto non mi compete  :Wink: 

Per quanto riguarda i pacchetti, quando gentoo era ancora un pezzo di carta e niente più usavo una distro di linux (kernel 2.2.8 ) che occupava 140 mb...  :Smile:  penso che siamo sulla stessa lunghezza d'onda!

Ciao!

----------

## .:chrome:.

 *cerri wrote:*   

> costa intendi per "amministratori"?

 

webmaster, postmaster, amministratore del DB...

quando sono persone diverse dal sottoscritto, tendo a dare loro i privilegi per poter alterare anche le configurazioni DEI SOLI SERVIZI CHE DEVONO GESTIRE senza fornire accesso di root

----------

## makoomba

@cerri

se la macchina non dev'essere accessibile da internet, evita la configurazione hardened.

ti risparmi errori in runtime e/o compilazione, moduli che oopsano il kernel e via dicendo.

sui miei server:

- partizioni apposite per /var/log, /tmp, /data 

- raiserfs su /tmp, ext3 su tutto il resto

- /var/tmp link a /tmp

- noatime per tutte le partizioni

- nosuid,noexec,nodev per /var/log, /tmp, /data

- compilazione in ram

- unclepine 

per il resto, credo che abbiano già detto tutto.

----------

## kattivo

Se posso aggiungere qlk...

Io e federico, abbiamo avuto esperieze su un server gentoo tipo quello che stai per installare te.  

l'hardware era:

4 proc xeon 64bit, su scheda tyan, controller scsi, lettori scsi..ecc

Abbiamo provato a installarlo in diversi modi..

alla fine ci siamo resi conto, che il sistema andava meglio configurato alla perfezzione. tipo:

-Il kernel abbiamo usato il gentoo-sources. Abbiamo eliminato tutte le cose in piu per ottenerlo piu leggero possibile.

-make.conf abbiamo messo le flag sue..march-nocona..per poter compilare tutto a 64bit. La compilazione a 64bit 

c'e stata di grosso aiuto per allegerire lo sforzo della macchina. Un bridge con 13schede di rete intel gigabit appesentiva molto il sistema a 32bit..

Questo server..chiamato da noi Nerone, non è che dovesse fare tanto sforzo, pero' doveva garantire la sicurezza e la stabilita'..

Nerone faceva solo da: Samba, sock5, dhcp server, bridge di rete, backup su disco Ide, backup su DDS3 sony Via nastro, squid..ecc

Posso dire, che Nerone ha raggiunto il suo scopo....ora è attivo da un mesetto e non ha nessun problema...

Quindi, per esperienza ti consiglio di compilare il kernel come va compilato!...e di cercare di far sforzare al meno la macchina:)

Spero' che ti possa essere da aiuto...

----------

## cerri

k.gothmog: allora non gli dare proprio la shell !  :Smile: 

makoomba: mi sono piaciuti molto i tuoi consigli, ma ti domando:

- perchè invece di reiser per la tmp, non usi la ram?

- perchè linki /var/tmp a /tmp? Hanno funzioni differenti (anche di security).

- unclepine, il tool di zio chris, come può mancare!  :Very Happy: 

kattivo: thanks!

Saluti,

----------

## makoomba

 *cerri wrote:*   

> - perchè invece di reiser per la tmp, non usi la ram?

 

usare la ram complicherebbe di molto la gestione di /tmp: eventuali residui corposi andrebbero a prosciugare inutilmente la memoria.

di solito utilizzo tmpfs per scopi precisi e limitati, ad esempio 

- hash file di postfix

- dir temporanea per amavis

 *cerri wrote:*   

> - perchè linki /var/tmp a /tmp? Hanno funzioni differenti (anche di security).

 

perchè a /tmp dedico una partizione di 2Gb e la monto nosuid,noexec,nodev.

le motivazioni a favore di /var/tmp non mi hanno mai convinto.

----------

## .:chrome:.

 *makoomba wrote:*   

> le motivazioni a favore di /var/tmp non mi hanno mai convinto.

 

potrebbe anche starci, ma come ha detto cerri hanno funzioni molto diverse.

se hai cinque minuti guarda qui: http://www.pathname.com/fhs/pub/fhs-2.3.html

vedrai che viene fatta la distinzione:

/tmp : Temporary files

/var/tmp : Temporary files preserved between system reboots

penso che la cosa si commenti da sola

aggiungo un commento personale: credo che non sia mai una buona cosa cambiare le porzioni standard della struttura del file-system. anche da utente root io non tocco mai niente al di fuori della home e di /etc

----------

## makoomba

non mi convince proprio la definizione "Temporary files preserved between system reboots".

se deve sopravvivere ad un reboot, imho, non è temporaneo.

 *Quote:*   

> Although data stored in /var/tmp is typically deleted in a site-specific manner, it is recommended that deletions occur at a less frequent interval than /tmp

 

"less frequent interval" è troppo generico per supportare una reale distinzione tra /tmp e /var/tmp

----------

## .:chrome:.

lo standard è quello, ed è q quello che si devono attenere programmi e distribuzioni, e questo penso dica tutto.

----------

## makoomba

mica ho detto che si deve cambiare lo standard, solo che se non ritengo valida la motivazione, sul mio sistema, faccio a modo mio.

i dati andrebbero in /var ma in /var/lib ci sono anche librerie.

sui miei servers ho una partizione dedicata e la monto nosuid,noexec,nodev in /data.

----------

## .:chrome:.

beh, chiaro che ognuno può fare quello che vuole, sulle sue macchine, ma così facendo stai violando lo standard.

se un programma cerca i dati in /var  e/var/lib, cosa fai? vai a rimappare tutti i percorsi nelle impostazioni del programma? mi sembr aparecchio scomodo, e poi non è garantito il funzionamento di tutto quanto così facendo.

sicuramente perdi parte delle funzioni legate ad inotify, cosa che non accade rispettando lo standard

----------

## makoomba

ho molte più customizzazioni di quelle che ho riportato, le uso da anni su varie distro e non ho mai avuto il minimo problema a riguardo.

il tutto si riduce ad una mera modifica dei file di configurazione e all'aggiunta di qualche link simbolico, più che altro per comodità.

----------

## Dr.Dran

Bene io vengo in tuo aiuto con un link a una bella e breve guida:

http://www.puschitz.com/SecuringLinux.shtml

Molto utile, per costruire e rendere un pò +sicuro/stabile un piccolo server di produzione  :Very Happy: 

P.S. E' un modo per sviare un pò la conversazione che forse andava un pò fuori tema   :Wink: 

----------

## Dr.Dran

Riuppo questo howto e ripropongo, per tenere a bada le dir con i file temporanei questa utility: tmpwatch che è in portage.

L'unica pecca richiede che la partizione montata non abbia l'impostazione noatime abilitata poichè basa il suo controllo sull'accesso ai files... Beh questo può essere un problema visto che opzioni come atime e diratime possono rllentare notevolmente il lavoro della CPU... però si può ovviare facendo una partizione Ad Hoc per il sistema, l'unica cosa che mi rende perplesso è la dimensione di questa partizione... 512 Mbyte, 1 Gbyte? Qualche d'uno ha qualche idea?

Ciauz  :Very Happy: 

Mi piace riuppare questi post, perchè si possono riempire di tips interessanti eh eh eh  :Wink: 

----------

## .:chrome:.

 *DranXXX wrote:*   

> Beh questo può essere un problema visto che opzioni come atime e diratime possono rllentare notevolmente il lavoro della CPU... 

 

falso, perché stai guardando il problema dal lato opposto: atime e dtime sono funzioni del file system e del kernel. sono richieste

non implementarle comporta ovviamente uno speedup, ma a fronte di una perdita totale o parziale di alcune funzionalità. in sostanza non è una cosa da fare a cuor leggero

----------

## Dr.Dran

ooops   :Embarassed:  , effettivamente hai ragione... si solito lo implementavo sempre nelle cartelle home degli utenti per aumentare un attimo le prestazioni  :Razz: 

P.S. Sei sempre il solito bacchettatore   :Very Happy:   tu mi vuoi male   :Very Happy:   :Very Happy:   :Very Happy: 

----------

## .:chrome:.

 *DranXXX wrote:*   

> lo implementavo sempre nelle cartelle home degli utenti per aumentare un attimo le prestazioni

 

secondo me (ma è solo un parere mio) ha senso implementarlo solo laddove non ha senso quella funzionalità. come /boot e /tmp, nelle quali non metto nemmeno il journal, per la cronaca. nelle homes degli utenti perderei funzionalità importanti per la gestione di maildir, NFS, e delle interfacce grafiche

----------

## Dr.Dran

...mmm sono daccordo a metà. nel senso che dipende dal tipo di server o servizio che vuoi avere... bene se tu mi dici ho un  server su cui gli utenti si loggano e possono avere la possibilità di utilizzare un terminale X e di eseguire applicazioni o atro... bene, concordo, ma ad esempio su una applicazione tipica come un file server in cui in genere la cartella home è montata con le opzioni di nodev/noexec/nosuid per aumentare le prestazioni un bel noatime o nodiratime non precludono alcuna funzionalità o meglio non almeno per quello che rigurarda la mia esperienza   :Wink: 

Edit: comunque se dimentico qualche cosa di essenziale fammelo notare   :Very Happy: 

----------

## .:chrome:.

hai ragione. resta sempre da vedere se usi qualche sistema che si appoggia alle registrazioni dei tempi. potrebbe essere qualcosa basato su FAM o gamin, o anche a livello kernel come dnotify/inotify

----------

## Kernel78

Io tmpwatch lo uso da tempo sul mio "serverino" a casa per tenere sotto controllo /tmp e i distfiles (purtroppo lo spazio è tiranno ma un upgrade è all'orizzonte), in tmp un file rimane inutilizzato al massimo una settimana mentre i distfile li tengo per 4 mesi.

Non vedo l'ora di riuscire a procurarmi un pc su cui provare un sitema hardening ...

----------

## Dr.Dran

eh eh eh non ti preoccupare kernel78... per il momento sto affrontando il problema io.... eh eh eh ho comprato una schedian della VIA e ci sto costruendo sopra un bel serverino hardened... poi vediamo cosa salta fuori e magari ci faccio un bel guidino...  :Very Happy: 

----------

## Ilvalle

Approposito di tmpwatch,,,

Nella nuova versione di gentoolkit c'è 

```
eclean
```

Letto qui:

http://www.gentoo.org/news/en/gwn/20060130-newsletter.xml

ciao

----------

## Kernel78

 *Ilvalle wrote:*   

> Approposito di tmpwatch,,,
> 
> Nella nuova versione di gentoolkit c'è 
> 
> ```
> ...

 

Grazie mille, me l'ero persa ...

----------

## Truzzone

 *DranXXX wrote:*   

> eh eh eh non ti preoccupare kernel78... per il momento sto affrontando il problema io.... eh eh eh ho comprato una schedian della VIA e ci sto costruendo sopra un bel serverino hardened... poi vediamo cosa salta fuori e magari ci faccio un bel guidino... 

 

Uhhh, attendo trepidante la guidina   :Very Happy: 

Ciao by Truzzone   :Laughing: 

----------

## Dr.Dran

 *Ilvalle wrote:*   

> Approposito di tmpwatch,,,
> 
> Nella nuova versione di gentoolkit c'è 
> 
> ```
> ...

 

Si molto carino, ma tmpwatch serve puer per tenere a bada la directory /tmp eh eh eh a altro ancora eh eh eh   :Very Happy: 

@Truzzone non ti preoccupare presto la verdai nascere  :Very Happy: 

----------

## DGilmour

Ciao Cerri.

Anche io come te stò realizzando un piccolo FAX server per il mio commercialista e mi ha dato piena autorità, quindi viva gentoo!!! Io gestisco solo una linea telefonica com modem seriale US Robotics. Il mio commercialista vorrebbe smistare in "automatico" i FAX in arrivo in modo che vengano dirottati nei uffici di competenza e che titti i FAX che lui dice che sono SPAZZATURA non vengano messi nelle email, ma semplicemente in una directory.

Ora sono tentato di recuperare in qualche modo il numero di telefono del fax in arrivo, in modo da poi crearmi un database del tipo:

Numero FAX mittente -> inoltrare il fax in email al reparto X

In modo poi da fare due cose interessanti:

Numeri FAX(FAX Spazzatura: 1, 2, 3, ...) -> direttamente in una directory cestino senza segnalazione in email;

Numero FAX mittente non è registrato -> centralino. (Poi l'addetto/addetta al centralino smista il FAX e registra nel database l'accoppiata mittente -> destinatario).

Cretede sia una cosa interessante???

Come Hardware uso:

Scheda Madre ASUS A8UX(Non mi ricordo bene);

AMD Sempron 2800 XP+;

1024 Mbyte di ram;

Due Hard Disk da 40 Gbyte;

Masterizzatore DVD per le copie di backup che dovrei fare per i fax in entrata e in uscita (criptando il tutto, visto la legge sulla privacy);

Gruppo di continuità APC da 550W con controllo seriale per lo shutdown.

Ciao a tutti, Keres.

----------

## Dr.Dran

Wow, molto interessante come applicazione, che hai intenzione di utilizzare? Hylafax, efax?

FAcci sapere, magari con un bel HowTo   :Very Happy: 

Ciauz   :Very Happy: 

----------

## .:deadhead:.

già anche a me interesserebbe il discorso howto  :Very Happy: 

----------

## DGilmour

Pensavo HylaFax come server FAX, MySQL come db (scelta obbligata) e QT per l'interfaccia grafica di windows oppure il Visual Basic, ma è tutto ancora da vedere...

Se avete qualche spunto e qualche idea da darmi, ben venga!!!

Ciao, Keres.

----------

## Dr.Dran

beh per la portabilità non potresti pensare + che una interfaccia locale a un frontend scritto in php sul server? così ti slegheresti dalla dipendenza del tipo di client... no?   :Very Happy: 

----------

## makoomba

 *DranXXX wrote:*   

> beh per la portabilità non potresti pensare + che una interfaccia locale a un frontend scritto in php sul server? così ti slegheresti dalla dipendenza del tipo di client... no?  

 

imho, è anche più semplice da realizzare.

----------

## DGilmour

Pensandoci è molto meglio in php!!!!

 :Very Happy: 

----------

## Dr.Dran

Cool! Ottima scelta e poi in portage stanno stabilizzando la versione 5 di php, con un sacco di funzioni in +... tosto!!!

 :Wink: 

----------

## .:chrome:.

 *DranXXX wrote:*   

> Cool! Ottima scelta e poi in portage stanno stabilizzando la versione 5 di php, con un sacco di funzioni in +

 

sì, però non facciamo la corsa all'ultima versione. non è per nulal giustificata: nella maggior parte dei casi php-4 è sufficiente ed esistono casi in cui php-5 è addirittura sconsigliato.

la scelta credo sia bene valurtarla con calma caso per caso

----------

## DGilmour

Bhè, penso che andrà avanti sempre con la versione 4 e poi vediamo di migrare alla 5 se è proprio necessarrio, ma per una stupidata così non credo che ci sia questo gran bisogno dell'ultima versione...

Cmq ora mi sono impelagato in un altro bel guaio!!! Accidenti a me e alla mia lingua troppo lunga!!!

Ciao a tutti, Keres.

----------

## makoomba

 *k.gothmog wrote:*   

> sì, però non facciamo la corsa all'ultima versione. non è per nulal giustificata: nella maggior parte dei casi php-4 è sufficiente ed esistono casi in cui php-5 è addirittura sconsigliato.
> 
> la scelta credo sia bene valurtarla con calma caso per caso

 

*

----------

## .:chrome:.

 *makoomba wrote:*   

> *

 

 :Question: 

----------

## makoomba

* = quoto

----------

## Ic3M4n

 *makoomba wrote:*   

> * = quoto

 

quanto sei complicato... per cosa alla fine? ci sarà sempre qualcuno che ti chiederà cosa vuol dire. tanto vale scrivere direttamente quoto no?   :Wink: 

----------

## makoomba

 *Ic3M4n wrote:*   

> quanto sei complicato... per cosa alla fine? ci sarà sempre qualcuno che ti chiederà cosa vuol dire. tanto vale scrivere direttamente quoto no?  

 

*

ehm, quoto....

----------

## .:chrome:.

 *makoomba wrote:*   

> * = quoto

 

ah, ok... avevo paura che fosse un modo strano per cazziarmi perché avevo scritto una vaccata  :Very Happy: 

----------

## Dr.Dran

OK, capisco, beh ovviamente il mio era solo un consiglio, visto che PHP5 ha delle feature un pò + avanzate (OOP/PEAR/PECL) per la gestione di files, PDF, compressi, immagini... insomma mi sembrava + adatto per un discorso di interfaccia visto che dovrai manipolare immagini... comunque sono consigli da prendere con le molle... non si parla di foga da novellino   :Very Happy: 

P.S. E poi scusate ma sono preso dallo studio di PHP5/SOAP/XMLRPC che mi mettono in condizioni di essere fortemente di parte  :Very Happy: 

----------

## .:chrome:.

 *DranXXX wrote:*   

> OK, capisco, beh ovviamente il mio era solo un consiglio, visto che PHP5 ha delle feature un pò + avanzate (OOP/PEAR/PECL) per la gestione di files, PDF, compressi, immagini... insomma mi sembrava + adatto per un discorso di interfaccia visto che dovrai manipolare immagini... comunque sono consigli da prendere con le molle... non si parla di foga da novellino  

 

quelle features che dici ci sono anche in php-4

----------

## lavish

Spostato da Forum italiano (Italian) a Forum di discussione italiano.

Penso proprio che sia questa la collocazione più  adatta  :Wink: 

----------

## Dr.Dran

 *k.gothmog wrote:*   

>  *DranXXX wrote:*   OK, capisco, beh ovviamente il mio era solo un consiglio, visto che PHP5 ha delle feature un pò + avanzate (OOP/PEAR/PECL) per la gestione di files, PDF, compressi, immagini... insomma mi sembrava + adatto per un discorso di interfaccia visto che dovrai manipolare immagini... comunque sono consigli da prendere con le molle... non si parla di foga da novellino   
> 
> quelle features che dici ci sono anche in php-4

 

Si, è vero, ma hai mai programmato SOAP/XMLRPC in php4? Purtroppo non sono il massimo della stabilità... anche la programmazione OOP in php4 è molto rudimentale... comunque queste sono esigenze che forse per un programma come quello proposto non sono necessare... (a parte XMLRPC in mia opinione...)

Ciauz   :Very Happy: 

----------

## .:chrome:.

non ho mai programmato in SOAP/XMLRPC, né in php né in altri linguaggi, comunque... 

 *DranXXX wrote:*   

> anche la programmazione OOP in php4 è molto rudimentale...

 

questo è FALSO. sono pregiudizi stupidi ed infondati. hai mai visto phpMyAdmin, phpPgAdmin, phpBB funzionare solo su php-5 e non php-4? eppure quelli usano OOP, e templates

----------

## Dr.Dran

Bene... dunque allora, ti elenco un pò di differenze:

Nella versione 4 di PHP esisteva un supporto a XML sufficientemente interessante ma necessariamente limitato. XML pure essendo ormai uno standard, solo relativamente recentemente ha assunto una posizione di grande rilievo. Così mentre PHP4 prevedeva un supporto a XML basato su SAX, ovvero un sistema che consentiva un parsing efficace ma non semplicissimo da implementare, in PHP5 questo supporto è stato ampiamente migliorato. In PHP5 tutto il supporto a XML è stato affidato alla libreria libxml2 sviluppata dallo gnome project. Questo tipo di approccio consente una interoperabilità stretta fra le varie tecniche ed estensioni che possono essere adottate nel parsing di un documento XML. Nonostante questo il modello SAX che basa il suo parsing su funzioni di CallBack è stato mantenuto e questo fa si che il vecchio codice sviluppato con PHP4 continui a funzionare, tuttavia mentre nelle versioni di PHP precedenti alla 5 , SAX si basava su una libreria chiamata expat, nelle nuove versioni si basa sulla libreria libxml2 di gnome, e questo potrebbe provocare qualche piccola incompatibilità se avete installato una libreria libxml2 non troppo recente.

Il modello DOM implementato in PHP5 segue fedelmente le indicazioni del W3C a differenza di quello implementato in PHP4 che invece le seguiva solo parzialmente. Se avete scritto codice PHP nella versione 4 facendo uso di DOM è molto probabile che questo codice non funzioni in PHP5, questo perché i metodi e le proprietà aderiscono adesso formalmente agli standard. E' invece molto probabile che non avrete difficoltà a usare questo metodo se provenite da altri linguaggi che già ne fanno uso.

PDO e' un' estensione in grado di pilotare database di diverso tipo tramite un' unica interfaccia (o meglio classe) che con gli stessi metodi opera su mysql, mysql 4.x, sqlite 2.x, sqlite 3.x , PostgreSQL, sqlserver, oracle e chi piu' ne ha piu' ne metta. Solitamente questo tipo di classe, che racchiude un insieme di sotto classi trasparenti per l'utente, viene definito layer di astrazione.

Parlando di PDO parliamo di PHP5 e parlando di PHP5 parliamo di programmazione ad oggetti, quindi se sapete poco (o niente) della OOP di PHP vi consiglio di documentarvi un po' prima di continuare a leggere.

Ciauz e queste sono solo poche delle migliorie introdotte in php5 rispetto a php4.

 :Very Happy: 

Perchè ho citato XML e PDO (sono stato anche abbastanza "tecnico"), questo è un esempio e credo che l'affermazione che hai fato tu, sia un pelo leggera, considera che è intenzione degli sviluppatori di php (e questo non è poco) mantenere la portabilità fra le applicazioni sviluppate da una versione passata ad una versione recente...   :Wink: 

----------

## .:chrome:.

 *DranXXX wrote:*   

> Bene... dunque allora, ti elenco un pò di differenze:

 

cosa sa cambiato da php-4 a php-5 lo sapevo anche prima.

ma non hai mai sentito parlare di pear? questo ribalta un bel po' il tuo discorso, dato che offriva quelle features anche con php-4

----------

## makoomba

beh, è vero che con la 5.0 l'object model è stato riscritto ma si programma una bellezza in OO anche in php4

il passaggio alla 5.0 è visto con un certo timore dagli sviluppatori.

un conto è cominciare un nuovo progetto, altro discorso è migrare un intero framework solo per avere qualche features in più.

/me che si tiene la 4.0

----------

## Kernel78

[FLAME]

Ma buttate via PHP e passte tutti a rails

[/FLAME]

Cavolate a parte (anche se a me rails fa impazzire e se parliamo di OO allora si butta via tutto in favore di Ruby  :Cool:  )

Personalmente ritengo che, anche se è vero che il passaggio alla 5 non è proprio visto da tutti come la manna dal cielo, iniziare a scrive un'applicazione (magari non mission critical) direttamente con la 5 potrebbe dare dei vantaggi. Discorso diverso richiederebbe la migrazione.

----------

## Dr.Dran

Rieccomi di ritorno dalla montagna, wow ho scatenato un bel subbuglio...

@k.gothmog si conosco bene PEAR, ma tu conosci bene PECL?   :Wink:  (eh eh eh credo che se lo studierai un pochino te ne innamorerai... questa non vuole essere una provocazione, ma un guarda bene quello che ti offre la piazza)  :Very Happy: 

@makoomba: capisco quello che vuoi dire, ma comunque credo che dovendo creare una applicazione ex-novo sia + interessante svilupparla con la versione + recente e stabile di un software, no? (scusa Kernel78 se ripeto quello che hai detto e che trovo molto corretto e giusto) E poi nessuno parlava di migrare framework o altre cose...

Comunque lasciamo decidere a chi ha atto la proposta e aspettiamo magari un bell'Howto o application notes (dal gergo elettronico)   :Very Happy:   :Very Happy:   :Very Happy: 

----------

## .:chrome:.

@DranXXX: proprio stasera mi sono imbattuto con horde, che è un esempio di programmazione modulare, ad oggetti, e con ampio uso di templates.

sconsiglia php-5

----------

## !equilibrium

 *Kernel78 wrote:*   

> [FLAME]
> 
> Ma buttate via PHP e passte tutti a rails
> 
> [/FLAME]

 

ehmmm...  il nuovo Zend Framework sarà un 'clone' di Ruby On Rails, e PHP6 permetterà di avere le stesse funzionalità di Ruby (e arriverà per la fine dell'anno).

----------

## !equilibrium

 *k.gothmog wrote:*   

> @DranXXX: proprio stasera mi sono imbattuto con horde, che è un esempio di programmazione modulare, ad oggetti, e con ampio uso di templates.
> 
> sconsiglia php-5

 

Horde non sconsiglia php5, ci sono 2 versioni per ogni applicativo horde, una per php4 e una per php5.

----------

## Dr.Dran

Quoto in pieno quello che ha affermato Darkangel76, ho letto un pò di documentazione (mi scuso per le risposte un pò frammentete, ma ho alterneto un weekend di vacanza con altri impegni... seri   :Wink:  )... inoltre guardate qui:

 *Quote:*   

> IMP 4.1
> 
> IMP H3 (4.1) is now available. This is a major upgrade on top of IMP 4.0.
> 
> The major changes compared to the IMP 4.0 versions are:
> ...

 

 *Quote:*   

> About Horde
> 
> The Mission
> 
> The Horde Project is about creating high quality Open Source applications, based on PHP and the Horde Framework.
> ...

 

Dunque... basta analizzare in maniera + approfondita i framework per non peccara in affermazioni leggere...   :Very Happy: 

P.S. anche qui sul sito di horde citano il miglior supporto a XML di php5... Ah... trovami la pagina in cui si sconsiglia l'utilizzo di php5... così mi posso documentare... (visto che sono un povero operaio metalmeccanico   :Wink:  )

P.P.S. Questa non vuole essere una provocazione, ma un bel approfondimento   :Wink: 

----------

