Archive for the ‘Servidors Web’ Category

Alliberat Zend Studio 7.2.1

dilluns, juliol 19th, 2010

Per a veure les novetats d’aquesta versió.

Sobretot soluciona molts bugs.

Alliberat Apache Tomcat 6.0.28

dijous, juliol 15th, 2010

El proppassat dia 9 s’alliberà la versió 6.0.28 (estable) d’Apache Tomcat.

Aquí totes les novetats:

http://tomcat.apache.org/tomcat-6.0-doc/changelog.html

Truc: Actualitzar els collations de totes les taules d’una base de dades MySql

dissabte, maig 29th, 2010

Un dia em vaig trobar amb una base de dades MySql que tenia mal fixats els collations (transformacions per a tipus de caracters).

Canviar-ho camp per camp, taula per taula, representava una feina molt feixuga.

Vaig trobar aquesta eina gratuita, en PHP, pensada per a fer-la anar des del nostra servidor web que fa el fet:

phoca-changing-collation-tool

Des d’allí hi podeu descarregar un arxiu zip que conté el codi PHP pensat per a executar-lo des d’un servidor web.

Tot i això res no impediria pas de fer servir el mateix programa des de línia de comandes amb l’ intèrpret PHP amb unes petitones modificacions.

Assumint el seu ús mitjançant un servidor web, si teniu moltes taules haureu de canviar el màxim temps d’execució de PHP puix que la operació durà temps.

Un avantatge del codi obert és que pots saber exactament què fa i evitar sorpreses desagradables.

Us adjunto el codi php de la eina per si mai deixés d’estar disponible:

