<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru">
<channel>
<title>Блог разработчика</title>
<link>http://nick-on.name/</link>
<language>ru</language>
<description>Блог разработчика</description>
<image>
<url>http://nick-on.name/yandexlogo.gif</url>
<title>Блог разработчика</title>
<link>http://nick-on.name/</link>
</image>
<generator>DataLife Engine</generator><item>
<title>Инкрементальный бекап на Amazon S3</title>
<link>http://nick-on.name/unix-notes/freebsd/86-amazon-s3.html</link>
<description>Регистрация на амазоне.  1. Заходим и регистрируемся на http://aws.amazon.com/account/  2. Сразу же идём в раздел &quot;Payment Method&quot; сразу же вбиваем номер кредитки. Хочу отметить, что на карте должно быть хотябы пару баксов и на карте должена быть выключена проверка CVV кода. Спустя некоторое время амазон снимит с карты 1 доллар в качестве авторизационного платежа. Так уж у америкосов сложилось что пока не заплатиш, ничего не получиш.  3. Заходим в раздел &quot;Security Credentials&quot;.  Ищем вкладку &quot;Access Keys&quot;. И создаём новый ключ (&quot;Create a new Access Key&quot;). На выходе получаем &quot;Access Key ID&quot; и &quot;Secret Access Key&quot;, сохраним у себя эти ключи.  На этом настройка аккаунта закончена. Как только пройдёт первый авторизационный платёж, Вы можете зайти в консоль S3 по ссылке https://console.aws.amazon.com/s3/home и проверить всё ли работает.</description>
<category>FreeBSD</category>
<author>nickon</author>
<pubDate>Sun, 23 Oct 2011 23:15:30 +0400</pubDate>
<yandex:full-text>&lt;div align=&quot;center&quot;&gt;&lt;!--dle_image_begin:http://nick-on.name/uploads/posts/2011-10/1319398631_logo_aws.gif|--&gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-10/1319398631_logo_aws.gif&quot; alt=&quot;Инкрементальный бекап на Amazon S3&quot; title=&quot;Инкрементальный бекап на Amazon S3&quot;  /&gt;&lt;!--dle_image_end--&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Регистрация на амазоне.&lt;br /&gt;&lt;br /&gt;1. Заходим и регистрируемся на http://aws.amazon.com/account/&lt;br /&gt;&lt;br /&gt;2. Сразу же идём в раздел &quot;Payment Method&quot; сразу же вбиваем номер кредитки. Хочу отметить, что на карте должно быть хотябы пару баксов и на карте должена быть выключена проверка CVV кода. Спустя некоторое время амазон снимит с карты 1 доллар в качестве авторизационного платежа. Так уж у америкосов сложилось что пока не заплатиш, ничего не получиш.&lt;br /&gt;&lt;br /&gt;3. Заходим в раздел &quot;Security Credentials&quot;.  Ищем вкладку &quot;Access Keys&quot;. И создаём новый ключ (&quot;Create a new Access Key&quot;). На выходе получаем &quot;Access Key ID&quot; и &quot;Secret Access Key&quot;, сохраним у себя эти ключи.&lt;br /&gt;&lt;br /&gt;На этом настройка аккаунта закончена. Как только пройдёт первый авторизационный платёж, Вы можете зайти в консоль S3 по ссылке https://console.aws.amazon.com/s3/home и проверить всё ли работает.&lt;br /&gt;&lt;br /&gt;Установка GPG и s3cmd&lt;br /&gt;&lt;br /&gt;&lt;!--code1--&gt;&lt;div class=&quot;scriptcode&quot;&gt;&lt;!--ecode1--&gt;cd /usr/ports/security/gnupg &amp;amp;&amp;amp; make install clean&lt;!--code2--&gt;&lt;/div&gt;&lt;!--ecode2--&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--code1--&gt;&lt;div class=&quot;scriptcode&quot;&gt;&lt;!--ecode1--&gt;cd /usr/ports/net/py-s3cmd &amp;amp;&amp;amp; make install clean&lt;!--code2--&gt;&lt;/div&gt;&lt;!--ecode2--&gt;&lt;br /&gt;&lt;br /&gt;Тепрь настроим s3cmd:&lt;br /&gt;&lt;br /&gt;&lt;!--code1--&gt;&lt;div class=&quot;scriptcode&quot;&gt;&lt;!--ecode1--&gt;/usr/local/bin/s3cmd --config/usr/local/bin/s3cmd --configure&lt;br /&gt;&lt;br /&gt;  Access Key&amp;#58; AAABBBCCCAAABBBCCC&lt;br /&gt;  Secret Key&amp;#58; 111AAA222BBB333CCC111AAA222BBB333CCC&lt;br /&gt;  Encryption password&amp;#58; mystrongpass&lt;br /&gt;  Path to GPG program&amp;#58; /usr/local/bin/gpg&lt;br /&gt;  Use HTTPS protocol&amp;#58; True&lt;br /&gt;  HTTP Proxy server name&amp;#58;&lt;br /&gt;  HTTP Proxy server port&amp;#58; 0&lt;br /&gt;&lt;br /&gt;Test access with supplied credentials? &amp;#91;Y/n&amp;#93; Y&lt;br /&gt;Please wait...&lt;br /&gt;Success. Your access key and secret key worked fine &amp;#58;-&amp;#41;&lt;br /&gt;&lt;br /&gt;Now verifying that encryption works...&lt;br /&gt;Success. Encryption and decryption worked fine &amp;#58;-&amp;#41;&lt;br /&gt;&lt;br /&gt;Save settings? &amp;#91;y/N&amp;#93; Y&lt;br /&gt;Configuration saved to &amp;#39;/root/.s3cfg&amp;#39;&lt;!--code2--&gt;&lt;/div&gt;&lt;!--ecode2--&gt;&lt;br /&gt;&lt;br /&gt;Создаём новый бакет для резервных копий&lt;br /&gt;&lt;br /&gt;&lt;!--code1--&gt;&lt;div class=&quot;scriptcode&quot;&gt;&lt;!--ecode1--&gt;s3cmd mb s3&amp;#58;//backup&lt;!--code2--&gt;&lt;/div&gt;&lt;!--ecode2--&gt;&lt;br /&gt;Также бакет можно создать в консоли s3.&lt;br /&gt;&lt;br /&gt;Далее всё просто, копируем содержимое папок сервера на amazon.&lt;br /&gt;&lt;br /&gt;&lt;!--code1--&gt;&lt;div class=&quot;scriptcode&quot;&gt;&lt;!--ecode1--&gt;s3cmd sync /home/nickon/ s3&amp;#58;//nickon/&lt;!--code2--&gt;&lt;/div&gt;&lt;!--ecode2--&gt;&lt;br /&gt;&lt;br /&gt;И ставим эту задачу в крон.</yandex:full-text>
</item><item>
<title>english.gmarket.co.ua - граббер товаров</title>
<link>http://nick-on.name/portfolio/85-englishgmarketcoua-grabber-tovarov.html</link>
<description>Граббер собирает все товары с сайта english.gmarket.co.kr (со всех категорий, со всех страниц), скачивает изображения, составляет описание и переводит с помощью google.translate полученные данные.  Работает через proxy.  Есть проверка на дубликаты. Все полученные данные добавляются в базу данных сайта на joomla + virtual mart  На выходе получаем:</description>
<category>Портфолио</category>
<author>nickon</author>
<pubDate>Sat, 17 Sep 2011 12:24:27 +0400</pubDate>
<yandex:full-text>Граббер собирает все товары с сайта english.gmarket.co.kr (со всех категорий, со всех страниц), скачивает изображения, составляет описание и переводит с помощью google.translate полученные данные.  Работает через proxy.  Есть проверка на дубликаты. Все полученные данные добавляются в базу данных сайта на joomla + virtual mart  На выходе получаем:</yandex:full-text>
</item><item>
<title>socks proxy</title>
<link>http://nick-on.name/unix-notes/82-socks-proxy.html</link>
<description>wget http&amp;#58;//3proxy.ru/0.5.3j/3proxy-0.5.3j.tgz распаковываем tar -zxf 3proxy-0.5.3j.tgz  cd 3proxy-0.5.3j  компилируем из исходников  make -f Makefile.unix  создаем простейший конфигурационный файл  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cd src &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nano config.cfg  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;daemon &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;auth strong &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;socks -p8888 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;users login&amp;#58;CL&amp;#58;password &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;log /dev/null  запускаем  ./3proxy config.cfg  На порту 8888 откроется socks5, с логином для авторизацией login и паролем password  все)</description>
<category>Заметки сисадмина, Ubuntu</category>
<author>nickon</author>
<pubDate>Mon, 08 Aug 2011 10:00:43 +0400</pubDate>
<yandex:full-text>wget http&amp;#58;//3proxy.ru/0.5.3j/3proxy-0.5.3j.tgz распаковываем tar -zxf 3proxy-0.5.3j.tgz  cd 3proxy-0.5.3j  компилируем из исходников  make -f Makefile.unix  создаем простейший конфигурационный файл  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cd src &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nano config.cfg  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;daemon &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;auth strong &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;socks -p8888 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;users login&amp;#58;CL&amp;#58;password &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;log /dev/null  запускаем  ./3proxy config.cfg  На порту 8888 откроется socks5, с логином для авторизацией login и паролем password  все)</yandex:full-text>
</item><item>
<title>Установка PHP как мод FastCGI в FreeBSD</title>
<link>http://nick-on.name/unix-notes/81-ustanovka-php-kak-mod-fastcgi-v-freebsd.html</link>
<description>Оказывается, все просто. Для начала заходим в порты и устанавливаем:  # cd  /usr/ports/www/mod_fcgid  # make  # make install  После чего открываем конфиг апача  # vi /usr/local/etc/apache22/httpd.conf  И вставляем в конец:   LoadModule fcgid_module libexec/apache22/mod_fcgid.so  AddHandler fcgid-script .fcgi  Сохраняем и выходим.  Далее рестартим апач:  #  /usr/local/etc/rc.d/apache22 restart  Если у нас есть ISPManager, то открываем файл ispmgr.conf  # vi /usr/local/ispmgr/etc/ispmgr.conf  И добавляем туда  Option ForcePhpFastCgi  Сохраняем и выходим.  Перезапускаем панель командой  # killall -9 ispmgr  И радуемся жизни =)  Не забываем, что чтобы перенести сайты на FastCGI, для начала нужно дать на это права пользователю (делается в свойстах), а затем переназначаем режим PHP сайту.  Успехов!</description>
<category>Заметки сисадмина, FreeBSD</category>
<author>nickon</author>
<pubDate>Fri, 05 Aug 2011 13:36:26 +0400</pubDate>
<yandex:full-text>Оказывается, все просто. Для начала заходим в порты и устанавливаем:  # cd  /usr/ports/www/mod_fcgid  # make  # make install  После чего открываем конфиг апача  # vi /usr/local/etc/apache22/httpd.conf  И вставляем в конец:   LoadModule fcgid_module libexec/apache22/mod_fcgid.so  AddHandler fcgid-script .fcgi  Сохраняем и выходим.  Далее рестартим апач:  #  /usr/local/etc/rc.d/apache22 restart  Если у нас есть ISPManager, то открываем файл ispmgr.conf  # vi /usr/local/ispmgr/etc/ispmgr.conf  И добавляем туда  Option ForcePhpFastCgi  Сохраняем и выходим.  Перезапускаем панель командой  # killall -9 ispmgr  И радуемся жизни =)  Не забываем, что чтобы перенести сайты на FastCGI, для начала нужно дать на это права пользователю (делается в свойстах), а затем переназначаем режим PHP сайту.  Успехов!</yandex:full-text>
</item><item>
<title>Порты и FreeBSD</title>
<link>http://nick-on.name/unix-notes/freebsd/80-porty-i-freebsd.html</link>
<description>При скачивании и распаковке портов имеем ошибки:  # portsnap fetch &amp;amp;&amp;amp; portsnap extract  Looking up portsnap.FreeBSD.org mirrors… 5 mirrors found.  Fetching snapshot tag from portsnap2.FreeBSD.org… done.  Fetching snapshot metadata… done.  Updating from Tue Nov 9 14&amp;#58;35&amp;#58;59 MSK 2010 to Sat Nov 13 13&amp;#58;01&amp;#58;26 MSK 2010.  Fetching 1 metadata patches. done.  Applying metadata patches… done.  Fetching 0 metadata files… done.  gunzip&amp;#58; can’t stat&amp;#58; files/18e2c2d3e5e2ba6583fbe574fba1fa36efc7887046f25d20dd79971dd7b16390.gz&amp;#58; No such file or directory  Fetching 0 patches. done.  Applying patches… done.  Fetching 0 new ports or files… done.  Building new INDEX files… gunzip&amp;#58; can’t stat&amp;#58; /var/db/portsnap/files/c18a355ef772b8d5deaee48dcc48dc86e06a4252f7f4441a521621d194e9e0fb.gz&amp;#58; No such file or directory  gunzip&amp;#58; can’t stat&amp;#58; /var/db/portsnap/files/1ac36646f895592a28adc8af555c941402082a5ea43955c0e669324122ff28fe.gz&amp;#58; No such file or directory  done.   Решение:  Удаляем тэги и все, что связано со старым деревом:  # rm /var/db/portsnap/tag  # rm -rf /var/db/portsnap/files  # rm -rf /usr/ports  Скачиваеи и обновляем:  # portsnap fetch &amp;amp;&amp;amp; portsnap extract  Готово!</description>
<category>FreeBSD</category>
<author>nickon</author>
<pubDate>Fri, 05 Aug 2011 13:34:44 +0400</pubDate>
<yandex:full-text>При скачивании и распаковке портов имеем ошибки:  # portsnap fetch &amp;amp;&amp;amp; portsnap extract  Looking up portsnap.FreeBSD.org mirrors… 5 mirrors found.  Fetching snapshot tag from portsnap2.FreeBSD.org… done.  Fetching snapshot metadata… done.  Updating from Tue Nov 9 14&amp;#58;35&amp;#58;59 MSK 2010 to Sat Nov 13 13&amp;#58;01&amp;#58;26 MSK 2010.  Fetching 1 metadata patches. done.  Applying metadata patches… done.  Fetching 0 metadata files… done.  gunzip&amp;#58; can’t stat&amp;#58; files/18e2c2d3e5e2ba6583fbe574fba1fa36efc7887046f25d20dd79971dd7b16390.gz&amp;#58; No such file or directory  Fetching 0 patches. done.  Applying patches… done.  Fetching 0 new ports or files… done.  Building new INDEX files… gunzip&amp;#58; can’t stat&amp;#58; /var/db/portsnap/files/c18a355ef772b8d5deaee48dcc48dc86e06a4252f7f4441a521621d194e9e0fb.gz&amp;#58; No such file or directory  gunzip&amp;#58; can’t stat&amp;#58; /var/db/portsnap/files/1ac36646f895592a28adc8af555c941402082a5ea43955c0e669324122ff28fe.gz&amp;#58; No such file or directory  done.   Решение:  Удаляем тэги и все, что связано со старым деревом:  # rm /var/db/portsnap/tag  # rm -rf /var/db/portsnap/files  # rm -rf /usr/ports  Скачиваеи и обновляем:  # portsnap fetch &amp;amp;&amp;amp; portsnap extract  Готово!</yandex:full-text>
</item><item>
<title>Конвертация дампа базы из latin1 в cp1251</title>
<link>http://nick-on.name/unix-notes/freebsd/79-konvertaciya-dampa-bazy-iz-latin1-v-cp1251.html</link>
<description>У нас есть дамп базы (dump.sql) в кодировке latin1.  Конвертируем с помощью iconv:  iconv -f UTF-8 -t ISO-8859-1 dump.sql &amp;#62; dump.cp1251.sql  Если появилась ощибка:  iconv&amp;#58; illegal input sequence at position  То добавляем опцию «-c», чтобы данный символ просто пропускался:  iconv -f -c UTF-8 -t ISO-8859-1 dump.sql &amp;#62; dump.cp1251.sql</description>
<category>FreeBSD</category>
<author>nickon</author>
<pubDate>Fri, 05 Aug 2011 13:33:54 +0400</pubDate>
<yandex:full-text>У нас есть дамп базы (dump.sql) в кодировке latin1.  Конвертируем с помощью iconv:  iconv -f UTF-8 -t ISO-8859-1 dump.sql &amp;#62; dump.cp1251.sql  Если появилась ощибка:  iconv&amp;#58; illegal input sequence at position  То добавляем опцию «-c», чтобы данный символ просто пропускался:  iconv -f -c UTF-8 -t ISO-8859-1 dump.sql &amp;#62; dump.cp1251.sql</yandex:full-text>
</item><item>
<title>Установка php5-json в FreeBSD</title>
<link>http://nick-on.name/unix-notes/74-ustanovka-php5-json-v-freebsd.html</link>
<description>Заходим в порты:  cd /usr/ports/devel/php5-json  Устанавливаем:  make install clean  Рестартим апача  apachectl restart</description>
<category>Заметки сисадмина, FreeBSD</category>
<author>nickon</author>
<pubDate>Fri, 05 Aug 2011 13:27:20 +0400</pubDate>
<yandex:full-text>Заходим в порты:  cd /usr/ports/devel/php5-json  Устанавливаем:  make install clean  Рестартим апача  apachectl restart</yandex:full-text>
</item><item>
<title>Модернизация polexp.com</title>
<link>http://nick-on.name/portfolio/68-modernizaciya-polexpcom.html</link>
<description>Для автоматизации приёма и учёта посылок требовалось полностью переработать кабинет клиента.  1. Добавлен раздел &quot;Мои посылки&quot;. В этом разделе регистрируются посылки которые клиент выкупил сам, но не хочет (или забыл) регистрировать её в системе. Если пользователь зарегистрировал свою посылку в этом разделе, то при поступлении на склад администратор отмечает посылку на складе.  2. Добавлен раздел &quot;На складе&quot;. Тут фиксируются все пришедшие на склад посылки. В этом разделе отображаются все посылки клиента, которые он может объединить в одну и подготовить к отправке только выбранные.  3. Добавлен раздел &quot;Готовые к отправке&quot;. Посылки подготовленные клиентом к отправке. В этом разделе выставляется счёт на оплату и клиент может оплатить доставку.  4. Добавлен раздел &quot;Отправленные посылки&quot;. Здесь сохраняются все отправленные клиенту посылки.  5. Добавлен раздел &quot;Помощь в покупке&quot;. В этом разделе сохранены все прошлые заказы клиентов. И предназначен он для регистрации посылок, которые необходимо выкупить компанией. Как только менеджер выкупил товары из нужного интернет магазина, он регистрирует посылку в разделе клиента &quot;Мои покупки&quot;.  6. Добавлен раздел &quot;Pick UP&quot;. Тут регистраируются посылки которые необходимо забрать по нужному адресу.  7. Переработана админ-панель.  8. Добавлена загрузка скана паспорта пользователями при регистрации.</description>
<category>Портфолио</category>
<author>nickon</author>
<pubDate>Wed, 27 Jul 2011 11:07:26 +0400</pubDate>
<yandex:full-text>&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311749602_1.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311749602_1.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Для автоматизации приёма и учёта посылок требовалось полностью переработать кабинет клиента.&lt;br /&gt;&lt;br /&gt;1. Добавлен раздел &quot;Мои посылки&quot;. В этом разделе регистрируются посылки которые клиент выкупил сам, но не хочет (или забыл) регистрировать её в системе. Если пользователь зарегистрировал свою посылку в этом разделе, то при поступлении на склад администратор отмечает посылку на складе.&lt;br /&gt;&lt;br /&gt;2. Добавлен раздел &quot;На складе&quot;. Тут фиксируются все пришедшие на склад посылки. В этом разделе отображаются все посылки клиента, которые он может объединить в одну и подготовить к отправке только выбранные.&lt;br /&gt;&lt;br /&gt;3. Добавлен раздел &quot;Готовые к отправке&quot;. Посылки подготовленные клиентом к отправке. В этом разделе выставляется счёт на оплату и клиент может оплатить доставку.&lt;br /&gt;&lt;br /&gt;4. Добавлен раздел &quot;Отправленные посылки&quot;. Здесь сохраняются все отправленные клиенту посылки.&lt;br /&gt;&lt;br /&gt;5. Добавлен раздел &quot;Помощь в покупке&quot;. В этом разделе сохранены все прошлые заказы клиентов. И предназначен он для регистрации посылок, которые необходимо выкупить компанией. Как только менеджер выкупил товары из нужного интернет магазина, он регистрирует посылку в разделе клиента &quot;Мои покупки&quot;.&lt;br /&gt;&lt;br /&gt;6. Добавлен раздел &quot;Pick UP&quot;. Тут регистраируются посылки которые необходимо забрать по нужному адресу.&lt;br /&gt;&lt;br /&gt;7. Переработана админ-панель.&lt;br /&gt;&lt;br /&gt;8. Добавлена загрузка скана паспорта пользователями при регистрации.&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311749596_2.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311749596_2.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;Регистрация новоый покупки&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311749613_3.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311749613_3.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;Раздел &quot;На складе&quot;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311749614_4.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311749614_4.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;Форма отправки посылки&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311749551_5.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311749551_5.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;Раздел &quot;Посылки готовые к отправке&quot;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311749570_6.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311749570_6.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;Раздел &quot;Отправленные посылки&quot;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311749617_7.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311749617_7.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;Раздел &quot;Помощь в покупке&quot;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311749559_8.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311749559_8.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;Регистрация заявки на покупку&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311749620_9.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311749620_9.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;Раздел &quot;PickUP&quot;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311749574_10.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311749574_10.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;Регистрация заявки на PickUP посылки&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311749608_11.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311749608_11.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;Отправка сообщения&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311749586_12.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311749586_12.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;Калькулятор&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Админ-панель&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311751583_13.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311751583_13.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--TBegin--&gt;&lt;a href=&quot;http://nick-on.name/uploads/posts/2011-07/1311751552_14.png&quot; onclick=&quot;return hs.expand(this)&quot; &gt;&lt;img src=&quot;http://nick-on.name/uploads/posts/2011-07/thumbs/1311751552_14.png&quot; alt=&#039;Модернизация polexp.com&#039; title=&#039;Модернизация polexp.com&#039;  /&gt;&lt;/a&gt;&lt;!--TEnd--&gt;&lt;/div&gt;</yandex:full-text>
</item><item>
<title>telegraf.org.ua - граббер новостей</title>
<link>http://nick-on.name/portfolio/66-telegraforgua-grabber-novostey.html</link>
<description>Требовалось написать HTML граббер всех новостей с сайта telegraf.org.ua с загрузкой всех изображений на сервер.  Все категории и авторы новостей были также сохранены. В результате было получено 15727 новостей и 25888 изображений (470мб)</description>
<category>Портфолио</category>
<author>nickon</author>
<pubDate>Thu, 21 Jul 2011 12:56:39 +0400</pubDate>
<yandex:full-text>Требовалось написать HTML граббер всех новостей с сайта telegraf.org.ua с загрузкой всех изображений на сервер.  Все категории и авторы новостей были также сохранены. В результате было получено 15727 новостей и 25888 изображений (470мб)</yandex:full-text>
</item><item>
<title>Установка и настройка Redmine</title>
<link>http://nick-on.name/unix-notes/65-ustanovka-i-nastroyka-redmine.html</link>
<description>Устанавливаем rails  # gem install rails -v=2.3.11 # gem install rack -v=1.1.0 # gem install i18n -v=0.4.2 # gem install mysql # gem install rmagick  Качаем и ставим сам redmine  cd /tmp wget http&amp;#58;//rubyforge.org/frs/download.php/75097/redmine-1.2.1.tar.gz tar xfvz redmine-1.2.1.tar.gz cd redmine-1.2.1  Далее нужно залить дамп таблиц в базу данных.  Для этого создадим файл config/database.yml  production&amp;#58;   adapter&amp;#58; mysql   database&amp;#58; redmine   host&amp;#58; localhost   port&amp;#58; 3307   username&amp;#58; redmine   password&amp;#58; my_password  выполняем команду:  RAILS_ENV=production rake db&amp;#58;migrate  при этом может выпасть ошибка:  RAILS_ENV=production: Command not found.  тогда выполняем:   rake db&amp;#58;migrate RAILS_ENV=production  но и тут может выпасть ошибка:   A key is required to write a cookie containing the session data. Use config.action_controller.session = { :key =&gt; &quot;_myapp_session&quot;, :secret =&gt; &quot;some secret phrase&quot; } in config/environment.rb  пытаемся исправить ... выполнив:  # rake config/initializers/session_store.rb # rake db&amp;#58;migrate RAILS_ENV=production  на этом ошибки должны закончиться...  далее загрузим данные по умолчанию и выберим нужный язык:  rake redmine&amp;#58;load_default_data RAILS_ENV=production  выставим необходимые для работы права на папки:  mkdir tmp public/plugin_assets chmod -R 755 files log tmp public/plugin_assets  запускаем сервер рубби и тестируем:  ruby script/server webrick -e production  Теперь redmine доступен по адресу: http://ip_сервера:3000 Вы можете зайти и настроить redmine по своему усмотрению.  Логин и пароль по умолчанию admin/admin.  Всё, теперь redmine работает как надо, но только на тестовом сервере. Теперь необходимо завязать его на работу с apache. Жмём Ctrl + C  Установим Passenger:  gem install passenger  Установили. Теперь нам нужен модуль для Apache mod_passenger, найдём инсталятор, и установим его.  gem env cd /usr/local/lib/ruby/gems/1.8 cd gems cd passenger-3.0.8 # тут нужно смотреть версию passanger&amp;#39;a cd bin ./passenger-install-apache2-module  После установки должно выдать следующее:  LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7 PassengerRuby /usr/local/bin/ruby18 * обращаем внимание на версию passenger'a  Копируем полученный текст и сохраняем у себя, оно пригодиться дальше.  Отредактируем конфиг Apcache /usr/local/etc/apache22/httpd.conf  LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7 PassengerRuby /usr/local/bin/ruby18 PassengerDefaultUser www PassengerMaxPoolSize 1 PassengerUseGlobalQueue on PassengerMaxInstancesPerApp 1 PassengerPoolIdleTime 43200  Создадим там же в конфиге виртуальный поддомен, по которому и будет доступен redmine:  &amp;#60;VirtualHost xx.xx.xxx.xx&amp;#58;80&amp;#62;     ServerName redmine.site.ru     DocumentRoot /home/redmine-1.2.1/public     CustomLog /home/httpd-logs/redmine.access.log combined     ErrorLog /home/httpd-logs/redmine.error.log     ServerAlias www.redmine.site.ru     ServerAdmin webmaster@site.ru     DirectoryIndex index.php     AddDefaultCharset utf-8     &amp;#60;Directory /home/redmine-1.2.1/public&amp;#62;         AllowOverride all         Options -MultiViews     &amp;#60;/Directory&amp;#62; &amp;#60;/VirtualHost&amp;#62;  Перезапускаем апач:  /usr/local/etc/rc.d/apache22 restart  Apache должен запуститься =)</description>
<category>Заметки сисадмина, FreeBSD</category>
<author>nickon</author>
<pubDate>Mon, 11 Jul 2011 18:16:12 +0400</pubDate>
<yandex:full-text>Устанавливаем rails  # gem install rails -v=2.3.11 # gem install rack -v=1.1.0 # gem install i18n -v=0.4.2 # gem install mysql # gem install rmagick  Качаем и ставим сам redmine  cd /tmp wget http&amp;#58;//rubyforge.org/frs/download.php/75097/redmine-1.2.1.tar.gz tar xfvz redmine-1.2.1.tar.gz cd redmine-1.2.1  Далее нужно залить дамп таблиц в базу данных.  Для этого создадим файл config/database.yml  production&amp;#58;   adapter&amp;#58; mysql   database&amp;#58; redmine   host&amp;#58; localhost   port&amp;#58; 3307   username&amp;#58; redmine   password&amp;#58; my_password  выполняем команду:  RAILS_ENV=production rake db&amp;#58;migrate  при этом может выпасть ошибка:  RAILS_ENV=production: Command not found.  тогда выполняем:   rake db&amp;#58;migrate RAILS_ENV=production  но и тут может выпасть ошибка:   A key is required to write a cookie containing the session data. Use config.action_controller.session = { :key =&gt; &quot;_myapp_session&quot;, :secret =&gt; &quot;some secret phrase&quot; } in config/environment.rb  пытаемся исправить ... выполнив:  # rake config/initializers/session_store.rb # rake db&amp;#58;migrate RAILS_ENV=production  на этом ошибки должны закончиться...  далее загрузим данные по умолчанию и выберим нужный язык:  rake redmine&amp;#58;load_default_data RAILS_ENV=production  выставим необходимые для работы права на папки:  mkdir tmp public/plugin_assets chmod -R 755 files log tmp public/plugin_assets  запускаем сервер рубби и тестируем:  ruby script/server webrick -e production  Теперь redmine доступен по адресу: http://ip_сервера:3000 Вы можете зайти и настроить redmine по своему усмотрению.  Логин и пароль по умолчанию admin/admin.  Всё, теперь redmine работает как надо, но только на тестовом сервере. Теперь необходимо завязать его на работу с apache. Жмём Ctrl + C  Установим Passenger:  gem install passenger  Установили. Теперь нам нужен модуль для Apache mod_passenger, найдём инсталятор, и установим его.  gem env cd /usr/local/lib/ruby/gems/1.8 cd gems cd passenger-3.0.8 # тут нужно смотреть версию passanger&amp;#39;a cd bin ./passenger-install-apache2-module  После установки должно выдать следующее:  LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7 PassengerRuby /usr/local/bin/ruby18 * обращаем внимание на версию passenger'a  Копируем полученный текст и сохраняем у себя, оно пригодиться дальше.  Отредактируем конфиг Apcache /usr/local/etc/apache22/httpd.conf  LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7 PassengerRuby /usr/local/bin/ruby18 PassengerDefaultUser www PassengerMaxPoolSize 1 PassengerUseGlobalQueue on PassengerMaxInstancesPerApp 1 PassengerPoolIdleTime 43200  Создадим там же в конфиге виртуальный поддомен, по которому и будет доступен redmine:  &amp;#60;VirtualHost xx.xx.xxx.xx&amp;#58;80&amp;#62;     ServerName redmine.site.ru     DocumentRoot /home/redmine-1.2.1/public     CustomLog /home/httpd-logs/redmine.access.log combined     ErrorLog /home/httpd-logs/redmine.error.log     ServerAlias www.redmine.site.ru     ServerAdmin webmaster@site.ru     DirectoryIndex index.php     AddDefaultCharset utf-8     &amp;#60;Directory /home/redmine-1.2.1/public&amp;#62;         AllowOverride all         Options -MultiViews     &amp;#60;/Directory&amp;#62; &amp;#60;/VirtualHost&amp;#62;  Перезапускаем апач:  /usr/local/etc/rc.d/apache22 restart  Apache должен запуститься =)</yandex:full-text>
</item></channel></rss>
