un server http leggero

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
brg
Linux 3.x
Linux 3.x
Messaggi: 580
Iscritto il: sab 12 mar 2011, 14:20
Slackware: 15.0
Kernel: 5.15.117
Desktop: KDE5
Località: Montecatini
Contatta:

un server http leggero

Messaggio da brg »

Salve a tutti, la scorsa settimana mi sono messo a manipolare un po' il codice sorgente del server Boa, il cui sviluppo è apparentemente fermo dal 2005, ed ho messo il risultato su altervista. Avevo scaricato Boa perché era esattamente quello di cui avevo bisogno: un server ultraleggero che funziona perfettamente anche se non viene installato con "make install". Tuttavia Boa ha qualche problemuccio e qualche mancanza, tipo PHP non funzionante e niente codifica Unicode, così ho pensato di metterci le mani un po' su. Ho notificato ciò all'ultimo mantainer noto di Boa, ma non mi ha ancora risposto: se non ricevo una risposta entro un paio di settimane penso di fare un fork e mettere tutto su google-code.

Nel frattempo se qualche animo avventuroso decidesse di provare Aspis (è il nome che ho scelto per la mia versione non ufficiale di Boa :oops: ) mi farebbe un piacere, magari scopre qualche bug che ancora non conosco :D

Per una compilazione senza patemi d'animo consiglio un "./configure --prefix=/tmp/aspis --enable-utf8", "make", "make install-strip"... a quel punto l'eseguibile in /tmp/aspis/bin/ dovrebbe lanciare il server senza problemi, basta indicare l'ubicazione della directory contenente file di configurazione. Usando il file di configurazione di esempio contenuto in prefix/share/aspis: "/tmp/aspis/bin/aspis -c /tmp/aspis/share/aspis"
Ovviamente per una installazione di sistema il file di configurazione andrebbe messo in /etc

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: un server http leggero

Messaggio da ilmich »

Ciao

1) sono andato sul sito ma non ho capito dove prendere i sorgenti
2) l'idea è carina e sono curioso, ma non ho ben capito la differenza rispetto ad altre soluzioni (di server web ne stanno uno scatafascio)
3) leggendo altri contenuti del sito ti consiglio di lasciar perdere ssl(se, come immagino, la risposta al punto 2 è che è ultraminimale, non lo userei probabilmente in un contesto dove ssl è fondamentale) e comunque, come giustamente hai segnalato tu, ci puoi mettere un proxy tipo pond per questo
4) punta al supporto fastcgi.. soprattutto perchè ultimamente sta venendo fuori un nuovo modo di usare php tramite un estensione chiamata fpm che è veramente una bomba

aspetto news e buon lavoro
ciau
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
brg
Linux 3.x
Linux 3.x
Messaggi: 580
Iscritto il: sab 12 mar 2011, 14:20
Slackware: 15.0
Kernel: 5.15.117
Desktop: KDE5
Località: Montecatini
Contatta:

Re: un server http leggero

Messaggio da brg »

Ah, dev'essere per il fatto che il tema predefinito di Pluck usa il grassetto per indicare i collegamenti, comunque sia i sorgenti sono qui.
Per rispondere alle altre domande dico che di server web ne ho provati a bizzeffe prima di usare Boa (monkey httpd, thttpd, mathopd, gatling, fnord, hiawatha...), solo che: alcuni non si compilano (roba creata per *BSD che sotto Linux ha bisogno di patch per compilare), altri funzionano solo con una installazione di sistema, altri ancora si appoggiano a inetd, altri non supportano pagine dinamiche. Il primo che compilasse, avesse un CGI funzionante e funzionasse in una directory locale senza bisogno di superutenti è stato Boa, peccato solo per il PHP ed una manciata di altri bug.

Avatar utente
shark1500
Linux 3.x
Linux 3.x
Messaggi: 785
Iscritto il: gio 3 apr 2008, 14:33
Slackware: current
Kernel: 2.6.27.7-smp
Desktop: kde
Località: Modna

Re: un server http leggero

Messaggio da shark1500 »

Solo un paio che non hai elencato: lighthttpd (il nome non e` un caso) e nginx

Avatar utente
brg
Linux 3.x
Linux 3.x
Messaggi: 580
Iscritto il: sab 12 mar 2011, 14:20
Slackware: 15.0
Kernel: 5.15.117
Desktop: KDE5
Località: Montecatini
Contatta:

Re: un server http leggero

Messaggio da brg »

shark1500 ha scritto:Solo un paio che non hai elencato: lighthttpd (il nome non e` un caso) e nginx
Lighttpd l'ho usato per un annetto ed è ottimo, solo che non è nella stessa categoria di quelli che ho elencato: ha bisogno di una installazione di sistema*, ha un eseguibile che sfiora il MB. Per confronto Boa è ~85kB, thttpd ~50kB, Hiawatha che è il più grande fra quelli che ho nominato è meno della metà di Lighttpd.

*siccome uso il server per provare i miei siti prima di caricarli in rete, mi conviene poter lanciare il server nelle directory utente dove li creo.

Avatar utente
shark1500
Linux 3.x
Linux 3.x
Messaggi: 785
Iscritto il: gio 3 apr 2008, 14:33
Slackware: current
Kernel: 2.6.27.7-smp
Desktop: kde
Località: Modna

