<?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>по стопам webkill&#039;а &#187; apache</title>
	<atom:link href="http://blog.lukmus.ru/tag/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lukmus.ru</link>
	<description>это наш химический дом для печальных жителей Земли</description>
	<lastBuildDate>Sat, 21 Oct 2023 19:10:13 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Apache + RVM Ruby 1.9.2 + Passenger = no such file to load &#8212; bundler</title>
		<link>http://blog.lukmus.ru/2011/06/29/apache-rvm-ruby-1-9-2-passenger-no-such-file-to-load-bundler/</link>
		<comments>http://blog.lukmus.ru/2011/06/29/apache-rvm-ruby-1-9-2-passenger-no-such-file-to-load-bundler/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 11:05:04 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[ruby & ruby on rails]]></category>
		<category><![CDATA[настройка и установка]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[bundler]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[ruby on rails 3]]></category>
		<category><![CDATA[RVM]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=1019</guid>
		<description><![CDATA[Довольно популярная ошибка, которая имеет вагон всяких решений в интернете, но при этом ни одно из них до конца не работает. Типичной средой ее обитания является Ruby, установленный через RVM (установлена под рутом =&#62; для всех), на который установлен Ruby on Rails 3 и все это дело запущено под Apache&#8217;м через Passenger. Т.е. когда приложение [...]]]></description>
			<content:encoded><![CDATA[<p>Довольно популярная ошибка, которая имеет вагон всяких решений в интернете, но при этом ни одно из них до конца не работает. Типичной средой ее обитания является Ruby, установленный через RVM (установлена под рутом =&gt; для всех), на который установлен Ruby on Rails 3 и все это дело запущено под Apache&#8217;м через Passenger. Т.е. когда приложение уже вот-вот должно запуститься и апачевская TestPage уже не светит появляется она.<br />
<a href="http://blog.lukmus.ru/wp-content/uploads/2011/06/bundler.png"><img class="aligncenter size-full wp-image-1020" title="bundler" src="http://blog.lukmus.ru/wp-content/uploads/2011/06/bundler.png" alt="" width="517" height="336" /></a><span id="more-1019"></span><br />
Разумеется ошибка возникает тогда, когда сам гем bundler прекрасно установлен и при запуске рельсов под webrick&#8217;ом все прекрасно работает:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">$ gem list <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> bundler
bundler <span style="color: #7a0874; font-weight: bold;">&#40;</span>1.0.15<span style="color: #7a0874; font-weight: bold;">&#41;</span>
$ rails s
=<span style="color: #000000; font-weight: bold;">&gt;</span> Booting WEBrick
=<span style="color: #000000; font-weight: bold;">&gt;</span> Rails 3.0.7 application starting <span style="color: #000000; font-weight: bold;">in</span> development on
http:<span style="color: #000000; font-weight: bold;">//</span>0.0.0.0:<span style="color: #000000;">3000</span>
=<span style="color: #000000; font-weight: bold;">&gt;</span> Call with <span style="color: #660033;">-d</span> to detach
=<span style="color: #000000; font-weight: bold;">&gt;</span> Ctrl-C to shutdown server
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">2011</span>-06-<span style="color: #000000;">29</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">14</span>:<span style="color: #000000;">21</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> INFO  WEBrick 1.3.1
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">2011</span>-06-<span style="color: #000000;">29</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">14</span>:<span style="color: #000000;">21</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> INFO  ruby 1.9.2 <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">2011</span>-02-<span style="color: #000000;">18</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>x86_64-linux<span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">2011</span>-06-<span style="color: #000000;">29</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">14</span>:<span style="color: #000000;">21</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> INFO  WEBrick::HTTPServer<span style="color: #666666; font-style: italic;">#start:</span>
<span style="color: #007800;">pid</span>=<span style="color: #000000;">4240</span> <span style="color: #007800;">port</span>=<span style="color: #000000;">3000</span></pre></td></tr></table></div>

<p>Многие статьи в интернете при первых симптомах оной рекомендуют верно настроить путь Ruby в конфигурации апача, например:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">PassengerRoot <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>rvm<span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span>ruby-1.9.2-p180<span style="color: #000000; font-weight: bold;">/</span>
gems<span style="color: #000000; font-weight: bold;">/</span>passenger-3.0.7
PassengerRuby <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>rvm<span style="color: #000000; font-weight: bold;">/</span>rubies<span style="color: #000000; font-weight: bold;">/</span>ruby-1.9.2-p180<span style="color: #000000; font-weight: bold;">/</span>
bin<span style="color: #000000; font-weight: bold;">/</span>ruby</pre></td></tr></table></div>

<p>Потому как они предполагают, что среда в которой запускается рельсы под апачем не подозревает о существовании bundler&#8217;а. И здесь есть рациональное зерно и даже возможно удастся подобрать такой путь к руби.</p>
<p>Как можно заметить ошибка возникает тут:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">/</span>usr<span style="color: #339933;">/</span>local<span style="color: #339933;">/</span>rvm<span style="color: #339933;">/</span>rubies<span style="color: #339933;">/</span>ruby<span style="color: #339933;">-</span>1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>2<span style="color: #339933;">-</span>p180<span style="color: #339933;">/</span>lib<span style="color: #339933;">/</span>ruby<span style="color: #339933;">/</span>site_ruby<span style="color: #339933;">/</span>1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>1<span style="color: #339933;">/</span>
rubygems<span style="color: #339933;">/</span>custom_require<span style="color: #339933;">.</span>rb</pre></td></tr></table></div>

<p>Именно это скрипт ругается, а значит именно его мы и будем исправлять.</p>
<h2>правильная среда</h2>
<p>Прежде всего нужно найти ту правильную среду, а точнее те значения переменных окружения при которых все работает. Для этого надо с теми настройками RVM, под которыми корректно запускаются рельсы выполнить команду RVM <code>info</code>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">$ rvm info
&nbsp;
  ruby-1.9.2-p180:
    bla-bla-bla...
&nbsp;
  rvm:
    bla-bla-bla...
&nbsp;
  ruby:
    bla-bla-bla...
&nbsp;
  homes:
    bla-bla-bla...
&nbsp;
  binaries:
    ruby:         <span style="color: #ff0000;">&quot;/usr/local/rvm/rubies/ruby-1.9.2-p180
/bin/ruby&quot;</span>
    irb:          <span style="color: #ff0000;">&quot;/usr/local/rvm/rubies/ruby-1.9.2-p180
/bin/irb&quot;</span>
    gem:          <span style="color: #ff0000;">&quot;/usr/local/rvm/rubies/ruby-1.9.2-p180
/bin/gem&quot;</span>
    rake:         <span style="color: #ff0000;">&quot;/usr/local/rvm/gems/ruby-1.9.2-p180
/bin/rake&quot;</span>
&nbsp;
  environment:
    PATH:         <span style="color: #ff0000;">&quot;/usr/local/rvm/gems/ruby-1.9.2-p180
/bin:/usr/local/rvm/gems/ruby-1.9.2-p180@global/bin:
/usr/local/rvm/rubies/ruby-1.9.2-p180/bin:/usr/local
/rvm/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr
/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr
/bin:/root/bin&quot;</span>
    GEM_HOME:     <span style="color: #ff0000;">&quot;/usr/local/rvm/gems/ruby-1.9.2-p180&quot;</span>
    GEM_PATH:     <span style="color: #ff0000;">&quot;/usr/local/rvm/gems/ruby-1.9.2-p180:
/usr/local/rvm/gems/ruby-1.9.2-p180@global&quot;</span>
    MY_RUBY_HOME: <span style="color: #ff0000;">&quot;/usr/local/rvm/rubies/ruby-1.9.2-p180&quot;</span>
    IRBRC:        <span style="color: #ff0000;">&quot;/usr/local/rvm/rubies/ruby-1.9.2-p180
/.irbrc&quot;</span>
    RUBYOPT:      <span style="color: #ff0000;">&quot;&quot;</span>
    gemset:       <span style="color: #ff0000;">&quot;&quot;</span></pre></td></tr></table></div>

<p>И она выдаст то что нужно:</p>
<ul>
<li>на 16-й строке верный путь до правильного интерпритатора Ruby, который нужно прописать в параметре Apache&#8217;а <code>PassengerRuby</code></li>
<li>строки 26-37 &#8211; верная настройка среды под, которой все работает</li>
</ul>
<h2>ненавистный custom_require.rb</h2>
<p>Открываем тот самый<br />
<a href="http://blog.lukmus.ru/wp-content/uploads/2011/06/bundler_error.png"><img class="aligncenter size-full wp-image-1030" title="bundler_error" src="http://blog.lukmus.ru/wp-content/uploads/2011/06/bundler_error.png" alt="" width="517" height="270" /></a></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">/</span>usr<span style="color: #339933;">/</span>local<span style="color: #339933;">/</span>rvm<span style="color: #339933;">/</span>rubies<span style="color: #339933;">/</span>ruby<span style="color: #339933;">-</span>1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>2<span style="color: #339933;">-</span>p180<span style="color: #339933;">/</span>lib<span style="color: #339933;">/</span>ruby<span style="color: #339933;">/</span>site_ruby<span style="color: #339933;">/</span>1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>1<span style="color: #339933;">/</span>
rubygems<span style="color: #339933;">/</span>custom_require<span style="color: #339933;">.</span>rb</pre></td></tr></table></div>

<p>Находим ту самую строку ошибки:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>45
46
47
48
49
50
51
52
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#CC0066; font-weight:bold;">require</span> path
    <span style="color:#9966CC; font-weight:bold;">if</span> Gem.<span style="color:#9900CC;">unresolved_deps</span>.<span style="color:#9900CC;">empty</span>? <span style="color:#9966CC; font-weight:bold;">or</span>
          Gem.<span style="color:#9900CC;">loaded_path</span>? path <span style="color:#9966CC; font-weight:bold;">then</span>
&nbsp;
      gem_original_require path
    <span style="color:#9966CC; font-weight:bold;">else</span>
      spec = Gem.<span style="color:#9900CC;">searcher</span>.<span style="color:#9900CC;">find_active</span> path
...</pre></td></tr></table></div>

<p>И тут, чтобы убедиться что ENV там кривое либо отсутствует напрочь, можно например запилить <del datetime="2011-06-29T08:56:40+00:00">дверь</del> вывод ENV в файл:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>45
46
47
48
49
50
51
52
53
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"> <span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#CC0066; font-weight:bold;">require</span> path
    <span style="color:#9966CC; font-weight:bold;">if</span> Gem.<span style="color:#9900CC;">unresolved_deps</span>.<span style="color:#9900CC;">empty</span>? <span style="color:#9966CC; font-weight:bold;">or</span>
          Gem.<span style="color:#9900CC;">loaded_path</span>? path <span style="color:#9966CC; font-weight:bold;">then</span>
&nbsp;
      <span style="color:#CC00FF; font-weight:bold;">File</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'/tmp/envs'</span>,<span style="color:#996600;">'a'</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#006600; font-weight:bold;">|</span>f<span style="color:#006600; font-weight:bold;">|</span> f.<span style="color:#CC0066; font-weight:bold;">puts</span> path<span style="color:#006600; font-weight:bold;">&#125;</span>
      gem_original_require path
    <span style="color:#9966CC; font-weight:bold;">else</span>
      spec = Gem.<span style="color:#9900CC;">searcher</span>.<span style="color:#9900CC;">find_active</span> path
...</pre></td></tr></table></div>

<p>Однако, нам нужно не это, а наладить запуск рельсов, поэтому вместо приколов просто прописываем в начало метода <code>def require path</code> правильные настройки переменных окружения, которые мы нашли при <code>rvm info</code>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>45
46
47
48
49
50
51
52
53
54
55
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">  <span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#CC0066; font-weight:bold;">require</span> path
&nbsp;
   ENV<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'PATH'</span><span style="color:#006600; font-weight:bold;">&#93;</span>=<span style="color:#996600;">&quot;/usr/local/...&quot;</span>
   ENV<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'GEM_HOME'</span><span style="color:#006600; font-weight:bold;">&#93;</span>=<span style="color:#996600;">&quot;/usr/local/...&quot;</span>
   ENV<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'GEM_PATH'</span><span style="color:#006600; font-weight:bold;">&#93;</span>=<span style="color:#996600;">&quot;/usr/local/...&quot;</span>
   ENV<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'MY_RUBY_HOME'</span><span style="color:#006600; font-weight:bold;">&#93;</span>=<span style="color:#996600;">&quot;/usr/...&quot;</span>
   ENV<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'IRBRC'</span><span style="color:#006600; font-weight:bold;">&#93;</span>=<span style="color:#996600;">&quot;/usr/local/rvm/...&quot;</span>
&nbsp;
    <span style="color:#9966CC; font-weight:bold;">if</span> Gem.<span style="color:#9900CC;">unresolved_deps</span>.<span style="color:#9900CC;">empty</span>? <span style="color:#9966CC; font-weight:bold;">or</span> 
       Gem.<span style="color:#9900CC;">loaded_path</span>? path <span style="color:#9966CC; font-weight:bold;">then</span>
   ...</pre></td></tr></table></div>

<p>Вот и все, после этих манипуляции мои рельсы завелись.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2011/06/29/apache-rvm-ruby-1-9-2-passenger-no-such-file-to-load-bundler/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ROR + Passenger + Apache</title>
		<link>http://blog.lukmus.ru/2011/02/12/ror-passenger-apache/</link>
		<comments>http://blog.lukmus.ru/2011/02/12/ror-passenger-apache/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 08:38:21 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[ruby & ruby on rails]]></category>
		<category><![CDATA[настройка и установка]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[ROR]]></category>
		<category><![CDATA[ROR 3]]></category>
		<category><![CDATA[ruby on rails 3]]></category>
		<category><![CDATA[selinux]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=942</guid>
		<description><![CDATA[После того как рельсовое приложение более-менее готово для его коммерческой эксплуатации необходимо перейти с Webrick&#8217;а на более серьезный сервер. Лично на данный момент выбрал Apache, поэтому и запишу процесс настройки ROR + Apache. Для начала нужно установить сам Apache. В RH-линуксах это делается так: 1 yum install httpd Для полноценности apache&#8217;а можно еще установить PHP: [...]]]></description>
			<content:encoded><![CDATA[<p>После того как рельсовое приложение более-менее готово для его коммерческой эксплуатации необходимо перейти с Webrick&#8217;а на более серьезный сервер. Лично на данный момент выбрал Apache, поэтому и запишу процесс настройки ROR + Apache.<br />
<a href="http://blog.lukmus.ru/wp-content/uploads/2011/02/aor.png"><img class="aligncenter size-full wp-image-943" title="aor" src="http://blog.lukmus.ru/wp-content/uploads/2011/02/aor.png" alt="" width="517" height="424" /></a><span id="more-942"></span>Для начала нужно установить сам Apache. В RH-линуксах это делается так:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">yum install httpd</pre></td></tr></table></div>

<p>Для полноценности apache&#8217;а можно еще установить PHP:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">yum install php</pre></td></tr></table></div>

<p>Но я бы этого не делал, на всякий случай, чтобы не один web-shell там не работал т.к. я не видел вебшеллов под unix&#8217;ы кроме как на PHP и CGI Perl.</p>
<h2>установка passenger</h2>
<p>Далее нужно установить такую штуку как Passenger. Этот gem поможет связать Apache с ROR&#8217;ом. Оффициальная инструкция установки Passenger есть тут &#8211; <a rel="nofollow" href="http://" target="_blank">http://wiki.rubyonrails.org/deployment/apache-passenger</a>. В принципе до определенного момента я буду ей следовать.<br />
Устанавливаем сам гем:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># gem install passenger</span></pre></td></tr></table></div>

<p>Запускаем скрипт:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># passenger-install-apache2-module</span></pre></td></tr></table></div>

<p>Здесь скрипт скажет что нужно и что из этого у вас уже установлено. Если что-то не установлено он подскажет как установить, если же все уже есть, то установиться модуль к апачу. В случае если вам придется что-то доустановить, не забудьте после этого опять запустить этот скрипт.</p>
<h2>настройка apache</h2>
<p>Теперь самое сложное &#8211; надо настроить апач. Отворяем <code>/etc/httpd/httpd.conf</code> и колдуем.<br />
В подгружаемые модули дописываем, то что порекомендовал скрипт passenger&#8217;а:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">...</span>bla<span style="color: #339933;">-</span>bla<span style="color: #339933;">-</span>bla<span style="color: #339933;">...</span>
LoadModule disk_cache_module modules<span style="color: #339933;">/</span>mod_disk_cache<span style="color: #339933;">.</span>so
LoadModule cgi_module modules<span style="color: #339933;">/</span>mod_cgi<span style="color: #339933;">.</span>so
&nbsp;
<span style="color: #339933;">&lt;</span>span style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;color: #3366ff;&quot;</span><span style="color: #339933;">&gt;</span>LoadModule passenger_module <span style="color: #339933;">/</span>usr<span style="color: #339933;">/</span>local<span style="color: #339933;">/</span>lib<span style="color: #339933;">/</span>ruby<span style="color: #339933;">/</span>gems<span style="color: #339933;">/</span>1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>1
<span style="color: #339933;">/</span>gems<span style="color: #339933;">/</span>passenger<span style="color: #339933;">-</span>3<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>2<span style="color: #339933;">/</span>ext<span style="color: #339933;">/</span>apache2<span style="color: #339933;">/</span>mod_passenger<span style="color: #339933;">.</span>so
PassengerRoot <span style="color: #339933;">/</span>usr<span style="color: #339933;">/</span>local<span style="color: #339933;">/</span>lib<span style="color: #339933;">/</span>ruby<span style="color: #339933;">/</span>gems<span style="color: #339933;">/</span>1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>1<span style="color: #339933;">/</span>gems
<span style="color: #339933;">/</span>passenger<span style="color: #339933;">-</span>3<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>2
PassengerRuby <span style="color: #339933;">/</span>usr<span style="color: #339933;">/</span>local<span style="color: #339933;">/</span>bin<span style="color: #339933;">/</span>ruby
<span style="color: #339933;">&lt;/</span>span<span style="color: #339933;">&gt;&lt;</span>span style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;color: #0000ff;&quot;</span><span style="color: #339933;">&gt;</span>PassengerDefaultUser root<span style="color: #339933;">&lt;/</span>span<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Чтобы наверняка, можно дописать еще строку выделенную темносиним.</p>
<p>Далее надо будет поколдовать с директивой <code>NameVirtualHost</code>. Возможно она и не понадобиться, а быть может и поможет. Раскомментируйте ее:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">NameVirtualHost <span style="color: #339933;">*:</span><span style="color: #cc66cc;">80</span></pre></td></tr></table></div>

<h3>настройка виртуального хостинга</h3>
<p>Для каждого сайта(домена) следует дописать в конец конфига что-то типа:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>VirtualHost <span style="color: #339933;">*:</span><span style="color: #cc66cc;">80</span><span style="color: #339933;">&gt;</span>
    ServerName <span style="color: #339933;">&lt;</span>span style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;color: #800080;&quot;</span><span style="color: #339933;">&gt;</span>mysuperrubyonrailsunderapachesite<span style="color: #339933;">.</span>ru
<span style="color: #339933;">&lt;/</span>span<span style="color: #339933;">&gt;</span>    ServerAlias <span style="color: #339933;">&lt;</span>span style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;color: #800080;&quot;</span><span style="color: #339933;">&gt;</span>www<span style="color: #339933;">.</span>mysuperrubyonrailsunderapachesite<span style="color: #339933;">.</span>ru
<span style="color: #339933;">&lt;/</span>span<span style="color: #339933;">&gt;</span>    DocumentRoot <span style="color: #339933;">&lt;</span>span style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;color: #3366ff;&quot;</span><span style="color: #339933;">&gt;/</span><span style="color: #000000; font-weight: bold;">var</span><span style="color: #339933;">/</span>www<span style="color: #339933;">/</span>rails<span style="color: #339933;">&lt;</span>strong<span style="color: #339933;">&gt;/</span>public<span style="color: #339933;">&lt;/</span>strong<span style="color: #339933;">&gt;&lt;/</span>span<span style="color: #339933;">&gt;</span>
    <span style="color: #339933;">&lt;</span>Directory <span style="color: #339933;">&lt;</span>span style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;color: #3366ff;&quot;</span><span style="color: #339933;">&gt;/</span><span style="color: #000000; font-weight: bold;">var</span><span style="color: #339933;">/</span>www<span style="color: #339933;">/</span>rails<span style="color: #339933;">/&lt;/</span>span<span style="color: #339933;">&gt;&lt;</span>strong<span style="color: #339933;">&gt;&lt;</span>span style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;color: #3366ff;&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #000000; font-weight: bold;">public</span><span style="color: #339933;">/&lt;/</span>span<span style="color: #339933;">&gt;&lt;/</span>strong<span style="color: #339933;">&gt;&gt;</span>
        Allow from all
    <span style="color: #339933;">&lt;/</span>Directory<span style="color: #339933;">&gt;</span>
    RailsEnv development
    RailsBaseURI <span style="color: #339933;">/</span>
    ErrorLog logs<span style="color: #339933;">/</span>mysuperrubyonrailsunderapachesite<span style="color: #339933;">.</span>ru<span style="color: #339933;">.</span><span style="color: #990000;">log</span>
<span style="color: #339933;">&lt;/</span>VirtualHost<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1319px; width: 1px; height: 1px; overflow: hidden;">

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;">mysuperrubyonrailsunderapachesite<span style="color: #339933;">.</span>ru</pre></td></tr></table></div>

</div>
<p>Эта конфа обозначает, что содержимое директории с рельсовым приложением лежит в <code>/var/www/rails</code>, а папка <code>public</code> &#8211; та самая публичная папка рельсов где лежат CSS, JS, картинки и прочее.</p>
<p>Внимательно посмотрите какие права у каталогов. Признаком нехватки прав у апача, помимо логов,  является <code>Apache Test Page</code>.<br />
Помните, что апач по умолчанию работает под ущербным пользователем <code>apache</code>, поэтому следует дать ему права на чтение и исполнение в каталоге <code>/var/www/rails/</code>.<br />
Вторая типовая, по крайне мере моя, ошибка проявляется в том случае если в  <code>/var/www/rails/</code> лежит не само рельсовое приложение а только ссылка на <code>public</code>. Здесь, если сами рельсы лежат допустим в <code>/home/username/rails</code>, даже если вы настроите права ко всем и всякому 0777 в браузере все равно может появиться Test Page. Виновником тому, например в RH-линуксах, может стать SELinux.<br />
Отключить SELinux можно установив значение параметра <code>SELINUX=disabled</code> в файле <code>/etc/selinux/config</code>, после чего надо перезагрузиться.</p>
<p>На этом грубая настройка Apache под Ruby on Rails закончена. Запускайте Apache как умеете, у меня, например, в Fedora это выглядит так:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># service httpd start</span></pre></td></tr></table></div>

<p>Не забудьте настроить iptables, выключить же его можно так:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># service iptables stop</span></pre></td></tr></table></div>

<p><meta property="og:image" content="http://blog.lukmus.ru/wp-content/uploads/2011/02/aor.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2011/02/12/ror-passenger-apache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
