Debian RAID 1 PROMISE TX2200 IDE

Promise FastTrak TX2200

Solo informazioni essenziali, per guide più complete sugli errori googlate!!
avviare in modalità expert e caricare i moduli necessari con modprobe

modprobe /lib/modules/…/kernel/driver/ide/raid ataraid e pdm…

creare con mknod  sotto /dev/…  (X=  1…num partizioni ,  N guardare sotto dev/ataraid/disc…)

mknod partX  block N X

mknod part1  block 114 1
mknod part2  block 114 2
mknod part3  block 114 3

riavviare sempre in modalità expert

al partizionamento dovrebbe andare normalmente, se si aggiungono nuove partizioni riavviare di nuovo sempre in modalità expert

lilo segnalerà che  /boot o / è in stato  busy, smontarla (umount). Rilanciandolo restituirà ERROR 1

lanciare lilo con il seguente accorgimento

lilo -t -r /target/

poi edit /target/etc/lilo.conf

aggiungere entry per render inaccessible i dischi ide

disk=/dev/hdf  inaccessible
disk=/dev/hdg inaccessible

Posted in Linux at May 26th, 2006. No Comments.

Hylafax faxcover how-to editing

Breve guida su come modificare la copertina del FAX
Sistema operativo utilizzato DEBIAN SARGE

La personalizzazione della copertina non implica l’installazione di hylafax
Consiglio di utilizzare una cover gia’ completa e modificarla secondo le
esigenze.

Lanciare dselect e installare:

pstoedit –> PostScript and PDF files to editable vector graphics
converter
xfig –> Facility for Interactive Generation of figures under X11

Esempio cover gia’ pronta: crc-fax.eps

convertire in .fig

pstoedit -f “fig:-startdepth 999” crc-fax.eps cover%d.fig

aprire il programma xfig, aprire il file cover.fig e modificare a piacere.

andare su export e salvare il file come .eps esempio miaCover.eps

utilizzare il tool make_faxcover

wget e tar zxf di

ftp://ftp.sgi.com/sgi/fax/contrib/covers/make_faxcover.tar.Z

convertire il file eps creato con xfig in faxcover.ps

./make_faxcover miaCover.eps > faxcover.ps

fare un backup dell file faxcover.ps originale (es. faxcover.ps.orig ) e
spostare la nuova cover.

Posted in Linux at May 26th, 2006. No Comments.

Your session only lasted less then 10 seconds

Problema risocntrato su una Debian Unstable (contento lui) causa mancanza diritti sulla /tmp e non la mancanza di spazio sul disco.
Di seguito l’errore
_________________________________

“Your session only lasted less then 10 seconds……” et dans les
details : “/etc/gdm/PreSession//Default: Registering your session with
wtmp and utmp
/etc/gdm/PreSession//Default: running: sessreg -a -w /var/log/wtmp -u
/var/run/utmp -x “/var/lib/gdm/:0.Xservers” -h “” -l :0 zlavock

Xlib: connection to “:0.0” refused by server
Xlib: No protocol specified

xrdb: Can’t open display ‘:0’
Xlib: connection to “:0.0” refused by server
Xlib: No protocol specified

xrdb: Can’t open display ‘:0’
mkdtemp: private socket dir: No space left on device

______________________________

Soluzione:

chmod 1777 /tmp

e restartate gdm
Posted in Linux at May 26th, 2006. No Comments.

phpMyAdmin was unable to read your configuration file!

Mi è capitato, dopo un aggiornamento di phpmyadmin su Sarge di trovarmi di fronte a questo errore. La macchina client che utilizzo è spesso e volentieri customizzata secondo le esigenze del momento.

Questo è il simpatico errore…
phpMyAdmin – Error

phpMyAdmin was unable to read your configuration file!
This might happen if PHP finds a parse error in it or PHP cannot find the file.
Please call the configuration file directly using the link below and
read the PHP error message(s) that you receive. In most cases a quote
or a semicolon is missing somewhere.
If you receive a blank page, everything is fine.

Dopo un quarto d’ora di sclero  finalmente capisco di cosa si trattava: una impostazione del php.ini impostata ad On per motivi di testing…

