Category: Networking and Internet

ISDNguard switch failover – RDSI backup per l’Asterisk

Reading time: 2 – 2 minutes

Ara que tothom té la febre de la VoIP i com no de l’Asterisk, la PBX de Linux per excel·lència. Us comento un ‘aparatejo’ que em vaig trobar al CeBit’05 realment molt interessant. Ja que ens permet montar l’antiga PBX com a backup de l’Asterisk en funcionament o un nou Asterisk com a sistema de backup. Bàsicament permet rebre 4 BRI/PRI i reenviar-los a sistema primari o al secundari, segons petició via: hardware, software o automàticament quan es detecta errors pre-programats i el millor el preu només uns ~500€.

isdnguard.jpg

El brouchure del producte només el tinc en alemany i és de la casa Junghanns aquesta gent també estan treballant molt amb uns italians anomenats VoiSmart que tenen diversos aplicatius de valor afegit per l’Asterisk molt guapos. Per exmple, un plug-in per l’Outlook que permet fer trucades directament als numeros de l’agenda del mateix programa, contra el tlf IP connecta a l’asterisk i mostrar informació de la trucada entrant en base a la mateixa agenda. Entre d’altres funcions. També esta molt ‘currada’ una aplicació via web que permet fer una gestió des del punt de vista d’usuari molt complerta per l’Asterisk. Val la pena que us ho mireu.

UPDATE: ja tinc el brouchure en anglès. isdnguard brouchure

Perl trick: instal·lar mòduls de Perl usant CPAN

Reading time: 1 – 2 minutes

Hi ha unes quantes formes d’instal·lar mòduls de perl, a mi la que més m’agrada en una Gentoo és fer-ho amb emerge, és clar. Però a vegades, hi ha petits mòduls que no estan en el sistema ja qu eno tenen una dependència directa amb cap paquet i no els han afegit al portage, llavors hem de fer coses tan lletges com un ‘make install’. Doncs bé, he trobat una forma més comoda i una mica més ‘maca’ de fer-ho. Així que si us serveix d’ajuda si per exemple, instal·leu un aplicatiu programat en perl que té la dependència del mòdul: Date::Calc i aquest no esta al portage com és el cas, podeu instal·lar així:

perl -MCPAN -e shell
cpan> install Date::Calc

El perl farà tota la feina de baixar, compilar i instal·lar el fitxer per vosaltres. El que és una mica més molest és el primer cop que l’usem que hem de respondre a les preguntes d’un ‘wizzard’ que ens ajuda a configurar el CPAN (The Comprehensive Perl Archive Network).

Web sharing des de Linux

Reading time: < 1 minute

La idea és molt simple, quantes vegades ens trobem en una xarxa win, i el nostre samba esta mal configurat per aquella xarxa, i un usuari vol descarregar-se un fitxer del nostre portàtil? doncs bé una bona, ràpida i senzilla aplicació per compartir una carpeta del nostre PC a través d’un simple servidor web, que només està actiu quan compartim la carpeta, és aquest petit aplicatiu: Web Sharing que a més, jo diria, que esta fet en mono.

websharing.png

Codis de resposta d’un servidor web

Reading time: 1 – 2 minutes

Segur que el codi que més us sona és el 404 quan no s’ha trobat una pàgina, però els servidors web retornan un codi de resposta per cada acció que fem amb ells, a continuació us explico els més habituals:

  • 200 – funcionament correcte
  • 206 – només es retorna el contingut paracial de la pàgina solicitada, això passa quan les pàgines són molt pesades i previament ja les teniem en cache
  • 301 – és la forma correcta d’indicar a un buscador que hem canviat de direcció de forma permanent
  • 304 – no s’ha modificat res, la informació que el client té al caché és la més actual
  • 400 – error en la transacció de la petició
  • 401 – intent d’accés no autoritzat
  • 404 – “not found”, no es pot mostrar la pàgina perquè no existeix o no es troba en aquest moment

Més informació del tema ( local ).

htaccess wrapper amb PHP

Reading time: 2 – 2 minutes

