<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ajaxman &#187; Manuales</title>
	<atom:link href="http://www.ajaxman.net/tag/manuales/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ajaxman.net</link>
	<description>Servicios Web, Desarrollo de aplicaciones, tutoriales sobre software</description>
	<lastBuildDate>Sun, 01 Apr 2012 06:18:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>[Manual - Codeigniter] Programando php en MVC con CodeIgniter [Parte 1]</title>
		<link>http://www.ajaxman.net/manual-codeigniter-programando-php-en-mvc-con-codeigniter-parte-1.html</link>
		<comments>http://www.ajaxman.net/manual-codeigniter-programando-php-en-mvc-con-codeigniter-parte-1.html#comments</comments>
		<pubDate>Wed, 15 Jul 2009 04:44:36 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Php5]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=1616</guid>
		<description><![CDATA[<p>Antes de empezar con este post, quiero ofrecer disculpas ya que no he sido constante en el blog, sin embargo cuando estén casados y esperando un bebe sabrán que hay cosas que son mas importantes jaja. También déjenme comentarles que estoy planeando un cambio de diseño en el blog, algo que no modifique mucho la [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Antes de empezar con este post, quiero ofrecer disculpas ya que no he sido constante en el blog, sin embargo cuando estén casados y esperando un bebe sabrán que hay cosas que son mas importantes jaja.<br />
También déjenme comentarles que estoy planeando un cambio de diseño en el blog, algo que no modifique mucho la estructura pero que se vea elegante, esos son los planes a futuro, bueno ahora si pasemos al post.</p>
<p>A mi siempre me ha gusto programar directamente sin usar algún tipo de Framework<br />
o algo similar (a excepción del Blog que uso WordPress), sin embargo ahora que estoy viendo como programar el proyecto empecé a buscar opciones que aligerarán mi carga de trabajo, pero a la vez que fuera muy flexible para meter código donde fuera necesario (claro de una manera ordenada).</p>
<p>Entonces empecé a buscar algún Framework que me satisficiera, pensé en Zend, en Smarty, Phpbb, Xtemplate, etc, sin embargo esta dudoso, como que una parte me decía que si y otra que no, entonces conocí a CodeIgniter, un Framework que si bien no es tan conocido como Zend o Symphony, si es muy potente y muy simple de usar y puede llegar a ser tan potente como los dos anteriores.</p>
<p>Ahora bien, me puse a investigar como instalar y como hacer mi !Hello Word!, así que aquí les pongo como le hice y como quedo.</p>
<p>[PASO:1]</p>
<p>Requisitos:</p>
<ul>
<li> Tener php 4 o superior instalado</li>
<li> Base de datos MySQL(soporta otras)</li>
</ul>
<p>[PASO:2]</p>
<ul>
<li>Obtenemos CodeIgniter de la siguiente URL  <a href="http://codeigniter.com/download.php" target="_blank"><strong>http://codeigniter.com/download.php</strong></a></li>
<li> Lo copiamos dentro de nuestra carpeta raíz de htdocs (en Apache)</li>
<li> Hay dos carpetas una se llama <strong>system </strong>y otra <strong>user_guide</strong>, además de otros archivos</li>
</ul>
<p>[PASO:3]</p>
<ul>
<li>Ahora procederemos a configurar nuestro <strong>CodeIgniter</strong></li>
<li> Primero abrimos el siguiente archivo <strong>system/application/config/config.php</strong> y buscamos la línea<strong> $config['base_url'] = &#8220;http://localhost/CodeIgniter/&#8221;;</strong> en donde pondremos la ruta de nuestra carpeta que acabamos de descomprimir</li>
<li> Para conectar la base de datos hay que editar el archivo <strong>system/application/config/database.php</strong> en donde dice</li>
<p><strong>$db['default']['hostname'] = &#8220;localhost&#8221;; </strong></p>
<p><strong> $db['default']['username'] = &#8220;&#8221;; </strong></p>
<p><strong> $db['default']['password'] = &#8220;&#8221;; </strong></p>
<p><strong> $db['default']['database'] = &#8220;&#8221;; </strong></p>
<p>y Ahi colocamos los valores que usamos para conectarnos a nuestra base de datos.</ul>
<p>[PASO:4]   Ahora debes de entrar a la url que pusiste y te debe de aparecer el siguiente mensaje.</p>
<p>[PASO:5]<br />
Ahora si entras a <strong>system/application</strong> veras muchas carpetas, las que nos interesan son las siguientes <strong>config, controlles, views y models</strong>.<br />
Abrimos el archivo <strong>system/application/config/routes.php</strong> en donde buscaremos lo siguiente <strong>$route['default_controller'] = &#8220;welcome&#8221;;</strong> (<strong>esta en la línea 43 aproximadamente</strong>) esta la vamos a cambiar por el nombre de nuestro controlador que vamos a usar, su sintaxis es muy simple, <strong>debe de ser el nombre del archivo donde haremos el controlador</strong>, por ejemplo <strong>si nuestro archivo controlador se llamara test.php quedara así $route['default_controller'] = &#8220;test&#8221;;</strong> si el controlador se llamara delfines.php quedaría $route['default_controller'] = &#8220;delfines&#8221;;<br />
Nota: Es muy importante lo anterior ya que toda la sintaxis que usa CodeIgniter sigue esta estructura<br />
Ya que lo editamos cerramos ya abrimos el controlador, por default esta el controlador welcome, el cual recordemos que estaba por default dentro de routes.php,  ahora creamos nuestro controlador con el nombre que deseemos, por ejemplo <strong>biblioteca.php, (recuerden cambiar en routes.php $route['default_controller'] = &#8220;welcome&#8221;; a $route['default_controller'] = &#8220;biblioteca&#8221;; )</strong><br />
Abrimos nuestro controlador y escribimos lo siguiente.</p>
<p></p><pre class="crayon-plain-tag">class Welcome extends Controller {

function Welcome()
{

parent::Controller();

}
function index()
{
echo &amp;quot;Hola Mundo&amp;quot;;
}
}</pre><p></p>
<p>Lo que tenemos en muy simple, creamos una clase la cual extiende de Controller con lo cual obtiene todos los métodos y propiedades de un controlador genérico de CodeIgniter, vemos el método Welcome, el cual es necesario ya que tu constructor local anularia al constructor de la clase padre Controller, por lo tanto necesitamos llamarlo manualmente. en el caso de php5 podemos optar por usar.</p>
<p></p><pre class="crayon-plain-tag">function __construct()
{
parent::Controller();
}</pre><p></p>
<p>Es lo mismo.</p>
<p>Luego tenemos el método index, el cual se ejecuta cuando entremos al index.php(después del método constructor) y le decimos que escriba &#8220;Hola mundo&#8221;, si bien esto no tiene nada de MVC, es para ver que esta funcionando deberemos entrar a</p>
<p>http://localhost/codeigniter/biblioteca/</p>
<p>Y nos deberá arrojar <em><strong>&#8220;Hola Mundo&#8221;</strong></em></p>
<p>Queda pendiente el ejemplo MVC completo, cualquier duda pueden preguntar, recuerden pueden empezar a probar para que vean como funciona.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/manual-codeigniter-programando-php-en-mvc-con-codeigniter-parte-1.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[Linux] Solución a la baja velocidad de internet en Open Suse 11.0</title>
		<link>http://www.ajaxman.net/linux-solucion-a-la-baja-velocidad-de-internet-en-open-suse-110.html</link>
		<comments>http://www.ajaxman.net/linux-solucion-a-la-baja-velocidad-de-internet-en-open-suse-110.html#comments</comments>
		<pubDate>Wed, 24 Sep 2008 20:11:25 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Computadoras]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LPIC]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Open Suse]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Bash]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=1257</guid>
		<description><![CDATA[<p>Tal como les comente ando bien apurado con un buen de cosas, y probablemente el blog va a sufrir una ligera crisis en estos días, pero bueno, lo chido es que mis 200 Lectores de Feeds sigen activos , eso es bueno. Ahora pasando a otras cosas, les platico que desde que instale Open Suse [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Tal como les comente ando bien apurado con un buen de cosas, y probablemente el blog va a sufrir una ligera crisis en estos días, pero bueno, lo chido es que mis 200 Lectores de Feeds sigen activos <img src='http://www.ajaxman.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> , eso es bueno.</p>
<p>Ahora pasando a otras cosas, les platico que desde que instale Open Suse 11, me pasaba lo siguiente cuando me conectaba a Internet, la resolución de nombres era lenta, aquí pongo una lista para que vean, como estaba la situación.</p>
<ul>
<li>Abrir Firefox 1-3 Segundos</li>
<li>Escribir Ajaxman.net  3-4 Segundos</li>
<li>Resolución de nombres de dominio (DNS) 10-20 o hasta 30 segundos</li>
<li>Respuesta de la pagina y mostrar en pantalla 5-9 Segundos</li>
<li>Si había una conexión con Twitter o con Google, o algún otro servicio, volvía ha hacer la resolución de nombres o sea otros 30 segundos mas o menos</li>
<li>Esto solo sucedía en mi pc con Linux.</li>
</ul>
<p>El problema en si no era la conexión a Internet, si no la resolución de nombres el DNS.</p>
<p>Sabia que algo tenia que hacer pero no soy tan bueno en Linux, pues estuve sufriendo así mas o menos un mes.</p>
<p>Leyendo foros y mas di con el problema, ya que a primera vista, no sabia cual era el problema, ya cuando di con el busque como resolverlo.</p>
<p>La solución era simple, modificar los dns&#8217;s. Y ¿Como hacemos eso?</p>
<p>Bueno se supone que en Suse ya todo biene mas APP(*) , pero para verlo mas Geek, lo haremos a manita.</p>
<p>Como primer paso toca modificar el archivo resolv.conf, para esto veamos que contiene dicho archivo, recuerden hacer un respaldo en caso de que algo vaya mal</p>
<p><span style="color: #800000;"><strong>Ajaxman:/home/javier #</strong></span><span style="color: #333333;"> <strong>cat  /etc/resolv.conf</strong></span></p>
<p style="text-align: center;"><img class="size-full wp-image-1258 aligncenter" title="Archivo resolv.conf" src="http://www.ajaxman.net/wp-content/uploads/2008/09/resolvconf.jpeg" alt="Archivo resolv.conf" width="516" height="660" /></p>
<p>Ahora si observamos lo siguiente</p>
<p><strong><span style="color: #333333;">#search gateway.2wire.net<br />
#nameserver 192.168.1.254</span></strong></p>
<p>Ahorita están comentados pero al principio no, osea en vez de eso que les puse estaba así</p>
<p><strong><span style="color: #333333;">search gateway.2wire.net<br />
nameserver 192.168.1.254</span></strong></p>
<p>Entonces, al parecer el problema viene de que al parecer suse, intenta resolver nombres en el router, lo cual es incorrecto, ya que el no es un servidor de DNS.</p>
<p>Entonces la solución es simple modifiquemos el archivo, agregándole unos DNS&#8217;s buenos, yo en lo personal use Open DNS, los cuales son los siguientes.</p>
<p><strong>200.33.146.233<br />
200.33.146.169</strong></p>
<p>Ahora lo editamos con el Vi</p>
<p><strong><span style="color: #993300;">Ajaxman:/home/javier #</span> <span style="color: #333333;">vim  /etc/resolv.conf</span></strong></p>
<p>Para que quede asi</p>
<div id="attachment_1259" class="wp-caption aligncenter" style="width: 526px"><img class="size-full wp-image-1259" title="Archivo resolv.conf editado" src="http://www.ajaxman.net/wp-content/uploads/2008/09/resolvconf1.jpeg" alt="Archivo resolv.conf editado" width="516" height="681" /><p class="wp-caption-text">Archivo resolv.conf editado</p></div>
<p style="text-align: center;">
<p>Ahora bien, ya debe de funcionar bien, sin embargo tendremos un problema, cada vez que, reiniciemos la tarjeta de red (NIC), o cuando reiniciamos el servicio <strong>dhclient, </strong>veremos que nos borrar este archivo y nos lo deja como estaba al principio.</p>
<p>Bien para solucionar esto basta con editar dos archivos(en estos no pongo capturas por que están muy grandes los archivos), el primero es.</p>
<p><strong><span style="color: #993300;">Ajaxman:/home/javier #</span> <span style="color: #333333;">vim /etc/sysconfig/network/dhcp</span></strong></p>
<p><span id="more-1257"></span></p>
<p>En donde buscaremos lo siguiente</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p><span style="color: #333333;">## Type:        yesno<br />
## Default:     yes<br />
#<br />
# Should the DHCP client modify /etc/resolv.conf at all?<br />
# If not, set this to &#8220;no&#8221;. (The default is &#8220;yes&#8221;)<br />
#<br />
# resolv.conf will also stay untouched when MODIFY_RESOLV_CONF_DYNAMICALLY<br />
# in /etc/sysconfig/network/config is set to &#8220;no&#8221;.<br />
#<strong><br />
DHCLIENT_MODIFY_RESOLV_CONF=&#8221;yes&#8221;</strong></span></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Y cambiaremos lo que esta en negritas , pondremos no quedando asi</p>
<p><span style="color: #333333;"><strong>DHCLIENT_MODIFY_RESOLV_CONF=&#8221;no&#8221;</strong></span></p>
<p>Lo guardamos y ahora abrimos este</p>
<p><strong><span style="color: #993300;">Ajaxman:/home/javier #</span> <span style="color: #333333;">vim /etc/sysconfig/network/config</span></strong></p>
<p>Y ahi buscamos</p>
<p>## Type:        yesno<br />
## Default:     yes<br />
# There are some services (ppp, ippp, dhcp-client, pcmcia, hotplug) that have to<br />
# change the /etc/resolv.conf dynamically at certain times.  E.g. if ppp/ippp<br />
# establishes a connection and is supplied by the peer with a list of<br />
# nameservers. Or pcmcia needs to set the correct nameserver for the choosen<br />
# configuration scheme. If you don&#8217;t like these services to change<br />
# /etc/resolv.conf at all, then set this variable to &#8220;no&#8221;.<br />
# If unsure, leave it at the default (which is &#8220;yes&#8221;).<br />
#<br />
<span style="color: #333333;"><strong>MODIFY_RESOLV_CONF_DYNAMICALLY=&#8221;no&#8221;</strong></span></p>
<p>## Type:        yesno<br />
## Default:     no<br />
# Like MODIFY_RESOLV_CONF_DYNAMICALLY, except it modifies<br />
# /etc/named.d/forwarders.conf instead of resolv.conf.<br />
# If unsure, leave it at the default (which is &#8220;no&#8221;).<br />
<span style="color: #333333;">#<br />
<strong>MODIFY_NAMED_CONF_DYNAMICALLY=&#8221;no&#8221;</strong></span></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Y tambien lo que esta en negritas lo ponemos en NO, en mi caso ya lo deje en no.</p>
<p>Y ahora si podemos reiniciar la interfaz de red y siempre conservara los valores del DNS.</p>
<p>Bueno un pequeño pero valioso tutorial, créanme que fue muy difícil encontrar dicha solución.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/linux-solucion-a-la-baja-velocidad-de-internet-en-open-suse-110.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[Manual] El archivo de configuracion del servidor Apache httpd.conf</title>
		<link>http://www.ajaxman.net/manual-el-archivo-de-configuracion-del-servidor-apache-httpdconf.html</link>
		<comments>http://www.ajaxman.net/manual-el-archivo-de-configuracion-del-servidor-apache-httpdconf.html#comments</comments>
		<pubDate>Fri, 11 Jul 2008 19:47:50 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Servidores]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Codigo]]></category>
		<category><![CDATA[httpd.conf]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=938</guid>
		<description><![CDATA[<p>Lamentablemente a pesar de que había empezado bien ha postear en este mes otra vez estoy dejándolo, y culpen de eso a meneame jaja y a microsiervos entre otros, no ya en serio, si que he tenido unos días complicados, pero bueno ya pasaran, por cierto en 3 meses exactamente me caso , luego les [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Lamentablemente a pesar de que había empezado bien ha postear en este mes otra vez estoy dejándolo, y culpen de eso a meneame jaja y a microsiervos entre otros, no ya en serio, si que he tenido unos días complicados, pero bueno ya pasaran, por cierto en 3 meses exactamente me caso , luego les platicare mas de esto.</p>
<p>Bien esto les platico por que he recibido un par de <a href="http://www.ajaxman.net/186/apache-manual-de-instalacion-y-configuracion-de-apache-con-windows/">comentarios </a>que me piden que postee mi archivo de configuracion de apache el httpd.conf, pero como les comente a veces me quedo sin tiempo, por eso en hoy en una escapada que me he dado les pondré mi archivo de configuracion httpd.conf, en su configuracion para Windows.</p>
<p>Les cuento brevemente donde esta regularmente y para que sirve o vamos en pocas palabras que es este archivo con este nombre tan raro para muchos.</p>
<p style="text-align: center;">
<img src="http://www.ajaxman.net/wp-content/uploads/2008/07/apache_display.png" alt="Apache" title="Apache" width="261" height="285" class="alignnone size-full wp-image-939" />
</p>
<p>Cuando instalamos apache en windows a mano, osea sin usar Wamp o appserver o algunas de esas cosas, si seguimos el manual que postee, aqui &#8220;<a href="http://www.ajaxman.net/186/apache-manual-de-instalacion-y-configuracion-de-apache-con-windows/">Manual de instalación y configuración de Apache, Php y MySQL</a>&#8220;, y se instala Apache por default en la carpeta: <strong>C:Archivos de programaApache Software FoundationApache2.2conf</strong> , se crear un archivo llamado httpd.conf, el cual guarda los parámetros de la configuracion global y completa de nuestro servidor apache, en Linux regularmente se guardaria en <strong>/etc/apache2/http.conf</strong>.</p>
<p>En dicho archivo podremos instalar modulos para que funcione php, cgi&#8217;s, compresion gzip, proxies, modrewrite (para reescribir urls y en vez de tener direcciones art.php?id=1,art.php?id=2 etc, se vea como articulos/vendemos_gatos_a_domicilio, articulos_renta_de_autos, etc), SSI (es i no es l), etc.</p>
<p>Tambien dentro de este archivo podremos configurar los mimetypes, con lo cual le decimos a apache como debe de interpretar ciertos tipos de archivos, asi como posibilidad usar vhosts, configurar rutas, email del administrador, bueno en pocas palabras casi todo, lo que queramos hacer con Apache lo podemos hacer desde este archivo, a continuación les posteo el archivo es un poco grande, solo remarcare y comentare los punto importantes.</p>
<p>Cabe destacar que si deseamos hacer un comentario desde nuestro httdp.conf podemos usar la el carácter de numero o de gato como se le conoce a este (#) y a continuación el comentario.</p>
<p><strong>Archivo httpd.conf</strong><br />
Lo puse en lo siguiente por que el archivo es muy grande y deformaria mucho la pagina de inicio, <img src='http://www.ajaxman.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><span id="more-938"></span></p>
<p></p><pre class="crayon-plain-tag">#
# This is the main Apache HTTP server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See  for detailed information.
# In particular, see
#
# for a discussion of each configuration directive.
#
# Do NOT simply read the instructions in here without understanding
# what they do.  They're here only as hints or reminders.  If you are unsure
# consult the online docs. You have been warned.
#
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with &quot;/&quot; (or &quot;drive:/&quot; for Win32), the
# server will use that explicit path.  If the filenames do *not* begin
# with &quot;/&quot;, the value of ServerRoot is prepended -- so &quot;logs/foo.log&quot;
# with ServerRoot set to &quot;C:/Archivos de programa/Apache Software Foundation/Apache2.2&quot; will be interpreted by the
# server as &quot;C:/Archivos de programa/Apache Software Foundation/Apache2.2/logs/foo.log&quot;.
#
# NOTE: Where filenames are specified, you must use forward slashes
# instead of backslashes (e.g., &quot;c:/apache&quot; instead of &quot;c:apache&quot;).
# If a drive letter is omitted, the drive on which Apache.exe is located
# will be used by default.  It is recommended that you always supply
# an explicit drive letter in absolute paths to avoid confusion.

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path.  If you point
# ServerRoot at a non-local disk, be sure to point the LockFile directive
# at a local disk.  If you wish to share the same ServerRoot for multiple
# httpd daemons, you will need to change at least LockFile and PidFile.
#
ServerRoot &quot;C:/Archivos de programa/Apache Software Foundation/Apache2.2&quot;

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
#Puerto que usara Apache
Listen 80

#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding &lt;code&gt;LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by &lt;/code&gt;httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
#Modulos, en este caso es lo que usara para extender funcionalidades como por ejemplo ejecutar PHP
#
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule authn_alias_module modules/mod_authn_alias.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_lock_module modules/mod_dav_lock.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule dumpio_module modules/mod_dumpio.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule filter_module modules/mod_filter.so
#LoadModule headers_module modules/mod_headers.so
#LoadModule ident_module modules/mod_ident.so
#LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
#LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule logio_module modules/mod_logio.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule ssl_module modules/mod_ssl.so
#LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule unique_id_module modules/mod_unique_id.so
#LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule version_module modules/mod_version.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so

#Configuracion PHp 5
#Esta configuracion la agrege yo, puse las rutas de el dll de php agrege el tipo de aplicacion y donde esta el phpinidir
#
LoadModule php5_module &quot;C:/PHP/php5apache2_2.dll&quot;
AddType application/x-httpd-php .php
PHPIniDir &quot;C:/PHP&quot;

&lt;ifmodule !mpm_netware_module&gt;
&lt;/ifmodule&gt;&lt;ifmodule !mpm_winnt_module&gt;
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User daemon
Group daemon
&lt;/ifmodule&gt;

# 'Main' server configuration
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
#  definition.  These values also provide defaults for
# any  containers you may define later in the file.
#
# All of these directives may appear inside  containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#

#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.  e.g. admin@your-domain.com
#
# Aqui es donde podremos elejir el mail que queramos mostrar por si no aparece una pagina, o el mail del administrador de nuestro sitio
# como veran yo use un mail ficticio para eviar el spam
#

ServerAdmin admin@localhost.com.mx

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName localhost:80

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
#
# Esta es la carpeta donde estaran nuestros scripts o nuestras paginas HTML, como los script php
# Esta ruta puede ser cambiada por ejemplo a DocumentRoot &quot;D:/Htdocs&quot;, por ejemplo
#
DocumentRoot &quot;C:/Archivos de programa/Apache Software Foundation/Apache2.2/htdocs&quot;

#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the &quot;default&quot; to be a very restrictive set of
# features.
#

&lt;directory /&gt;
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    #Deny from all


#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# This should be changed to whatever you set DocumentRoot to.
#Lo mismo que el anterior es el directorio donde estaran nuestros scripts, y lo pueden configurar  a su gusto simplemente cambien la ruta
# como en el anterior
&lt;directory &quot;C:/Archivos de programa/Apache Software Foundation/Apache2.2/htdocs&quot;&gt;
#
# Possible values for the Options directive are &quot;None&quot;, &quot;All&quot;,
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that &quot;MultiViews&quot; must be named *explicitly* --- &quot;Options All&quot;
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be &quot;All&quot;, &quot;None&quot;, or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
AllowOverride None

#
# Controls who can get stuff from this server.
#
#Order allow,deny
Allow from all
&lt;/directory&gt;

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
# Aqui es donde agregaran que tipo de archivos aceptan como inicio en el directorio.
# este archivo es el que mostrara apache por default cuando se accede a dicho directorio
# y pueden ser varios, como en este ejemplo, ya que si no encuentra uno, buscara el segundo y el que sigue asi sucesivamente
# en este caso busca index.php y si no esta buscara index.html, y si no hay mostrara el contenido de la carpeta, por lo cual les recomiendo
#ampliamente que siempre creen uno de estos ya que se ve el contenido de la carpeta puede resultar preligroso
#

&lt;ifmodule dir_module&gt;
    DirectoryIndex index.php index.html
&lt;/ifmodule&gt;


#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#

&lt;filesmatch &quot;^.ht&quot;&gt;
    Order allow,deny
    Deny from all
    Satisfy All
&lt;/filesmatch&gt;

#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a
# container, that host's errors will be logged there and not here.
# Aqui es donde se guarda un registro de los errores que se generaron, al intentar acceder a un archivo, ojo esto no muestra errores php
# o de  otro tipo solo son errores de acceso
#
ErrorLog &quot;logs/error.log&quot;

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn
&lt;ifmodule log_config_module&gt;
#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
LogFormat &quot;%h %l %u %t &quot;%r&quot; %&amp;gt;s %b &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot;&quot; combined
LogFormat &quot;%h %l %u %t &quot;%r&quot; %&amp;gt;s %b&quot; common
 &lt;/ifmodule&gt;&lt;ifmodule logio_module&gt;
      # You need to enable mod_logio.c to use %I and %O
      LogFormat &quot;%h %l %u %t &quot;%r&quot; %&gt;s %b &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot; %I %O&quot; combinedio
    &lt;/ifmodule&gt;
#
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a
# container, they will be logged here.  Contrariwise, if you *do*
# define per- access logfiles, transactions will be
# logged therein and *not* in this file.
# En este archivo se guarda un registro de todos los que accedieron a tus paginas y archivos, es muy util para la seguridad y
# para contabilizar las visitas Awstats lo usa
#
CustomLog &quot;logs/access.log&quot; common

#
# If you prefer a logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#
#CustomLog &quot;logs/access.log&quot; combined

&lt;ifmodule alias_module&gt;
#
# Redirect: Allows you to tell clients about documents that used to
# exist in your server's namespace, but do not anymore. The client
# will make a new request for the document at its new location.
# Example:
# Redirect permanent /foo http://localhost/bar

#
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
# Example:
# Alias /webpath /full/filesystem/path
#
# If you include a trailing / on /webpath then the server will
# require it to be present in the URL.  You will also likely
# need to provide a  section to allow access to
# the filesystem path.

#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the target directory are treated as applications and
# run by the server when requested rather than as documents sent to the
# client.  The same rules about trailing &quot;/&quot; apply to ScriptAlias
# directives as to Alias.
#
ScriptAlias /cgi-bin/ &quot;C:/Archivos de programa/Apache Software Foundation/Apache2.2/cgi-bin/&quot;
&lt;/ifmodule&gt;

&lt;ifmodule cgid_module&gt;
    #
    # ScriptSock: On threaded servers, designate the path to the UNIX
    # socket used to communicate with the CGI daemon of mod_cgid.
    #
    #Scriptsock logs/cgisock
&lt;/ifmodule&gt;
#
# &quot;C:/Archivos de programa/Apache Software Foundation/Apache2.2/cgi-bin&quot; should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
&lt;directory &quot;C:/Archivos de programa/Apache Software Foundation/Apache2.2/cgi-bin&quot;&gt;
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
&lt;/directory&gt;
#
# DefaultType: the default MIME type the server will use for a document
# if it cannot otherwise determine one, such as from filename extensions.
# If your server contains mostly text or HTML documents, &quot;text/plain&quot; is
# a good value.  If most of your content is binary, such as applications
# or images, you may want to use &quot;application/octet-stream&quot; instead to
# keep browsers from trying to display binary files as though they are
# text.
#
DefaultType text/plain

&lt;ifmodule mime_module&gt;
    #
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig conf/mime.types

    #
    # AddType allows you to add to or override the MIME configuration
    # file specified in TypesConfig for specific file types.
    #
    #AddType application/x-gzip .tgz
    #
    # AddEncoding allows you to have certain browsers uncompress
    # information on the fly. Note: Not all browsers support this.
    #
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    #
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    #
    # AddHandler allows you to map certain file extensions to &quot;handlers&quot;:
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    #
    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add &quot;ExecCGI&quot; to the &quot;Options&quot; directive.)
    #
    #AddHandler cgi-script .cgi

    # For type maps (negotiated resources):
    #AddHandler type-map var

    #
    # Filters allow you to process content before it is sent to the client.
    #
    # To parse .shtml files for server-side includes (SSI):
    # (You will also need to add &quot;Includes&quot; to the &quot;Options&quot; directive.)
    #
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
&lt;/ifmodule&gt;

#
# The mod_mime_magic module allows the server to use various hints from the
# contents of the file itself to determine its type.  The MIMEMagicFile
# directive tells the module where the hint definitions are located.
#
#MIMEMagicFile conf/magic

#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 &quot;The server made a boo boo.&quot;
#ErrorDocument 404 /missing.html
#ErrorDocument 404 &quot;/cgi-bin/missing_handler.pl&quot;
#ErrorDocument 402 http://localhost/subscription_info.html
#

#
# EnableMMAP and EnableSendfile: On systems that support it,
# memory-mapping or the sendfile syscall is used to deliver
# files.  This usually improves server performance, but must
# be turned off when serving from networked-mounted
# filesystems or if support for these functions is otherwise
# broken on your system.
#
#EnableMMAP off
#EnableSendfile off

# Supplemental configuration
#
# The configuration files in the conf/extra/ directory can be
# included to add extra features or to modify the default configuration of
# the server, or you may simply copy their contents here and change as
# necessary.

# Server-pool management (MPM specific)
#Include conf/extra/httpd-mpm.conf

# Multi-language error messages
#Include conf/extra/httpd-multilang-errordoc.conf

# Fancy directory listings
#Include conf/extra/httpd-autoindex.conf

# Language settings
#Include conf/extra/httpd-languages.conf

# User home directories
#Include conf/extra/httpd-userdir.conf

# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

# Local access to the Apache HTTP Server Manual
#Include conf/extra/httpd-manual.conf

# Distributed authoring and versioning (WebDAV)
#Include conf/extra/httpd-dav.conf

# Various default settings
#Include conf/extra/httpd-default.conf

# Secure (SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf
#
# Note: The following must must be present to support
#       starting without SSL on platforms with no /dev/random equivalent
#       but a statically compiled-in mod_ssl.
#
&lt;ifmodule ssl_module&gt;
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
&lt;/ifmodule&gt;</pre><p></p>
<p>Un poco extenso pero espero que les haya sido útil, sugerencias y preguntas, en los comentarios</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/manual-el-archivo-de-configuracion-del-servidor-apache-httpdconf.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[Manual de Java] La JVM: Java Virtual Machine</title>
		<link>http://www.ajaxman.net/manual-de-java-la-jvm-java-virtual-machine.html</link>
		<comments>http://www.ajaxman.net/manual-de-java-la-jvm-java-virtual-machine.html#comments</comments>
		<pubDate>Wed, 09 Apr 2008 17:52:41 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Javier]]></category>
		<category><![CDATA[JRE]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[Manual de Java]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=701</guid>
		<description><![CDATA[<p>Para entender mejor a java vamos a dedicarle gran cantidad de posts, asi que en este post hablaremos sobre la JVM osea la maquina vitual de Java, algunos post seran de puras definiciones(o casi) depues empezaremos con los ejemplos. Una Máquina virtual Java (en inglés Java Virtual Machine, JVM) es un programa nativo, es decir, [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Para entender mejor a java vamos a dedicarle gran cantidad de posts, asi que en este post  hablaremos sobre la JVM osea la maquina vitual de Java, algunos post seran de puras definiciones(o casi) depues empezaremos con los ejemplos.</p>
<blockquote><p>Una Máquina virtual Java (en inglés Java Virtual Machine, JVM) es un programa nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar y ejecutar instrucciones expresadas en un código binario especial (el Java bytecode), el cual es generado por el compilador del lenguaje Java.</p></blockquote>
<p>Vamos en otras palabras la JVM es un entorno en donde no importa donde realices tu codigo, ni la plataforma donde lo se ejecute ya que la maquina sera capaz de interpretarlo y de ejecutarlo, claro previamente debe de estar instalada dicha maquina virtual.</p>
<p>La instalación la realizaremos desde window$ lamentablemente pero pues desde ahi hay que hacerla tomada desde la pagina oficial de Java</p>
<p><strong>Descargar e instalar</strong></p>
<ol>
<li>Vaya a <a href="http://java.com/es/">Java.com/es</a>.</li>
<li>Haga clic en el vínculo de <strong>descargas</strong> en la esquina superior derecha de la página de inicio.</li>
<li>Haga clic en el vínculo para <strong>consultar todos los archivos de descarga de Java</strong></li>
<li>Haga clic en el vínculo para <strong>Windows XP/Vista/2000/2003 fuera de línea</strong>.</li>
<p>Aparece el cuadro de diálogo de descarga de archivos.</p>
<li>Elija la ubicación.</li>
<p>(Guarde el archivo en una ubicación conocida de su equipo; por ejemplo, en el escritorio).</p>
<li>Haga clic en <strong>Guardar</strong>.Aparece el cuadro de diálogo Guardar como.Si ya ha descargado esta versión del JRE, se le indicará:El archivo jre-6u3-rc-windows-i586.exe ya existe. ¿Desea reemplazarlo?</li>
<li>Haga clic en <strong>Sí</strong> para reemplazarlo.</li>
<li>Compruebe que:
<ul>
<li>El nombre del archivo sea jre-6u3-rc-windows-i586.exe</li>
<li>Tenga un tamaño aproximado de 13,8 MB</li>
</ul>
</li>
<li>Cierre todas las aplicaciones, incluido el navegador.</li>
<li>Haga doble clic en el icono del archivo guardado para iniciar el proceso de instalación.</li>
</ol>
<p>El instalador descomprime los archivos necesarios para la instalación, proceso que tarda menos de un minuto. Después de descomprimir los archivos de instalación, aparece una pantalla de bienvenida y el instalador muestra una opción para ver el contrato de licencia. Tiene la opción de Aceptar el contrato de licencia y continuar con el proceso de instalación</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-702" title="6020010212" src="http://www.ajaxman.net/wp-content/uploads/2008/04/6020010212.jpg" alt="instalacion java" width="399" height="302" /></p>
<p>Si no tiene instalados la Barra Google para Internet Explorer y Google Desktop, el instalador proporciona las opciones para instalar estos programas junto a JRE. Seleccione lo que desee instalar activando la casilla de verificación de la barra Google o Google Desktop y, a continuación, haga clic en Siguiente.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-704" title="6020010218" src="http://www.ajaxman.net/wp-content/uploads/2008/04/6020010218.jpg" alt="instalacion de java" width="399" height="305" /></p>
<p>El instalador muestra una pantalla de instalación personalizada que permite elegir las funciones del programa que desea configurar. Se recomienda seleccionar el valor predeterminado, a menos que sea un usuario experimentado y desee tener más control sobre los componentes que se van a instalar<a href="http://www.ajaxman.net/wp-content/uploads/2008/04/6020010216.jpg"></a></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-705" title="6020010216" src="http://www.ajaxman.net/wp-content/uploads/2008/04/6020010216.jpg" alt="Indicador del estado de la instalación del entorno de ejecución de Java 6.0" width="389" height="298" /></p>
<p>Una vez seleccionadas las opciones de programa que desea instalar, haga clic en el botón Siguiente para proseguir con el proceso de instalación. Tras facilitar al instalador toda la información que necesite para proseguir, se abrirá un cuadro de diálogo en el que se mostrará el progreso de la instalación<span id="more-701"></span></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-703" title="6020010214" src="http://www.ajaxman.net/wp-content/uploads/2008/04/6020010214.jpg" alt="instalacion de java" width="399" height="305" /></p>
<p>Se abrirán brevemente varios cuadros de diálogo para realizar las últimas etapas del proceso de instalación y aparecerá un mensaje final de confirmación dándole las gracias por haber instalado el producto</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-706" title="6020010219" src="http://www.ajaxman.net/wp-content/uploads/2008/04/6020010219.jpg" alt="instalacion de java" width="399" height="305" /></p>
<p><strong><br />
Nota super importante lo unico que hemos instalado es la JRE que contiene la JVM, el JRE se refiere al entorno de ejecución de aplicaciones java osea se refiere a la JVM.</strong></p>
<p>Enlaces que me ayudaron con esta redaccion<br />
<a href="http://es.wikipedia.org/wiki/M%C3%A1quina_virtual_Java"><br />
Máquina virtual Java</a><br />
<a href="http://java.com/es/download/help/6000010300.xml">Instrucciones de instalación JVM</a><br />
Puedes probar si funciona la JVM &#8211; JRE en  <a href="http://java.com/es/download/help/testvm.xml">Instrucciones de instalación </a> si ves la imagen animada del logotipode Duke el JRE funciona correctamente.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/manual-de-java-la-jvm-java-virtual-machine.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Manual] Usando PHP y MySQL, Insertando datos de manera dinamica parte 2</title>
		<link>http://www.ajaxman.net/manual-usando-php-y-mysql-insertando-datos-de-manera-dinamica-parte-2.html</link>
		<comments>http://www.ajaxman.net/manual-usando-php-y-mysql-insertando-datos-de-manera-dinamica-parte-2.html#comments</comments>
		<pubDate>Thu, 27 Mar 2008 22:05:54 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Descargas]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/653/manual-usando-php-y-mysql-insertando-datos-de-manera-dinamica-parte-2/</guid>
		<description><![CDATA[<p>Bueno como vimos en el manual anterior de Php y MySQL, realmente no es tan complicado aprender este lenguaje. Ahora que solo hemos visto como volcar los resultados de una consulta hecha a una base de datos MySQL, sin embargo vamos ha hacerlo mas creativo, ahoro procederemos acrear un formaulario donde nos permitira insertar nuevos [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Bueno como vimos en el <a href="http://www.ajaxman.net/603/manual-usando-php-y-mysqlpara-manejar-una-base-de-datos-parte-1/">manual anterior de Php y MySQL</a>, realmente no es tan complicado aprender este lenguaje.</p>
<p><img src="http://www.ajaxman.net/wp-content/uploads/2008/03/ajaxman_lg.gif" alt="ajaxman" align="left" hspace="10" vspace="10" /></p>
<p>Ahora que solo hemos visto como volcar los resultados de una consulta hecha a una base de datos MySQL, sin embargo vamos ha hacerlo mas creativo, ahoro procederemos acrear un formaulario donde nos permitira insertar nuevos registros y tambien otro donde nos permitira borrar los mismos.</p>
<p>Para empezar necesitamos un formulario que nos permita poder introducir datos y enviarlos mediante metodo post, le get no lo usamos por que se pueden enviar menos datos y ademas es mas inseguro.</p>
<p>Entoces hagamos nuestro formulario este archivo se llamara alta.php</p>
<p></p><pre class="crayon-plain-tag">&lt; !DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;

&lt;form method=&quot;post&quot; action=&quot;alta.php&quot;&gt; &lt;label&gt;Escriba el nombre del alumno&lt;/label&gt;
&lt;input name=&quot;nombre&quot; type=&quot;text&quot; /&gt; &lt;label&gt;Escriba la calificaci&oacute;n del primer parcial&lt;/label&gt;
&lt;input name=&quot;parcial1&quot; type=&quot;text&quot; /&gt; &lt;label&gt;Escriba la calificaci&oacute;n del segundo parcial&lt;/label&gt;
&lt;input name=&quot;parcial2&quot; type=&quot;text&quot; /&gt; &lt;label&gt;Escriba la calificaci&oacute;n del segundo parcial&lt;/label&gt;
&lt;input name=&quot;parcial3&quot; type=&quot;text&quot; /&gt; &lt;input value=&quot;Aceptar&quot; type=&quot;submit&quot; /&gt;

&lt;/form&gt;</pre><p></p>
<p>Una vez llenados los campos le damos click en aceptar y listo se envian los datos al mismo archivo; pero me imagino que se preguntaran por que lo mando al mismo archivo, pues para organizarlo mejor y no tener mil archivos ahora vamos a crear lo que nos permitira insertar datos en nuestra base.</p>
<p>Ahora haremos el script php que guardala la informacion recibida.</p>
<p>Nota importante: hare uso de la funcion var_dump, para verificar que información esta llegando,ya que var_dump revisa el contenido total de cierta variable y los muestra en pantalla.</p>
<p></p><pre class="crayon-plain-tag">var_dump($_POST);
/*
* use solo $_POST para que me diga todos los campos y valores que recibio mediante este metodo
* Ahora bajaremos todas las variables recibidas a variables normales esto lo hago para mejorar
* el mantenimiento de dicho script asi como por seguridad, ya que le agregare la funcion addslashes
* la cual escapa comillas simples, dobles y algunos caracteres extranos, evitando que alguien hackee nuestro sitio
*/

$nombre=addslashes($_POST['nombre']);
$parcial1=addslashes($_POST['parcial1']);
$parcial2=addslashes($_POST['parcial2']);
$parcial3=addslashes($_POST['parcial3']);

/*
* Con lo anterior ya podemos usar nuestras variables mas comodamente y mas seguras
* pero recuerden que, no con esto evitaremos ataques, o nuestra web sera 100% Segura
* Sera, mejor dicho un poco mas segura
* Ahora programemos la consulta que insertara los datos, recordemos que en el post anterior,
* ya vimos como hacer una insercion mediante instrucciones SQL
* tomaremos el mismo ejemplo
* el digo era # INSERT INTO &lt;code&gt;calificaciones&lt;/code&gt; VALUES (1,'Tux',10,8,8,9);
*/

/*
*Nos conectamos a la base de datos
*/

$DB=mysql_connect(&quot;localhost&quot;,&quot;root&quot;,&quot;localhost&quot;);
mysql_select_db(&quot;Alumnos&quot;);

/*
*creamos una varible que manejara la consulta, es similar al primer ejemplo
* solo que aqui usaremos mas variables
*/

$sql='INSERT INTO &lt;code&gt;calificaciones&lt;/code&gt; VALUES (&quot;1&quot;,&quot;Tux&quot;,10,8,8,9)';

/*
* Aqui les mencionare un detalle, los valores anteriores se insertaran en los campos, en el orden
* dado, osea que si agregan un campo o reorganizan la base de datos la consulta fallara
* y por logica tambien fallara su a sitio web.
* para evitar eso usaremos set par asignar valores, uno por uno
* asi nos evitamos futuros problemas
*/

$sql='INSERT INTO &lt;code&gt;calificaciones&lt;/code&gt; set Nombre=&quot;Tux&quot;, Parcial1=10, Parcial2=8, Parcial3';

/* Listo sin embargo siempre insertara los mismos valores, ha hora reemplazaremos
* los valores por variables y tenemos nuestro sql formado
* para poner valores, los concatenamos con un punto (.) y si el valor es texto, lo ponemos entre comillas
*/

$sql='INSERT INTO &lt;code&gt;calificaciones&lt;/code&gt; set Nombre=&quot;'.$nombre.'&quot;, Parcial1='.$parcial1.', Parcial2='.$parcial2.', Parcial3='.$parcial3;

/*
* Ahora ejecutamos la consulta
*/

$Q=mysql_query($sql,$DB);

/*
* Y listo ya insertamos los datos en nuestra base, sin embargo
* es mejor estar seguro de que se insertaron los datos con exito.
* por ello usando el operador if, preguntaremos si se inserto con exito
* si hay exito mostraremos un texto y si no mandaremos un mensaje de error
*/

if($Q)
{
echo ' El registro se agrego correctamente';
}
else
{
echo 'Ups!! hubo errores con el registro, trata de revisar tu script';
}

/*
* Mucho mejor no
*
*/</pre><p></p>
<p>Listo ahora metemos todo a un solo archivo y lo presentamos</p>
<p><strong>Archivo alta.php</strong><br />
<span id="more-653"></span></p>
<p></p><pre class="crayon-plain-tag">&lt; !DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;

&lt;style type=&quot;text/css&quot;&gt;
/*&lt; ![CDATA[*/
       *{
         font-family: Verdana;
         }
 /*]]&gt;*/
&lt;/style&gt;
&lt;?php
if(isset($_POST['aceptar']))
{
$nombre=addslashes($_POST['nombre']);
$parcial1=addslashes($_POST['parcial1']);
$parcial2=addslashes($_POST['parcial2']);
$parcial3=addslashes($_POST['parcial3']);
$DB=mysql_connect(&quot;localhost&quot;,&quot;root&quot;,&quot;localhost&quot;);
mysql_select_db(&quot;Alumnos&quot;);
$sql='INSERT INTO &lt;code&gt;calificaciones&lt;/code&gt; set Nombre=&quot;'.$nombre.'&quot;, Parcial1='.$parcial1.', Parcial2='.$parcial2.', Parcial3='.$parcial3;

$Q=mysql_query($sql,$DB);

if($Q)
{ echo ' &lt;span style=&quot;color: blue&quot;&gt;El registro se agrego correctamente'; }
else
{ echo '&lt;span style=&quot;color: red&quot;&gt;Ups!! hubo errores con el registro, trata de revisar tu script&lt;/span&gt;'; }
}
?&gt;
&lt;/span&gt;

Agregar un nuevo alumno

&lt;form method=&quot;post&quot; action=&quot;alta.php&quot;&gt; &lt;label&gt;Escriba el nombre del alumno&lt;/label&gt; &lt;input name=&quot;nombre&quot; type=&quot;text&quot; /&gt; &lt;label&gt;Escriba la calificaci&oacute;n del primer parcial&lt;/label&gt; &lt;input name=&quot;parcial1&quot; type=&quot;text&quot; /&gt; &lt;label&gt;Escriba la calificaci&oacute;n del segundo parcial&lt;/label&gt; &lt;input name=&quot;parcial2&quot; type=&quot;text&quot; /&gt; &lt;label&gt;Escriba la calificaci&oacute;n del segundo parcial&lt;/label&gt; &lt;input name=&quot;parcial3&quot; type=&quot;text&quot; /&gt; &lt;input name=&quot;aceptar&quot; value=&quot;Aceptar&quot; type=&quot;submit&quot; /&gt; &lt;/form&gt;</pre><p></p>
<p>Descargar el script con comentarios: <a href="http://www.ajaxman.net/wp-content/uploads/2008/03/altaphp.txt" title="Script del Manual de php y mysql">Usando PHP y MySQL, Insertando datos de manera dinamica</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/manual-usando-php-y-mysql-insertando-datos-de-manera-dinamica-parte-2.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[Manual] Usando PHP y MySQL,para manejar una base de datos parte 1</title>
		<link>http://www.ajaxman.net/manual-usando-php-y-mysqlpara-manejar-una-base-de-datos-parte-1.html</link>
		<comments>http://www.ajaxman.net/manual-usando-php-y-mysqlpara-manejar-una-base-de-datos-parte-1.html#comments</comments>
		<pubDate>Thu, 28 Feb 2008 06:32:39 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/603/manual-usando-php-y-mysqlpara-manejar-una-base-de-datos-parte-1/</guid>
		<description><![CDATA[<p>Varios lectores me han pedido que si no hacia un manual de php, sin embargo como ha veces no tengo mucho tiempo, pues prefiero no poner mas manuales por que de por si, con los de Javascript, y Xul, ando algo atrasado. Sin embargo como me gusta compartir, pues aqui les pongo un manual con [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Varios lectores me han pedido que si no hacia un manual de php, sin embargo como ha veces no tengo mucho tiempo, pues prefiero no poner mas manuales por que de por si, con los de Javascript, y Xul, ando algo atrasado.</p>
<p>Sin embargo como me gusta compartir, pues aqui les pongo un manual con lo necesario para poder conectarnos con php, a una base da datos MySQL y formatear los resultados a nuestro gusto, bueno empecemos.</p>
<p>Primero que nada, necesitamos haber instalado y configurado Apache, Php y MySQL, si no saben como hacerlo, pueden checarlo en este post.</p>
<p><a href="http://www.ajaxman.net/186/apache-manual-de-instalacion-y-configuracion-de-apache-con-windows/">Manual de instalacion y configuracion de apache con windows</a></p>
<p>Ahora veamos el problema</p>
<p>Necesitamos llevar un control de 20 alumnos de la escuela &#8220;Ajax-SQL&#8221;, este control sera llevado a cabo por el maestro el cual nos ha pedido, que  elaboremos un sistema que nos permita dar de alta  a los alumnos asi como sus calificaciones mediante una intranet o una pagina web donde los administradores, en este caso los maestros, puedan dar sus datos y accesar a una zona privada donde podran hacer los cambios que deseen.</p>
<p>Para empezar primero necesitamos saber lo mas basico, he ir armando parte por parte, asi que empezaremos por la creacion de la base de datos y el volcado de los mismos.</p>
<p>Como ya tenemos instalado todo lo que vamos a ocupar, vamos a empezar por crear la base de datos, a la cual llamaremos &#8220;Alumnos&#8221;, esto lo podemos hacer mediante un SQL, ya se por linea de comandos o mediante una interfaz grafica, por facilidad y disponibilidad de herramientas les recomiendo usar una GUI.</p>
<p>En mi caso en el trabajo cuando uso Windows uso, MySQL Front, software el cual esta descontinuado, sin embargo todavia pueden conseguir este software en la web, y se lo recomiendo por que simplemente era y es el mejor para manipular bases de datos desde  Windows si usan linux pues el Mysql Administrator el cual lo pueden obtener gratuitamente desde el sitio de MySQL AB.</p>
<p>Entonces creamos la base de datos y le agregamos una tabla llamada &#8220;Calificaciones&#8221;, con 6 campos, que son</p>
<ul>
<li>ID_Alumno</li>
<li>Nombre</li>
<li>Parcial1</li>
<li>Parcial2</li>
<li>Parcial3</li>
<li>Promedio</li>
</ul>
<p>Sin embargo se que muchos tendran dudas, ¿Como creo la base de datos, como agrego la tabla, si no tengo GUI, etc?</p>
<p>Bueno las mismas instrucciones pero ahora con codigo SQL</p>
<p>Creamos la base de datos<br />
<strong><br />
create database &#8220;Alumnos&#8221;;</strong></p>
<p>Seleccionamos la base de datos<br />
<strong>use Alumnos;</strong></p>
<p>Creamos la tabla</p>
<p></p><pre class="crayon-plain-tag">CREATE TABLE &lt;code&gt;calificaciones&lt;/code&gt; (
  &lt;code&gt;ID_Alumno&lt;/code&gt; int(11) NOT NULL auto_increment,
  &lt;code&gt;Nombre&lt;/code&gt; varchar(40) default NULL,
  &lt;code&gt;Parcial1&lt;/code&gt; int(11) default NULL,
  &lt;code&gt;Parcial2&lt;/code&gt; int(11) default NULL,
  &lt;code&gt;Parcial3&lt;/code&gt; int(11) default NULL,
  &lt;code&gt;Promedio&lt;/code&gt; int(11) default NULL,
  PRIMARY KEY  (&lt;code&gt;ID_Alumno&lt;/code&gt;)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;</pre><p></p>
<p>Con lo anterior hemos creado una tabla con 5 campos, el primero es la clave primaria, osea que no se repetira nunca en la tabla, ademas es auto-incrementable, ademas no puede ser nulo; el siguiente camo llamado nombre, es de tipo varchar lo que significa que contendra unicamente texto y tendra la capacidad que le indiquemos en este caso 40 caracteres, los otros son campos enteros.</p>
<p>Ahora procederemos a llenar la base datos usando sql:</p>
<p></p><pre class="crayon-plain-tag">INSERT INTO &lt;code&gt;calificaciones&lt;/code&gt; VALUES (1,'Tux',10,8,8,9);
INSERT INTO &lt;code&gt;calificaciones&lt;/code&gt; VALUES (2,'Ajaxman',7,5,9,7);
INSERT INTO &lt;code&gt;calificaciones&lt;/code&gt; VALUES (3,'Javier',8,9,10,9);
INSERT INTO &lt;code&gt;calificaciones&lt;/code&gt; VALUES (4,'Debian',10,10,10,30);</pre><p></p>
<p>Nota como tenia sueño solo agregue 5 pero haganlo con mas datos (20) para ver mas a detalle como funciona<br />
Una vez, hecho este tenemos los datos suficientes para empezar a trabajar</p>
<p>Creamos nuestro archivo php, haciendo una conexion a la base de datos</p>
<p><strong>Archivo Consulta.php</strong><br />
<span id="more-603"></span></p>
<p></p><pre class="crayon-plain-tag">/*
 * conexion a la base de datos
 *
 */

//$DB=mysql_connect(&amp;quot;tu_host&amp;quot;,&amp;quot;usaurio&amp;quot;,&amp;quot;contrase&ntilde;a&amp;quot;);

$DB=mysql_connect(&amp;quot;localhost&amp;quot;,&amp;quot;root&amp;quot;,&amp;quot;localhost&amp;quot;);

//seleccionamos la ase de datos alumnos
mysql_select_db(&amp;quot;Alumnos&amp;quot;);

//CON  SQL HACEMOS NUESTRA CONSULTA , la cual no trae nada, ya que no hasta que se ejecute

$sql='select * from calificaciones';

//Ejecutamos la consulta

$Q=mysql_query($sql,$DB);

/*
 * Como ya tenemos el resultado ahora, simplemente hay que vaciarlo, ya que el resultado es
 * una matriz de datos,
 * como una tabla.
 * Esto lo hacemos usando la funcion mysql_fetch_assoc de php
 * Quedaria de la siguiente forma
 * $fila=mysql_fetch_assoc($Q);
 * Sin embargo solo nos entregaria el resultado del primer registro, para que nos
 * devuelva todos necesitamos hacerlo con un while, el cual mientras haya datos de ejecute,
 * de la siguiente forma
 * y accederemos a cada elemento como si fuera un array,
 * pero en vez de pasar el numero de elemento,
 * pasamos el campo que necesitamos
*/
while($fila=mysq_fetch_assoc($Q))
{
echo 'Tu nombre es '.$fila['Nombre'].' y tu promedio es :'.$fila['Promedio'].'
';
}

//Por ultimo cerramos la conexion a nuestra base de datos

mysql_close($DB);</pre><p></p>
<p>Listo ya esta, si tienen dudas pueden dejarlas en los comentarios.</p>
<p>De todas formas aqui les pongo el codigo del script PHP, en limpio</p>
<p></p><pre class="crayon-plain-tag">$DB=mysql_connect(&amp;quot;localhost&amp;quot;,&amp;quot;root&amp;quot;,&amp;quot;localhost&amp;quot;);

 mysql_select_db(&amp;quot;Alumnos&amp;quot;);
 $sql='select * from calificaciones';
 $Q=mysql_query($sql,$DB);

 while($fila=mysq_fetch_assoc($Q))
  {
    echo 'Tu nombre es '.$fila['Nombre'].' y tu promedio es :'.$fila['Promedio'].'
';
  }

mysql_close($DB);

?&amp;gt;</pre><p></p>
<p>Nota:  lo que va a dentro del echo de php, le pueden poner codigo HTML a su gusto.<br />
Si me fui un poco rapido me avisan jaja, saludos a todos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/manual-usando-php-y-mysqlpara-manejar-una-base-de-datos-parte-1.html/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>[LPIC] Dispocision de los archivos en GNU/Linux -I</title>
		<link>http://www.ajaxman.net/lpic-dispocision-de-los-archivos-en-gnulinux-i.html</link>
		<comments>http://www.ajaxman.net/lpic-dispocision-de-los-archivos-en-gnulinux-i.html#comments</comments>
		<pubDate>Mon, 03 Dec 2007 05:30:47 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LPIC]]></category>
		<category><![CDATA[Manuales]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/458/lpic-dispocision-de-los-archivos-en-gnulinux-i/</guid>
		<description><![CDATA[<p>Continuando con la enseñanza de GNU/Linux, que por cierto mi Debian me esta dando varios dolores de cabeza, por que ahora no puedo acceder al explorador de archivos pero bueno, es cualquier cosa. En GNU/Linux, sin importar el tipo de distribucion que se trate, siempre tendra una estructura practicamente igual de algunos directorios, estos directorios [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Continuando con la enseñanza de GNU/Linux, que por cierto mi Debian me esta dando varios dolores de cabeza, por que ahora no puedo acceder al explorador de archivos pero bueno, es cualquier cosa.</p>
<p>En GNU/Linux, sin importar el tipo de distribucion que se trate, siempre tendra una estructura practicamente igual de algunos directorios, estos directorios seran los siguientes.</p>
<p><strong>Directorio / (slash)</strong></p>
<p>Este es el directorio raiz, de donde parten los siguientes directorios, cuando se especifiquen rutas absolutas, estas deberan expesar de este directorio.</p>
<p><strong>Directorio /bin </strong><br />
Este directorio de contiene los ejecutables, los cuales son fundamentales para el funcionamiento de Linux, la mayoria de los comandos usados en linux como,  rm, cp, tar, etc,</p>
<p>Todos los archivos ejecutables o binarios que se encuentran en este directorio son accesibles a todos los usuarios, debemos tambien recordar que los archivos que no son fundamentales para el funcionamiento del sistema estan en el directorio <strong>/usr/bin</strong> en lugar de <strong>/bin</strong>.</p>
<p><span id="more-458"></span><br />
<strong>Directorio /boot </strong><br />
En este directorio se encuentran los archivos necesarios para el arranque de GNU/Linux, y el kernel de Linux, pero no los archivos de configuracion.</p>
<p>En algunas distribuciones el kernel de Linux se almacena en el directorio raiz(/), pero en las distribuciones modernas, se usa el directorio <strong>/boot</strong>.</p>
<p><strong>Directorio /dev </strong><br />
Este directorio guarda las definiciones de los dispositivos, por ejemplo mover un archivo a un disco, se realiza por las definiciones de los dispositivos.</p>
<p>Cada dispositivo esta asociado a un archivo de este directorio, los cuales son de tipo caracter o bloque (se especifica en el campo de permisos).</p>
<p><strong>Directorio /etc </strong><br />
El directorio etc, lo podemos resumir en myu pocas palabras, ya que se trata del lugar donde residen los archivos de configuración de cada maquina especifica.</p>
<p>Continua, en la siguiente entrada relacionada con linux&#8230;&#8230;..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/lpic-dispocision-de-los-archivos-en-gnulinux-i.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[LPIC] Cambiando contraseñas de usuarios en GNU/Linux</title>
		<link>http://www.ajaxman.net/lpic-cambiando-contrasenas-de-usuarios-en-gnulinux.html</link>
		<comments>http://www.ajaxman.net/lpic-cambiando-contrasenas-de-usuarios-en-gnulinux.html#comments</comments>
		<pubDate>Fri, 30 Nov 2007 05:54:24 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LPIC]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/452/lpic-cambiando-contrasenas-de-usuarios-en-gnulinux/</guid>
		<description><![CDATA[<p>Siguiendo con mi enseñanza, de linux, hoy cheque como hacer esto de cambio de contraseñas de GNU/Linux. Para poder cambiar la contraseña de un usuario necesitamos una de las siguientes dos cosas. Ser root o ser el dueño de la cuenta la cual deseamos modificar el password. La pregunta sencilla es, ¿Como se cambia?, la [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Siguiendo con mi enseñanza, de linux, hoy cheque como hacer esto de cambio de contraseñas de GNU/Linux.</p>
<p>Para poder cambiar la contraseña de un usuario necesitamos una de las siguientes dos cosas.</p>
<p><strong>Ser root o ser el dueño de la cuenta la cual deseamos modificar el password.</strong></p>
<p>La pregunta sencilla es, ¿Como se cambia?, la respuesta es simple, en nuestro linux abrimos una consola, o (si no usan entorno visual[kde,gnome,eligtmenth]) escribimos el comando siguiente.</p>
<p>//como usuario de la cuenta<br />
<em><strong>$ passwd [nueva_contraseña]</strong></em></p>
<p>//o de esta forma<br />
<strong><em>$ passwd [enter]<br />
Ingrese su nuevo password:<br />
Repita su password:</em></strong></p>
<p>ó</p>
<p>//Como root<br />
<em><strong># passwd [usuario] [enter]<br />
Ingrese su nuevo password:<br />
Repita su password:</strong></em></p>
<p>Bueno con eso ya podran modificar sus contraseñas de los usuarios.</p>
<p>Nota: Tengo en mente un proyecto que la otra vez les platique, sin embargo como hire po partes vas a ser 3 proyectos, pero me voy a apurar para poder terminar uno a mas tardar en un mes(ups), que se que les va  aser de gran ayuda a todos.</p>
<p>Saludos</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/lpic-cambiando-contrasenas-de-usuarios-en-gnulinux.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Off-Topic] Feeds, RSS y Suscripciones por E-mail</title>
		<link>http://www.ajaxman.net/off-topic-feeds-rss-y-suscripciones-por-e-mail.html</link>
		<comments>http://www.ajaxman.net/off-topic-feeds-rss-y-suscripciones-por-e-mail.html#comments</comments>
		<pubDate>Sun, 25 Nov 2007 22:42:24 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Manuales]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/441/off-topic-feeds-rss-y-suscripciones-por-e-mail/</guid>
		<description><![CDATA[<p>Mi amigo dogguie, me dio permiso de usar este manual, y es para que si ustedes deseen, puedan suscribirse a este blog y asi recibir las actualizaciones de los post, casi en el momento en que los publico, pero mejor pongamos la explicacion que nos da Dogguie. Escribo esta entrada animado por la cantidad de [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Mi amigo <a href="http://www.dogguie.com/rss-feeds-y-suscripciones-por-e-mails/">dogguie,</a> me dio permiso  de usar este manual, y es para que si ustedes deseen, puedan suscribirse a este blog y asi recibir las actualizaciones de los post, casi en el momento en que los publico, pero mejor pongamos la explicacion que nos da Dogguie.</p>
<p>Escribo esta entrada animado por la cantidad de suscritos que dispone actualmente este humilde blog. Si son “moscas”  (hábiles, cucos), se habrán dado cuenta en la derecha hay un contador de suscritos, que al momento de escribir esta entrada marca el número 38. ya son 38 suscritos que me leen con un <strong>lector de feeds</strong> o por <strong>e-mails</strong><strong>.</strong> Un número más que alentador, y que en cierto sentido, es una de las formas de medir la aceptación de este sitio. Gracias a todos ustedes por hacerme sentir tan bien</p>
<p>Obviamente, esta cantidad no representa el total de los lectores habituales, ya que hay muchos (supongo que los menos experimentados) que solo nos tienen en los <strong>Favoritos </strong>de sus navegadores.</p>
<p>Si aún no te has suscrito, te invito a hacerlo ahora mismo (suena a amenaza ):</p>
<p><a href="http://feeds.feedburner.com/ajaxmanjs" target="_blank">Suscríbete</a> para leer el contenido de mi blog con un <strong>lector de feeds</strong>.</p>
<p><strong>O si lo deseas, recibe las actualizaciones ingresando tu e-mail en este sencillo formulario:</strong></p>
<form style="border: 1px none rgb(204, 204, 204); padding: 0px;" action="http://www.feedburner.com/fb/a/emailverify" method="post" target="popupwindow" onsubmit="window.open('http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1095650', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true">
<p>Ingresa tu direccion de E-mail:</p>
<p> <br />
<input style="width: 200px;" name="email" type="text"/>
<input value="http://feeds.feedburner.com/~e?ffid=1095650" name="url" type="hidden"/>
<input value="Ajaxman" name="title" type="hidden"/>
<input name="loc" value="es_ES" type="hidden"/>
<input value="Subscribirme" type="submit"/></form>
<p>Te llegará un mensaje de confirmación en el correo que ingresaste. Fíjate en tu carpeta de correo basura (spam), porque a veces  el proveedor de correos lo considera spam (f*k hotmail).</p>
<p><strong>También puedes agregarme a tus favoritos en <a href="http://www.technorati.com/" target="_blank">Technorati</a>:</strong></p>
<p><!-- technorati.com INICIO --><a href="http://technorati.com/faves?sub=addfavbtn&amp;add=http://www.ajaxman.net"><img src="http://static.technorati.com/pix/fave/tech-fav-1.png" style="border: medium none ;" alt="Add to Technorati Favorites"/></a><br />
<!-- technorati.com FIN --></p>
<p><strong>¿Quieres leer el contenido de mi blog con un lector de feeds y no tienes ni idea de cómo hacerlo?</strong></p>
<p>Si ese es tu caso, creo que la información que viene a continuación está hecha a tu medida. Te indicaré paso a paso cómo suscribirte a un lector de feeds.</p>
<p><span id="more-402"></span></p>
<h2><strong>Información importante para novatos</strong></h2>
</p>
<h2><strong>¿Qué es un feed RSS?</strong></h2>
<p>Para entender esto, primero hay que saber que es un <strong>Archivo RSS.</strong> Pues bien, es un archivo <a href="http://www.microsiervos.com/archivo/internet/que-es-un-feed-rss.html" target="_blank">generado por los blogs</a> que contiene una versión de la información publicada en el sitio. Normalmente consta de un título, un resumen y un enlace o URL a la página web de origen o que contiene el texto completo. Además puede contener información adicional como la fecha de publicación o el nombre del autor del texto. Este archivo RSS se reescribe automáticamente cuando se produce alguna actualización en los contenidos del sitio web.</p>
<h2><strong>¿Ok… pero cuál es su utilidad?</strong></h2>
<p>Lo explicaré de esta manera: imagínate que visitas constantemente 20 sitios web (por poner cualquier número, podrían ser más). ¿Cómo haces para revisar los contenidos nuevos de <strong>cada sitio web</strong>?. Claro, entrando <strong>de uno en uno</strong>, lo que toma mucho tiempo.</p>
<p>Con un <strong>lector de feeds</strong> y el <strong>canal RSS</strong> del sitio web o blog, ya no tienes que entrar (navegar) a cada uno de ellos, ni recibir e-mails cada vez que hay actualizaciones. <strong>Desde un sólo sitio (lector de feeds) puedes chequear todos los blogs o sitios webs que desees.</strong></p>
<h2><strong>¿Qué son los lectores de Feeds?</strong></h2>
<p>Los archivos RSS se leen con un lector de Feeds, que son <strong>programas de escritorio</strong> o <strong>aplicaciones web</strong> que realizan esa función.</p>
<p>A modo de ejemplo les muestro una captura del lector de feeds que yo utilizo: Feed Reader para windows, aunque tendre que buscar o hacer uno para linux, pero puedes usa Google Reader.</p>
<h2><strong>¿Cómo funciona Google Reader?</strong></h2>
</p>
<p>Tienes que disponer de una cuenta en Google para poder utilizarlo. Si no lo tienes, entra a <a href="http://www.google.com/reader/" target="_blank">Google Reader</a> y hazte de una cuenta de forma <strong>rápida y gratuita</strong>.</p>
<p>Una vez creada tu cuenta, ya podrás utilizar el lector agregando todos los canales RSS que desees.</p>
<p>Como ejemplo indicaré los procedimientos para agregar el canal RSS de <a href="http://www.ajaxman.net" target="_blank">www.ajaxman.net</a> al Google Reader.</p>
<ol>
<li>Entra a la cuenta de Google Reader que acabas de crear (”logueate”). Te aparecerá una ventana como la captura anterior, vacía obviamente, ya que todavía no agregaste ningún canal RSS al lector.</li>
<li>Clic en <strong>Añadir suscripción.</strong></li>
<li>En la ventanita que sale, escribir el canal RSS de este blog: <a href="http://feeds.feedburner.com/ajaxmanjs" title="http://feeds.feedburner.com/ajaxmanjs">http://feeds.feedburner.com/ajaxmanjs</a>. Cópialo y pégalo.</li>
<li>Clic en añadir</li>
<li>Instantaneamente apareceran los últimos 8 artículos de mi sitio (qué emoción)</li>
</ol>
<p><span id="more-441"></span></p>
<p>Así de fácil. De ahora en adelante te darás cuenta que cada vez que hay actualizaciones en mi blog, los podrás leer en el Google Reader.</p>
<p>Sigue los mismos procedimientos para agregar otros canales RSS de tu interés (yo tengo aproximadamente 20).</p>
<p>Seguramente te estarás preguntando “cómo saber cuál es el canal RSS de tal blog / sitio web?”. Fácil… <strong>casi siempre</strong> en algún lugar de la página principal, hay una imagen que contiene el enlace o URL del Feed RSS.</p>
<p>La imagen es esta:</p>
<p><span class="rss"><a href="http://www.ajaxman.net/feed/">entradas por rss</a></span></p>
<p></p>
<h2><strong>Suscripciones por e-mail</strong></h2>
<p>Si luego de la explicación, aún no te convenciste de utilizar los feeds, puedes suscribirte para recibir las novedades por e-mail.</p>
<form style="border: 1px none rgb(204, 204, 204); padding: 0px;" action="http://www.feedburner.com/fb/a/emailverify" method="post" target="popupwindow" onsubmit="window.open('http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1095650', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true">
<p>Ingresa tu direccion de E-mail:</p>
<p> <br />
<input style="width: 200px;" name="email" type="text"/>
<input value="http://feeds.feedburner.com/~e?ffid=1095650" name="url" type="hidden"/>
<input value="Ajaxman" name="title" type="hidden"/>
<input name="loc" value="es_ES" type="hidden"/>
<input value="Subscribirme" type="submit"/></form>
<p>Esta informacion fue copiada y modificada de la siguiente direccion <a href="http://www.dogguie.com/rss-feeds-y-suscripciones-por-e-mails/">http://www.dogguie.com/rss-feeds-y-suscripciones-por-e-mails/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/off-topic-feeds-rss-y-suscripciones-por-e-mail.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[Manual]Programando aplicaciones con XUL: Botones</title>
		<link>http://www.ajaxman.net/manualprogramando-aplicaciones-con-xul-botones.html</link>
		<comments>http://www.ajaxman.net/manualprogramando-aplicaciones-con-xul-botones.html#comments</comments>
		<pubDate>Wed, 21 Nov 2007 06:34:14 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Descargas]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Xul]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/423/manualprogramando-aplicaciones-con-xul-botones/</guid>
		<description><![CDATA[<p>Capitulo 2: Bien continuemos con nuestro manual de XUL, ya sabemos como hacer un Hola mundo, en Xul, así que hagamoslo mas interesante. Ahora vamos a trabajar con botones(recuerden que aqui no hay visual studio jaja). Botones en XUL Para que podamos interactuar con nuestro entorno es necesario disponer de botones, como cualquier otro lenguaje [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Capitulo 2:</p>
<p>Bien continuemos con nuestro manual de XUL, ya sabemos como hacer un Hola mundo, en Xul, así que hagamoslo mas interesante.</p>
<p>Ahora vamos a trabajar con botones(<del datetime="2007-11-15T20:14:08+00:00">recuerden que aqui no hay visual studio jaja</del>).</p>
<p><strong>Botones en XUL</strong></p>
<p>Para que podamos interactuar con nuestro entorno es necesario disponer de botones, como cualquier otro lenguaje de programación, de la misma forma que HTML, tambien XUL, dispone de una serie de etiquetas para crear los elementos de las interfaces de los usuarios.</p>
<p>Estos botones estan basados en la mas basica de estas etiquetas, esta es llamada <strong>Plantilla:XULElem</strong> que nos servira para crear un boton.</p>
<p class="info">Cada elemento de tipo Boton, tiene dos propiedades asociadas <em>label e image</em>, mutuamente compatibles, se pueden tener un boton con imagen y/o con etiqueta</p>
<p>La etiqueta Plantilla:XULElement usa la siguiente sintaxis</p>
<p></p><pre class="crayon-plain-tag">&amp;lt;button id=&amp;quot;identificador&amp;quot;&amp;gt;
 label=&amp;quot;Aceptar&amp;quot;
 image=&amp;quot;imagenes/imagen.jpg&amp;quot;
 disabled=&amp;quot;true&amp;quot;
 accesskey=&amp;quot;t&amp;quot;/&amp;gt;</pre><p></p>
<p>Cabe mencionar que todos estos atributos son opcionales y aceptan los siguientes datos.</p>
<ul>
<li><strong>id</strong>:Un identificador único (dentro de la página actual) que represente de forma inequívoca al botón. Es muy útil para referirse al botón desde una hoja de estilos CSS o desde un script de código, por ejemplo. Es recomendable rellenar este atributo en todas las etiquetas que uno declare.</li>
<li><strong>class</strong>: Este atributo se refiere a que a un boton se le puede asignar una clase, con la cual le aplicaremos cierto estilo, usando CSS, como si fuera HTML, aunque no es necesario usar una clase, para poder aplicar estilos en los botones.</li>
<li> <strong>label</strong>: Este atributo se refiere a el texto que mostrara nuestro boton, si lo dejamos en blanco, simplemente no tendra texto.</li>
<li> <strong>image</strong>: El atributo image nos indica que imagen aparecera dentro del boton, claro si deseamos usar alguna imagen, si no se le indica alguna imagen simplemente nos aparecera sin ella, tambien se le puede especifiar una imagen a un boton mediante una hoja de estilos usando <strong>list-style-image</strong>.</li>
<li> <strong>disabled</strong>: Esta opcion creo que ya todos (o casi) la conocemos, esta opcion se refiere a que si  la indicamos como <em>true</em>, el boton estara deshabilitado (no respondera a los click&#8217;s),  y si lo ponemos como <em>false</em> el boton estara habilitado,  si no se indica, el boton siempre estara habilitado.</li>
<li><strong>acceskey</strong>: con este atributo, le podemos indicar que reaccione a cierta tecla de atajo (o tecla de acceso directo), con la cual le pasaremos el foco, a este elemento , que en este caso es el boton.</li>
</ul>
<p>Aqui tenemos un ejemplo, de como quedaria nuestro archivo main.xul<br />
<span id="more-423"></span></p>
<p></p><pre class="crayon-plain-tag">&amp;lt; ?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;
&amp;lt; ?xml-stylesheet href=&amp;quot;chrome://global/skin/&amp;quot; type=&amp;quot;text/css&amp;quot;?&amp;gt;
 &amp;lt;button id=&amp;quot;boton_buscar&amp;quot;&amp;gt;

&amp;lt;/button&amp;gt;</pre><p></p>
<p>Recuerden usar los ejemplos de los capitulos anteriores para poder ir armando sus aplicaciones.</p>
<p>Les dejo el ejemplo, como siempre funcionando.</p>
<p><a title="Ejemplos de botones en XUL" href="http://www.ajaxman.net/wp-content/uploads/2007/11/botones.zip">Ejemplos de botones en XUL</a></p>
<p>Basado en | <a href="http://developer.mozilla.org/es/docs/Tutorial_de_XUL:A%C3%B1adiendo_botones">Desarrollo con xul mozilla</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/manualprogramando-aplicaciones-con-xul-botones.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.ajaxman.net @ 2012-05-22 17:09:00 -->
