Archivi categoria: Server

Git server with FreeBSD, nginx and cgit

Well, I had to put up a git server at work.

So I wrote three html pages:

Git server setup with FreeBSD, nginx and cgit (broken link)

Git client setup with FreeBSD or Linux (broken link)

Git client setup on Window$. Pure $hit with TortoiseGIT (broken link)

Git is fun, actually. I even made a github repository, but I must admit I don’t code much: I tried to start developing on ioquake3 code… not much has been done so far.

Well, if you’re interested… My github

Contrassegnato da tag , , , ,

PHP-FPM in FreeBSD!

Finalmente PHP5.3 è entrato in FreeBSD, e con questo anche PHP-FPM!

ED ERA ANCHE ORA.

Spiegazione: per poter usare script php con il vostro webserver preferito (ovvero nginx, se lo usano wordpress e youporn un motivo c’è: dà pesantemente merda a apache) prima di FreeBSD 8 l’unica era compilarsi a manina php5.3, che contiene php-fpm.

FPM significa “FastCGI Process Manager”: la maniera più comoda, più naturale, più sensata per avere uno o più processi php verso cui nginx può indirizzare le richieste tramite fastcgi.

E ho pianto sangue e sperma dal culo, e ho compilato, e ovviamente non funziona mai un cazzo al primo colpo perché murphy ci odia inspiegabilmente, e dio più che dare una mano ti dà un fracco di legnate.

ORA TUTTO QUESTO HA UNA FINE.

ORA TUTTO SI INCASTRA.

PERFEZIONE.

Contrassegnato da tag ,

Server Internet Casalingo #2 – freedns.afraid.org (a.k.a. Find The HASH!)

Okay.

Avete seguito la mia prima guida, Server Internet Casalingo Con Debian/Ubuntu.

Poi siete andati oltre.

«Ma scusa, invece di avere “nomecretino.dyndns.org”, non posso approfittare dell’offerta di GoDaddy.com e registrare “nomecretino.org” tutto per me?»

E in una notte in cui avevate bevuto troppo ma non abbastanza per svuotare la paypal, avete effettivamente registrato “nomecretino.org”.

(tra parentesi: se l’avete registrato con register.it, cambiate registrar immediatamente)

Ora, avete il vostro dominio. Avete un home server. Ma non sapete come diamine fare in modo che il dominio punti al vostro accidenti di home server!

Beh, in questo caso la soluzione è freedns.afraid.org. Che ha un piccolo difetto, è un sito fatto così male che sembra di fare la settimana enigmistica!

Spieghiamo i passi da compiere:

  1. Registrarsi. http://freedns.afraid.org/signup, compilare, leggere la mail e attivare l’account.
  2. Aggiungere il dominio. http://freedns.afraid.org/domain loggarsi, cliccare su “Add a domain”, settarlo su “public” o “private”. Leggete cosa significa. In soldoni, voi mettete il vostro dominio e date il permesso agli altri di usarlo per domini di terzo livello. Probabilmente se avete scelto un dominio VERAMENTE stupido, presto sarete famosi. Nota bene, inizialmente verrà taggato come “broken”.
  3. Impostare subito i DNS al registrar. Non sono mai riuscito a capire come farlo con register.it non trovando l’opzione nel pannello di controllo. I DNS da usare sono ns1.afraid.org, ns2.afraid.org, ns3.afraid.org, ns4.afraid.org. Controllate che i DNS vengano impostati correttamente (potrebbe volerci un po’ di tempo).
  4. Check for broken domains. http://freedns.afraid.org/domain Cliccate su “Check for broken domains”. Se i DNS sono a posto, il dominio non sarà più taggato come “broken”.
  5. Effettuate le varie operazioni del caso, tipo rivedere la lista dei sottodomini, assegnare il dominio all’ip del proprio router (che dovrebbe essere già configurato per accettare connessioni…) etc etc.

Sin qui tutto ok. La registrazione è avvenuta, etc… La propagazione dei DNS invece richiederà molto tempo, quindi non aspettatevi di potervi collegare immediatamente con firefox.

Ora, problema: lo script per aggiornare l’IP, con DynDns era abbastanza elementare, nome utente pass e via, aggiornamento eseguito.

Qui no.

Ci ho perso una serata intera: se è stato facile capire che bisognava inviare al sito principale un codice collegato a nome utente e password, molto meno facile è stato capire che cazzo di codice fosse e da dove prenderlo.

Bene, alla fine l’ho scoperto.

Come ottenere i codici alfanumerici per ogni  sottodominio in freeDNS.

Andate qui: http://freedns.afraid.org/dynamic e cliccate su “Direct URL” del sottodominio che vi interessa.

Guardate ora la barra degli indirizzi: dopo “update.php?” c’è una sequenza di caratteri alfanumerici. QUELLA SEQUENZA È IL CODICE CHE VI INTERESSA.