[php.ini]
magic_quotes_runtime = Off
E’ bastato re-impostarla ad On
Posted in Php at May 26th, 2006. No Comments.

Reconfigure xserver-xfree86 [Debian]

Utilizzando xfree86 e editando a manina il file /etc/X11/XF86Config-4 si dovrebbe aggiornare anche il file md5sum che si trova su /var/lib/xfree86/XF86Config-4.md5sum

Provare a riconfigurare X via dpkg-reconfigure infatti non apporterà le dovute modifiche al file perchè troverà incongruenza fra la md5sum calcolata e quella contenuta nel file. Per risolvere:

Entrare in una sessione di login testuale

Loggarsi come root

cp -a /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.old
md5sum /etc/X11/XF86Config-4 > /var/lib/xfree86/XF86Config-4.md5sum
dpkg-reconfigure xserver-xfree86

Posted in Linux at May 26th, 2006. No Comments.

HOW-TO prelevare o grabbare codice da un sito con php.

Come grabbare codice da un sito.

Questo how-to è stato scritto solo a scopo didattico. L’autore non si assume nessuna responsabilità
per ogni uso improprio (danno causato direttamente o indirettamente dall’articolo).
Prerequisiti necessari sono la discreta conoscenza di HTML e PHP.

HTML: è un linguaggio “statico” lato client. Il server riceve le richieste dal client e restituisce codice html che verrà analizzato e interpretato dal browser del client.

PHP: acronimo di “PHP: Hypertext Preprocessor” è un linguaggio scripting server-side: il server riceve le richieste dal client e genera direttamente la pagina richiesta prima di restituirla al client.

Passiamo alla pratica.
Prefissato il codice obiettivo il primo passo da affrontare è l’analisi del codice. Se la pagina fosse una semplice e statica .html non ci sarebbero impedimenti nell’utilizzo del classico copia/incolla, diventa interessante una pagina con contenuti dinamici, cioè aggiornata e/o modificata frequentemente.

E’ molto semplice prelevare codice se i dati sul sito TARGET sono impaginati uniformemente, quasi impossibile se i dati che ci interessano vengono impaginati ogni volta in maniera diversa. Nel secondo caso la crezione dello script risulterebbe inutile richiedendo aggiornamenti frequenti e parecchio tempo sia da parte dell’autore che dai webmaster che utilizzano lo script….

Attenzione: questa “famiglia” di script fa uso di pagine esterne e non può essere utilizzata su server FREE like altervista.

Si può sempre utilizzare un altro script che si occupa di scaricare e uploadare la pagina da processare inserito su crontab a esempio.

________________________________________

Visualizzazione di un box contenente un’immagine di un film in uscita al cinema.

TARGET= http://filmup.com/speciale/anteprime/index.htm

Sicuramente questa pagina viene “aggiornata” con frequenza settimanale. Non possiamo semplicemente copiare/incollare il codice di un film. Notate la linearità con cui vengono presentate le informazioni che vogliamo visualizzare.
Costruiremo uno script che effettuerà le seguenti operazioni:
– Caricamento del codice della pagina in una variabile
– Epurazione del codice
– Restituzione immagine e link a filmup.com

L’epurazione del codice è la parte più impegnativa. Dipendentemente dal tipo di dati che vogliamo ottenere la procedura cambia. In questo caso i passi sono:

– selezione del punto di inizio codice da grabbare
– selezione del punto di fine codice da grabbare
– inserimento in un array di ogni blocco film
– scelta casuale del film
– impostazione visiva e stampa

il punto di inizio deve essere una sequenza di codice formata da testo o tag che precede il codice da prelevare.

Sotto la dicitura “Questa settimana” troviamo la data di uscita dei film e una linea delimitante l’elenco dei blocchi film.

Utilizzando un browser leggiamo il sorgente delle 2 linee che ci interessano.

<font color=”Blue” face=”arial,helvetica” size=”3″><b>Questa settimana</b><br>
<font size=”1″>(in uscita il: <font color=”Black”>giorno mese anno</font>)</font></font>

Subito dopo inizia il codice di cui abbiamo bisogno. Un punto di partenza potrebbe essere

</font>)</font></font>

