dimecres, de desembre 22, 2010
Permetre crides AJAX des d'un domini diferent (Peticions "Cross-site")
dissabte, de desembre 04, 2010
Ús del Subversion, pas a pas
INSTAL·LACIÓ:
Instal·lar els paquets
# sudo apt-get install subversion libapache2-svn
Configurar un repositori: crear-lo
# mkdir /home/usuari/repositori
# svnadmin create /home/usuari/repositori/projecteX
Configurar un repositori: servir-lo via apache
# sudo chown -R www-data:www-data /home/usuari/repositori/
# sudo nano /etc/apache2/sites-available/default
I afegir-hi :
DAV svn
SVNParentPath /home/usuari/repositori
SVNListParentPath On
AuthType Basic
AuthName "Repositori de Control de Versions"
AuthUserFile /etc/subversion/passwd
Require valid-user
# sudo htpasswd -c /etc/subversion/passwd usuari_http
# sudo apache2ctl restart
Configurar una acció automàtica al servidor després de cada “commit”
# vi /home/usuari/repositori/projecteX/hooks/post-commit
I afegir-hi les accions que volguem, per exemple, actualitzar una carpeta amb els contiguts:
/usr/bin/svn update /var/www/test >> /var/log/svn/deploy.log 2>&1En aquest exemple, caldrà que “/var/log/svn” existeixi i tingui permisos per l'usuari “www- data”
ÚS:
Importar els continguts el primer cop al repositori
# svn import /home/usuari/prjX_backup file:///home/usuari/repositori/projecteX
Descarregar els continguts del repositori a una carpeta "publica_projecte", el primer cop
# svn co file:///home/usuari/repositori/projecteX /var/www/publica_projecte
Actualitzar la carpeta amb els canvis que hi hagi al repositori
# svn update /var/www/publica_projecte/
Afegir nous continguts a la carpeta i “pujar-los” al repositori
# mkdir /var/www/publica_projecte/nova_carpeta
hi copiem o hi creem els continguts que calgui amb “cp” o com ens sembli...
cd /var/www/publica_projecte
# svn add nova_carpeta
# svn commit
Enviar els canvis fets al repositori
En general qualsevol canvi o modificaió als continguts que es vulguin “pujar” al servidor.
# cd /var/www/publica_projecte
# svn commit
dimarts, de novembre 23, 2010
SSH invers.
Escenari: Volem connectar-nos a un equip a
mb connexió a internet però que no té cap port “accessible” i que només port sortir pels ports 53, 80 i 443 Disposem d'un servidor a Internet amb IP pública i que controlem (anomenem-la IP_PÚB_NOSTRE_SERVER)
2. Per seguretat, i si ens interessa que aquest compte "tmp" que hem creat, i que serà usat al client no pugui obtenir una un cónsola de comandes al servidor, editem l'arxiu /etc/passwd al servidor ihi canviem el "/bin/bash" del final de la linea de l'usuari "tmp" per /usr/sbin/nologin (o la localització d'aquest nologin... si tenim dubtes, ens assegurem que existeix amb un “locate nologin“)
3. Al servidor editem l'arxiu de configuració del servei ssh a “/etc/ssh/sshd_config” i hi afegim que escolti per algun dels ports que el client pot usar per sortir.. per exemple el 53 (nota: ha de ser un port que estigui “lliure”, és a dir que si tenim per exemple l'apache escoltant pel port 80, no el podrem usar). Cal afegir a sota del Port 22 que hi ha per defecte:
4. Reiniciem el servei sshd i anem al client. (p.e. /etc/init.d/ssh restart)
5. Al client fem la comanda del ssh invers pròpiament dit:
El primer cop ens demanarà...
The authenticity of host ' IP_PÚB_NOSTRE_SERVER (IP_PÚB_NOSTRE_SERVER)' can't be established. RSA key fingerprint is xx:xx:xx:a1:5f:1a:89:78:90:7b:2e:22:9a:xx:xx:xx. Are you sure you want to continue connecting (yes/no)?
escrivim que sí, i ens demanarà el password de l'usuari “tmp” que hem creat més amunt al server amb l'”adduser” i s'hauria de quedar a l'espera...
En aquest exemple, USUARI_CLIENT és un usuari vàlid per fer una connexió ssh al client, i IP_PÚB_NOSTRE_SERVER és la IP pública del nostre servidor, i el port és el 4430 però podria ser qualsevol no tallat.
dijous, de juny 03, 2010
A Google ho tenen clar, la culpa és de Microsoft.

dimarts, de març 02, 2010
Checking for corrupt, not cleanly closed and upgrade needing tables..
debian:~# /etc/init.d/mysql restart
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
En un primer moment em vaig pensar que potser calia executar a mà l'actualitzador de les dades entre versions de mysql. Però no, la seva execució deia que les dades ja estaven actualitzades:
debian:~# mysql_upgrade -p
Enter password:
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
This installation of MySQL is already upgraded to 5.1.44, use --force if you still need to run mysql_upgrade
Total, que després d'una cerca a internet vaig trobar el resultat... El missatge està mal triat amb ganes. A continuació us mostro entre [ ] la part del missatge que es dóna per sobre-entesa...
"[I am now] Checking for corrupt [tables]"
"[I am now checking for ], not cleanly closed [tables] and "
"[I am now checking for ] upgrade needing tables"
És a dir, que mysql simplement va dient què és el que està fent: 1. Comprovar si hi ha taules corruptes, 2. [Comprovar si] hi ha taules tancades inesperadament i, finalment, [Comprovar si alguna taula] necessita ser actualitzada...