Quindi potete installare un programma come inadyn (http://www.inatech.eu/inadyn, lo trovate anche nei repository Debian e nei ports FreeBSD) e configurarlo salvando in /etc/inadyn.conf (/usr/local/etc/inadyn.conf per FreeBSD) le due righe seguenti:

--update_period 60000
--background
--change_persona 1001
--alias nrfw.org,CODICEDIMERDAALFANUMERICO

Per ogni altro sottodominio basta aggiungere una riga:

-a sottodominioX,hashX

Per spiegazioni vi rimando a man inadyn.

Infine, bisogna schedulare l’update dinamico (ovvero eseguire inadyn con cron periodicamente).

Crontab.

  1. Creare un file con l’istruzione da inserire in crontab:
    nano filedainserire.txt
  2. Scrivere nel file (Debian)
    @reboot /usr/bin/inadyn
  3. FreeBSD invece vuole:
    @reboot /usr/local/bin/inadyn
  4. Eseguire da root:
    crontab filedainserire.txt
  5. Cancellare il file:
    rm filedainserire.txt
  6. Riavviare!

A questo punto dovreste avere tutto pronto. Il vostro server internet casalingo ormai è diventato quasi professionale… :D

InnoDB

Era ora che colmassi le mie lacune in campo database.

E quando dico database, intendo MySql. Ovviamente.

Indipercui! Mi sono messo di buzzo buono a pensare come fare un sistema di gestione degli utenti & relativi permessi, che fosse flessibile e soprattutto facesse lo sporco lavoro di contorno in maniera totalmente autonoma.

Ergo, cari signori miei, i requisiti!

  1. Un utente deve avere un ruolo assegnato;
  2. I ruoli collegano un utente ai suoi permessi;
  3. Un utente deve avere meta-caratteristiche da aggiungere in futuro senza dover modificare le tabelle;
  4. Utf-8. E basta con ‘sto cazzo di iso-8859-1. Utf-8 per tutti i popoli rivoluzionari del mondo!
  5. Quando faccio una ricerca, questa deve essere veloce. In una parola, Index. In realtà la maggior parte delle query viene messa in cache, quindi solo in caso di cache miss la query viene realmente eseguita… Ma ciò non può essere una giustificazione valida per la nostra pigrizia!
  6. Quando cancello un utente/ruolo/permesso, la modifica deve essere autonomamente propagata alle altre tabelle. Non posso fare tutto io in php/perl/python/RoR/c++. In due parole: Foreign Index. Indice clandestino. È reato, sappiatelo.

Continua a leggere

ReteFaiX3

Volevo segnalare ai lettori linuxari sistemisti e non un progetto che sembra meritare visibilità.

Tutti noi sappiamo che chi fa da sè fa per tre…

http://vodkone.estri.net/menusommariointroretefaix3/27-retefaix3-intro.html

Apache + Active Directory + SSL + mod_auth_sspi = Single Sign-On!

Ok guys. I’ve got something smart to write, at last.

Let’s say your boss has a brilliant idea:

lampadina«WTF, we’ve got Active Directory, we could open Internet Explorer and get into our webservers without having to authenticate!»

Let’s say you had implemented Apache with SSL on a Windows Server. Eurk.

Let’s say you managed to discover that you have to load mod_auth_sspi into Apache.

And so far, Internet Explorer is giving a freaky “Error 401: Authorization Required!” while Firefox, Opera etc. are gently fallbacking to basic auth.

The deadline is coming… you are sweating… You have spent the whole weekend googling to figure that sh*t out…

Well, what happened to me was: as soon as I heard the Boss’ footsteps, I remembered having laughed at three lines in the OpenSSL module configuration…

…YEAH! SSPI works as a charm, it’s the SSL conf the problem!

Leave SSPI alone, my dears, ‘cause you only have to comment the

BrowserMatch *MSIE* blabla

directive in Apache’s SSL conf.

Then it’s only a matter of cleaning Internet Explorer’s cache and you’ll enter your website without having to type in anything.

Of course it’s still smarter to use Firefox/Opera/Safari, but the boss is pleased and smiling. W00t!

Server Internet Casalingo Con Debian/Ubuntu

Ecco un’altra guida da newbie a newbie!

Apache powered

Installare un server a casa propria e visibile da Internet non è mai stato così facile!

Ecco i requisiti:

  • Un vecchio PC
  • Una connessione Internet sempre attiva
  • Un’oretta di tempo
  • Un’infarinatura di HTML

Al termine di questa guida avrete anche voi un sito Internet! Continua a leggere

Il Bacio di Giuda

Tanto tanto tempo fa…

«Perché, o Giuda, lo facesti? Perché condannasti Nostro Signore alla Croce?»

«…Pietro, solo io, Giuda il Traditore, conosco la Verità come nessun altro.»

«Ma perché?»

«Vuolsi così colà dove si puote ciò che si vuole, e più non rompere! Cribbio!»

È con queste scarne parole dall’oltretomba che annuncio in magna pompa e pur un po’ di tracotanza:
che non s’adiri, badi bene, San Pietro, dacché tradì pure lui l’umano nel feretro,
e massimamente Papa Ratzinghero adda essè lusinghiero,
Una nuova stella brilla più della pasta Barilla

Siore e siori, vi presento Judas!

Continua a leggere