2011-09-13 26 views
0

我想設置我自己的服務器來運行我的紅寶石軌道項目(與乘客插件)。我在Ubuntu11.04(服務器版)上使用Apache2。Apache:如何配置沒有SeverName的IP地址?

這是我第一次使用Apache,並且我已經閱讀了一些文檔。

所有的文檔都要求我設置SeverName,例如Apache docubuntu docs

不幸的是,我沒有域名,我能設置IP地址並使用IP地址訪問此服務器嗎? 如果沒關係,我該怎麼辦?

它是由乘客的配置示例給出:

<VirtualHost *:80> 
    ServerName www.yourhost.com 
    DocumentRoot /somewhere/public 
    <Directory /somewhere/public> 
     AllowOverride all 
     Options -MultiViews 
    </Directory> 
</VirtualHost> 

謝謝!

+0

這是一個只能在局域網上訪問的網絡服務器,還是您想從互聯網上獲取?如果您只需要在服務器上安裝一個站點/應用程序,則不需要進行基於名稱的虛擬託管,並且從IP地址嚮應用程序提供服務將很容易。但是,如果其他站點/應用程序將從服務器提供,則服務器將更難識別IP地址僅用於該應用程序。 最後,無論你是隻在局域網上使用它還是在互聯網上使用它,設置一個ServerName都要容易得多。域名註冊很便宜。 – Preacher

+0

我想在互聯網上使用它.... 有什麼解決方案在互聯網上使用IP地址? 無論如何,謝謝你的建議! – Brian

回答

0

註釋掉行:

# NameVirtualHost *:80 

註釋任何<VirtualHost>塊。

查找行:

DocumentRoot "/var/www/html" # or whatever your config uses for the overall apache document root. 

將其更改爲你的Rails應用程序的根。

DocumentRoot "/somewhere/public" 

然後將您的其他配置設置添加到<Directory>塊。

<Directory /somewhere/public> 
    AllowOverride all 
    Options -MultiViews 
</Directory> 

我還沒有測試過這個,但是你應該可以通過訪問IP地址來得到它。確保你已安裝Passenger,已經運行passenger-install-apache2-module,並且已經將相應的模塊加載行添加到你的apache配置中。

0

/etc/apache2/httpd.conf

<VirtualHost *:80> 
      ServerName example.com 
      DocumentRoot /home/urpc-name/RailsApps/anything/public 
      <Directory /home/webonise/RailsApps/anything/public> 
      RailsEnv development 
      AllowOverride all 
      Options -MultiViews 
      </Directory> 
    </VirtualHost> 
  1. 在服務器名稱:選擇烏爾虛擬名稱...ü可以選擇任何
  2. 在文檔根目錄和目錄,讓你的Rails項目路徑
  3. 選擇Rails環境中RailsEnv

/etc/hosts中

127.0.0.1 example.com

  1. 認沽服務器虛擬主機,127.0.0.1名是本地主機

  • 然後就到你的瀏覽器並輸入example.com

希望這會有幫助

+0

感謝您的建議! 但是,我認爲它可以在本地機器上工作,對吧? 我想讓它可以在互聯網上訪問。 有什麼建議嗎? – Brian

+0

你需要在服務器上部署你的代碼 –