Jak nakonfigurovat Apache sloužit jak RoR a baňky na stejném stroji?




Mám speciální stroj mohu použít pro testování. V tuto chvíli je to běh na zábradlí (2.3) ji nad Apache a cestujících. Rád bych také současně sloužit aplikace baňky s použitím stejného zařízení a pokud je to možné na jinou adresu URL. Tady je to, co jsem v současné době patří k mému `httpd.conf`souboru:



```
<VirtualHost *:80>
  DocumentRoot /path/to/rails-app/public
  PassengerDefaultUser railsuser
  RailsEnv testing
  # .. some misc apache config
</VirtualHost>

```

Jak mám změnit to, aby sloužil dva různé adresy URL (v lokální síti) s jednou obsluhující aplikaci kolejnice a druhý sloužící baňky? Dík.
Ve vašem OP, že jste nastavení manipulaci pro výchozí url.


Pro vaši druhou virtuální webový server, stačí použít konkrétní název hostitele v config, který je druhý název hostitele na stejném stroji. Tento jev se nazývá "name-based" virtuální hosting. Viz [wikipedii](http://en.wikipedia.org/wiki/Virtual_hosting) .


Nezapomeňte, že více hostitelů lze vyřešit na stejné IP adrese.


Můžete použít plnou dns systém, pokud budete chtít, stačí zadat místní síťovou adresu (192.168.xxx) - URL, nebude pracovat pro stroje není ve vaší lokální síti.


Více informací bude k dispozici na webmasterů SO webu.


**[Sloupek](http://www.geeksengine.com/article/apache-multiple-local-websites.html) s instrukcemi**
<p>použil jsem klientský software vpn v systému mac os x, který unesl výchozí cestu k odeslání veškerého provozu tunelem (ve skutečnosti, pokud mi paměť slouží správně, to bylo cisco). pokud by byli nainstalováni dva tito klienti, nebo dokonce jeden a zdravý klient, pak odpověď na otázku „kam tento paket půjde?“ bude záviset na čase a implementaci. pravděpodobné možnosti jsou, že jeden z klientů „vyhraje“ a vyzvedne veškerý provoz, nebo že jeden z tunelů je implementován prostřednictvím druhého. co se stane v takovém případě na windows, je mimo mě.</p><p>když mluvíte o konfliktech „řešení adres“, záleží na tom, co máte na mysli. pokud máte na mysli arp řešení, neměl by to být problém. stejně jako u každého systému připojeného ke dvěma sítím by měla být v mac adresách dostatečná jedinečnost, aby nedošlo ke kolizím. pokud jde o rozlišení dns, záleží to na konkrétních implementacích klientů vpn a klientské schránky v soukromé síti. pokud se chovají správně, mělo by být možné použít server dns přes privátní síť nebo veřejnou síť (všimněte si však možnosti kolizí názvů na počítačích v klientských doménách vyhledávání). pokud se nebudou chovat, pak to opět záleží na specifikách situace.</p> <p>vyvinul jsem skutečné aplikace s oběma rails a asp.net mvc), ale tato odpověď přichází se značnou výzvou: naučil jsem se a vyvíjel se s předběžnou verzí 2 rails, takže je zcela možné, že jsem jsem nesmírně zastaralý díky mým znalostem rails).</p><p>jak už bylo řečeno, nemyslím si, že existuje <em> cokoli </em>, které lze s jedním, ale ne s druhým. vzhledem k jakémukoli souboru požadavků na webovou aplikaci byste měli být schopni sestavit tuto aplikaci - pravděpodobně stejně efektivně - pomocí rails nebo asp.net mvc).</p><p>existuje několik úhledných věcí, které - podle mého nejlepšího vědomí - jsou k dispozici v asp.net mvc hlavně kvůli aspektům c # /. net. například: když mám stránku, která obsahuje odeslaný formulář, mám akci, která zkontroluje, zda se jedná o get, nebo post), abych rozhodla, co dělat:</p><pre><code>def edit @item = item.find(params[:id]) if request.post? @item.update\_attributes(params[:item]) redirect\_to :action =&gt; 'edit', :id =&gt; @item.id end end </code></pre><p>toto je triviální příklad, ale <code>if request.post?</code> vzor je v rails velmi běžný. v netriviálních případech může být kód akce velký a chaotický a často bych si přál, abych ho mohl čistě promítnout do samostatných metod. v asp.net mvc to mohu udělat:</p><pre><code>public actionresult edit() { // render my page that has the edit form ... } [httppost] public actionresult edit(foothing foo) { // save my foothing data ... } </code></pre><p>myslím, že schopnost čistě oddělit vyřizování žádostí get a post žádostí) je elegantní. váš počet najetých kilometrů se může lišit.</p><p>další věc, kterou asp.net mvc dělá, že je super v pohodě (opět podle mého názoru), souvisí také s manipulací s posts. v rails musím dotazovat <code>params</code> hash pro všechny mé proměnné formuláře. řekněme, že mám formulář s poli „status“, „gonkulated“, „invert“ a „dispozice“:</p><pre><code>def edit @item = item.find(params[:id]) if params[:status] == "new" ... else ... end if params[:gonkulated] == "true" ... else ... end if params[:invert] == "true" ... else ... end # rest ommited for brevity end </code></pre><p>ale asp.net mvc úhledně mi umožňuje získat všechny hodnoty formuláře jako parametry mé metody akce:</p><pre><code>[httppost] public actionresult edit(int id, string status, bool gonkulated, bool invert, int disposition) { ... } </code></pre><p>to jsou dvě věci, které se mi na asp.net mvc nebo rails opravdu líbily. <strong><em> nestačí, aby si nějaký rozumný nebo kompetentní vývojář vybral jeden rámec nad druhým. </em></strong></p> Zacal by som skenovanim kanalov (analyza zarusenia).  
Vacsina ludi nechava prednastaveny kanal (default) v routry. Mozno aj Ty.  
A tak sa v panelaku stava, ze vsetci su na rovnakom kanaly.  
Pridanim dalsich AP-ciek mozes zarusit sam seba. <p>moje vps mi dala šanci experimentovat s novým serverovým softwarem. začal jsem s obvyklým nastavením apache2 + mod\_php, ale nyní mám nginx + php-fpm s proxy na některých starších serverech apache2 + mod\_php. také běžím (a ladím) apc, memcached a mysqld.</p><p>pokud se chystáte provozovat několik webů a výkon vašeho sdíleného hostitele je dobrý, zůstal bych na místě. pokud se chystáte uplatnit své právo na root, vps je skvělý ekonomický způsob, jak vyzkoušet nové věci.</p> <p>ano, můžete, protokol apache vám poskytuje informace o lidech, kteří navštívili váš web, včetně robotů a pavouků. vzory, které můžete zkontrolovat:</p><ul> <li>někdo podal více žádostí v méně než druhém nebo akceptovaném časovém rámci.</li> <li>přístup k zabezpečené nebo přihlašovací stránce vícekrát v jednominutovém okně.</li> <li>přístup na neexistující stránky pomocí různých parametrů dotazu nebo cesty.</li> </ul><p>skalp apache <a href="http://code.google.com/p/apache-scalp/">http://code.google.com/p/apache-scalp/</a> je velmi dobrý v dělání všech výše uvedených věcí</p> v tom pripade je potřeba zmenit i routovaci tabulku v PC s Connectify.Mozna to jde nastavit primo v Connectify.Jinak prikazovy radek a "route ?"route add -p ... <p>chcete-li provést přesměrování 301, musíte mít záznam a, který odkazuje na platný webový server. potom můžete nařídit webovému serveru, aby přesměroval lidi, např. s apacheovým úspěchem:</p><pre><code>redirect 301 / http://www.example.com </code></pre><p>záznamy mx lze vytvořit jako obvykle.</p> Takže už jsem na to přišel... na druhém počítači nenastavíme bránu stejnou jako IP připojeného, ale adresu dns serveru stejnou jako IP počítače, který sdílí... <p>mise byla vyplněna! tato <a href="http://thismightbehelpful.blogspot.com/2008/09/remote-access-to-cups-web-interface.html">stránka mi hodně pomohla</a> .</p><p>jediné, co jsem musel udělat, bylo přidat "povolit vše" k přístupu na server a na administrátorské stránky, takže moje konfigurace nyní vypadala takto:</p><pre><code># restrict access to the admin pages... &lt;location /admin&gt; order allow,deny allow all &lt;/location&gt; # restrict access to configuration files... &lt;location /admin/conf&gt; authtype default require user @system order allow,deny &lt;/location&gt; </code></pre><p>teď už jen musím přijít na to, abych umožnil pouze těm v mé lokální síti přístup k administrátorským stránkám a konfiguračním souborům :) (i když to pravděpodobně není velký problém, protože nemám přeposílání portů pro 631 nastavený na routeru? ).</p><p>edit: abych mohl povolit pouze určitý počítač, mohl jsem něco udělat</p><pre><code>&lt;location /admin&gt; order allow,deny allow from 10.10.10.5 &lt;/location&gt; </code></pre><p>nebo pro celou podsíť 10.10.10,</p><pre><code>&lt;location /admin&gt; order allow, deny allow from 10.10.10.* &lt;/location&gt; </code></pre> a načo? nainštaluj si tam čo potrebuješ a nastav ako predvolené