difficilmente verrà ripetuto nel resto della pagina ma controlliamo con “cerca” e assicuriamoci che sia una sequenza di

codice unica. Bene, ora ci occuperemo del codice successivo alla sequenza appena trovata al fine di trovare il punto finale del codice da analizzare. Controlliamo il sorgente subito l’ultimo box dei film

<div align=”center”><font face=”arial,helvetica” size=”2″><a xhref=”prec.htm” mce_href=”prec.htm” ><u><b>Clicca qui</b></u></a>, per le recensioni

dei film usciti <b>la precedente settimana</b></font></div><br>

Siamo fortunati: la sequenza <div align non è contenuta all’interno dei blocchi destinati ai film.

Grazie alle funzioni di php saremo in grado di aprire la pagina di filmup e leggerne il contenuto, modificarla sul nostro server e restituire il risultato.

<?
$webpage = “http://www.filmup.com/speciale/anteprime/index.htm”; //Pagina contenente il codice da grabbare

$fp = fopen ($webpage, “r”); //Apriamo la pagina di filmup in sola lettura

while (! feof($fp)) //Copiamo tutto il codice di filmup in $pagina
{
$riga = fgets($fp,1024);
$pagina = $pagina.$riga;
}

//Dividiamo la pagina in 2 parti:
//$pagina[0] -> da <HTML> a </font>)</font></font>
//$pagina[1] -> da </font>)</font></font> a </HTML>

$pagina = split(“</font>)</font></font>”,$pagina);

//Lavoriamo solo su $pagina[1] e dividiamo ancora la pagina
//$pagina[0] -> da </font>)</font></font> a <div align
//$pagina[1] -> da <div align a </HTML>

//NB: il codice “</font>)</font></font>” e “<div align” non verrà incluso.

$pagina = split(“<div align”,$pagina[1]);

//La nostra pagina contenente solo i blocchi dei film.

$pagina = $pagina[0];

