2011-09-13 28 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

你需要在服务器上部署你的代码 –