<?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>Hatifnatt&#039;s blog &#187; www</title>
	<atom:link href="http://hatifnatt.ru/blog/tag/www/feed/" rel="self" type="application/rss+xml" />
	<link>http://hatifnatt.ru/blog</link>
	<description>Тут нужна умная надпись :)</description>
	<lastBuildDate>Thu, 16 Feb 2012 07:11:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Собираем rTorrent + ruTorrent</title>
		<link>http://hatifnatt.ru/blog/2010/06/09/sobiraem-rtorrent-rutorrent/</link>
		<comments>http://hatifnatt.ru/blog/2010/06/09/sobiraem-rtorrent-rutorrent/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 20:09:31 +0000</pubDate>
		<dc:creator>hatifnatt</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[libtorrent]]></category>
		<category><![CDATA[rtorrent]]></category>
		<category><![CDATA[rutorrent]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://hatifnatt.ru/blog/?p=110</guid>
		<description><![CDATA[<a href="http://hatifnatt.ru/blog/2010/06/09/sobiraem-rtorrent-rutorrent/" title="Собираем rTorrent + ruTorrent"></a>Сначала несколько важных замечаний, актуальны они на момент публикации Обновлено 16.02.2012&#160;&#8212; но процесс установки не проверен пошагово, что-то может пойти не так. GIT версия rotrrent у меня так и не заработала корректно, посему запись надо корректировать. Последние версии ruTorrent хранят &#8230;<p class="read-more"><a href="http://hatifnatt.ru/blog/2010/06/09/sobiraem-rtorrent-rutorrent/">Читать далее &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://hatifnatt.ru/blog/2010/06/09/sobiraem-rtorrent-rutorrent/" title="Собираем rTorrent + ruTorrent"></a><p>Сначала несколько важных замечаний, актуальны они на момент публикации</p>
<ul>
<li><strong>Обновлено 16.02.2012&nbsp;&mdash; но процесс установки не проверен пошагово, что-то может пойти не так.</strong></li>
<li><strong>GIT версия rotrrent у меня так и не заработала корректно, посему запись надо корректировать.</strong></li>
<li>Последние версии ruTorrent хранят настроки в пользовательских директориях, таким образом если какое-то время вы проработали без настроенной авторизации, то вам будет необходимо скопировать настройки в пользовательскую директорию, иначе сбросятся счетчики трафика, расписание и некоторые другие настройки. Глобальные настроки и торренты хранятся в /var/www/rutorrent/share а пользовательские в /var/www/rutorrent/share/users/username&nbsp;&mdash; где username имя заданное для basic авторизации</li>
</ul>
<p>Итак теперь к делу.</p>
<p><span id="more-110"></span> Сразу оговорю, все комманды воплняются с правами суперпользователя, права будут расставлены в конце.<br />
Для начала нам нужно установить apache + php для этого есть 2 пути.<br />
1) Использовать комманду <em>tasksel</em>&nbsp;&mdash; позволит установить LAMP максимально просто&nbsp;&mdash; но нам не нужен MySQL сервер, так что установка будет несколько избыточной.</p>
<pre class="brush: bash; title: ; notranslate">
tasksel
</pre>
<p>выбрать &laquo;LAMP server&raquo; и нажать &lt;ok&gt;<br />
2) Установить нужные пакеты с помощью apt-get, этот вариант позволит установить только необходимое.</p>
<pre class="brush: bash; title: ; notranslate">
# для начала на всякий случай обновим репозиторий
apt-get update
apt-get install apache2 php5 php5-cgi php5-cli libapache2-mod-php5 php5-common
</pre>
<p>Далее необходимо установить дополнительные библиотеки которые потребуются для работы ruTorrent</p>
<pre class="brush: bash; title: ; notranslate">
apt-get install php5-xmlrpc php5-curl libapache2-mod-scgi curl libcurl3-openssl-dev
</pre>
<p>следом подключаем только что установленный SCGI модуль</p>
<pre class="brush: bash; title: ; notranslate">
a2enmod scgi
</pre>
<p>произведем некоторые настройки которые понядобятся нам в будущем, отредактируем файл /etc/apache2/sites-available/default, после</p>
<pre class="brush: bash; title: ; notranslate">
&lt;Directory /var/www&gt;
...
&lt;/Directory&gt;
</pre>
<p>добавьте</p>
<pre class="brush: bash; title: ; notranslate">
&lt;Directory /var/www/rutorrent&gt;
AllowOverride AuthConfig
Order allow,deny
allow from all
&lt;/Directory&gt;
</pre>
<p>перед</p>
<pre class="brush: bash; title: ; notranslate">
&lt;/VirtualHost&gt;
</pre>
<p>добавьте</p>
<pre class="brush: bash; title: ; notranslate">
SCGIMount /RPC2 127.0.0.1:5000
</pre>
<p>перезапустим apache</p>
<pre class="brush: bash; title: ; notranslate">
apache2ctl restart
</pre>
<p>Пакеты необходимые для сборки из исходников и для получения исходников через svn</p>
<pre class="brush: bash; title: ; notranslate">
apt-get install checkinstall subversion git-core build-essential make autoconf autotools-dev automake libcurl4-openssl-dev libtool libsigc++-2.0-dev pkg-config libncurses5-dev libcppunit-dev
</pre>
<p>создадим папку для хранения исходников полученных через svn</p>
<pre class="brush: bash; title: ; notranslate">
# предварительно перейдем в домашний каталог
cd
# создадим рабочую директорию
mkdir buildrt
cd buildrt
</pre>
<p>скачиваем исходники XML-RPC for C/C++ собираем и устанавливаем</p>
<pre class="brush: bash; title: ; notranslate">
svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced xmlrpc-c
cd xmlrpc-c
./configure --prefix=/usr
make
# узнаем версию xmlrpc-c это понадобиться нам позже при выполнении checkinstall
grep XMLRPC_C_VERSION version.h | awk '{print $3}' | tr -d \&quot;
</pre>
<p>Запускаем checkinstall для получения deb пакета и его установки. В процессе необходимо будет указать некоторые параметры для создаваемого пакета.</p>
<pre class="brush: bash; title: ; notranslate">
checkinstall -D

#в процессе получаем примерно такой вывод
This package will be built according to these values:

0 -  Maintainer: [ hatifnatt@fatman-application ]
1 -  Summary: [ xmlrpc ]
2 -  Name:    [ xmlrpc ]
3 -  Version: [ c ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ xmlrpc-c ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ xmlrpc ]
Enter a number to change any of them or press ENTER to continue:
</pre>
<p>Процесс прост, выбираем что редактировать, вводин соответствующую цифру жмем [Enter] вводим желаемое значение снова жмем [Enter].<br />
[1] исправляем <strong>Summary</strong> на <code>xmlrpc-c</code><br />
[2] исправляем <strong>Name</strong> на <code>xmlrpc-c</code><br />
[3] исправляем <strong>Version</strong> на первые два числа из полученные выше версии, в моем случае вывод был 1.29.1 соответственно ввожу 1.29<br />
[4] исправляем <strong>Release</strong> на последнее число из полученной выше версии, в моем случае вывод был 1.29.1 соответственно ввожу 1<br />
[11] исправляем <strong>Provides</strong> на <code>xmlrpc-c</code></p>
<pre class="brush: bash; title: ; notranslate">
# в завершение возвращаемся в папку buildrt
cd ..
</pre>
<p>Скачиваем исходники libtorrent и rTorrent, теперь с git т.к. svn поломался и починен не будет (<a href="https://github.com/rakshasa/rtorrent/issues/5" title="Пруфлинк" target="_blank" class="liexternal">пруф</a>) затем собираем, во время работы checkinstall будет выдано предупреждение</p>
<pre class="brush: bash; title: ; notranslate">Please write a description for the package.
End your description with an empty line or EOF.
&gt;&gt;
</pre>
<p>Вводим <code>libtorrent</code> жмем [Enter] два раза.<br />
Далее получаем:</p>
<pre class="brush: bash; title: ; notranslate">
*****************************************
**** Debian package creation selected ***
*****************************************
*** Warning: The package version &quot;0.13.0
0.13.0
...
0.13.0
0.13.0&quot; is not a
*** Warning: debian policy compliant one. Please specify an alternate one</pre>
<p>просто укажите (впечатайте) версию 0.13.0 для libtorrent и 0.8.6 для rtorrent</p>
<p>Собственно нижеприведенными командами скачиваем и устанавливаем.</p>
<pre class="brush: bash; title: ; notranslate">
#разработка проекта ведется теперь под git, получим исходные коды
git clone https://github.com/rakshasa/rtorrent rtorrent
git clone https://github.com/rakshasa/libtorrent libtorrent

#соберем, установим libtorrent
cd libtorrent
./autogen.sh
./configure --prefix=/usr
make
checkinstall -D
#соберем, установим rtorrent
cd ../rtorrent
./autogen.sh
./configure --with-xmlrpc-c --prefix=/usr
make
checkinstall -D
</pre>
<p>Далее установим rutorrent, подробно про это написано <a href="http://code.google.com/p/rutorrent/wiki/GetFromSVN" class="liexternal">тут</a></p>
<pre class="brush: bash; title: ; notranslate">
cd /var/www/
svn co http://rutorrent.googlecode.com/svn/trunk/rutorrent
</pre>
<p>и некоторые плагины<br />
<strong>diskspace</strong>&nbsp;&mdash; отображает занятое место на носителе куда скачиваются торренты<br />
<strong>erasedata</strong>&nbsp;&mdash; позволяет удалить скачанные файлы вместе с самим торрент файлом<br />
<strong>scheduler</strong>&nbsp;&mdash; позволяет настроить расписание<br />
<strong>traffic</strong>&nbsp;&mdash; ведет статистику принятого и отданного трафика<br />
список всех плагинов расположен <a href="http://code.google.com/p/rutorrent/wiki/Plugins" class="liexternal">здесь</a></p>
<pre class="brush: bash; title: ; notranslate">
cd /var/www/rutorrent/plugins
svn co http://rutorrent.googlecode.com/svn/trunk/plugins/diskspace
svn co http://rutorrent.googlecode.com/svn/trunk/plugins/erasedata
svn co http://rutorrent.googlecode.com/svn/trunk/plugins/scheduler
svn co http://rutorrent.googlecode.com/svn/trunk/plugins/trafic
</pre>
<p>Сразу же рекомендую настрить basic авторизацию, для этого создадим файл .htaccess в директории /var/www/rutorrent</p>
<pre class="brush: bash; title: ; notranslate">
AuthName &quot;Need auth&quot;
AuthType Basic
AuthUserFile /var/www/rutorrent/.htpasswd
require valid-user
</pre>
<p>и сгенерируем файл с авторизационными данными .htpasswd</p>
<pre class="brush: bash; title: ; notranslate">
htpasswd -mc .htpasswd username
</pre>
<p>Перейдем собственно к настройке rTorrent.<br />
Настроки хранятся в домашней директории в файле .rtorrent.rc</p>
<pre class="brush: bash; title: ; notranslate">
# переключаемся на необходимого пользователя
su user
cd
wget -O .rtorrent.rc http://hatifnatt.ru/rtorrent/rtorrent.rc
exit
</pre>
<p>не забудьте изменить &laquo;user&raquo;&nbsp;&mdash; на своего пользователя, листинг .rtorrent.rc ниже</p>
<pre class="brush: bash; title: ; notranslate">
# Скорость в KiB
scgi_port = 127.0.0.1:5000
encoding_list=UTF-8
min_peers = 40
max_peers = 80
min_peers_seed = 10
max_peers_seed = 60
max_uploads = 10
download_rate=600
upload_rate=30
directory = /mnt/fat/torrent/
session =/home/download/rtorrent/session
schedule = watch_directory,5,5,load_start=/home/download/rtorrent/watch/*.torrent
# For trafic plugin
schedule = trafic,10,00:15:00,&quot;execute={sh,-c,php /var/www/rutorrent/plugins/trafic/update.php&amp;amp; exit 0}&quot;
# For scheduler plugin
schedule = scheduler,10,00:15:00,&quot;execute={sh,-c,php /var/www/rutorrent/plugins/scheduler/update.php&amp;amp; exit 0}&quot;
#номер порта (или нескольких портов) который открывает клиент для обмена данными port_range = 50000 - 50050
port_random = no
check_hash = yes
session_save = yes
encryption = allow_incoming,enable_retry,prefer_plaintext
use_udp_trackers = yes
</pre>
<p>В последних версиях ruTorrent реализован единый запуск всех плагинов так что теперь вместо строк:</p>
<pre class="brush: bash; title: ; notranslate">
# For trafic plugin
schedule = trafic,10,00:15:00,&quot;execute={sh,-c,php /var/www/rutorrent/plugins/trafic/update.php&amp; exit 0}&quot;
# For scheduler plugin
schedule = scheduler,10,00:15:00,&quot;execute={sh,-c,php /var/www/rutorrent/plugins/scheduler/update.php&amp; exit 0}&quot;
</pre>
<p>Нужно использовать</p>
<pre class="brush: bash; title: ; notranslate">
execute = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php user &amp;}
</pre>
<p>не забудьте исправить user на вашего пользователя. Эта строка позволит плагинам стартовать одновременно с запуском rTorrent, так же плагины запускаются когда вы заходите в Web-интерфейс.</p>
<p>Запуск rtorrent как демона</p>
<pre class="brush: bash; title: ; notranslate">
wget http://libtorrent.rakshasa.no/attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh?format=raw -O /etc/init.d/rtorrent
</pre>
<p>изменим переменню <strong>user</strong> в скрипте, она отвечат за то, от имени какого пользователя будет стартовать rtorrent, проще всего запускать rtorrent от того пользователя под которым вы заходите в систему</p>
<pre class="brush: bash; title: ; notranslate">
nano /etc/init.d/rtorrent
</pre>
<p>меняем права и настраиваем автозапуск</p>
<pre class="brush: bash; title: ; notranslate">
chmod +x /etc/init.d/rtorrent
update-rc.d rtorrent defaults
/etc/init.d/rtorrent start
</pre>
<p>меняем так же права на папку с rutorrent</p>
<pre class="brush: bash; title: ; notranslate">
chown -R www-data:www-data /var/www/rutorrent
</pre>
<p>стоит так же проверять права доступа после обновлений rutorrent и плагинов через SVN<br />
Теперь можно зайти по адресу http://ваш_сервер/rutorrent/ и начать что-нибудь загружать :)</p>
<p>Вместо сборки из исходников можете попробовать установить собранные мной пакеты:<br />
<a href="http://hatifnatt.ru/rtorrent/rtorrent_0.8.6-1_amd64.deb" class="liinternal">rtorrent_0.8.6-1_amd64.deb</a><br />
<a href="http://hatifnatt.ru/rtorrent/libtorrent_0.12.6-1_amd64.deb" class="liinternal">libtorrent_0.12.6-1_amd64.deb</a><br />
<a href="http://hatifnatt.ru/rtorrent/xmlrpc-c_1.22-0_amd64.deb" class="liinternal">xmlrpc-c_1.22-0_amd64.deb</a></p>
<p>Ссылки по теме (собственно на основе них и была написан данный опус :) )<br />
<a href="http://isudo.ru/2009/07/rutorrent-gui-dlya-rtorrent-zamena-utorrent/" title="ruTorrent – Gui для rTorrent, замена uTorrent. Откроется в новом окне." rel="bookmark" target="_blank" class="liexternal">ruTorrent – Gui для rTorrent, замена uTorrent</a><br />
<a href="http://isudo.ru/2009/10/rtorrent-compilation/" title="Собираем rTorrent из исходников. Откроется в новом окне." rel="bookmark" target="_blank" class="liexternal">Собираем rTorrent из исходников</a><br />
<a href="http://ksevelyar.ru/nastroyka-rtorrent-web-ui-rutorrent-wtorrent" title="Настройка rtorrent + web-ui (rutorrent / wtorrent). Откроется в новом окне." rel="bookmark" target="_blank" class="liexternal">Настройка rtorrent + web-ui (rutorrent / wtorrent)</a><br />
<a href="http://filesharefreak.com/2010/02/13/how-to-install-rtorrent-rutorrent-using-socket-ssl-authentication-on-ubuntu-or-debian/" title="Permanent Link to How To Install rTorrent &amp; ruTorrent (using Socket + SSL + Authentication) on Ubuntu or Debian. Откроется в новом окне." rel="bookmark" target="_blank" class="liexternal">How To Install rTorrent &amp; ruTorrent (using Socket + SSL + Authentication) on Ubuntu or Debian</a><br />
<a href="http://www.prosto.org.ru/2009/11/seedbox-rtorrent-rutorrent-apache.html" title="SeedBox с rTorrent / ruTorrent на базе Apache под FreeBSD. Откроется в новом окне." target="_blank" class="liexternal">SeedBox с rTorrent / ruTorrent на базе Apache под FreeBSD</a><br />
<a href="http://forum.degunino.net/index.php?showtopic=174614" title="Rtorrent + Rutorrent, установка и настройка (manual) :) Откроется в новом окне" target="_blank" class="liexternal">Rtorrent + Rutorrent, установка и настройка (manual) :)</a><br />
<a href="http://forum.ubuntu.ru/index.php?topic=70377.0;all" title="Вопрос о связке: rtorrent+rutorrent. Откроется в новом окне." target="_blank" class="liexternal">Вопрос о связке: rtorrent+rutorrent</a></p>
<p><strong>PS</strong> Данная запись достаточно долго пролежала в черновиках, кое что самую малость устарело, но в целом информация достаточно актуальная, так же надеюсь что ничего не упустил.</p>
]]></content:encoded>
			<wfw:commentRss>http://hatifnatt.ru/blog/2010/06/09/sobiraem-rtorrent-rutorrent/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Удаление или добавление &#171;www&#187; в имя домена</title>
		<link>http://hatifnatt.ru/blog/2008/01/29/udalenie-ili-dobavlenie-www-v-imya-domena/</link>
		<comments>http://hatifnatt.ru/blog/2008/01/29/udalenie-ili-dobavlenie-www-v-imya-domena/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 14:25:06 +0000</pubDate>
		<dc:creator>hatifnatt</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[devel]]></category>
		<category><![CDATA[domain]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[mod rewrite]]></category>
		<category><![CDATA[RewriteEngine]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://hatifnatt.ru/blog/2008/01/29/udalenie-ili-dobavlenie-www-v-imya-domena/</guid>
		<description><![CDATA[<a href="http://hatifnatt.ru/blog/2008/01/29/udalenie-ili-dobavlenie-www-v-imya-domena/" title="Удаление или добавление &quot;www&quot; в имя домена"></a>Часто ли вы набираете www перед именем сайта? Думаю что большинство пользователей сейчас в первую очередь набирают адрес сайта без www, т.к. технической необходимости в этом уже давно нет. Приведу небольшую цитату с сайта nowww.ru Префикс www для написания доменного &#8230;<p class="read-more"><a href="http://hatifnatt.ru/blog/2008/01/29/udalenie-ili-dobavlenie-www-v-imya-domena/">Читать далее &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://hatifnatt.ru/blog/2008/01/29/udalenie-ili-dobavlenie-www-v-imya-domena/" title="Удаление или добавление &quot;www&quot; в имя домена"></a><p>Часто ли вы набираете www перед именем сайта? Думаю что большинство пользователей сейчас в первую очередь набирают адрес сайта без www, т.к. технической необходимости в этом уже давно нет. Приведу небольшую цитату с сайта <a href="http://nowww.ru/" target="_blank" class="liexternal">nowww.ru</a></p>
<blockquote>
<p>Префикс www для написания доменного имени&nbsp;&mdash; не является технической необходимостью. Когда-то давно, когда протокол http не был так распространен как сегодня, приставкой www пользовались для того чтобы указать на принадлежность адреса к интернет-пространству, названному World Wide Web (WWW).</p>
<p>Сегодня уже не только нет необходимости в использовании приставки www, но даже можно говорить о том, что она вредна, и мешает тем, что приходится прописывать для каждого сайтов два URL-адреса, программистам приходится учитывать два возможных обращения к сайту, а уж как неудобно произносить вслух эти &laquo;Вэ-Вэ-Вэ&raquo; или &laquo;Даблъю-Даблъю-Даблъю&raquo;...</p>
</blockquote>
<p>Так же насколько мне известно Google и другие поисковики/каталоги &laquo;наказывают&raquo; сайт которые доступны по двум адресам, т.е. www.domain.ru и просто domain.ru (<a href="http://habrahabr.ru/blogs/personal/31128/" class="liexternal">20-ть &laquo;НЕ&raquo; для Seo</a> п. 12) поэтому для поисковой оптимизации сайта важно чтоб пользователь и поисковые боты все ремя попадали на одну версию сайта с &laquo;www&raquo; или без, это уже по усмотрению владельца сайта. Решается это очень просто с помощью модуля апачевского модуля mod_rewrite.<br />
<span id="more-36"></span>Соответственно необходимо в файл .htaccess находящийся в корне вашего сайта добавить следующий не хитрый код:</p>
<pre class="brush: plain; title: ; notranslate">RewriteEngine On
#Add WWW | Добавление WWW
# Make sure we have www. in the HTTP HOST
RewriteCond %{HTTP_HOST} ^&lt;domain&gt;\.ru$ [NC]
RewriteRule (.*) http://www\.&lt;domain&gt;\.ru%{REQUEST_URI} [R=301]
# Remove WWW | Удаление WWW
RewriteCond %{HTTP_HOST} www\.&lt;domain&gt;\.ru
RewriteRule (.*) http://&lt;domain&gt;\.ru%{REQUEST_URI} [L,R=301]
</pre>
<p>&lt;domain&gt; необходимо заменить на имя вашего домена. Благодаря этому не важно как пользователь наберет в браузере адрес вашего сайта, он всегда будет попадать на одну и ту же версию сайта.</p>
]]></content:encoded>
			<wfw:commentRss>http://hatifnatt.ru/blog/2008/01/29/udalenie-ili-dobavlenie-www-v-imya-domena/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: hatifnatt.ru @ 2012-05-21 08:52:34 by W3 Total Cache -->