//Modifico i link alle img e alla pagina recensione di filmup
$pagina = str_replace(“href=”/” mce_href=”/” ,”href=”http://www.filmup.com/” mce_href=”http://www.filmup.com/” , $pagina);
$pagina = str_replace(“src=”/” mce_src=”/” ,”src=”http://www.filmup.com/” mce_src=”http://www.filmup.com/” , $pagina);

//Divido i blocchi utilizzando un commento inserito dall’autore che identifica l’inizio di un nuovo blocco film
$pagina = split (“<!– start mod anteprima –>”,$pagina);

//Seleziono casualmente uno di questi blocchi
$film = $pagina[rand(1,count($pagina)-1)];

//Assegno alla variabile $img l’url della immagine comprendente il tag img
$film = split(“<td”,$film);
$img = split(“nowrap>”,$film[1]);
$img = str_replace(“</td>”,””, $img[1]);

//$img = str_replace(“67″,”87”, $img[1]); //modifico height img def 67
//$img = str_replace(“100″,”120”, $img); //modifico width img def 100

//Assegno alla variabile $nome l’url della recensione comprendente il tag a
$nome = split(“<b>”,$film[4]);
$nome = split(“</b>”,”$nome[1]”);

//Inserisco alt img
$img = str_replace(‘width=’, “alt=”Al cinema…” widht=”,$img);

//Stampo il risultato al centro pagina.
print “<center>” .$img .”<br><font size=”2″ face=”verdana”>”. $nome[0]. “</font></center>”;

?>
Ecco lo script in azione premete F5 per ottenere un nuovo screenshot…
Potete trovarne uno un pò più completo (galleria di immagini su popup) sul sito NewScript

Posted in Php at May 26th, 2006. No Comments.

Server streaming ICECAST2 ICES2 EZSTREAM (Debian)

– Server streaming audio OGG (debian)

apt-get install icecast2 ices2

/etc/default/icecast2 –> modificare false->true

modificare /etc/icecast2/icecast.xml

libxslt1-dev libtheora

aggiungere al source.list

deb http://yomix.org/debian/ binary/
deb-src http://yomix.org/debian/ source/

per poter utilizzare ezstrem debianizzato

Per lo streaming audio si può utilizzare ices2 debian…

la differenza tra ices0 e ices2 files

ogg vorbis per ices2

mp3 ices0 (http://www.mp3licensing.com/royalty/software.html)

– un -HUP al pid di ices2 passa alla prossima traccia

esempio config.xml per ices2

<?xml version=”1.0″?>
<ices>
<!– run in background –>
<background>1</background>
<!– where logs, etc go. –>
<logpath>/var/www/icecast2/</logpath>
<logfile>ices2.log</logfile>
<!– 1=error,2=warn,3=info,4=debug –>
<loglevel>4</loglevel>
<!– set this to 1 to log to the console instead of to the file above –>
<consolelog>0</consolelog>

<!– optional filename to write process id to –>
<pidfile>/var/www/icecast2/ices2.pid</pidfile>

<stream>
<!– metadata used for stream listing (not currently used) –>
<metadata>
<name>StrEasybit </name>
<genre>Trance</genre>
<description>ServerDiProvaStremingOGG</description>
</metadata>

<!– input module

The module used here is the playlist module – it has
‘submodules’ for different types of playlist. There are
two currently implemented, ‘basic’, which is a simple
file-based playlist, and ‘script’ which invokes a command
to returns a filename to start playing. –>

<input>
<module>playlist</module>
<param name=”type”>basic</param>
<param name=”file”>/var/www/icecast2/playlist.txt</param>
<!– random play –>
<param name=”random”>0</param>
<!– if the playlist get updated that start at the beginning –>
<param name=”restart-after-reread”>0</param>
<!– if set to 1 , plays once through, then exits. –>
<param name=”once”>0</param>
</input>

<!– Stream instance
You may have one or more instances here. This allows you to
send the same input data to one or more servers (or to different
mountpoints on the same server). Each of them can have different
parameters. This is primarily useful for a) relaying to multiple
independent servers, and b) encoding/reencoding to multiple
bitrates.
If one instance fails (for example, the associated server goes
down, etc), the others will continue to function correctly.
This example defines two instances as two mountpoints on the
same server. –>
<instance>
<!– Server details:
You define hostname and port for the server here, along with
the source password and mountpoint. –>
<hostname>tex</hostname>
<port>8000</port>
<password>passsword</password>
<mount>/easy.ogg</mount>

<!– Reconnect parameters:
When something goes wrong (e.g. the server crashes, or the
network drops) and ices disconnects from the server, these
control how often it tries to reconnect, and how many times
it tries to reconnect. Delay is in seconds.
If you set reconnectattempts to -1, it will continue
indefinately. Suggest setting reconnectdelay to a large value
if you do this.
–>
<reconnectdelay>2</reconnectdelay>
<reconnectattempts>5</reconnectattempts>

<!– maxqueuelength:
This describes how long the internal data queues may be. This
basically lets you control how much data gets buffered before
ices decides it can’t send to the server fast enough, and
either shuts down or flushes the queue (dropping the data)
and continues.
For advanced users only.
–>
<maxqueuelength>80</maxqueuelength>

<!– Live encoding/reencoding:
Currrently, the parameters given here for encoding MUST
match the input data for channels and sample rate. That
restriction will be relaxed in the future.
–>
<encode>
<nominal-bitrate>64000</nominal-bitrate> <!– bps. e.g. 64000 for 64 kbps –>
<samplerate>44100</samplerate> <!– 44100 –>
<channels>2</channels>
</encode>
</instance>

</stream>
</ices>

devono essere create le dir per il log… inoltre la playlist

esempio

/var/www/icecast2/mp3/13-Dratura&Bratura.ogg
/var/www/icecast2/mp3/acidicpsytrance.ogg
/var/www/icecast2/mp3/asd.ogg
/var/www/icecast2/mp3/Sputnik.ogg
/var/www/icecast2/mp3/the_door.ogg
/var/www/icecast2/mp3/victorious.ogg

comando per lanciare ices2

ices2 ices.xml &

_____________________________

icecast 2.2

/etc/default/icecast2 <– mettere ENABLE=true

# Defaults for icecast2 initscript
# sourced by /etc/init.d/icecast2
# installed at /etc/default/icecast2 by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Full path to the server configuration file
CONFIGFILE=”/etc/icecast2/icecast.xml”

# Name or ID of the user and group the daemon should run under
USERID=icecast2
GROUPID=icecast

# Edit /etc/icecast2/icecast.xml and change at least the passwords.
# Change this to true when done to enable the init.d script
ENABLE=true

file /etc/icecast/icecast.xml

<icecast>
<limits>
<clients>100</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<queue-size>102400</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<!– If enabled, this will provide a burst of data when a client
first connects, thereby significantly reducing the startup
time for listeners that do substantial buffering. However,
it also significantly increases latency between the source
client and listening client. For low-latency setups, you
might want to disable this. –>
<burst-on-connect>1</burst-on-connect>
<!– same as burst-on-connect, but this allows for being more
specific on how much to burst. Most people won’t need to
change from the default 64k. Applies to all mountpoints –>
<burst-size>65535</burst-size>
</limits>

<authentication>
<!– Sources log in with username ‘source’ –>
<source-password>passssssword</source-password>
<!– Relays log in username ‘relay’ –>
<relay-password>hackmypwd</relay-password>

<!– Admin logs in with the username given below –>
<admin-user>texilee</admin-user>
<admin-password>passsword</admin-password>
</authentication>

<!– Uncomment this if you want directory listings –>
<!–
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://www.oddsock.org/cgi-bin/yp-cgi</yp-url>
</directory>
–>

<!– This is the hostname other people will use to connect to your server.
It affects mainly the urls generated by Icecast for playlists and yp
listings. –>
<hostname>tex</hostname>

<!– You can use these two if you only want a single listener –>
<!–<port>8000</port> –>
<!–<bind-address>127.0.0.1</bind-address>–>

<!– You may have multiple <listener> elements –>
<listen-socket>
<port>8000</port>
<bind-address>192.168.5.52</bind-address>
</listen-socket>
<!–
<listen-socket>
<port>8001</port>
</listen-socket>
–>

<!–<master-server>127.0.0.1</master-server>–>
<!–<master-server-port>8001</master-server-port>–>
<!–<master-update-interval>120</master-update-interval>–>
<!–<master-password>hackme</master-password>–>
<!–
<relay>
<server>127.0.0.1</server>
<port>8001</port>
<mount>/example.ogg</mount>
<local-mount>/different.ogg</local-mount>

<relay-shoutcast-metadata>0</relay-shoutcast-metadata>
</relay>
–>

<!– Only define a <mount> section if you want to use advanced options,
like alternative usernames or passwords
<mount>
<mount-name>/example-complex.ogg</mount-name>

<username>othersource</username>
<password>hackmemore</password>

<max-listeners>1</max-listeners>
<dump-file>/tmp/dump-example1.ogg</dump-file>
<burst-size>65536</burst-size>
<fallback-mount>/example2.ogg</fallback-mount>
<fallback-override>1</fallback-override>
<hidden>1</hidden>
<no-yp>1</no-yp>
<authentication type=”htpasswd”>
<option name=”filename” value=”myauth”/>
<option name=”allow_duplicate_users” value=”0″/>
</authentication>
</mount>
–>

<fileserve>1</fileserve>

<!– set the mountpoint for a shoutcast source to use, the default if not
specified is /stream but you can change it here if an alternative is
wanted or an extension is required
<shoutcast-mount>/live.nsv</shoutcast-mount>
–>

<paths>
<!– basedir is only used if chroot is enabled –>
<basedir>/usr/share/icecast2</basedir>

<!– Note that if <chroot> is turned on below, these paths must both
be relative to the new root, not the original root –>
<logdir>/var/log/icecast2</logdir>
<webroot>/usr/share/icecast2/web</webroot>
<adminroot>/usr/share/icecast2/admin</adminroot>
<!– <pidfile>/usr/share/icecast2/icecast.pid</pidfile> –>

<!– Aliases: treat requests for ‘source’ path as being for ‘dest’ path
May be made specific to a port or bound address using the “port”
and “bind-address” attributes.
–>
<!–
<alias source=”/foo” dest=”/bar”/>
–>
<!– Aliases: can also be used for simple redirections as well,
this example will redirect all requests for http://server:port/ to
the status page
–>
<alias source=”/” dest=”/status.xsl”/>
</paths>

<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<!– <playlistlog>playlist.log</playlistlog> –>
<loglevel>4</loglevel> <!– 4 Debug, 3 Info, 2 Warn, 1 Error –>
</logging>

<!–
<security>
<chroot>0</chroot>

<changeowner>
<user>icecast2</user>
<group>icecast</group>
</changeowner>

</security>
–>
</icecast>

Convertire i file da mp3 a ogg con

apt-get install mp32ogg

VIDEO
—————
VEDERE CONvERSIONe FORMATI
—————

bisogna installare le librerie libtheora prima di icecast

apt-get install libtheora0

per visualizzare in streaming un file .ogg basta lanciare ezstream associato al file xml

<ezstream>
<url>http://tex:8000/theora.ogg</url>
<sourcepassword>strreplace</sourcepassword>
<format>OGGVORBIS</format>
<filename>a.ogg</filename> <—– FILE NAME
<svrinfoname>My Stream</svrinfoname>
<svrinfourl>http://www.oddsock.org</svrinfourl>
<svrinfogenre>RockNRoll</svrinfogenre>
<svrinfodescription>This is a stream description</svrinfodescription>
<svrinfobitrate>192</svrinfobitrate>
<svrinfoquality>4.0</svrinfoquality>
<svrinfochannels>2</svrinfochannels>
<svrinfosamplerate>44100</svrinfosamplerate>
<svrinfopublic>1</svrinfopublic>
</ezstream>

_______________________________________________________

si può con l’ausilio di encoder e decoder già installati sulla macchina convertire al volo il flusso video da inviare al server icecast

in questo esempio si crea una playlist con l’elenco di file mpg o avi che si voglioni visualizzare

il comando per far partire ezstream è

ezstream -b -c config_file.xml

-b background

________________________________________________________________________________
<!– This example is for a input playlist that can contain
avi and mpg (video) files files and a output stream that
is OggTheora. The output stream settings (bitrate, channels, etc.)
are controlled by the parameters to ffmpeg2theora. (see the decode setting
for the THEORA format later in this file). –>
<ezstream>

<url>http://tex:8000/theora.ogg</url>
<sourcepassword>strreplace</sourcepassword>
<!– This is what form your output will take. If you are
reencoding, this is the format to reencode to, if not
then you need to make sure all your input files are in this
format. –>
<format>THEORA</format>
<filename>tracks.m3u</filename>
<!– The following settings are used to describe your stream
to the server. It’s up to you to make sure the
bitrate/quality/samplerate/channels
match up to your output stream –>
<svrinfoname>My Stream</svrinfoname>
<svrinfourl>http://www.oddsock.org</svrinfourl>
<svrinfogenre>RockNRoll</svrinfogenre>
<svrinfodescription>This is a stream description</svrinfodescription>
<svrinfobitrate>128</svrinfobitrate>
<!– Quality is only applicable to ogg vorbis streams –>
<!– <svrinfoquality>1.0</svrinfoquality> –>
<svrinfochannels>2</svrinfochannels>
<svrinfosamplerate>44100</svrinfosamplerate>
<svrinfopublic>1</svrinfopublic>
<reencode>
<enable>1</enable>
<!– Each encdec block specifies a pair of programs used for decoding and
encoding of the stream. If reencoding is enabled, then all input files
must be first decoded before being sent to the encoder. EZSTREAM uses
file extensions to match up input files with the appropraite decoder,
and uses the <format> setting to match up the output format with the
appropriate encoder.

Note: It it up to you to set the appropriate bitrate/samplerate/channels
of the output stream by using command line paramters to the encoders. Use
the examples defined here as a guide. All output from decoders should be in
RAW format, and all input to the encoders should also be in RAW format. –>

<encdec>
<!– Support for THEORA (ffmpeg2theora does both decoding and encoding
so we don’t need an encode part) –>
<format>THEORA</format>
<match>.avi</match>
<!– <decode>ffmpeg2theora -x 192 -y 128 -a -1 -v 0 “@[email protected]” -o -</decode> –>
<decode>ffmpeg2theora -p preview -a -1 -v 0 “@[email protected]” -o -</decode>

</encdec>
<encdec>
<!– Support for THEORA (ffmpeg2theora does both decoding and encoding
so we don’t need an encode part) –>
<format>THEORA</format>
<match>.mpg</match>
<decode>ffmpeg2theora -a -1 -v 2 “@[email protected]” -o -</decode>
</encdec>
<!– New encdec sections can be added for new input/output formats –>
</reencode>
</ezstream>
_______________________________________________________________

Posted in Linux at May 26th, 2006. No Comments.

webcalendar 0.9.45 per virtual hosts [DEBIAN]

Modifiche da apportare a WebCalendar v0.9.45-4 SARGE per supporto virtual host

I file di installazione di webcalendar sono ripartiti su:

/usr/share/webcalendar …. la web application
/var/lib/webcalendar…. i file sql con la struttura del DB
/etc/webcalendar …. i file di configurazione… linkati da
/usr/share/webcalendar/includes/

per creare i files principali per ciascun virtualhost si deve:

– creare un DB separato
– creare un file setting.php (info per connetersi al DB)
– creare un file style.php (file di stile css ..)

(altre operazioni come l’inserimento di loghi ecc.. possono venire fatte dal pannello di amministrazione di WC e salvate direttamente sul database…)
________________________________

Per lasciare indipendente la struttura di WC dai file di configurazione prendiamo come parametro per differenziare i diversi file ed il database il “nome server”… ottenuto dal valore della varibile interna php $_SERVER[‘SERVER_NAME’]

il nome sarà webcalendar.dominio.it, bisognerà aggiungerlo nel file di zona di bind.

(se si vuole modificare il dominio di 3° livello basta creare i files di configurazione con il nome del nuovo sottodominio… )

Per ovvi motivi legati al nome del DB tutto ciò che non è un carattere alfanumerico viene sostituito da _

I nuovi file di configurazione verranno creati sotto /usr/share/webcalendar/includes/ e saranno 2, uno sostituisce settings.php e l’altro styles.php

styles.php –> /usr/share/webcalendar/includes/webcalendar_dominio_it_css.php

settings.php –> /usr/share/webcalendar/includes/webcalendar_dominio_it.php

____________________________________________________________
MODIFICHE DA EFFETTUARE SUI FILES….
______________________________________________________________

le linee che iniziano con >>> sono da aggiungere, quelle con più di 2 slash da remmare, quelle con 2 slash sono già commentate dagli sviluppatori

______________________________________________________________

FILE /usr/share/webcalendar/includes/config.php

// Open settings file to read
$settings = array ();
>>> $file_config= ereg_replace( “[^A-Za-z0-9]”, “_”,
$_SERVER[‘SERVER_NAME’]);
>>> $file_config.=’.php’;
>>> $fd = @fopen ( $file_config, “rb”, true );
/////$fd = @fopen ( “settings.php”, “rb”, true );
______________________________________________________________

FILE /usr/share/webcalendar/includes/init.php

// Include the styles
if ( ! $disableStyle ) {
>>> $css_file_config= ereg_replace( “[^A-Za-z0-9]”, “_”, $_SERVER[‘SERVER_NAME’]);
>>> $css_file_config.=’_css.php’;
>>> include_once “includes/$css_file_config”;
//////include_once ‘includes/styles.php’;
}
______________________________________________________________

FILE /usr/share/webcalendar/login.php

>> $css_file_config= ereg_replace( “[^A-Za-z0-9]”, “_”, $_SERVER[‘SERVER_NAME’]);
>>> $css_file_config.=’_css.php’;
>>> include “includes/$css_file_config”;
///// include “includes/styles.php”;
// Print custom header (since we do not call print_header function)

_______________________________________________________________
Esempio di VirtualHost per httpd.conf

ServerAdmin [email protected]
Alias /webcalendar /usr/share/webcalendar
DocumentRoot /var/www/dominio.it
ServerName webcalendar.dominio.it
ErrorLog /var/log/apache/error.log
CustomLog /var/log/apache/access.log common

______________________________________________________________
Per il file setting.php copiare quello originale da

/etc/webcalendar/settings.php

a

/usr/share/webcalendar/includes/webcalendar_dominio_it.php

_____________________________________________________________
Per il file di stile copiare quello originale da

/etc/webcalendar/styles.php

a

/usr/share/webcalendar/includes/webcalendar_dominio_it_css.php

_____________________________________________________________

Creare il DATABASE…. (usando webcal_ come prefisso + dominio, i caratteri non alfanumerici diventano _)

mysqladmin -u root –password=’passsssword’ create webcal_dominio_it

e costruire le varie tabelle

mysql -u root –password=’passsssword’ webcal_dominio_it < /var/lib/webcalendar/sql/tables-mysql.sql _____________________________________________________________ ls di esmepio della dir includes con domini vari... -rw------- 1 www-data www-data 650 Sep 13 16:15 webcalendar_ilfumouccide_it.php -rw------- 1 www-data www-data 21942 Sep 13 16:04 webcalendar_ilfumouccide_it_css.php -rw------- 1 www-data www-data 645 Sep 13 15:01 webcalendar_t3xil33_it.php -rw------- 1 www-data www-data 21942 Sep 13 15:37 webcalendar_t3xil33_it_css.php -rw------- 1 www-data www-data 645 Sep 13 15:01 webcalendar_texilee_it.php -rw------- 1 www-data www-data 21919 Sep 13 15:33 webcalendar_texilee_it_css.php _____________________________________________________________ verificare e reloadare bind e apache poi da browser http://webcalendar.dominio.it/webcalendar nome e password: admin

Posted in Php at May 26th, 2006. No Comments.

SpyBot Search and Destroy

Dove non arriva l’antivirus ed il firewall arriva lui. SpyBot Search and Destroy scova, distrugge, controlla, previene, ravana e disinfetta il sistema operativo. Il suo obiettivo sono dialer, spyware, voci di registro sospette, programmini che tracciano la navigazione, barre ficcanaso , cookies e altre schifezze del genere.
Il programma all’avvio permette di scegliere la lingua tra tantissime disponibili, italiano compreso 🙂

Può essere lanciato in modalità semplice (easy) o completa (advanced), a seconda delle cose da fare. La modalità completa comprende anche delle utility.

In entrambi i casi vince il confronto col più noto e diffuso AdAware dato che Spybot riconosce molti più programmi subdoli ed è completamente gratuito e persino educativo. Fornisce moltissime informazioni su tutte le “infezioni” trovate, la esaustiva guida in italiano, insieme alle numerose istruzioni disseminate nel programma, fanno si che qualsiasi operazione possa essere eseguita nella piena consapevolezza imparando persino a gestire meglio il proprio computer con un occhio di riguardo alla sicurezza e alla privacy.

Spybot può anche mostrare l’elenco dei processi attivi, controlla quali programmi vengono avviati in maniera trasparente o meno all’avvio del sistema operativo, controlla anche eventuali keylogger e aggiorna via Internet il proprio database.

È anche possibile far modificare a Spybot il proprio file “hosts”, impedendo tecnicamente ad un gran numero di noti server pubblicitari o sospetti di dialogare col proprio computer. L’operazione è reversibile, così come la rimozione di dialer, cookies e spyware. Tutto può essere ripristinato nel caso, ad esempio, che un programma smetta di funzionare privato dell’adware che lo accompagnava.
La modalità avanzata del programma, consigliata a chi vuole tanti bottoni e opzioni in più, permette qualche controllo in più di quel che avviene.

Ecco i requisiti minimi!

Microsoft Windows 95, 98, ME, NT, 2000 o XP
Uno spazio minimo di 5 MB disponibile sul disco rigido; se ne consiglia di più per aggiornamenti e backup.

Ecco il link per il download

Fate una scansione alla settimana! E scaricate gli aggiornamenti!!!!

Posted in Archivio at May 23rd, 2006. No Comments.

Iniziamo a bloggare

Salve a tutti, inizio questo blog con le migliori aspettative, non per quanto riguarda il numero di lettori o il page rank, ma perchè finalmente riuscirò a ritrovare le mie duetremila stringhe di codice che parcheggio solitamente su una trentina di macchine diverse. Macchine Linux, ovviamente.

Posted in Linux at May 22nd, 2006. No Comments.