<?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>PUBLOG &#187; linux</title>
	<atom:link href="http://blog.webkitchen.cz/tag/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.webkitchen.cz</link>
	<description></description>
	<lastBuildDate>Sun, 25 Jul 2010 03:10:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Virtualhosty pro Apache bez nutnosti editace /etc/hosts</title>
		<link>http://blog.webkitchen.cz/virtualhosty</link>
		<comments>http://blog.webkitchen.cz/virtualhosty#comments</comments>
		<pubDate>Tue, 01 Dec 2009 15:21:42 +0000</pubDate>
		<dc:creator>Jakub</dc:creator>
				<category><![CDATA[Česky]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://blog.webkitchen.cz/?p=444</guid>
		<description><![CDATA[Následující postup umožní vytvářet nové lokální subdomény pro virtualhosty Apache bez nutnosti editace souboru /etc/hosts. Docílí se toho použitím dnsmasq jako lokálního DNS serveru. Jedná se o řešení pro Linux.  Postup byl testován ve Fedoře, v jiných distribucích se pravděpodobně bude lišit minimálně způsob instalace.
Nainstalujeme dnsmasq:

yum -y install dnsmasq

Povolíme spuštění po startu:

chkconfig --level 5 [...]]]></description>
			<content:encoded><![CDATA[<p>Následující postup umožní vytvářet nové lokální subdomény pro virtualhosty Apache bez nutnosti editace souboru /etc/hosts. Docílí se toho použitím dnsmasq jako lokálního DNS serveru. Jedná se o řešení pro Linux. <span id="more-444"></span> Postup byl testován ve Fedoře, v jiných distribucích se pravděpodobně bude lišit minimálně způsob instalace.</p>
<p>Nainstalujeme dnsmasq:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yum <span style="color: #660033;">-y</span> <span style="color: #c20cb9; font-weight: bold;">install</span> dnsmasq</pre></div></div>

<p>Povolíme spuštění po startu:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">chkconfig <span style="color: #660033;">--level</span> <span style="color: #000000;">5</span> dnsmasq on</pre></div></div>

<p>Do souboru /etc/dnsmasq.conf přidáme následující řádek, který zajistí, že <code><em>cokoliv.</em>dev</code> bude směřováno na localhost (lze zadat více záznamů s různými doménami a IP adresami):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">address</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>127.0.0.1</pre></div></div>

<p>Upravíme /etc/resolv.conf tak, aby se používal lokální DNS server, následující řádek vložíme do tohoto souboru jako první:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">nameserver 127.0.0.1</pre></div></div>

<p>Spustíme dnsmasq:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">service dnsmasq start</pre></div></div>

<p>V tuto chvíli by již mělo fungovat cokoliv.dev pro localhost. Otestovat můžeme např. pomocí příkazu:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">host test.dev</pre></div></div>

<p>Problém je však v tom, že NetworkManager při každém připojení a odpojení obsah /etc/resolv.conf kompletně přepíše. Toto je možné ošetřit vytvoření scriptu, který bude automaticky volán  NetworkManagerem po tom, co dojde k připojení či odpojení od Internetu.</p>
<p>Vytvoříme soubor /etc/NetworkManager/dispatcher.d/add-local-nameserver (název může být libovolný, ale musí jít o spustitelný soubor, do kterého může zapisovat pouze uživatel root), kam vložíme toto:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #007800;">RESOLV</span>=<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>resolv.conf
<span style="color: #007800;">RESOLV_TMP</span>=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>resolv.conf
<span style="color: #007800;">LOC_NS</span>=127.0.0.1
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-q</span> <span style="color: #007800;">$LOC_NS</span> <span style="color: #007800;">$RESOLV</span>; <span style="color: #000000; font-weight: bold;">then</span>
	<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;# Generated by $0&quot;</span>  <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$RESOLV_TMP</span>
	<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;nameserver <span style="color: #007800;">$LOC_NS</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$RESOLV_TMP</span>
	<span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$RESOLV</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$RESOLV_TMP</span>
	<span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #007800;">$RESOLV_TMP</span> <span style="color: #007800;">$RESOLV</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Tím se pokaždé utomaticky do /etc/resolv.conf vloží lokální nameserver.</p>
<p><a href="http://phpfashion.com/heureka-example-l-na-localhost">Návod pro dosažení stejného výsledku pro Windows</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.webkitchen.cz/virtualhosty/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
