<?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; gem</title>
	<atom:link href="http://blog.lukmus.ru/tag/gem/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>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>
		<item>
		<title>Ruby on Rails 3. установка на fedora 13</title>
		<link>http://blog.lukmus.ru/2010/11/20/ruby-on-rails-3-ustanovka-na-fedora-13/</link>
		<comments>http://blog.lukmus.ru/2010/11/20/ruby-on-rails-3-ustanovka-na-fedora-13/#comments</comments>
		<pubDate>Sat, 20 Nov 2010 22:19:08 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[ruby & ruby on rails]]></category>
		<category><![CDATA[настройка и установка]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[fedora 13 x64]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[ROR 3]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails 3]]></category>
		<category><![CDATA[zlib error]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=596</guid>
		<description><![CDATA[Я решил отказатся от многократного изобретения велосипеда на PHP в пользу ROR. Так как ROR на данный момент я знаю очень плохо, а точнее сказать, когда-то год назад меня хватило чтобы сделать на ROR 1 по книге, самый примитивный в мире сайт-фотогалерею, я буду писать в блоге все свои учения ROR&#8217;у исходя из позиции, что [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.lukmus.ru/wp-content/uploads/2010/11/ror.png"><img class="alignright size-full wp-image-597" title="ruby on rails 3" src="http://blog.lukmus.ru/wp-content/uploads/2010/11/ror.png" alt="" width="111" height="132" /></a>Я решил отказатся от многократного изобретения велосипеда на PHP в пользу ROR. Так как ROR на данный момент я знаю очень плохо, а точнее сказать, когда-то год назад меня хватило чтобы сделать на ROR 1 по книге, самый примитивный в мире сайт-фотогалерею, я буду писать в блоге все свои учения ROR&#8217;у исходя из позиции, что Ruby знаю, а ROR ничерта. Тем кто совершенно случайно зашел сюда, а сюда иначе не заходят, предлагаю учится вместе со мной т.е. задавать вопросы или отвечать на мои, а также исправлять меня.<span id="more-596"></span></p>
<h2>установка Ruby on Rails 3 на Fedora 13</h2>
<p>Для ROR 3, не подходит Ruby меньше 1.8.7. И так как в моих репозитариях есть только ruby 1.8.6, будем устанавливать из тарбола.</p>
<ol>
<li>качаем последний ruby<br />
<code>$ wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz</code></li>
<li>распаковываем и устанавливаем<br />
<code># tar -xvzf ruby-1.9.2-p0.tar.gz &amp;&amp; cd ruby-1.9.2-p0 &amp;&amp; ./configure &amp;&amp; make &amp;&amp; make install</code></li>
</ol>
<p>По идее теперь все что нужно установлено, а именно ruby и gem:</p>
<p><code># ruby -v<br />
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]<br />
# gem -v<br />
1.3.7</code></p>
<p>И если на команду</p>
<p><code># gem install rails</code></p>
<p>у вас будет такая реакция</p>
<p><code># gem install rails<br />
Successfully installed activesupport-3.0.3<br />
Successfully installed builder-2.1.2<br />
Successfully installed i18n-0.4.2<br />
Successfully installed activemodel-3.0.3<br />
...</code></p>
<p>то все отлично установилось. У меня же реакция была другая.</p>
<p><code># gem install rails<br />
ERROR:  Loading command: install (LoadError)<br />
no such file to load -- zlib<br />
ERROR:  While executing gem ... (NameError)<br />
uninitialized constant Gem::Commands::InstallCommand</code></p>
<p>Некоторые, конечно, на этом месте сразу полезут в гуглояндекс в поисках ответа на загвоздку и наткнутся на миллион двести форумов, где рекомендуется скачать и установить библиотеку ruby-zlib<br />
<code><br />
$ wget http://www.blue.sky.or.jp/atelier/ruby/ruby-zlib-0.6.0.tar.gz<br />
$ tar -xvzf ruby-zlib-0.6.0.tar.gz &amp;&amp; cd ruby-zlib-0.6.0<br />
# ruby extconf.rb &amp;&amp; make &amp;&amp; make install</code></p>
<p>после чего пересобрать gem, возможно это кому-то и помогло, но не мне.</p>
<p>Короче, здесь нужно делать так:</p>
<ol>
<li>если есть в репах zlib, который не установлен &#8211; надо его поставить<br />
<code># yum install zlib</code></li>
<li>попробывать вариант с <a rel="nofollow" href="http://fedoraphprails.blogspot.com/2010/07/installing-and-setting-up-rails-3-on.html" target="_blank">RVM</a></li>
</ol>
<p>И если это не поможет, а так скорее всего и будет (но zlib из реп все равно надо установить), то воспользоватся безотказным вариантом, который мне подсказал <a href="http://babusha.ax3.net/blog/?p=589" target="_blank">http://babusha.ax3.net/blog/?p=589</a>.</p>
<ol>
<li>заходим в директорию с только что скачанными исходниками ruby 1.9.2<br />
<code># cd ruby-1.9.2-p0</code></li>
<li>и далее компилим zlib отсюда<br />
<code># cd ext/zlib &amp;&amp; ruby extconf.rb &amp;&amp; make &amp;&amp; make install</code></li>
</ol>
<p>Теперь все должно получится<br />
<code># gem install rails<br />
Successfully installed activesupport-3.0.3<br />
Successfully installed builder-2.1.2<br />
Successfully installed i18n-0.4.2<br />
Successfully installed activemodel-3.0.3<br />
...<br />
Successfully installed bundler-1.0.7<br />
Successfully installed rails-3.0.3<br />
23 gems installed<br />
...<br />
Installing RDoc documentation for railties-3.0.3...<br />
Installing RDoc documentation for bundler-1.0.7...<br />
Installing RDoc documentation for rails-3.0.3...<br />
</code><br />
Все, завтра начну учится делать сайт, после чего здесь все опишу.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2010/11/20/ruby-on-rails-3-ustanovka-na-fedora-13/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