Com a complement a l’article anterior, afegeixo aquest document que vaig trobar-me fa temps. Es tracta d’implementar un wrapper usant les propietats del fitxer .htaccess i usant com a motor de procés el PHP. Abans que res i a tall de definició ràpida pel que no ho sapigue un wrapper és com un programa que actua intervenint algún procés normalment per modificar el seu funcionament habitual.

Doncs bé amb aquest document HTACCESS Wrappers With PHP ( local ) podeu aprendre com usar el PHP com a wrapper pels fitxers que es serveixen en apache. Així doncs en aquest document podem trobar, a tall d’exemple, com fer el següent:

  • Afegir capçaleres i peus de pàgina als fitxers .htm i .html sense haver de tocar codi dels fitxer font
  • Com comprimir els fitxers .htm, .html i .txt amb gzip just abans de ser enviats per la xarxa, molt útil si el client o el servidor disposen de poc ampla de banda i tenim documents de text una mica grans, podem estalviar més del 50% d’ampla de banda que estem usant
  • Finalment ens explica com afegir una marca d’aigua (watermark) a les imatges del nostre site. Així no hem de perdre hores i hores modificant les imatges una per una

Pel que fa al últim punt si no disposeu de gaire CPU o bé, el servidor va molt ocupat, el que us recomano que feu encomptes d’aplicar el que aquí s’explica és usar el que vaig explicar a: Mini-guia de como usar l’imagemagick.

Entre aquest item i l’anterior, imagino que ja us heu adonat de la gran potència que té el fitxer .htaccess, a més cal que recordeu que totes les configuracions que es comenten les podeu aplicar directament als fitxers de configuració general d’apache.

htaccess tips & tricks

Reading time: 6 – 10 minutes

L’htaccess és un fitxer de configuració per usuaris de l’Apache molt potent. Aquest fitxer es pot posar en qualsevol directori per especificar comportaments específics en la configuració de l’Apache. També s’ha de dir que només podràn usar aquests tipus de fitxers els usuaris que a través del fitxers de configuració principal de l’Apache heredin permisos per fer-ho.

Què es pot fer des d’un .htaccess:

  • Especificar els nostres propis documents d’error
  • Afegir comportaments específics segons tipus MIME
  • Definir variables d’entorn
  • Redirigir URLs
  • Re-escriure URLs
  • Restringir accessos

Aquest document és una traducció-adaptació-ampliació i tot el que he tingut ganes de canviar i afegir del document original: .HTACCESS files useful tips and tricks de Garnet R. Chaney.

UPDATE: Ha sortit la segona part del document: more .htaccess tips and tricks

Especificar els nostres propis documents d’error

Simplement es tracta de no usar els errors estàndars del servidor de hosting que hospeda la nostre pàgina, o sigui, definim quina pàgina s’ha de retorna en els casos que la resposta HTTP no sigui del tipus 200. El més habitual és la pàgina d’error 404 (Not Found), si volem redefinir aquesta pàgina hem de posar al .htaccess, per exemple:

ErrorDocument 404 errors/404.html
Afegir comportaments específics segons tipus MIME

Aquestes macros de servidor el que fan és definir comportaments específics segons el tipus de fitxer i retornar el resultat després d’aplicar el ‘parser’ concret. Per exemple:

AddType text/html .shtml
AddHandler server-parsed .shtml

Si voleu més informació sobre el tema dels ‘handlers’ podeu consultar el manual de l’Apache handlers use i la documentació de mod_include.

NOTA: Article inspirat en: .HTACCESS files useful tips and tricks

Modificar les variables d’entorn del sistema

Com tots sabeu el sistema té una serie de variables d’entorn (veure env i set) que són visibles des de les sessions de l’Apache (veure phpinfo). Doncs bé aquestes poden ser alterades de la següenta manera, per exemple:

SetEnv SITE_WEBMASTER "Jack Sprat"
SetEnv SITE_WEBMASTER_URI mailto:Jack.Sprat@characterology.com
UnSetEnv REMOTE_ADDR
Afegim formats MIME

