Archive for the ‘Servidors Web’ Category

Servidors web IIS i Apache alhora en el mateix servidor windows 2003 server

dissabte, juliol 24th, 2010

windows té moltes coses que no m’agraden.

Mentre que a Linux, un cop l’has aprés, tot és clar i coherent, i les coses no canvien soles si no modifiques els arxius de configuració (que s’editen a mà), windows és un món multicolor on poden passar moltes coses no desitjades.

Si tenim un servidor microsoft windows 2003 amb més d’una adreça ip i instal·lem el servidor web Apache o qualsevol altre, descobrirem que windows no permet fer que Internet Information Services (IIS, el servidor de microsoft) utilitzi només una ip.

Malgrat que li indiquem que utilitzi només una, intentarà escoltar per totes, i l’Apache no podrà arrencar, o bé si aquest s’executa abans, IIS no podrà arrencar perquè Apache estarà escoltant per una de les adreces Ip.

Aquí us adjunto un truc per a poder fer que IIS només escolti per alguna de les adreces Ip i no per totes.

Es tracta d’editar el registre com mostren les imatges.

La clau que editarem o afegirem és:

My Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\ Services\HTTP\Parameters\ListenOnlyList

És important deixar una línia en blanc. Si us fixeu en el cursos s’ha premut enter després de la darrera adreça Ip.

Indicant-li aquestes adreces, aquestes seran les úniques per a les que escoltarà el servidor web de microsoft i podrem fer que l’Apache o un altre servidor Web escolti de la resta d’ips del servidor.

Alliberat Apache Tomcat 6.0.29 (estable)

dissabte, juliol 24th, 2010

El proppassat dia 22 s’alliberà Apache Tomcat, el servidor web per a Java programari lliure.

Soluciona alguns errors (bugs).

Podeu veure els canvis al changelog (històric de canvis entre versions).

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.