Re: un server http leggero

Messaggio da shark1500 »

Non devi per forza fare una "installazione di sistema" (sempre se ho capito cos'e`). Basta avviarlo su un'altra porta che non necessiti di privilegi di root e puoi avviarlo da utente normale senza installare niente. Ma cosi` come (quasi) tutti.

Per il fatto della dimensione non e` sempre vero che se ha piu` linee di codice allora e` necessariemente piu` pesante.

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: un server http leggero

Messaggio da ilmich »

secondo me puo' avere un senso invece.. configurare apache/nginx per servire directory usate per lo sviluppo non è una cosa complicata, ma è comunque un passaggio da fare e in alcuni casi (quello di nginx) non cosi' intuitiva se ti trovi in presenza di diverse applicazioni che sviluppi contemporaneamente (devi giocare con gli alias.. host virtuali..)

l'unico problema che vedo in questo approccio è il fatto che di solito è sempre bene avere a disposizione il server dove il sito andra in 'produzione' perchè ci sono delle eccezioni che rendono un applicazione php non completamente usabile su un altro server (mi viene da pensare all'.htaccess)

comunque appena ho un minuto di tempo lo provo.
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

pino_otto
Linux 2.x
Linux 2.x
Messaggi: 333
Iscritto il: dom 9 lug 2006, 11:57
Slackware: 14.2
Kernel: 4.4.14-smp
Desktop: KDE 4.14.3
Località: Torino - Canton (China)

Re: un server http leggero

Messaggio da pino_otto »

una semplice alternativa molto comoda e':

$ python -m SimpleHTTPServer 8000

lo lanci nella directory che vuoi servire via http

qui maggiori info: http://docs.python.org/library/simplehttpserver.html

Avatar utente
shark1500
Linux 3.x
Linux 3.x
Messaggi: 785
Iscritto il: gio 3 apr 2008, 14:33
Slackware: current
Kernel: 2.6.27.7-smp
Desktop: kde
Località: Modna

Re: un server http leggero

Messaggio da shark1500 »

Io non ho detto che sia una cattiva idea, ma IMHO solo a livello di prove personali, niente di piu`.
Un server web e` una cosa MOLTO complessa (se si vogliono avere tante funzioni), e penso che ce ne siano gia` abbastanza che fanno il loro sporco lavoro, sia leggeri che non.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: un server http leggero

Messaggio da ZeroUno »

Questo sicuramente l'hai già provato, è uno di quelli che non compilano.

Non ha bisogno di file di configurazione né di make install. Fai cp e te lo metti dove ti pare
supporta i cgi.

Io l'ho patchato e compila. Ho anche fatto una patch per compilarlo staticamente, utile quando la vuoi distribuire per funzionare su qualsiasi distribuzione, anche datata (quindi con eventuali glibc insufficienti).
A 64bit su current mi viene 14k la versione normale e 750k la versione statica.

Lanciare con
./httpd <porta>
in cui se porta è 0 ne sceglie lui una a caso. Non è necessario essere root per avviarlo (se lo usi su porta >= 1024)

Allego sorgenti e patch.
Allegati
tinyhttpd.tar.bz2
(8.2 KiB) Scaricato 155 volte
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
brg
Linux 3.x
Linux 3.x
Messaggi: 580
Iscritto il: sab 12 mar 2011, 14:20
Slackware: 15.0
Kernel: 5.15.117
Desktop: KDE5
Località: Montecatini
Contatta:

Re: un server http leggero

Messaggio da brg »

ZeroUno ha scritto:Questo sicuramente l'hai già provato, è uno di quelli che non compilano.
Interessante, andrebbe pacchettizzato perché potrebbe essere utile per qualche soluzione embedded, tra l'altro ho visto che nemmeno Debian ne ha un pacchetto. Tuttavia ha la pecca di appoggiarsi a inetd, che non è una soluzione molto efficiente.

P.S.: intanto ho rilasciato aspis 0.2, con un po' di debug e un discreto supporto al chroot.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: un server http leggero

Messaggio da ZeroUno »

no, non si appoggia a inetd ma è standalone.

Lo stavo pacchettizzando diverso tempo fa, poi ho avuto dei problemi e non l'ho più fatto, poi è passato di mente.

Il problema era anche che mi sarebbe piaciuto inserire nello stesso pacchetto il binario compilato staticamente a 32bit, a 64bit e per win32 (utile se si vuole fare un sito da distribuire su cd). Ma non avrei saputo come metterla con lo slackbuild che chiaramente non può funzionare per fare tutto.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: un server http leggero

Messaggio da ponce »

brg ha scritto:Lighttpd l'ho usato per un annetto ed è ottimo, solo che non è nella stessa categoria di quelli che ho elencato: ha bisogno di una installazione di sistema
per esercizio, ho provato ad adattare lo slackbuild di lighttpd di slackbuilds.org (togliendo l'utente dedicato) per lanciarlo da utente e fare un tarball con un'installazione in $MY_PREFIX (presettato a /tmp/lighty): si avvia e si ferma con $MY_PREFIX/etc/rc.d/rc.lighttpd (ascolta sulla porta 1025)

http://pastebin.com/MfJph0R3

Rispondi