Les extensions no reconegudes per l’Aapache es consideren formats de text i no es poden descarregar adequadament, així doncs és convenient afegir els tipus MIME no reconeguts per aquest, per exemple:

AddType application/x-endnote-connection enz
AddType application/x-endnote-filter enf
AddType application/x-spss-savefile sav
Restringir l’accés als documents

L’apache permet ristringir l’accés als documents segons molts tipus de factors:

  • per host
  • per tipus de navegador
  • per les credencials enviades via HTTP
  • etc

En el següent exemple es dona accés només per les IPs de la xarxa privada (192.168.*) o pels hoss que acabin en ymbi.net (domini de la meva LAN privada).

order deny,allow
deny from all
allow from 192.168. ymbi.net
Protecció d’accés per autenticació

Per informació sobre aquest tema, us recomano: manual del mod_auth. També val la pena que us mireu mòduls no oficials de l’apache com: mod_auth_mysql com el seu nom indica permet tenir no només la bbdd d’usuarie en fitxers de texta, sinó dins una bbdd mysql. També existeixen coses semblants per postgresql i per ldap. Fins hi tot diria que ho he vist mod_auth_pam interessant,oi?

Protegim l’accés només a un fitxer

Normalment l’.htacces es refereix a tot un directori, per tant si volem referir-nos només a un fitxer en concret ho hem d’especificiar amb la directiva <Files>. En el següent exemple demanem una autenticació per veure el fitxer quiz.html, aquesta es comproba a través del directori LDAP:

<Files quiz.html>
order deny,allow
deny from all
AuthType Basic
AuthName "Characterology Student Authcate"
AuthLDAP on
AuthLDAPServer ldap://directory.characterology.com/
AuthLDAPBase "ou=Student, o=Characterology University, c=au"
require valid-user
satisfy any
</Files>

Un exemple que sempre és molt útil en la vida real és el següent, fins hi tot us recomano que l’useu al fitxer general de configuració de l’apache. El que fa és protegir que ningú pugui llegir els fitxers .htaccess, ja que aquests poden contenir informació sensible:

<Files .htaccess>
order deny,allow
deny from all
</Files>

També existeix una directiva que s’anomena <FilesMatch> i ens permet usar comodins (wildcards) en les restriccions per fitxers.

Redirigint un client

Podem dir-li al servidor que redirigeixi la connexió del client cap a una URL concreta, hi ha diferents tipus de redireccions:

  • permanent – el recurs s’ha mogut de forma permanent
  • temp – s’ha mogut de forma temporal a un altre lloc
  • seeother – el contingut ha estat canviat
  • gone – la informació requerida ha estat elminida de forma permenent

Exemples:

Redirect permanent /psych/subject/timetable http://www.characterology.com/psych/subject/ttable
Redirect gone /psych/subject/1998
Redirect seeother /psych/subject/1999/ /psych/subject/2000/

Més exemples:

RewriteEngine on
RewriteBase /psych
RewriteRule test/printenv(.*) cgi-bin/printenv$1

Com podeu veure es poden usar expresions regulars, aquí en teniu un petit resum:(no ho he traduit per no distorcionar-ho)

  • Patterns (“wildcards”) are matched against a string
  • Normal alphanumeric characters are treated as normal
  • Special characters:
  • . (full stop) – match any character
  • * (asterix) – match zero or more of the previous symbol
  • + (plus) – match one or more of the previous symbol
  • ? (question) – match zero or one of the previous symbol
  • \? (backslash-something) – match special characters
  • ^ (caret) – match the start of a string
  • $ (dollar) – match the end of a string
  • [set] – match any one of the symbols inside the square braces.
  • (pattern) – grouping, remember what the pattern matched as a special variable

Exemples:

  • a+ matches “a”, “aaaa”, “aaaaaaaaaaaa”, but not “bbb”
  • [ab]+ matches, “a”, “b”, or any length combination of the two
  • \.s?html? matches “.htm”, “.shtm”, “.html” or “.shtml”
  • (.+)/1999/(.+) matches “subject/1999/psy1011/”, and also stores “subject” in $1 and “psy1011/” in $2.
  • Més informació: man regex o fins hi tot teniu llibres sencers de can O’Reilly que en parlen Mastering Regular Expressions.

