<?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>Dryts &#187; Apache</title>
	<atom:link href="http://dryts.com/category/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://dryts.com</link>
	<description>blog de viajes y gadgets en general</description>
	<lastBuildDate>Sun, 15 Jan 2012 11:15:28 +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>Enmascarar extensiones de las paginas Web</title>
		<link>http://dryts.com/2009/07/24/ocultar-extensiones-de-las-paginas-web/</link>
		<comments>http://dryts.com/2009/07/24/ocultar-extensiones-de-las-paginas-web/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 11:32:35 +0000</pubDate>
		<dc:creator>dani</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[informática]]></category>
		<category><![CDATA[Trabajos]]></category>
		<category><![CDATA[expresión regular]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[htaccess mod_rewrite]]></category>
		<category><![CDATA[html como php]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[ocultar extension htaccess]]></category>
		<category><![CDATA[script apache]]></category>

		<guid isPermaLink="false">http://dryts.com/?p=434</guid>
		<description><![CDATA[Una medida más de seguridad para nuestros sitios Web puede ser la ocultación enmascaración de las extensiones de los ficheros. De esta manera nadie sabe en que lenguaje está programado el sitio. EJ: en vez de mostrar la url index.php &#8230; <a href="http://dryts.com/2009/07/24/ocultar-extensiones-de-las-paginas-web/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Una medida más de seguridad para nuestros sitios Web puede ser la <del datetime="2010-11-03T13:42:21+00:00">ocultación</del> enmascaración de las extensiones de los ficheros. De esta manera nadie sabe en que lenguaje está programado el sitio.</p>
<p>EJ: en vez de mostrar la url index.php que muestre index.html o index.dryts</p>
<p>Aquí os dejo el script que acabo de hacer con htaccess</p>
<pre name="code" class="html">
RewriteEngine On
RewriteCond %{REQUEST_URI} .html [NC]
RewriteRule ^(.*)\.html$ $1.php
</pre>
<p>Estas 3 simples líneas hacen que cualquier petición html sea tratada como un php.<br />
En el servidor no tendremos los archivos como html sino como php que es lo que realmente son.</p>
<p>RewriteEngine On<br />
<strong>[Activa la sobre-escritura de la URL]</strong><br />
RewriteCond<br />
<strong>[indica que empieza una condición (como un if de toda la vida)]</strong><br />
%{REQUEST_URI}<br />
<strong>[obtiene la petición del fichero]</strong><br />
[NC]<br />
<strong>[indica que la condición es insensible a mayúsculas y minúsculas]</strong><br />
RewriteRule<br />
<strong>[Si se cumple la condición escribe la regla]</strong><br />
^(.*)\.html$ $1.php<br />
<strong>[expresión regular que saca el nombre del fichero de la petición y le cambia la extensión]</strong></p>
<p>EJ:</p>
<ul>
<li class="nada">1-Se llama a dryts.html</li>
<li class="nada">2-Se realiza la condición, como es un .html entra en la condición</li>
<li class="nada">3-Escribe la regla
<ul>
<li class="disc">La expresión regular ^(.*) obtiene el nombre del fichero (dryts), este nombre se guarda en la variable $1.</li>
<li class="disc">Acto seguido le decimos que procese la petición pero en vez del fichero dryts.html el fichero dryts.php</li>
</ul>
</li>
</ul>
<p>Un breve repaso de los caracteres de las expresiones regulares en apache (<a href="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html" title="apache expresiones reguales">información de la web oficial de apache</a>)<br />
<strong>Text:</strong></p>
<ul>
<li class="disc">. <strong>=></strong> [Any single character]</li>
<li class="disc">[chars] <strong>=></strong> [Character class: One  of chars]</li>
<li class="disc">[^chars] <strong>=></strong> [Character class: None of chars]</li>
<li class="disc">text1|text2 <strong>=></strong> [Alternative: text1 or text2]</li>
</ul>
<p><strong>Quantifiers:</strong></p>
<ul>
<li class="disc">? <strong>=></strong> [0 or 1 of the preceding text]</li>
<li class="disc">* <strong>=></strong> [0 or N of the preceding text (N > 0)]</li>
<li class="disc">+ <strong>=></strong> [1 or N of the preceding text (N > 1)]</li>
</ul>
<p><strong>Grouping:</strong></p>
<ul>
<li class="disc">(text) <strong>=></strong> [Grouping of text (either to set the borders of an alternative or for making backreferences where the Nth group can be used on the RHS of a RewriteRule with $N)]</li>
</ul>
<p><strong>Anchors:</strong></p>
<ul>
<li class="disc">^ <strong>=></strong> [Start of line anchor]</li>
<li class="disc">$ <strong>=></strong> [End of line anchor]</li>
</ul>
<p><strong>Escaping:</strong></p>
<ul>
<li class="disc">\char <strong>=></strong> [escape that particular char (for instance to specify the chars ".[]()&#8221; etc.)]</li>
</ul>
<p>Con este breve repaso os explico que hace la expresión utilizada en el script</p>
<pre name="code" class="html">^(.*)\.html$</pre>
<p>^ <strong>=></strong> [empieza por]<br />
(.*) <strong>=></strong> [agrupa todo tipo de letras, números, símbolos,etc que pueden estar 0 o N veces]<br />
\.html$ <strong>=></strong> [el $ indica que es el final de la expresión mientras que la \ es para escapar el . de .html]</p>
<p>Más información sobre mod_rewrtie <a href="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html" title="mod_rewrite">aquí</a></p>
<p><strong>NOTA: se necesita tener activado el modulo mod_rewrite de apache.<br />
Abrir el httpd.conf (C:\wamp\bin\apache\apache2.2.8\conf\httpd.conf) y quitar la # de delante de #LoadModule rewrite_module modules/mod_rewrite.so</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://dryts.com/2009/07/24/ocultar-extensiones-de-las-paginas-web/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Proyecto totalmente en localhost</title>
		<link>http://dryts.com/2009/07/08/proyecto-totalmente-en-localhost/</link>
		<comments>http://dryts.com/2009/07/08/proyecto-totalmente-en-localhost/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 09:19:26 +0000</pubDate>
		<dc:creator>dani</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[informática]]></category>
		<category><![CDATA[Trabajos]]></category>
		<category><![CDATA[Uni]]></category>
		<category><![CDATA[hosts windows localhost]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[parsear URL]]></category>
		<category><![CDATA[proyecto localhost]]></category>
		<category><![CDATA[script apache]]></category>
		<category><![CDATA[trabajar en localhost]]></category>
		<category><![CDATA[windows hosts]]></category>

		<guid isPermaLink="false">http://dryts.com/?p=380</guid>
		<description><![CDATA[En este mini manual se utilizará el servidor Apache, para instalarlo de manera fácil nos podemos bajar wamp que es un suit que contiene apache, php y mysql. Qué queremos conseguir? Queremos hacer un proyecto/página Web totalmente en localhost haciendo &#8230; <a href="http://dryts.com/2009/07/08/proyecto-totalmente-en-localhost/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En este mini manual se utilizará el servidor <a href="http://es.wikipedia.org/wiki/Servidor_HTTP_Apache" title="Servidor Apache">Apache</a>, para instalarlo de manera fácil nos podemos bajar <a href="http://www.wampserver.com/en/" title="WAMP">wamp</a> que es un suit que contiene apache, <a href="http://es.wikipedia.org/wiki/PHP" title="PHP">php</a> y <a href="http://es.wikipedia.org/wiki/Mysql" title="MYSQL">mysql</a>.</p>
<p><strong>Qué queremos conseguir?</strong><br />
Queremos hacer un proyecto/página Web totalmente en localhost haciendo todas las pruebas en local para luego poder subirlo sin encontrarnos sorpresas.</p>
<p><strong>Porque es necesario poner el dominio?</strong><br />
Nos puede interesar hacer subdominios, parsear la URL para hacerla amigable, obtener información, etc.</p>
<p><strong>Una utilidad de este manual?</strong><br />
Por ejemplo queremos que dryts.com tenga subdominios virtuales.<br />
http://blog.dryts.com que tenga el blog<br />
http://dani.dryts.com que tenga la información personal<br />
http://fotos.dryts.com galería de fotos personales<br />
Para poder hacer que funcionen los subdominios y ponerle seguridad se tiene que parsear la URL.<br />
Para no tener que realizar cambios al subirlo al servidor se utiliza el mismo nombre del servidor en localhost para realizar todas las pruebas.</p>
<p>Lo primero es elegir el nombre del dominio que tendrá.<br />
<strong>Ejemplo: dryts.com</strong><br />
Para evitar que al introducir dryts.com el navegador busque en Internet tenemos que editar el fichero de host de windows.<br />
En windows XP el fichero se encuentra en la siguiente ruta:<br />
	<strong>C:\WINDOWS\system32\drivers\etc\hosts</strong><br />
El fichero <strong>hosts</strong> no tiene extensión pero es texto plano, se puede editar con el bloc de notas mismo.<br />
Seguramente este fichero contenga sólo 1 línea</p>
<pre name="code" class="html">127.0.0.1       localhost</pre>
<p>Añadimos el nombre del dominio que queremos utilizar de forma local</p>
<pre name="code" class="html">127.0.0.1       dryts.com</pre>
<p><strong>Qué hace esta línea?</strong><br />
Esta línea le dice al navegador que cuando alguien escriba dryts.com lo redirija a la ip <a href="http://es.wikipedia.org/wiki/127.0.0.1" title="localhost">127.0.0.1</a> (la propia maquina [localhost, dirección de loopback])<br />
Al ser redirigido al pc que se está utilizando la petición es recibida por el servidor Apache.</p>
<p><strong>Cómo configurar el servidor apache para que dicha petición se ejecute correctamente?</strong><br />
Una vez instalado apache buscamos su fichero de configuración.<br />
En la suit Wamp está en la dirección <strong>C:\wamp\bin\apache\apache2.2.8\conf\extra\httpd-vhosts.conf</strong><br />
El fichero <strong>httpd-vhosts.conf</strong> es texto plano por lo tanto se puede abrir con el block de notas.<br />
Añadimos la línea</p>
<pre name="code" class="html">NameVirtualHost dryts.com</pre>
<p>y</p>
<pre name="code" class="html">
&lt;VirtualHost dryts.com&gt;
	DocumentRoot "C:/wamp/www/NOMBRECARPETA/"
&lt;/VirtualHost&gt;
</pre>
<p>Con estos simples pasos una vez el servidor esté encendido si escribiremos dryts.com ejecutará la página Web que tengamos alojada localmente en C:/wamp/www/NOMBRECARPETA/ una vez esté acabado el proyecto/página Web se sube al servidor sin necesidad de realizar ningún cambio.</p>
<p><strong>NOTA: HAY QUE TENER EN CUENTA QUE SI SE ESCRIBE WWW.DRYTS.COM LO CONSIDERA UNA DIRECCIÓN DIFERENTE A DRYTS.COM, SI SE QUIERE LA REDIRECCIÓN TAMBIÉN CON EL WWW.DRYTS.COM SE AÑADE LA MISMA REGLA PERO CON LOS WWW.<br />
TAMBIÉN HAY QUE TENER EN CUENTA QUE UNA VEZ SE HAYA ACABADO EL DESARROLLO Y SE SUBA AL SERVIDOR HAY QUE DESACTIVAR LA REGLA DEL FICHERO DE &#8220;C:\WINDOWS\system32\drivers\etc\hosts&#8221; DE WINDOWS DE LO CONTRARIO SIEMPRE VEREMOS LA VERSIÓN DE LOCALHOST.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://dryts.com/2009/07/08/proyecto-totalmente-en-localhost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>httpd.conf Apache</title>
		<link>http://dryts.com/2009/05/09/httpdconf-apache/</link>
		<comments>http://dryts.com/2009/05/09/httpdconf-apache/#comments</comments>
		<pubDate>Sat, 09 May 2009 21:08:33 +0000</pubDate>
		<dc:creator>dani</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[informática]]></category>
		<category><![CDATA[configurar Apache]]></category>
		<category><![CDATA[httpd.conf]]></category>
		<category><![CDATA[parámetros apache]]></category>
		<category><![CDATA[ServerRoot]]></category>

		<guid isPermaLink="false">http://dryts.com/?p=335</guid>
		<description><![CDATA[Cosas básicas sobre el fichero httpd.conf de Apache: ServerRoot &#8220;c:/wamp/bin/apache/apache2.2.8&#8243; [ Dirección del servidor apache ] Listen 80 [ Puerto que "escucha" apache ] LoadModule XXXX [ Listado de Módulos que podemos activar/desactivar ]* ServerName localhost:80 [ Nombre del servidor &#8230; <a href="http://dryts.com/2009/05/09/httpdconf-apache/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Cosas básicas sobre el fichero <strong>httpd.conf</strong> de <a href="http://es.wikipedia.org/wiki/Apache_http_server" title="apache">Apache</a>:</p>
<ul>
<li class="decimal">ServerRoot &#8220;c:/wamp/bin/apache/apache2.2.8&#8243;<br />
<strong>[ Dirección del servidor apache ]</strong></li>
<li class="decimal">Listen 80<br />
<strong>[ Puerto que "escucha" apache ]</strong></li>
<li class="decimal">LoadModule XXXX<br />
<strong>[ Listado de Módulos que podemos activar/desactivar ]*</strong></li>
<li class="decimal">ServerName localhost:80<br />
<strong>[ Nombre del servidor POR DEFECTO y puerto relacionado, el puerto no hace falta que esté puesto ]</strong></li>
<p><span id="more-335"></span></p>
<li class="decimal">DocumentRoot &#8220;c:/wamp/www/&#8221;<br />
<strong>[ Directorio al que accede el servidor por defecto ]**</strong></li>
<li class="decimal"><code>&lt;Directory /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Options FollowSymLinks<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>[ permite poner enlaces simbólicos ]</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;AllowOverride None<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>[ controla las directivas de los .htaccess ]</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;Order deny,allow<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>[ directivas de permisos ]</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;Deny from all<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>[ permisos denegados para cualquier peticion]</strong><br />
&lt;/Directory&gt;</code><br />
<strong>[ todos los directorios tendran estas reglas por defecto a no ser que se especifique lo contrario ]</strong></li>
<li class="decimal"><code>&lt;Directory "c:/wamp/www/"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>[ Directorio al que se le aplican las reglas ]</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;Options Indexes FollowSymLinks<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>[ permite poner enlaces simbólicos ]</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;AllowOverride all<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>[ controla las directivas de los ficheros .htaccess ]</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;Order Deny,Allow<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>[ directivas de permisos ]</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;Deny from all<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>[ permisos denegados para cualquier servidor ]</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;Allow from 127.0.0.1<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>[ permisos sólo al servidor con ip 127.0.0.1 ]</strong><br />
&lt;/Directory&gt;</code><br />
<strong>[ personalizamos las reglas para este directorio en concreto, sin esto cogería las reglas del punto 6 ]</strong></li>
<li class="decimal"><code>&lt;IfModule dir_module&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;DirectoryIndex index.php index.php3 index.html index.htm<br />
&lt;/IfModule&gt;</code><br />
<strong>[ le indica a apache los índices que tiene que buscar por defecto en los directorios, ordenador por importancia ( 1º busca el index.php si no lo encuentra busca el index.php3, etc ) ]***</strong></li>
<li class="decimal"><code>&lt;IfModule alias_module&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Redirect permanent /foo http://localhost/inicio<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>[ indica a apache que cuando reciba la petición del directorio /foo redirija a http://localhost/inicio ]****</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;Alias /webpath /path/pepe<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>[ le dice a apache que cuando reciba la petición de /webpath no hay que buscar este directorio físicamente sino que hay que buscar /path/pepe ]</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;ScriptAlias /cgi-bin/ "cgi-bin/"<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>[ para cambiar las / iniciales ]</strong><br />
&lt;/IfModule&gt;</code></li>
<li class="decimal">DefaultType text/plain<br />
<strong>[ indica la cabecera por defecto que devolverá apache al navegador ]</strong></li>
<li class="decimal">&lt;IfModule mime_module&gt; &#8230; &lt;/IfModule&gt;<br />
<strong>[ cambia la cabecera por defecto por los valores que le indiquemos ]</strong></li>
<li class="decimal">ErrorDocument XXX<br />
<strong>[ le indicamos a apache que si se produce el error numero XXX muestre un mensaje, redireccione a un html, etc. ]</strong></li>
<li class="decimal">Include XXXXXXXXX<br />
<strong>[ indica que ficheros debe cargar apache ]</strong></li>
</ul>
<p><br/><br />
<strong>*</strong> Para activar/desactivar basta con comentar (poner # al principio de la linea) las lineas o des comentarlas<br />
<strong>**</strong> Al poner en la URL localhost:80 hace una llamada al directorio c:/wamp/www/ y ejecuta el index.html<br />
<strong>***</strong> Si queremos que siempre cargue por defecto otro fichero (EJ: inicio.html) basta con poner :<br />
<code><br />
&lt;IfModule dir_module&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;DirectoryIndex inicio.html<br />
&lt;/IfModule&gt;<br />
</code><br />
<strong>****</strong> Redirect permanent es para que envíe la cabeceras al navegador, los buscadores al leer esta cabecera actualizan sus enlaces por los nuevos</p>
]]></content:encoded>
			<wfw:commentRss>http://dryts.com/2009/05/09/httpdconf-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

