<?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; Manual</title>
	<atom:link href="http://www.ajaxman.net/tag/manual/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ajaxman.net</link>
	<description>Ajax, Javascript, Xul, Internet, Recursos, Informatica ...</description>
	<lastBuildDate>Tue, 31 Aug 2010 12:01:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>[Manual-PHP] Creando un proyecto MVC con Framework Kohana PHP  parte I</title>
		<link>http://www.ajaxman.net/1959/manual-php-creando-un-proyecto-mvc-con-framework-kohana-php-parte-i/</link>
		<comments>http://www.ajaxman.net/1959/manual-php-creando-un-proyecto-mvc-con-framework-kohana-php-parte-i/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 22:14:46 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Kohana]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Kohana 3]]></category>
		<category><![CDATA[KohanaPHP]]></category>
		<category><![CDATA[Manual]]></category>
		<category><![CDATA[Php5]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=1959</guid>
		<description><![CDATA[Hagamos un ejemplo muy bien explicado sobre cómo usar el Framework Kohana PHP con MVC usando ORM entre otras cosas, para que vean para que sirve y todo lo que pueden hacer con el Ya sabemos cómo instalarlo ahora procedamos a trabajar. Como ejemplo haremos una aplicación que liste productos, maneje altas y bajas de [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Hagamos un ejemplo muy bien explicado sobre cómo usar el Framework Kohana PHP con MVC usando ORM entre otras cosas, para que vean para que sirve y todo lo que pueden hacer con el</p>
<p>Ya sabemos cómo instalarlo ahora procedamos a trabajar.</p>
<p>Como ejemplo haremos una aplicación que liste productos, maneje altas y bajas de una tienda con un Front-End y un Back-End.</p>
<p>Para empezar necesitamos lo siguiente</p>
<p>*Requisitos</p>
<ul>
<li><strong>Apache (ModRewrite instalado)</strong></li>
<li><strong> PHP 5.2</strong></li>
<li><strong> MySQL</strong></li>
<li><strong> Kohana 3 Framework</strong></li>
</ul>
<p>*Opcionales</p>
<ul>
<li><strong>SQlFront</strong></li>
<li><strong> Phpmyadmin</strong></li>
<li><strong> Editor de código como Webuilder (Luego veremos cómo hacer casi lo mismo con Netbeans un IDE completo)</strong></li>
</ul>
<p>Haremos una nueva instalación de Kohana, en nuestra PC que será nuestro servidor (localhost) copiamos el contenido del framework a una carpeta que se llame tienda (en mi caso <strong>E:/www/tienda/</strong>)</p>
<p><strong>Y acceso a mi website escribiendo http://localhost/tienda/  y ahí veremos nuestro install ahora navegamos hasta  E:/www/tienda/ y ahí estará ese archivo, lo borramos (si todo salió ok, si no corregir y verificar hasta que todo este en verde)</strong></p>
<p>Esta vez vamos empezar por los datos para que al final hagamos el website.<br />
Necesitamos una tabla de productos usaremos el siguiente SQL con los datos básicos de cada producto.</p>
<p>Como regla general hay que tener en cuenta que la base de datos debe de tener las siguientes características:</p>
<ul>
<li><strong>Nombre de la tabla en Plural (&#8220;productos&#8221;)</strong></li>
<li><strong> Nombre de los campos en Singular (&#8220;descripción&#8221;)</strong></li>
<li><strong> La clave principal se llamara id, en minúsculas (Se puede poner otra cosa pero habría que editar nuestra clase que manejara esa tabla por ello lo dejaremos como id)</strong></li>
</ul>
<pre class="brush: sql;">

CREATE TABLE `productos` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `nombre` varchar(255) DEFAULT NULL,
 `descripcion` text,
 `activo` int(1) DEFAULT '1',
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
</pre>
<p>Agregamos el siguiente contenido</p>
<pre class="brush: sql;">
INSERT INTO `productos` VALUES (1,'Agua Debian','Agua Embotellada 1 Lts Marca Debian',1);
INSERT INTO `productos` VALUES (2,'Refresco Php','Refresco 2 Lts Marca Php Sabor Uva',1);
INSERT INTO `productos` VALUES (3,'Paleta Ubuntu','Paleta Ubuntu sabor Cafe 1pza',1);
</pre>
<p>Ahora editaremos nuestro bootstrap   (<strong>E:/www/tienda/application/bootstrap.php</strong>)<br />
Buscaremos el configuración del init y escribiremos los siguiente</p>
<pre class="brush: php;">
&lt;?php
//...
//...
Kohana::init(array(
 'base_url'   =&gt; 'http://localhost/tienda/',//Aqui le decimos cual será la url del proyecto
 'index_file' =&gt; FALSE, //                  //Le indicamos que usara urls amigables (sin .php)
));
...
...
//Buscaremos el Route en el mismo script y lo editaremos
..
...
Route::set('default', '(&lt;controller&gt;(/&lt;action&gt;(/&lt;id&gt;)))')
 -&gt;defaults(array(
 'controller' =&gt; 'tienda',  //Nombre del controlador por default
 'action'     =&gt; 'index',   //Acción por default (lo dejamos en index)
 ));
</pre>
<p>Lo guardamos (:wq XD ) y vamos a ver que en la raíz del proyecto hay una archivo llamado example.htaccess lo renombramos a .htaccess que será el que manejara las urls amigables para no tener el tienda/index.php/controlador ser tienda/controlador.</p>
<p>Les recomiendo comentar la siguiente línea para no tener problemas en las direcciones</p>
<pre class="brush: php;">
# Installation directory
#RewriteBase /kohana/ pueden poner /tienda y va a funcionar pero es mejor quitarla
# ya que con ello evitaremos problemas cuando estemos cambiando de un servidor local
# a un servidor de producción
</pre>
<p>Lo guardamos (:wq XD )  Y ahora vayamos a crear nuestro controlador.</p>
<p>Entramos a E:/www/tienda/application/classes/controller y creamos tienda.php<br />
Y creamos nuestro controlador</p>
<pre class="brush: php;">
&lt;?php defined('SYSPATH') or die('No direct script access.');

class Controller_Tienda extends Controller {
/**
 * Controller_Tienda Es el controlador por default recuerden el bootstrap
 * todos los controladores llevan esta sintaxis, Controller_&lt;Nombre_del_controlador&gt;
 *
 *  action_index() Es la acción por default (ejemplo http://localhost/tienda/accion)
 *  si no se especifica en la url (ejemplo http://localhost/tienda/accion, se usara
 *  index por default y la sintaxis es action_&lt;nombre_de_la_accion&gt;
 */
 public function action_index()
 {
 echo &quot;Programando ....&quot;;
 }

} // End Tienda
</pre>
<p>Lo guardamos (:wq XD ) y naveguemos a http://localhost/tienda/ veremos que dirá &#8220;Programando &#8230;.&#8221;, si no vemos eso es que algo hicimos mal y hay que volver a ver en donde nos fallo</p>
<p>Ahora bien, procederemos a conectar la base de datos, para ello vamos a editar el archivo de configuración de la base de datos E:/www/tienda/modules/database/config/database.php</p>
<p>Y agregaremos la conexión mysql, pueden usar PDO(pero prefiero hacerlo como ejemplo de forma tradicional)</p>
<pre class="brush: php;">
&lt;?php defined('SYSPATH') or die('No direct access allowed.');

return array
(
 'default' =&gt; array
 (
 'type'       =&gt; 'mysql',
 'connection' =&gt; array(
 /**
 * The following options are available for MySQL:
 *
 * string   hostname
 * string   username
 * string   password
 * boolean  persistent
 * string   database
 *
 * Ports and sockets may be appended to the hostname.
 */
 'hostname'   =&gt; 'localhost',  ////Usa los datos de tu conexión MYSQL
 'username'   =&gt; &quot;root&quot;,       ////Usa los datos de tu conexión MYSQL
 'password'   =&gt; &quot;localhost&quot;,  ////Usa los datos de tu conexión MYSQL
 'persistent' =&gt; FALSE,        ////Opcional
 'database'   =&gt; 'kh_tienda',  ////Usa los datos de tu conexión MYSQL
 ),
 'table_prefix' =&gt; '',
 'charset'      =&gt; 'utf8',
 'caching'      =&gt; FALSE,
 'profiling'    =&gt; TRUE,
 ),
 //Aquí continúa con el PDO, ese de momento no hay que tocarlo
 //..
 //....
 //......
)
</pre>
<p>Ahora que ya lo tenemos vamos a decirle a kohana que agregue los módulos de base de datos y orm, necesarios para que funcione nuestro ejemplo, para ello hay que editar otra vez nuestro archivo bootstrap ya descomentar los módulos de manera que quede así.</p>
<p><span id="more-1959"></span></p>
<pre class="brush: php;">
&lt;?php
//..
//....
/**
 * Enable modules. Modules are referenced by a relative or absolute path.
 */
Kohana::modules(array(
 // 'auth'       =&gt; MODPATH.'auth',       // Basic authentication
 //'cache'      =&gt; MODPATH.'cache',      // Caching with multiple backends
 // 'codebench'  =&gt; MODPATH.'codebench',  // Benchmarking tool
 'database'   =&gt; MODPATH.'database',   // Database access
 // 'image'      =&gt; MODPATH.'image',      // Image manipulation
 'orm'        =&gt; MODPATH.'orm',        // Object Relationship Mapping
 // 'pagination' =&gt; MODPATH.'pagination', // Paging of results
 // 'userguide'  =&gt; MODPATH.'userguide',  // User guide and API documentation
 ));
</pre>
<p>Lo guardamos y ahora hay que agregar el Modelo ORM que manejara la base de datos, para ello hay que crear un archivo llamado con el mismo nombre de nuestra tabla,</p>
<p>En E:/www/tienda/application/classes/model hay que agregar el modelo productos.php si no existe esta carpeta model hay que crearla.</p>
<p>En el modelo agregaremos el siguiente contenido</p>
<pre class="brush: php;">
&lt;?php defined('SYSPATH') or die('No direct script access.');
/**
 * Description of Model_Productos
 *
 * @author Javier
 */
 //// Importante el nombre de nuestra  clase debe de llevar la siguiente sintaxis
 ////  Model_&lt;Nombre_de_la_tabla&gt;

class Model_Productos extends ORM {

 protected $_table_names_plural = false;
 /// Ojo con esto este campo es true por default pero hace que Kohana maneje a su gusto
 /// Los nombres de la tablas agregándole &quot;s&quot; o &quot;es&quot; a las mismas
 /// Es decir trata de pluralizar el nombre automáticamente, puede que sea muy útil
 /// Pero en lo personal no me gusta prefiero yo usar lo nombres a mi gusto
 /// Por ello con esta indicación le decimos a kohana:
 /// &quot;Deja el nombre de la tabla como se llama la clase y no le hagas cambios&quot;

}
</pre>
<p>Y bien ya casi terminamos, ahora hagamos una prueba para ver si todo ha salido bien.</p>
<p>Vayamos a nuestro controlador y agreguemos el siguiente código</p>
<pre class="brush: php;">
&lt;?php
 //..
 //.....
 public function action_index()
 {
 //echo &quot;Programando ....&quot;;
 $productos = ORM::factory('productos')-&gt;find_all();
 foreach($productos as $producto)
 {
 echo &quot;[[Producto=&quot;.$producto-&gt;descripcion.&quot;]]&quot;;
 }

 }
</pre>
<p>Ojo no es MVC todavía pero es para pruebas, expliquemos el código:<br />
Para hacer una consulta al ORM, usaremos el siguiente código (se puede de varias formas, esta es la mas fácil)<br />
<strong>$productos = ORM::factory(&#8216;&lt;Nombre_del_Modelo&gt;&#8217;)-&gt;otros_metodos()</strong><br />
Donde</p>
<ul>
<li><strong>$productos: es la variable donde se almacenara nuestro contenido de la consulta</strong></li>
<li><strong> ORM::factory(): Es el método estático para usar el ORM y el parámetro será el nombre del modelo</strong></li>
<li><strong> otros_metodos: Es donde le podemos agregar métodos where, join, order_by, find,find_all, etc., digamos como una especie de parámetros del query, algo importante a destacar es</strong>
<ul>
<li><strong> si usamos -&gt;find() Kohana hará automáticamente un limit 1</strong></li>
<li><strong> Si usamos -&gt;find_all() Kohana traerá todos los resultados</strong></li>
</ul>
</li>
<li><strong> Hay muchos parámetros poco a poco los iremos viendo.</strong></li>
</ul>
<p>Por último con el foreach recorremos nuestro objeto y mostramos sus propiedades las cuales son las mismas que los campos de la tabla y listo.</p>
<p>Guardamos nuestro controlador y al entrar a <strong>http://localhost/tienda/,</strong> nos debe aparecer algo como lo siguiente:</p>
<p><strong>[[Producto=Agua Embotellada 1 Lts Marca Debian]][[Producto=Refresco 2 Lts Marca Php Sabor Uva]][[Producto=Paleta Ubuntu sabor Cafe 1pza]]</strong></p>
<p>Con eso terminamos la parte 1, Como verán siento que fue bastante rápido, que quizá se me hayan quedado cosas, sin escribir, si notan algún error, o algo no funciona pueden comentarlo.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/1959/manual-php-creando-un-proyecto-mvc-con-framework-kohana-php-parte-i/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[Tutorial] Creando Virtual Host de Apache usando Linux</title>
		<link>http://www.ajaxman.net/1541/tutorial-creando-virtual-host-de-apache-usando-linux/</link>
		<comments>http://www.ajaxman.net/1541/tutorial-creando-virtual-host-de-apache-usando-linux/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 01:22:14 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Manual]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[VirtualHost]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=1541</guid>
		<description><![CDATA[Hasta hoy creo que voy a escribir algo util, pero pues y saben que mi tiempo es poco y hay que aprovecharlo al máximo. Bueno la idea de este post es platicarles sobre como se pueden crear los famosos virtualhosts.Pero antes de empezar enterémonos bien que es un virtualhost. Con los virtualhosts podremos tener varios [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Hasta hoy creo que voy a escribir algo util, pero pues y saben que mi tiempo es poco y hay que aprovecharlo al máximo.</p>
<p>Bueno la idea de este post es platicarles sobre como se pueden crear los famosos <strong>virtualhosts</strong>.Pero antes de empezar enterémonos bien que es un virtualhost.</p>
<p>Con los <strong>virtualhosts</strong> podremos tener varios dominios apuntando a una misma pc. Dentro de cada <strong>virtualhost</strong> podremos definir las condiciones para cada dominio que esté representando.</p>
<p>Es como si tuviéramos varios dominios dentro de nuestro servidor osea 127.0.0.1.</p>
<p><strong>Es decir que aparte de usar http://localhost, podríamos usar http://localweb, http://proyecto, http://www.beta.com o el nombre que mas nos guste, para ello lo primero que necesitamos es tener instalado apache2 (la ultima versión) y funcionando.</strong></p>
<p>Ahora veamos como crear y usar los virtualhost(<strong>Es necesario tener permisos de root para algunos cambios</strong>)</p>
<p>Entraremos  a nuestra consola y nos moveremos a   cd /etc/apache2/sites-available/</p>
<p><em><strong>ajaxman@debianJS:~$ su<br />
Contraseña:<br />
debianJS:/home/ajaxman# cd /etc/apache2/sites-available/<br />
debianJS:/etc/apache2/sites-available#</strong></em></p>
<p>Una vez ahí veremos que hay un archivo llamado default (en mi caso hay dos el otro se llama default-ssl es digamos que la &#8220;plantilla&#8221; de los sitio con ssl)</p>
<p><em><strong>debianJS:/etc/apache2/sites-available# ls -la<br />
total 24<br />
drwxr-xr-x 2 root root 4096 abr 14 16:37 .<br />
drwxr-xr-x 7 root root 4096 nov  6 16:46 ..<br />
-rw-r&#8211;r&#8211; 1 root root 1428 nov  6 17:44 default<br />
-rw-r&#8211;r&#8211; 1 root root 7366 oct  1  2008 default-ssl</strong></em></p>
<p>El archivo default es el que contiene la información que usaremos en los virtualHost por lo cual simplemente copiaremos todo el archivo en uno nuevo eso lo hacemos mediante el comando <strong>cat</strong>.</p>
<p><em><strong>debianJS:/etc/apache2/sites-available# cat default&gt; website</strong></em></p>
<p>Ahora nuestro ls se vera asi</p>
<p><em><strong>debianJS:/etc/apache2/sites-available# ls -la<br />
total 24<br />
drwxr-xr-x 2 root root 4096 abr 14 16:37 .<br />
drwxr-xr-x 7 root root 4096 nov  6 16:46 ..<br />
-rw-r&#8211;r&#8211; 1 root root 1428 nov  6 17:44 default<br />
-rw-r&#8211;r&#8211; 1 root root 7366 oct  1  2008 default-ssl<br />
-rw-r&#8211;r&#8211; 1 root root 1480 abr 14 16:35 website</strong></em></p>
<p>Ahora lo abrimos y lo editamos con el Vi y lo unico que modificaremos sera lo siguiente.</p>
<p><strong>debianJS:/etc/apache2/sites-available# vim website</strong><br />
<em><br />
<strong>< VirtualHost *:80 ><br />
ServerAdmin webmaster@localhost</p>
<p>DocumentRoot /home/www/<br />
< Directory  / ><br />
Options FollowSymLinks<br />
AllowOverride None<br />
< /Directory ><br />
< Directory /home/www/ ><br />
Options Indexes FollowSymLinks MultiViews<br />
AllowOverride None<br />
Order allow,deny<br />
allow from all<br />
< / Directory ><br />
&#8230;&#8230;&#8230;<br />
&#8230;&#8230;&#8230;&#8230;&#8230;<br />
&#8230;&#8230;&#8230;&#8230;&#8230;.<br />
< VirtualHost ></strong></em></p>
<p>Por esto</p>
<p><em><strong>< VirtualHost *:80 ><br />
ServerAdmin webmaster@ajaxman.net<br />
ServerName prog<br />
ServerAlias www.website.net</p>
<p>DocumentRoot /home/www/prog<br />
< Directory / ><br />
Options FollowSymLinks<br />
AllowOverride None<br />
< /Directory ><br />
< Directory /home/www/prog ><br />
Options Indexes FollowSymLinks MultiViews<br />
AllowOverride None<br />
Order allow,deny<br />
allow from all<br />
< / Directory ><br />
&#8230;&#8230;&#8230;<br />
&#8230;&#8230;&#8230;&#8230;&#8230;<br />
&#8230;&#8230;&#8230;&#8230;&#8230;.<br />
< VirtualHost ></strong></em></p>
<p>Nota: Tiene espacios intencionales para evitar que wordpress lo tome como si fueran tags HTML</p>
<p>Lo que cambiamos fue</p>
<ul>
<li><strong>Agregamos Server Name</strong>, que es donde estará el nombre de nuestro servidor en este caso se llama prog</li>
<li><strong>Le agregamos un ServerAlias</strong>, que es como otro nombre para acceder a este VirtualHost, en este caso es <strong>www.website.net.</strong></li>
<li><strong>Y le modificamos el DocumentRoot</strong>, el cual sera la carpeta del sitio que queremos Virtualizar</li>
</ul>
<p><strong>Los guardamos con [Esc]:wq</strong></p>
<p>Ahora lo agregamos a apache</p>
<p><em><strong>debianJS:/etc/apache2/sites-available# a2ensite website</strong></em></p>
<p>Y apache nos dira que lo agrego con éxito, Ojo:<strong> para evitar que Apache nos de errores, es necesario que la carpeta que el indicamos en DocumentRoot exista, si no no nos va a funcionar.</strong></p>
<p><strong>a2ensite,</strong> lo único que hace es un enlace simbólico dentro de la carpeta <strong>/etc/apache2/sites-enabled</strong> a algunos de los sitios que están en la otra carpeta<strong> /etc/apache2/sites-available</strong> , es decir  en <strong>sites-available</strong> están los sitios disponibles, y en <strong>sites-enabled</strong> están  los que podemos usar.<em><strong><br />
</strong></em><br />
<span id="more-1541"></span><br />
<em><strong>debianJS:/etc/apache2/sites-enabled# ls -la<br />
total 8<br />
drwxr-xr-x 2 root root 4096 abr 14 16:26 .<br />
drwxr-xr-x 7 root root 4096 nov  6 16:46 ..<br />
lrwxrwxrwx 1 root root   26 nov  6 16:13 000-default -&gt; ../sites-available/default<br />
lrwxrwxrwx 1 root root   23 abr 14 16:26 website -&gt; ../sites-available/website</strong></em></p>
<p><strong>Ahora modificamos nuestro fichero hosts, hay que tener cuidado por que Apache en mi debian tiene dos un host y otro que se llama hosts, el que vamos a modificar es hosts(con ese al final)</strong></p>
<p><em><strong>debianJS:/etc/apache2/sites-enabled# vim /etc/hosts</strong></em></p>
<p>Nos aparecera asi</p>
<p><em><strong>127.0.0.1       localhost<br />
&#8230;&#8230;.<br />
&#8230;&#8230;&#8230;.<br />
&#8230;&#8230;&#8230;&#8230;</strong></em></p>
<p>Lo unico que debemos hacer es agregar nuestro nuevo sitio de acuerdo al alias que le pusimos o bien el servername(se ve mas chido con Alias) y quedara asi</p>
<p><em><strong>127.0.0.1       localhost<br />
127.0.0.1       www.website.net<br />
..<br />
&#8230;..<br />
&#8230;&#8230;..</strong></em></p>
<p>Guardamos nuestro archivo, y con esto le decimos a nuestro Linux, que cuando teeclemos www.website.net lo busque en nuestra misma pc y no afuera.</p>
<p>Ahora solo recargamos apache</p>
<p><strong>debianJS:/etc/apache2/sites-enabled# /etc/init.d/apache2 reload</strong></p>
<p>Y listo</p>
<p>Ahora abrimos nuestro Firefox(Navegador) (acaso hay otro?) y tecleamos www.website.net y nos debe de desplegar la informacion de la carpeta /home/www/prog ya se aun index.php index.html o un listado, claro esi esta permitido en nuestra configuracion default(recuerden que de ahi sacamos toda la configuración).</p>
<p>En resumen mis comandos fueron<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
<em><strong>ajaxman@debianJS:~$ su<br />
Contraseña:<br />
debianJS:/home/ajaxman# cd /etc/apache2/sites-available/<br />
debianJS:/etc/apache2/sites-available# ls -la<br />
total 24<br />
drwxr-xr-x 2 root root 4096 abr 14 16:37 .<br />
drwxr-xr-x 7 root root 4096 nov  6 16:46 ..<br />
-rw-r&#8211;r&#8211; 1 root root 1428 nov  6 17:44 default<br />
-rw-r&#8211;r&#8211; 1 root root 7366 oct  1  2008 default-ssl<br />
debianJS:/etc/apache2/sites-available# cat default&gt; website<br />
debianJS:/etc/apache2/sites-available# vim website<br />
debianJS:/etc/apache2/sites-available# vim default<br />
debianJS:/etc/apache2/sites-available# a2ensite website<br />
Site prog already enabled<br />
debianJS:/etc/apache2/sites-available# cd ..<br />
debianJS:/etc/apache2# ls<br />
apache2.conf  conf.d  envvars  httpd.conf  mods-available  mods-enabled  ports.conf  sites-available  sites-enabled<br />
debianJS:/etc/apache2# cd sites-enabled/<br />
debianJS:/etc/apache2/sites-enabled# ls -la<br />
total 8<br />
drwxr-xr-x 2 root root 4096 abr 14 16:26 .<br />
drwxr-xr-x 7 root root 4096 nov  6 16:46 ..<br />
lrwxrwxrwx 1 root root   26 nov  6 16:13 000-default -&gt; ../sites-available/default<br />
lrwxrwxrwx 1 root root   23 abr 14 16:26 website -&gt; ../sites-available/website<br />
debianJS:/etc/apache2/sites-enabled# vim /etc/hosts<br />
debianJS:/etc/apache2/sites-enabled# /etc/init.d/apache2 reload</strong></em><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Creo que ya quedo, espero que les sea util y bueno ya mejore mis posts o no?</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/1541/tutorial-creando-virtual-host-de-apache-usando-linux/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>[Php] Descarga y manual de Cake PHP 1.2</title>
		<link>http://www.ajaxman.net/1388/php-descarga-y-manual-de-cake-php-12/</link>
		<comments>http://www.ajaxman.net/1388/php-descarga-y-manual-de-cake-php-12/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 15:51:56 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Librerias]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Manual]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=1388</guid>
		<description><![CDATA[Haber si continuamos con el blog y para empezar a romper el hielo les platico esta entrada publicada en el blog de carlos leopoldo. Se trata de el aviso que CakePHP 1.2 ha sido liberado y tal como comenta, este sistema se trata de un framework, con el cual podemos hacer maravillas sin tener que [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Haber si continuamos con el blog y para empezar a romper el hielo les platico esta entrada publicada en el blog de carlos leopoldo.</p>
<p>Se trata de el aviso que <strong>CakePHP 1.2</strong> ha sido liberado y tal como comenta, este sistema se trata de un <strong>framework</strong>, con el cual podemos hacer maravillas sin tener que rompernos la cabeza con php.</p>
<div id="attachment_1389" class="wp-caption aligncenter" style="width: 240px"><a href="http://www.cakephp.org"><img class="size-full wp-image-1389" title="CakePHP" src="http://www.ajaxman.net/wp-content/uploads/2009/01/cakephp.png" alt="CakePHP" width="230" height="225" /></a><p class="wp-caption-text">CakePHP</p></div>
<p>Esta claro que para poder usarlo es necesario tener conocimientos en <strong>Php, html, Javascript, Css entre otros,</strong> pero solo nos centraremos en usar los componentes que estáne ya programados y listos para ello, por ejemplo con este framework podemos crear todo un sistema de publicación para un blog, claro que sin la potencia de <strong>Wordpres </strong> <img src='http://www.ajaxman.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   pero es solo un ejemplo.</p>
<p>Lo interesante también es que hay un manual completamente en español, y esta muy fácil de seguir, yo personalmente no le he dado oportunidad a este <strong>framework</strong>(ni a <strong>smarty</strong>), por que siento el que código manual es mejor y muy potente, pero por si alguno de ustedes le interesa, aquí les dejo los datos de dicho framework.</p>
<p>Descarga de CakePHP 1.2 <a href="http://cakeforge.org/frs/?group_id=23&amp;release_id=433">Aqui </a><br />
Manual en español <a href="http://book.cakephp.org/es">Aqui</a>.<br />
Pagina oficial <a href="http://www.cakephp.org">CakePHP</a>.</p>
<p>Via | <a title="Permalink para Manual de CakePHP 1.2 y descarga versión final" rel="bookmark" href="http://www.carlosleopoldo.com/post/manual-descarga-cakephp-1.2/">Manual de CakePHP 1.2 y descarga versión final</a></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/1388/php-descarga-y-manual-de-cake-php-12/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[Php] Cargando clases en Php 5 !!sin dolores de cabeza!!</title>
		<link>http://www.ajaxman.net/1144/php-cargando-clases-en-php-5-sin-dolores-de-cabeza/</link>
		<comments>http://www.ajaxman.net/1144/php-cargando-clases-en-php-5-sin-dolores-de-cabeza/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 16:55:13 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Manual]]></category>
		<category><![CDATA[Php5]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=1144</guid>
		<description><![CDATA[Hasta hoy creo que voy a escribir algo sobre Php, una categoría que tenia algo de olvidada por este blog, y se trata de algo muy simple digamos que es un tip, es una forma de cargar clases en Php 5 sin hacer un relajo. Les cuento a que viene el caso o la situación, [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Hasta hoy creo que voy a escribir algo sobre Php, una categoría que tenia algo de olvidada por este blog, y se trata de algo muy simple digamos que es un tip, es una forma de<strong> </strong>cargar<strong> clases en Php 5</strong> sin hacer un relajo.</p>
<p>Les cuento a que viene el caso o la situación, estoy creando una clase en <strong>Php, </strong>para manejar unas cosas, sin embargo son 3 cosas diferentes, vamos, tendré que usar 3 clases diferentes, ya que se trata de cosas distintas, ahora bien, para usar una clase el <strong>php</strong> se haría de la siguiente forma.</p>
<pre name="code" class="php">
< ?php
include ("clases/calcula.inc.php");
$calcula=new Calcula();
?>
</pre>
<p>El problema surge cuando deseamos utilizar varias clases, las cuales a veces por facilidad y por costumbre las almacenamos en archivos diferentes, el ejemplo se vería mas o menos de esta forma</p>
<pre name="code" class="php">
< ?php
include ("clases/cacula.inc.php");
include ("clases/suma.inc.php");
include ("clases/resta.inc.php");
include ("clases/raiz.inc.php");
$calc=new Calcula();

$sum=new Suma();

$rest=new Resta();
?>
</pre>
<p>Esto DESAFORTUNADAMENTE se tendrá que hacer si tenemos<strong> php 4</strong> en nuestro server,<strong> ya que si tenemos Php 5 podemos usar autoload, una función nativa de php5, </strong>como lo indica la documentacion de Php.</p>
<p><strong><em>Puede definir una función     __autoload la cual es llamada automáticamente en caso de que    intente usar una clase que no ha sido definida aún. Al llamar     esta función la ejecución del script da una última    oportunidad de cargar la clase antes de que PHP falle con un error. </em></strong></p>
<p>Aqui les pongo un ejemplo de como quedaría nuestro código anterior</p>
<pre name="code" class="php">
< ?php

function __autoload($nombre_de_clase) {
require_once $nombre_de_clase . '.php';
}

$calc=new Calcula();

$sum=new Suma();

............
?>
</pre>
<p>Como vemos es muy simple, espero que les ayude, ya que a mi no me ayudara mucho, por que en uno de los servers donde haré esto usa php 4 <img src='http://www.ajaxman.net/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  pues ya que, si a ti te sirvió coméntanos, como la usaste.</p>
<p>Mas información | <a href="http://www.php.net/manual/es/language.oop5.autoload.php" target="_blank">Auto carga de Objetos</a></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/1144/php-cargando-clases-en-php-5-sin-dolores-de-cabeza/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[Manual] Usando el crontab en Linux</title>
		<link>http://www.ajaxman.net/1119/manual-usando-el-crontab-en-linux/</link>
		<comments>http://www.ajaxman.net/1119/manual-usando-el-crontab-en-linux/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 17:40:59 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[LPIC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Open Suse]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Servidores]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Crontab]]></category>
		<category><![CDATA[Manual]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=1119</guid>
		<description><![CDATA[Bueno hoy es viernes y no hay que hacer nada ¿no creen?, ojala y así fuera pero hay bastante chamba, bueno regular, pero veamos un poco sobre como usar el famoso crontab que a veces me ha costado trabajo, bueno aquí les pondré un pequeño manual espero que les sea de utilidad, cualquier pregunta no [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Bueno hoy es viernes y no hay que hacer nada ¿no creen?, ojala y así fuera pero hay bastante chamba, bueno regular, pero veamos un poco sobre como usar el famoso crontab que a veces me ha costado trabajo, bueno aquí les pondré un pequeño manual espero que les sea de utilidad, cualquier pregunta no duden, para eso están los comentarios.</p>
<div id="attachment_1120" class="wp-caption alignright" style="width: 138px"><img class="size-full wp-image-1120" src="http://www.ajaxman.net/wp-content/uploads/2008/08/terminal.png" alt="terminal" width="128" height="128" /><p class="wp-caption-text">Terminal</p></div>
<p><strong>El crontab, es un archivo en donde podemos configurar tareas para que se ejecuten automáticamente en nuestro sistema, digamos por ejemplo descargar un archivo de respaldo diariamente,  o borrar ciertos archivos periódicamente, ejecutar un script que haga algo, etc, digamos que podemos automatizar las tareas, para no estar haciéndolas a mano.</strong></p>
<p>Para poder ejecutar el crontab, regularmente no es necesario hacer nada, mas que ejecutar cierto comando y ya estará funcionando, en la mayoría de distribuciones que he probado (ubuntu,open suse, debian, gentoo)regularmente esta por default, de todos modos si surgen dudas están los comentarios.</p>
<p>También debemos de revisar que para poder ejecutarlo nuestro nombre de usuario debe de aparecer en <span style="font-size: small; font-family: Times New Roman;">/usr/lib/cron/cron.allow, o en dado caso que no aparezcamos dentro de la lista </span><span style="font-size: small; font-family: Times New Roman;"> /usr/lib/cron/cron.deny.</span></p>
<div id="result_box" dir="ltr">Si sólo existe cron.deny  y está vacío, todos los usuarios pueden utilizar crontab. Si no el archivo existe, sólo el usuario root puede usar crontab. El permitir / denegar archivos constan de el nombre de usuario en cada línea.</div>
<div dir="ltr">Lo anterior no lo pude localizar correctamente en Open suse, de todos modos, utilicen en este caso acceso como root y se evitaran problemas.</div>
<div dir="ltr">Ahora para poder trabajar con el cron vamos a ver como podemos configurarlo o modificarlo.</div>
<div id="result_box" dir="ltr">Podemos usar <strong><em>linux-g5yh:/home # export EDITOR = vi</em></strong> para especificar un editor por default para editar el archivo del crontab, pueden usar<strong> pico, nano, etc</strong>, pero a mi me gusta mas el <strong>Vim o Vi</strong></div>
<div dir="ltr">Ahora usaremos los siguiente comandos dependiendo de lo que deseemos hacer</div>
<div dir="ltr"><em><strong>linux-g5yh:/home #crontab-e </strong></em> Con este comando podremos editar nuestro archivo crontab, si no existe dicho archivo se crea.<br />
<strong><em>linux-g5yh:/home #crontab-l </em></strong>Muestra el contenido del archivo crontab.<br />
<em><strong>linux-g5yh:/home #crontab-r</strong></em> Eliminar el archivo crontab(ejecutar esta instrucción con cuidado).<br />
<em><strong>linux-g5yh:/home #crontab-v</strong></em> Muestra la última vez que editó su archivo crontab. (Esta opción sólo está disponible en algunos sistemas.)</div>
<div dir="ltr">Ahora que ya sabemos como configurar el archivo del crontab, ahora veamos como podemos agregar tareas, a dicho archivo.</div>
<div dir="ltr">&#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;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</div>
<p><span style="font-size: small; font-family: Times New Roman;">*     *   *   *         *  comando_a_ejecutar<br />
-     -    -    -         -<br />
|     |     |          |     |<br />
|     |     |          |     +&#8212;&#8211; dia de la semana (0 &#8211; 6) (Domingo=0)<br />
|     |     |          +&#8212;&#8212;- mes(1 &#8211; 12)<br />
|     |     +&#8212;&#8212;&#8212; dia del mes      (1 &#8211; 31)<br />
|     +&#8212;&#8212;&#8212;&#8211; hora (0 &#8211; 23)<br />
+&#8212;&#8212;&#8212;&#8212;- minuto (0 &#8211; 59)</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;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Bajo el anterior criterio vamos a poner un cron job que se ejecute a las 10 de la noche, el cual solo reinicia el apache server</p>
<p><em><strong>linux-g5yh:/home #crontab-e</strong></em></p>
<p>* 10,20  *  *  * /etc/init.d/apache2 restart</p>
<p>:wq  //guardamos el archivo en el vi</p>
<p><em><strong>linux-g5yh:/home #</strong></em></p>
<p>Ahora un ejemplo un poco mas difícil,  bajar un respaldo a las 2:20 am y a las 2:20 pm, bajar un segundo respaldo 25 minutos después, ejecutar el script de los respaldos cada 30 minutos los viernes.</p>
<p><span id="more-1119"></span></p>
<p><em><strong>linux-g5yh:/home #crontab-e</strong></em></p>
<p>20 2,14  *  *  *  wget http://www.tudominio.com/logs/respaldo.backup</p>
<p>45 2,14  *  *  *  wget http://www.tudominio.com/logs/respaldo.backupSegundo</p>
<p>30 *  *  *  5  http://www.tudominio.com/generarrespaldos.php</p>
<p>:wq  //guardamos el archivo en el vi</p>
<p><em><strong>linux-g5yh:/home #</strong></em></p>
<p>Listo con esto creo que ya podemos empezar a trabajar con nuestro cronjob, y de paso como anotación para que no se me olvide, luego les pongo un manual de como usar el vi,</p>
<p>Fuente y más documentación en Ingles | <a href="http://www.adminschoice.com/docs/crontab.htm" target="_blank">Crontab &#8211; Quick reference</a></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/1119/manual-usando-el-crontab-en-linux/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>[Manual] Instalando Firefox 3 en Debian Etch 4</title>
		<link>http://www.ajaxman.net/989/manual-instalando-firefox-3-en-debian-etch-4/</link>
		<comments>http://www.ajaxman.net/989/manual-instalando-firefox-3-en-debian-etch-4/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 18:39:44 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[FireFox 3]]></category>
		<category><![CDATA[Manual]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=989</guid>
		<description><![CDATA[Como saben estoy desde hace unos días en mi Debian, y las verdad no podía estar mas contento, apenas lo estoy puliendo y me han salido muchos detalles, los cuales poco a poco voy resolviendo. Como saben(si no pues ya se enteraron), hace tiempo hubo diferencias entre la comunidad de desarrollo de Debian y la [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Como saben estoy desde hace unos días en mi Debian, y las verdad no podía estar mas contento, apenas lo estoy puliendo y me han salido muchos detalles, los cuales poco a poco voy resolviendo.</p>
<p>Como saben(si no pues ya se enteraron), hace tiempo hubo diferencias entre la comunidad de desarrollo de Debian y la fundacion Mozilla, por lo cual en Debian no viene incluido Firefox, bueno en si lo que no viene es ese producto pero, lo que si viene es un navegador igualito a Firefox, se llama Iceweasel, vamos lo único que cambia es la imagen, y el nombre, además de que al ser una versión distinta, se tardan tiempo en sacar nuevas versiones.</p>
<p>El caso es que es Firefox pero un poco atrasado(iceweasel=Firefox 2), y como yo quería disfrutar de lo nuevo el Firefox 3, pues me encontré con ese problema, ya  que ni esta en los repositorios del apt.</p>
<p>Pero como yo se que en linux todo es posible, pues busque si había una forma de hacerlo ya que Firefox 3 esta disponible en formato tar.bz2 desde la pagina de Mozilla.</p>
<p>Entonces me dispuse a buscar como instalarlo, y pues después de mucho buscar encontré la solución, la cual pongo a continuación.</p>
<ol>
<li>Primero necesitamos tener instalado alien, este paquete nos permitirá pasar algunos(ojo no todos) paquetes rmp a paquetes .deb y de esta forma instalarlos en debian.</li>
<li>Necesitaremos instalar un paquete que es el gtk+-2.10, el cual no esta disponible de manera estable para Debian por lo cual lo deberemos bajar en rpm.</li>
<li>Para bajar el rpm lo podemos hacer desde aquí <a href="ftp://ftp.uni-bayreuth.de/pub/linux/arklinux/2007.1/i586/gtk+-2.10.14-1ark.i586.rpm" target="_blank">gtk+-2.10.14-1ark.i586.rpm</a>, o aquí <a href="ftp://ftp.pbone.net/mirror/www.arklinux.org/dockyard-before-2008.1/i586/gtk+-2.10.14-1ark.i586.rpm" target="_blank">gtk+-2.10.14-1ark.i586.rpm</a> o aquí <a href="ftp://ftp.pbone.net/mirror/www.arklinux.org/2007.1/i586/gtk+-2.10.14-1ark.i586.rpm" target="_blank">gtk+-2.10.14-1ark.i586.rpm </a>, también cabe mencionar que tiene que ser cualquier rpm siempre y cuando su versión se superior a gtk 2.8 que es el problema que surge cuando se intenta instalar Firefox</li>
<li>Ahora lo que haremos sera convertir el rpm en .deb, para hacerlo solo hay que abrir la consola(todo lo hice desde root) y teclear el siguiente comando <strong>debianj:/home/javier# alien gtk+-2.10.14-1ark.i586.rpm</strong></li>
<li>Si todo ha ido bien(si no comente en el post para ver posible errores), creamos un directorio donde guardaremos el gtk <strong>debianj:/home/javier# mkdir gtk21</strong></li>
<li>Ahora descomprimimos el contenido(no se instala el .deb) en al carpeta que creamos mediante el comando <strong>debianj:/home/javier# dpkg -x gtk+_2.10.14-2_i386.deb gtk210/</strong></li>
<li>Ahora nos bajamos el Firefox 3 y lo descomprimimos en alguna carpeta Firefox se descarga desde <a href="http://www.mozilla-europe.org/es/firefox/" target="_blank">aquí</a> y ahí nos aparecerá la descarga para Linux, no es necesario hacer nada extra, y descomprimimos el archivo.</li>
<li>Creamos un script en bash para poder ejecutar gtk antes de lanzar firefox,Ojo deben de cambiar los paths dependiendo de donde hayamos puesto el Firefox y gtk, la ultima linea es donde tenemos el ejecutable de firefox<br />
<blockquote><p><code><span class="html"> #!/bin/bash<br />
export LD_LIBRARY_PATH="/home/javier/gtk210/usr/lib"<br />
/home/javier/firefox/firefox $*</span></code></p></blockquote>
</li>
<li>El script anterior, puede ser creado de la siguiente forma
<ol>
<li>Abrimos la consola</li>
<li>creamos el archivo <strong>debianj:/home/javier# touch firefoxexec</strong>, (yo use el nombre de firefoxexec ustedes pueden usar otro)</li>
<li>lo editamos <strong>debianj:/home/javier# vim firefoxexec</strong>, osea le agregamos el código y lo guardamos</li>
<li>Y le damos permisos de ejecución <strong>debianj:/home/javier# chmod +x firefoxexec<br />
</strong></li>
<li>Listo ya tenemos el script<strong><br />
</strong></li>
</ol>
</li>
<li>Y con esto ya tenemos Firefox 3 en nuestro Debien Etch, ahora para poder ejecutarlo lo haremos de la siguiente forma
<ol>
<li>ejecutamos <strong>debianj:/home/javier# ./firefoxexec</strong></li>
<li>Y listo</li>
</ol>
</li>
<li>Para que no tengan que estar ejecutando esto cada vez que inician debian, lo podemos configurar de la siguiente forma.<span id="more-989"></span>
<ol>
<li>Nos vamos al menú K(si estoy usando KDE 3.5) y damos click derecho sobre el y elegimos editar menú(hay varias formas de llegar aquí, puede ser por ejemplo desde el centro de control),</li>
<li>Nos posicionamos en la carpeta donde deseemos que este nuestro nuevo item(elemento)</li>
<li>Ahí le damos click en donde esta una hoja con una estrella, que es crear un nuevo elemento.</li>
<li>le asignamos un nombre y enter</li>
<li>Lo ponemos a nuestro gusto y le asignamos el comando,el cual en mi caso es<strong> &#8216;/home/javier/firefoxexec&#8217;</strong></li>
<li>Le damos click en el icono de guardar, ya que si no hacemos eso se perderá la configuración y tendremos que hacer todo de nuevo.</li>
</ol>
</li>
<li>Y con esto ya podemos tener Firefox</li>
</ol>
<p>Les dejo un screen shot para que ven como queda en el editor de menús.</p>
<p style="text-align: center;"><img class="size-full wp-image-990 aligncenter" src="http://www.ajaxman.net/wp-content/uploads/2008/07/menukdeeditor.jpg" alt="menu kde editor" width="500" height="448" /></p>
<p style="text-align: left;">Para hacer el articulo me base en este, aunque le puse un poco(mucho) de mi cosecha</p>
<p style="text-align: left;"><a href="http://personales.ya.com/abcd/linux/firefox3_etch/index.html" target="_blank">Firefox 3 en debian etch, fácil y sin problemas</a></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/989/manual-instalando-firefox-3-en-debian-etch-4/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>[WordPress] Include: Incluyendo archivos en nuestro blog</title>
		<link>http://www.ajaxman.net/581/wordpress-include-incluyendo-archivos-en-nuestro-blog/</link>
		<comments>http://www.ajaxman.net/581/wordpress-include-incluyendo-archivos-en-nuestro-blog/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 05:09:19 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Manual]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/581/wordpress-include-incluyendo-archivos-en-nuestro-blog/</guid>
		<description><![CDATA[Bueno, es domingo, y como vieron anteriormente, modifique la seccion de agregar a los RSS, y la seccion que tengo con Linklift, esto yo simplemente queria agregarle una tablita o unos divs para que lograra hacer los cambios y ademas de copiar cun poco de codigo. Hasta ahi todo hiba bien, sin embargo, no resulto [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Bueno, es domingo, y como vieron anteriormente, modifique la seccion de agregar a los RSS, y la seccion que tengo con  Linklift, esto yo simplemente queria agregarle una tablita o unos divs para que lograra hacer los cambios y ademas de copiar cun poco de codigo.</p>
<p>Hasta ahi todo hiba bien, sin embargo, no resulto como yo queria, y cuando hice el cambio de el diseño de los formularios y el enlace a los feeds, no quedo muy bien , por culpa de internet Explorer.</p>
<p>Y lo tuve que cambiar rapidamente, y pense, ¿como hacer para que los cambios que yo haga se vean bien y los agrege sin tener que estar haciendo mucho trabajo y esfuerzo?, la respuesta fue sencilla.</p>
<p>Usar la funcion include,  de php, veamos de que se trata esta función,</p>
<p><strong><a href="http://mx.php.net/manual/es/function.include.php">La sentencia include() incluye y evalúa el archivo especificado</a></strong></p>
<p>y se usa de la siguiente forma.</p>
<p><strong>Contenido del archivo vars.php</strong></p>
<pre class="brush: php;">
$color = 'verde';
$fruta = 'manzana';
</pre>
<p><strong>Contenido del archivo test.php que usa la funcion include</strong></p>
<pre class="brush: php;">

echo &quot;una $fruta $color &quot;; // una
include 'vars.php'; //aqui hacemos el include del archivo

echo &quot;una $fruta $color&quot;; // una manzana verde
</pre>
<p>Como vemos es bastante facil, sin embargo, usando wordpress, es muy distinto por una sencilla razon: el PATH(ruta).</p>
<p>Con esto me refiero a que si usamos simplemente la funcion include, php hara lo siguiente.</p>
<p>Buscara el archivo que le hemos indicado, en la misma carpeta donde esta el archivo donde usaremos la funcion include, y posteriormente pasara, a buscarlo en la ruta indicada en el archivo de configuracion <a href="http://mx.php.net/manual/es/ini.core.php#ini.include-path">php.ini</a>.</p>
<p>Entonces si tenemos nuestro archivo index.php, de wordpress.</p>
<p>www.misitio.com/wp-admin/wp-content/themes/mitema_de_miblog/index.php</p>
<p>Sin embargo al usar la funcion include sin  especificar la ruta completa, en realidad estara incluyendo al archivo siguiente.</p>
<p>usando</p>
<pre class="brush: php;">
.
...
include(&quot;archivo_a_incluir.php&quot;);
...
.
</pre>
<p>www.misitio.com/archivo_a_incluir.php</p>
<p>Esto sucede por la estructura y el manejo de ficheros de wordpress, para solucionar esto, haremos uso de la siguiente constante de WORDPRESS para PHP.</p>
<p><strong>TEMPLATEPATH</strong>, la cual nos indica cual es el path o la ruta real de nuestro template, entoces.</p>
<p><span id="more-581"></span></p>
<p>usando y TEAMPLATEPATH</p>
<pre class="brush: php;">
.
...
include (TEMPLATEPATH . '/archivo_a_incluir.php');
...
.
</pre>
<p>De esta forma podemos incluir los achivos que deseemos, en nuestro template, ademos, si ya tenemos nuestro archivo que estamos incluyendo en nuestro tema,y cambiamos de tema , pero el archivo nos sigue sirviendo, tan solo copiaremos algo parecido al codigo anterior y listo, a no preocuparnos por los paths.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/581/wordpress-include-incluyendo-archivos-en-nuestro-blog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