Les redireccions poden ser molt més complexes del que hem vist i podem veure aquí, alguns exemples:

  • Redireccionem de forma condicional, per exemple, quan no existeix un fitxer:
  • RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)errata\.html?$ cgi-bin/errata/errata-html/$1
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule images/barcode/(.*).gif cgi-bin/barcode/mkgif?$1
  • També podem fer condicions segons les variables d’entorn:
  • RewriteCond %{HTTP_USER_AGENT} ^Mozilla.*
    RewriteRule ^/$ /homepage.max.html [L]
    RewriteCond %{HTTP_USER_AGENT} ^Lynx.*
    RewriteRule ^/$ /homepage.min.html [L]
    RewriteRule ^/$ /homepage.std.html [L]

Si us heu quedat amb les ganes de jugar més amb el tema podeu anar a la documentació d’apache concretament on es parla dels moduls: mod_rewrite i mod_alias.

Com us podeu imaginar això és el que he usat per redirigir les peticions de les imatges del blog, tal com comentava a: Les imatges i l’àlbum de fotos van més ràpids?, aquí teniu el codi de la redirecció:

RewriteCond %{REMOTE_ADDR} !^192.168.1.0/24
RewriteCond %{REMOTE_ADDR} !^192.168.2.0/24
RewriteCond %{REMOTE_ADDR} !^10.0.30.0/24
RewriteRule ^/article_fitxers(.*) http://dades.joor.net/article_fitxers$1

Linux System Administration Certificate Series

Reading time: < 1 minute

“Are you interested in learning Linux and Unix system administration skills? You can earn a University of Illinois Office of Continuing Education System Administration Certificate, and you will have access to your own Linux Server throughout the process — all online and provided by Useractive.”

Pos aixos, que si us voleu treure un curs certificat per la universitat de Illinois sobre administració de Linux/Unix podeu anar alla. Tot i que a molt de vosaltres debeu pensar “si, a noe le vas a hablar tu de lluvia”, pero qui sap potser es la excusa perfecte que algú estava esperant per anar a Illinois (EEUU) a estudiar, i aixi ampliar el mapa de dues noticies més avall…

més info a: http://oreilly.useractive.com/courses/sysadmin.php3

Formatejar partició FAT32 des de Linux

Reading time: < 1 minute

El titol ja ho diu tot, a vegades calen fer coses poc habituals i si es pot evitar re-iniciar sempre és una avantatge, perquè no hagueu de fer això per un ‘format’ de tota la vida:

mkdosfs -F 32 <dispositiu>

per exemple:

# mkdosfs -v -F 32 /dev/sda1
mkdosfs 2.10 (22 Sep 2003)
/dev/sda1 has 16 heads and 63 sectors per track,
logical sector size is 512,
using 0xf8 media descriptor, with 33683264 sectors;
file system has 2 32-bit FATs and 32 sectors per cluster.
FAT size is 8220 sectors, and provides 1052087 clusters.
Volume ID is 41eea339, no volume label.

Fitxers de video 3gpp amb linux

Reading time: 1 – 2 minutes

3gpp.gif

El meu mòbil igual que molts mòbils d’última generació usen el format 3gpp per grabar video. El problema és que no sabia com veure aquest format en linux i he trobat un petit hack per solucionar el tema: Watching browser embedded 3gp videos in Linux.

És molt senzill només heu de localitzar el fitxer de configuració dels codecs del mplayer: /usr/share/mplayer/codecs.conf i a la secció: videocodec ffh263 afegiu al final de la mateixa: format 0x33363273 ha de quedar més o menys així:

videocodec ffh263
  info "FFmpeg H263+ decoder"
  status working
  fourcc H263,U263,h263,X263
  fourcc viv1 h263
  driver ffmpeg
  dll h263
  out YV12,I420,IYUV
  format 0x33363273

Per transformar el format del fitxers 3gpp a algún altre format: Towards Mobile Tivo.L’únic problema que tinc ara és que no sento el so, algu sap com fer-ho?

Scroll to Top