<?PHP
/*
* @tool	Phoca Changing Collation
* @Changing collation of database, tables and columns
* @Run this script only at your own risk. If you have a big database
* @you need to change the script execution time in your php
* @copyright (C) Jan Pavelka www.phoca.cz (http://www.phoca.cz)
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* @based on script from http://php.vrana.cz/ - Author - Jakub Vrana
* @license http://creativecommons.org/licenses/by/2.5/
* @Creative Commons Attribution 2.5 Generic
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb" lang="en-gb">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="index, follow" />
<meta name="keywords" content="phoca, server unzip" />
<meta name="description" content="Phoca Server Unzip tool" />
<meta name="generator" content="www.phoca.cz" />
<title>Phoca Server Unzip tool</title>
<style type="text/css">
    body {font-family: Arial, sans-serif; font-size: 10px; color: #000000 ;}
    h1 a {color:#006699;text-decoration:none;}
    #info {position: relative;float:right; top:10px; right:10px; text-align:right;margin-bottom:10px;}
    .error {font-weight:bold;color:#c10000}
    .warning {font-weight:bold;color:#ff8102}
    .success {font-weight:bold;color:#008040}
    .window {position:relative;top:10px;left:10px;width:95%;padding:5px;height:300px; overflow:auto;border:1px solid #000;background:#fbfbfb;clear:both;}
</style>
</head>
<body>
<div id="info">
    <img src="assets/phoca-logo.png" alt="Phoca" /><br />
    <a href="http://www.phoca.cz/">www.phoca.cz</a><br />
    <a href="http://www.phoca.cz/forum">www.phoca.cz/forum</a>
</div>
<h1><a href="index.php">Phoca Changing Collation tool</a></h1>
<?php
    function start_db($mysqlhost,$mysqldatabase, $mysqluser, $mysqlpass)
    {
        global $conn;
        $conn = mysql_connect($mysqlhost, $mysqluser, $mysqlpass);
        if (!$conn)
        {
           echo '<a href="index.php">Back to the main site</a><br />';
           die('Database error.');
        }
        $select = mysql_select_db($mysqldatabase, $conn);
        if (!$select)
        {
           echo '<a href="index.php" >Back to the main site</a><br />';
           die('Database error.');
        }
    }
    function end_db ($conn)
    {
        mysql_close($conn);
    }
if (   isset($_POST['host'])
    && isset($_POST['user'])
    && isset($_POST['pass'])
    && isset($_POST['name'])
    && isset($_POST['col']))
{
    $mysqlhost 		= $_POST['host'];
    $mysqluser 		= $_POST['user'];
    $mysqlpass 		= $_POST['pass'];
    $mysqldatabase 	= $_POST['name'];
    $collation 		= $_POST['col'];
    // Change the time -------------------------------------
    $changedMaxExecTime		= 0;
    $standardMaxExecTime 	= ini_get('max_execution_time');
    if ($standardMaxExecTime != 0  && $standardMaxExecTime < 120) {
        set_time_limit(120);
        $changedMaxExecTime	= 1;
    }
    // -----------------------------------------------------
    start_db($mysqlhost,$mysqldatabase, $mysqluser, $mysqlpass);
    //Start code from http://php.vrana.cz/ - Author - Jakub Vrana
    function mysql_convert($query) {
        echo '<div>' . $query . ' ... <span style="color:#26d92b;">OK</span></div>';
    return mysql_query($query);
    }
    echo '<div></div>';
    echo '<div>';
    mysql_convert("ALTER DATABASE $mysqldatabase COLLATE $collation");
    $result = mysql_query("SHOW TABLES");
    while ($row = mysql_fetch_row($result)) {
        mysql_convert("ALTER TABLE $row[0] COLLATE $collation");
        $result1 = mysql_query("SHOW COLUMNS FROM $row[0]");
        while ($row1 = mysql_fetch_assoc($result1)) {
            if (preg_match('~char|text|enum|set~', $row1["Type"])) {
                mysql_convert("ALTER TABLE $row[0] MODIFY $row1[Field] $row1[Type] CHARACTER SET binary");
                mysql_convert("ALTER TABLE $row[0] MODIFY $row1[Field] $row1[Type] COLLATE $collation" . ($row1["Null"] ? "" : " NOT NULL") . ($row1["Default"] && $row1["Default"] != "NULL" ? " DEFAULT '$row1[Default]'" : ""));
            }
        }
    }
    echo '</div>';
    mysql_free_result($result);
    //End code from http://php.vrana.cz/ - Author - Jakub Vrana
    end_db($conn);
    echo '<p>&nbsp;</p><a href="index.php">Back to the main page</a>';
    // Set back the time --------------------
    if ($changedMaxExecTime == 1) {
        set_time_limit($standardMaxExecTime);
    }
    // --------------------------------------
}
else
{
    ?>
    <h2>Change database collation (DATABASE, TABLES, COLUMNS)</h2>
    <form action="index.php" method="post">
    <table>
    <tr><td>Database Host</td><td><input type="text" name="host" value="localhost" /></td></tr>
    <tr><td>Database User</td><td><input type="text" name="user" value="username" /></td></tr>
    <tr><td>Database Password</td><td><input type="password" name="pass" value="password" /></td></tr>
    <tr><td>Database Name</td><td><input type="text" name="name" value="database name" /></td></tr>
    <tr><td>Database Collation</td><td><input type="text" name="col" value="utf8_general_ci" /></td></tr>
    <tr><td></td><td><input type="submit" value="Submit" /></td></tr>
    </table>
    </form>
    <?php
}
?>
</body>
</html>

Alliberat Zend Studio 7.2

divendres, abril 30th, 2010

Zend presentà ahir Zend Studio 7.2.

L’entorn preparat per a programar en PHP amb el framework Zend.

De fet el framework Zend l’han creat els pares de PHP, encara que curiosament Zend framework és gratuït però no programari lliure.

Podeu veure la notícia i descarregar-lo a la seva web:

http://app.news.zend.com/e/es.aspx?s=714&e=88621

Em fa molta gràcia que aquesta adreça sigui un .aspx , que és la que fa servir microsoft .net.

Quan tingui un moment investigaré si es tracta d’un servidor web de microsoft (que em sorprendria molt) o simplement han mapejat l’extensió .aspx a PHP amb un gran sentit de l’humor.

Solució de problemes amb WAMP i PHP 5.3.x

dissabte, abril 24th, 2010

Si treballeu amb WAMP Wampserver 2.oi amb el mòdul de PHP 5.2.11,  us podeu haver trobat amb un error que fa que qualsevol versió de PHP 5.3.x falli.

En alguns webs he trobat que això es deu a que manca una llibreria (DLL), nogensmenys wampserver base amb PHP 5.3.0 sense el 5.2.11 funciona perfectament jo ho he pogut solucionar instal·lant el paquet original de PHP, el darrer a data de 24 d’Abril de 2010, PHP 5.3.2.

En el meu cas l’he instal·lat a C:\PHP mentre que els de WAMP són a c:\wamp\bin\php\ per exemple C:\wamp\bin\php\php5.3.0.

Ara bé, quan inicieu Wamp haureu de tenir cura ja que el PHP.INI que carregarà serà el de C:\PHP.

Això ho podeu revisar amb un phpinfo, si no sabeu què és, es tracta d’una funció que envia al navegador tota la informació de configuració de PHP:

<?php

// Mostra tota la informació, INFO_ALL
phpinfo();

// Si només volguéssim dels mòduls, INFO_MODULES
// phpinfo(8) és el mateix.
phpinfo(INFO_MODULES);

?>

Alliberat Zend Server 5.0.1

dijous, abril 22nd, 2010

S’acaba d’alliberar la versió 5.0.1 de Zend Server.

És una versió de manteniment que actualitza PHP a la versió 5.2.13 o a la versió 5.3.2 i el Framework de Zend a la versió 1.10.3.

També soluciona alguns problemes de seguretat.

Es pot descarregar des de:

http://www.zend.com/products/server/downloads

Alliberat Apache Tomcat 6.0.26

dissabte, març 13th, 2010

S’ha presentat la versió 6.0.26 del servidor d’aplicacions que soluciona diversos problemes de seguretat, entre ells un de molt greu present a la versió 6.0.25.

Podeu veure tots els errors solucionats aquí:

http://tomcat.apache.org/tomcat-6.0-doc/changelog.html

Alliberat Apache Tomcat 6.0.24

dijous, gener 21st, 2010

Tot just s’acaba d’alliberar la versió 6.0.24 d’Apache Tomcat.

Tomcat és el servidor web Apache capaç d’executar codi Java (JSP, Servlets…).

S’han solucionat molts problemes des de la versió 6.0.20 (hi ha hagut diverses versions que no s’han publicat i que solucionaven problemes).

A la web d’Apache Tomcat podeu veure la llista completa de canvis.

També s’ha actualitzat Apache Tomcat Native a la versió 1.1.19.

Apache Tomcat Native és un JNI (Java Native Interface) que proporciona moltes de les funcions centrals de Tomcat en codi natiu (codi màquina per a processadors Intel compatibles) en comptes d’en el bytecode Java.

Això es tradueix en un augment molt gran de velocitat.

Veure la llista completa de canvis.

WAMP

dijous, desembre 24th, 2009

WAMP vol dir:

Windows

Apache

MySql

PHP.

És habitual l’expressió LAMP:

Linux

Apache

MySql

PHP.

La gent de wampserver.com van desenvolupar un WAMP:

Apache + MySql +  PHP per a Windows.

Bàsicament han creat un executable que instal·la Apache, Php, i MySql tot llest per a començar a programar i que permet configurar la majoria de coses amb un clic.

Les directives de PHP.INI o d’Apache (httpd.conf) es poden modificar amb una simple pulsació del botó del ratolí, i llavors el programari modifica els fitxers de configuració.

Així per exemple per a activar en PHP que permeti usar <? i no només <?php, enlloc de modificar l’arxiu PHP.INI i acativar la directiva short open tag, fem clic a la opció pertinent, wamp fa que s’actualitzi la configuració, i al cap de 2 segons en el nostre entorn ja permet executar codis PHP com <?=”Hola Catalunya”?>.

Crear àlies al servidor web es fa també des del ratolí i és terriblement fàcil.

Una altra de les gràcies és que permet disposar de diverses versions d’Apache, de PHP o de MySql i de bescanviar quina s’està executant amb un clic.

Nogensmenys per a fer això s’ha d’instal·lar uns complements.

I per a acabar-ho d’adobar incorpora el PHPMyAdmin, que és un administrador web per a MySql, per a poder crear les taules, índexs, afegir usuaris, permisos, etc… des de la mateixa eina.

No podia faltar la opció phpinfo(). ;-)

Jo acostumo a desenvolupar en PHP contra Linux, o bé contra Windows, però en configuracions on tot és instal·lat manualment i els arxius s’han de modificar a mà: el servidor Web, MySql, i el PHP…

I haig de dir que amb wampserver va ser descarregar-lo i començar a programar en qüestió de segons.

El fet de poder parar tots els serveis per a que no consumeixin memòria ni CPU mentre no els fem servir, i poder-los reiniciar en segons amb un clic, també és d’agrair.

Alliberat Apache 2.2.14

Dimarts, octubre 6th, 2009

apache_logo_server_projectAquesta matinada, hora Catalana, ha estat alliberat la versió 2.2.14 el popular servidor web.

Una de les coses que més m’agrada de la versió 2.2 és el suport per a fitxers més grans de 2 GB en sistemes Unix de 32 bit.

Per a veure la llista de totes les noves funcionalitats:

http://httpd.apache.org/docs/2.2/new_features_2_2.html

Greu problema de seguretat en el programari de control de versions, projectes i repositori de codis fonts SVN (Subversion)

divendres, setembre 25th, 2009

codic.cat-solucio-per-apache-svnEnllaço a aquest magnífic article (en anglès) que descriu la vulnerabilitat que permet accés a tots els codis font del conegut CVS (Concurrent Version System – Sistema de versions concurrents) Open Source: SVN o Subversion.

L’article també explica com solucionar el problema de seguretat.

http://www.smashingmagazine.com/2009/09/25/svn-strikes-back-a-serious-vulnerability-found/

Via: OS News

Alliberat Apache Tomcat 5.5.28 estable

divendres, setembre 4th, 2009

coedic.cat-tomcat_vmwareS’ha alliberat la versió 5.5.28 d’Apache Tomcat. Aquesta és una versió estable, hi ha una altra línia, la 6,  de desenvolupament.

Tomcat és el servidor web Apache amb l’afegitó d’executar Java.

Aquest servidor d’aplicacions és un producte molt emprat a nivell empresarial per la seva versatilitat i potència.

Permet executar Java Server Pages (JSP), que són planes dinàmiques, i Java Servlets, que s’han de compilar.

Java és un llenguatge de programació basat en una màquina virtual, la Java Virtual Machine, i que no existeix en realitat. El que fan tots els sistemes operatius que suporten Java és oferir compatibilitat amb la Java Virtual Machine via emulació. Per això Java sol ésser lent. Però els servidors d’aplicacions tenen tècniques per a accelerar molt la resposta, com ara mantenir en memòria una versió compilada (nativa o binària) de la correspondència emulada de Java i el codi executable del servidor físic (per exemple 80×86).

El principal problema de Java és a part de la velocitat, els problemes amb l’alliberament de memòria. Hi ha un component anomenat garbagge collector (recol·lector de brossa) però tot sovint no acaba de funcionar bé i els servidors acaben quedant-se sense memòria RAM disponible.

Apache és un software lliure i és emprat, en les seves diferents versions, per la indústria del Software.

En la imatge que acompanya l’article, una vista de la consola de l’Apache Tomcat 6 que instal·la Vmware Server 2.0.

Pujar arxius grans des d’un formulari web a una plana ASP en IIS 6.0 (Windows 2003 Server) i evitar l’error 400 Bad Request

dijous, setembre 3rd, 2009

ha_fet_llenya16349Encara hi ha moltes planes que funcionen en ASP.

Tot sovint s’ha actualitzat el servidor i el sistema operatiu i servidor web que serveix les planes, però no s’ha migrat a microsoft .net.

En el cas d’ Internet Information Services 6.0  (IIS 6), que ve amb Windows 2003 Server, per defecte no permetrà que des d’un formulari s’enviïn més de 200 KB de dades.

Això inclou les dades del formulari (controls text, textarea, select, camps hidden…) i els fitxers.

200 KB és molt poc tenint en compte que la majoria de CMS permeten pujar 3 imatges de cop, i que una imatge de 90 KB no és gens estrany.

A més a més quan el navegador envia les imatges a través d’un formulari web, s’envien més dades que no pas els 90 KB de la imatge de l’exemple.

Una imatge de 90 KB pujada per formulari pot suposar la tramesa de 160 KB al servidor.

Si es tracta d’enviar més informació de la que el servidor web permet, aquest retornarà un error 400 Bad Request (petició invàlida).

Per a modificar aquest límit cal editar l’arxiu:

c:\WINDOWS\System32\inetsrv\MetaBase.XML

I modificar l’entrada:

AspMaxRequestEntityAllowed

Cal modificar el valor per defecte AspMaxRequestEntityAllowed=”204800″ pel valor que ens interessi, per exemple la següent modificació en permetrà pujar d’un cop, en un formulari post o multipart/form-data 2 MB (megabytes):

AspMaxRequestEntityAllowed=”209715200″

Després caldrà reiniciar el servidor web i tots els serveis associats, i ja podrem pujar arxius del que haguem especificat.

Si voleu pujar arxius molt grans haureu d’augmentar també els temps d’execució de l’script abans que es cancel·li per time out.

La fotografia del Castell caient és publicada a Nació Digital, i la signa Joan Perea, i correspon a una caiguda de la Colla Jove dels Xiquets de Valls el 8 de Juliol de 2007.

Alliberat Apache 2.2.13

dilluns, agost 10th, 2009

apache_logo_server_projectEl polivalent servidor web Apache ha estat alliberat en la seva versió 2.2.13, per a les diferents plataformes (unix, windows…).

Aquesta nova versió conté arrenjaments de seguretat bàsicament rel·lacionats amb la possibilitat de rebre atacs DoS (Denial of Service, o denegació de servei), satuació del servidor i de la seua memòria, i atacs que podrien arribar a proporcionar informació per a un altre usuari o privada. Per tant és absolutament recomanat d’actualitzar-se.

També hi ha noves funcionalitats, detallades aquí, que augmenten la potència del servidor web per a entorns escalables, amb més complexitat, i que han de suportar majors volums en la tramesa d’informació, com per exemple, suport per a arxius de més de 2 GB.

El servidor Apache es pot descarregar des de la secció de descàrregues de la seva web.

Via: Apache Announce