<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Unix notes</title>
	
	<link>http://unix-notes.ru</link>
	<description>Заметки по настройке Unix/Linux систем, хостинг-серверов</description>
	<lastBuildDate>Thu, 03 Nov 2011 12:43:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/unix-notes/llLe" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="unix-notes/llle" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Установка простой системы мониторинга Munin</title>
		<link>http://unix-notes.ru/2011/08/11/ustanovka-prostojj-sistemy-monitoringa-munin/</link>
		<comments>http://unix-notes.ru/2011/08/11/ustanovka-prostojj-sistemy-monitoringa-munin/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 12:13:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[munin]]></category>
		<category><![CDATA[мониторинг]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=683</guid>
		<description><![CDATA[Мунин идеально подойдет для тех администраторов, которым надо мониторить нагрузку (именно нагрузку, а не доступность!) одного-двух-трех серверов и не хочется заморачиваться с такими монстрами как Cacti. Мунин состоит из двух частей: Munin-node &#8211; демон, который ставится на хост, который надо мониторить &#8211; она собирает всю информацию о системе. Вторая часть &#8211; пакет munin &#8211; он [...]]]></description>
			<content:encoded><![CDATA[<p>Мунин идеально подойдет для тех администраторов, которым надо мониторить нагрузку (именно нагрузку, а не доступность!) одного-двух-трех серверов и не хочется заморачиваться с такими монстрами как Cacti.<br />
<a href="http://unix-notes.ru/wp-content/uploads/2011/08/Munin-example-big.jpg"><img src="http://unix-notes.ru/wp-content/uploads/2011/08/Munin-example-big-300x210.jpg" alt="" title="мунин" width="300" height="210" class="alignnone size-medium wp-image-684" /></a><br />
Мунин состоит из двух частей: Munin-node &#8211; демон, который ставится на хост, который надо мониторить &#8211; она собирает всю информацию о системе. Вторая часть &#8211; пакет munin &#8211; он уже рисует графики по данным с одной или нескольких машин и генерит из них статические странички и картинки.<br />
Итак, сначала установим пакет munin, к слову, это перловый скрипт и ставит с собой несколько перловых библиотек:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum install munin</div></div>
<p>Он пропишется в /etc/cron.d для запуска раз в 5 минут, создаст /var/www/html/munin &#8211; туда будет генериться статика, которую можно отдавать любым веб-сервером. Конфиги мунина лежат в /etc/munin. Прописываем мунин в Апаче, можно просто алиасом к каком-нибудь существующему виртуалхосту:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Alias /munin/ /var/www/html/munin/<br />
&lt;Directory &quot;/var/www/html/munin/&quot;&gt;<br />
&nbsp; &nbsp; Options Indexes FollowSymlinks<br />
&nbsp; &nbsp; AllowOverride All<br />
&lt;/Directory&gt;</div></div>
<p>Релоадим апач и устанавливаем <strong>munin-node</strong> (эту часть проделываем на всех серверах, которые надо мониторить):</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum install munin-node<br />
chkconfig munin-node on<br />
/etc/init.d/munin-node start</div></div>
<p>Если мы ставим оба пакета на одну машину, то нижесказанное проделывать не надо &#8211; все работает по дефолту.<br />
Munin-node работает как демон, к которому на порт 4949 периодически подключается munin, поэтому в /etc/munin/munin-node.conf добавляем дериктиву allow ^127\.0\.0\.1$ с адресом munin.</p>
<p>На машине, на которой установлен Munin в /etc/munin/munin.conf добавляем новый хост по типу:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[my-second-server]<br />
&nbsp; &nbsp; address 1.2.3.1<br />
&nbsp; &nbsp; use_node_name yes</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/08/11/ustanovka-prostojj-sistemy-monitoringa-munin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Устанавливаем акселлератор APC на CentOS+Apache</title>
		<link>http://unix-notes.ru/2011/08/03/ustanavlivaem-aksellerator-apc-na-centosapache/</link>
		<comments>http://unix-notes.ru/2011/08/03/ustanavlivaem-aksellerator-apc-na-centosapache/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 13:13:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[apc]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=670</guid>
		<description><![CDATA[Если у вас нагруженное веб-приложение и тесты показывают, что одно из узких мест это исполнение php-кода, то имеет смысл установить PHP-акселлератор. Один из лучших это APC от разработчиков самого PHP. Принцип его работы такой: он держит скомпилированный код php-файлов в памяти и при повторном обращении быстро его отдает. Устанавливаем его из репозитория Remi: yum --enablerepo=remi [...]]]></description>
			<content:encoded><![CDATA[<p>Если у вас нагруженное веб-приложение и тесты показывают, что одно из узких мест это исполнение php-кода, то имеет смысл установить PHP-акселлератор. Один из лучших это <noindex><a rel="nofollow" target="_blank" href="http://pecl.php.net/APC" >APC</a></noindex> от разработчиков самого PHP. Принцип его работы такой: он держит скомпилированный код php-файлов в памяти и при повторном обращении быстро его отдает.<br />
Устанавливаем его из репозитория <noindex><a rel="nofollow" target="_blank" href="http://rpms.famillecollet.com/" >Remi</a></noindex>:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum --enablerepo=remi install php-pecl-apc</div></div>
<p>Теперь смотрим конфиг /etc/php.d/apc.ini, самые важные параметры:<br />
# Включаем кэширование<br />
apc.enabled=1<br />
# количество блоков с кэшем в памяти<br />
apc.shm_segments=1<br />
# размер каждого блока<br />
apc.shm_size=256M<br />
# время устаревания кэшированных файлов<br />
apc.ttl=3600<br />
apc.max_file_size=1M<br />
# если выключить, apc не будет проверять не изменился ли файл при обращении к нему.<br />
apc.stat=1</p>
<p>Для каждого сервера надо подбирать свои параметры размера блока и срока устаревания кэша. Потому как иногда при заполнении памяти APC может падать с ошибкой &#8220;unable to allocate memory for pool&#8221; подробнее читать <noindex><a rel="nofollow" target="_blank" href="http://pecl.php.net/bugs/bug.php?id=16966" >тут</a></noindex>.<br />
Для  мониторинга состояния кэша APC удобно использовать прилагаемую к дистрибутиву утилиту apc.php. Просто <noindex><a rel="nofollow" target="_blank" href="http://pecl.php.net/get/APC" >скачиваете</a></noindex> дистр и кладете файлик в любой виртуалхост.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/08/03/ustanavlivaem-aksellerator-apc-na-centosapache/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Поиск шеллов на сервере</title>
		<link>http://unix-notes.ru/2011/07/09/poisk-shellov-na-servere/</link>
		<comments>http://unix-notes.ru/2011/07/09/poisk-shellov-na-servere/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 05:34:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[безопасность]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=678</guid>
		<description><![CDATA[Иногда возникает необходимость проверить нет ли на вашем сервере залитых шеллов через дырявые скрипты. Естественно, что гарантий тут никто не дает, но хотя бы простые проверки иногда запускать можно. Все нижесказанное относится к PHP шеллам: egrep -rlZ -e &#34;eval\(gzinflate\(&#34; /usr/home egrep -rlZ -e &#34;gzinflate&#34; /usr/home egrep -rlZ -e &#34;eval\(str_replace&#34; /usr/home grep -Rl &#34;r57shell&#124;c99madshell&#124;eval\&#124;base64_decode&#34; /home Так [...]]]></description>
			<content:encoded><![CDATA[<p>Иногда возникает необходимость проверить нет ли на вашем сервере залитых шеллов через дырявые скрипты. Естественно, что гарантий тут никто не дает, но хотя бы простые проверки иногда запускать можно. Все нижесказанное относится к PHP шеллам:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">egrep -rlZ -e &quot;eval\(gzinflate\(&quot; /usr/home<br />
egrep -rlZ -e &quot;gzinflate&quot; /usr/home<br />
egrep -rlZ -e &quot;eval\(str_replace&quot; /usr/home</div></div>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">grep -Rl &quot;r57shell|c99madshell|eval\|base64_decode&quot; /home</div></div>
<p>Так же имеет смысл поискать следующие строчки: passthru, shell_exec, system, phpinfo, base64_decode, edoced_46esab, chmod, mkdir</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">grep -RPn &quot;(passthru|shell_exec|system|phpinfo|base64_decode|chmod|mkdir|fopen|fclose|readfile) *\(&quot; public_html/</div></div>
<p>Можно так же попробовать <a href="http://unix-notes.ru/2008/12/09/find/">поискать файлы</a> по дате создания или изменения. Но, возможно, что злоумышленник специально их поправил.</p>
<p>Для поиска руткитов рекомендую воспользоваться <noindex><a rel="nofollow" target="_blank"  href="http://www.rootkit.nl/projects/rootkit_hunter.html">RKHunter</a></noindex>. Но это тоже не дает гарантий. Если есть возможность рекомендуется переустановить систему и восстановить сайты из бэкапов.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/07/09/poisk-shellov-na-servere/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Еще один неплохой Yum-репозиторий для СentOS</title>
		<link>http://unix-notes.ru/2011/03/29/eshhe-odin-neplokhojj-yum-repozitorijj-dlya-sentos/</link>
		<comments>http://unix-notes.ru/2011/03/29/eshhe-odin-neplokhojj-yum-repozitorijj-dlya-sentos/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 12:38:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=668</guid>
		<description><![CDATA[Расположен здесь http://www.webtatic.com/. Добавляем в систему: rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm]]></description>
			<content:encoded><![CDATA[<p>Расположен здесь <noindex><a rel="nofollow" target="_blank" href="http://www.webtatic.com/" >http://www.webtatic.com/</a></noindex>.<br />
Добавляем в систему:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/03/29/eshhe-odin-neplokhojj-yum-repozitorijj-dlya-sentos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Замена диска в Raid на linux md</title>
		<link>http://unix-notes.ru/2011/03/28/zamena-diska-v-raid-na-linux-md/</link>
		<comments>http://unix-notes.ru/2011/03/28/zamena-diska-v-raid-na-linux-md/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 05:37:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[raid]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=666</guid>
		<description><![CDATA[Если вдруг ваш RAID1 поломался и cat /proc/mdstat говорит: md2 : active raid1 sda3[2] sdb3[1] &#160; &#160; &#160; 726266432 blocks [2/1] [_U] Т.е. один диск в зеркале U &#8211; up, а другой вылетел. Смотрим более подробнаю информацию о raid: mdadm -D /dev/md2 То надо менять винт. Для этого выключаем сервер, меняем винт, включаемся и затем: [...]]]></description>
			<content:encoded><![CDATA[<p>Если вдруг ваш RAID1 поломался и<br />
cat /proc/mdstat говорит:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">md2 : active raid1 sda3[2] sdb3[1]<br />
&nbsp; &nbsp; &nbsp; 726266432 blocks [2/1] [_U]</div></div>
<p>Т.е. один диск в зеркале U &#8211; up, а другой вылетел.</p>
<p>Смотрим более подробнаю информацию о raid:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mdadm -D /dev/md2</div></div>
<p>То надо менять винт. Для этого выключаем сервер, меняем винт, включаемся и затем:<br />
Смотрим dmesg |grep sda, что новый винт на месте (в моем случае вылетел sda).<br />
Иногда саппорт дата-цента просит сказать серийный номер винта, который надо заменить. Вот так смотрим подробную инфорамацию по жесткому диску:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">hdparm -I /dev/sda</div></div>
<p>Затем копируем информацию о разделах со старого рабочего винта на новый (не ошибитесь в источнике и назначении!):</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sfdisk -d /dev/sdb | sfdisk /dev/sda</div></div>
<p>В моем случае винты были разбиты на три раздела каждый и каждый из них был собран в md-зеркало с соответствующим разделом на другом винте. Теперь подключаем разделы с sda в существующие md-рэйды:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mdadm --manage /dev/md2 --add /dev/sda3</div></div>
<p>Не ошибитесь с разделами!<br />
И наблюдаем в cat /proc/mdstat как идет синхронизация.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/03/28/zamena-diska-v-raid-na-linux-md/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Кэширование в nginx</title>
		<link>http://unix-notes.ru/2011/03/24/kehshirovanie-v-nginx/</link>
		<comments>http://unix-notes.ru/2011/03/24/kehshirovanie-v-nginx/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 06:50:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=664</guid>
		<description><![CDATA[Включение кэширования средствами nginx позволяет повысить скорость отдачи часто используемых страниц в очень много раз. Фишка в том, что сгенерированная апачем страница сохраняется в виде готового html-файла на диске и при поступлении запроса на такой же урл (совпадение по md5) файл-кэш быстро отдается клиенту. Кэширование в nginx доступно с версии 0.7.44. Благо в репозитории EPEL [...]]]></description>
			<content:encoded><![CDATA[<p>Включение кэширования средствами nginx позволяет повысить скорость отдачи часто используемых страниц в очень много раз. Фишка в том, что сгенерированная апачем страница сохраняется в виде готового html-файла на диске и при поступлении запроса на такой же урл (совпадение по md5) файл-кэш быстро отдается клиенту. Кэширование в nginx доступно с версии 0.7.44. Благо в репозитории EPEL уже штатно присутствует 0.8.<br />
К настройке кэширования нужно относиться очень внимательно, потому что на динамических сайтах весьма высока вероятность обрубания функциональности сайта: перестанут работать корзины на сайтах-магазинах, поломаются счетчики просмотров и тд.<br />
Самая простая настройка выглядит так:<br />
Сначала в http-секции прописываем где будет лежать кэш, его размер и время устаревания:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=myzone:16m inactive=7d max_size=1024m;</div></div>
<p>Чистить кэш nginx будет сам. Кстати, в процессе отладки вы можете просто ходить в эту папку и смотреть что там закэшировалось.<br />
Кэш можно включить либо для определенного location либо для всего виртуального хоста.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">proxy_no_cache $cookie_logged; #условия, при которых ответ не будет сохраняться в кэш<br />
proxy_cache_bypass $cookie_logged; #условия, при которых ответ не будет браться из кэша<br />
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;<br />
proxy_pass_header Set-Cookie;#разрешает передавать от проксируемого сервера клиенту запрещённые для передачи строки<br />
proxy_ignore_headers &quot;Expires&quot; &quot;Cache-Control&quot;; #запрещает обработку некоторых строк заголовка из ответа проксированного сервера<br />
proxy_cache_valid 200 301 302 304 1h; #время кэширования для разных ответов<br />
proxy_cache myzone; #включает кэширование и задает зону</div></div>
<p>В процессе настройки посмотрите какие куки и в какой момент отправляет пользователю ваше приложение.<br />
В интернете можно найти готовые конфиги nginx-а для кэширования под различные популярные CMS.<br />
&#8220;Тупой&#8221; вариант кэширования с большим сроком устаревания кэша можно использовать в момент DDOS-а, тогда есть шанс, что сервер справится с наплывом запросов и сайт хоть и потеряет в функциональности, но останется доступен для поисковых систем и не уронит в след за собой остальные сайты на этом сервере.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/03/24/kehshirovanie-v-nginx/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Настройка logwatch</title>
		<link>http://unix-notes.ru/2011/02/18/nastrojjka-logwatch/</link>
		<comments>http://unix-notes.ru/2011/02/18/nastrojjka-logwatch/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 12:18:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[logwatch]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=659</guid>
		<description><![CDATA[Logwatch очень полезная утилита (перловый скрипт), которая ежедневно по крону анализирует системные логи и обо всех подозрительных вещах докладывает вам по почте. Она реально может помочь своевременно обнаружить компрометацию системы. Чаще всего она уже даже установлена в системе и прописана в cron.daily, но не активизирована. Если все-таки не установлена, то ставим: yum install logwatch Настройка [...]]]></description>
			<content:encoded><![CDATA[<p>Logwatch очень полезная утилита (перловый скрипт), которая ежедневно по крону анализирует системные логи и обо всех подозрительных вещах докладывает вам по почте. Она реально может помочь своевременно обнаружить компрометацию системы. Чаще всего она уже даже установлена в системе и прописана в cron.daily, но не активизирована. Если все-таки не установлена, то ставим:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum install logwatch</div></div>
<p>Настройка проста до безобразия, а пользы от скрипта очень много. Просто копируем конфиг-пример /usr/share/logwatch/default.conf в /etc/logwatch/conf/logwatch.conf</p>
<p>В конфиге нужно поправить только MailTo &#8211; прописать мыло расположенное на внешнем сервисе, а не на проверяемой системе. Еще можно увеличить детализацию отчетов параметром Detail. </p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/02/18/nastrojjka-logwatch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разные php.ini для Apache и консольных скриптов</title>
		<link>http://unix-notes.ru/2011/02/02/raznye-php-ini-dlya-apache-i-konsolnykh-skriptov/</link>
		<comments>http://unix-notes.ru/2011/02/02/raznye-php-ini-dlya-apache-i-konsolnykh-skriptov/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 13:04:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=657</guid>
		<description><![CDATA[Иногда бывает нужно сделать так, чтобы апач и скрипты запускаемые кроном имели разные php.ini. К примеру, для того чтобы ограничить скрипты апача разными disable_functions. Просто создаем копию php.ini в любом месте, допустим, это будет версия для Apache. Добавляем в нее: disable_functions=popen,exec,system,passthru,proc_open,shell_exec Это серьезно усложнит жизнь злоумышленнику на пути повышения привилегий. И прописываем путь к этому [...]]]></description>
			<content:encoded><![CDATA[<p>Иногда бывает нужно сделать так, чтобы апач и скрипты запускаемые кроном имели разные php.ini. К примеру, для того чтобы ограничить скрипты апача разными disable_functions.<br />
Просто создаем копию php.ini в любом месте, допустим, это будет версия для Apache. Добавляем в нее:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">disable_functions=popen,exec,system,passthru,proc_open,shell_exec</div></div>
<p>Это серьезно усложнит жизнь злоумышленнику на пути повышения привилегий.<br />
И прописываем путь к этому php.ini в httpd.conf:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">PHPIniDir /etc/httpd/php.ini</div></div>
<p>Перезапускаем апач и простеньким скриптом проверяем что получилось:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?php<br />
system('ls -la');<br />
?&gt;</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/02/02/raznye-php-ini-dlya-apache-i-konsolnykh-skriptov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Права на файлы при ssh авторизации по ключу</title>
		<link>http://unix-notes.ru/2010/11/30/prava-na-fajjly-pri-ssh-avtorizacii-po-klyuchu/</link>
		<comments>http://unix-notes.ru/2010/11/30/prava-na-fajjly-pri-ssh-avtorizacii-po-klyuchu/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 13:22:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=649</guid>
		<description><![CDATA[Все время забываю какие должны быть права поэтому сделаю заметку: Права на домашний каталог юзера: drwx------ &#160;5 admin &#160; &#160; &#160;admin &#160; &#160; &#160;4096 Nov 30 15:42 admin Каталог .ssh drwx------ 2 admin admin 4096 Nov 30 15:23 .ssh authorized_keys -rw------- 1 admin admin &#160;213 Nov 30 15:23 authorized_keys]]></description>
			<content:encoded><![CDATA[<p>Все время забываю какие должны быть права поэтому сделаю заметку:<br />
Права на домашний каталог юзера:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">drwx------ &nbsp;5 admin &nbsp; &nbsp; &nbsp;admin &nbsp; &nbsp; &nbsp;4096 Nov 30 15:42 admin</div></div>
<p>Каталог .ssh</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">drwx------ 2 admin admin 4096 Nov 30 15:23 .ssh</div></div>
<p>authorized_keys</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">-rw------- 1 admin admin &nbsp;213 Nov 30 15:23 authorized_keys</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/11/30/prava-na-fajjly-pri-ssh-avtorizacii-po-klyuchu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Скрипт синхронизации баз, сайтов и конфигов</title>
		<link>http://unix-notes.ru/2010/11/24/skript-sinkhronizacii-baz-sajjtov-i-konfigov/</link>
		<comments>http://unix-notes.ru/2010/11/24/skript-sinkhronizacii-baz-sajjtov-i-konfigov/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 12:44:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[bash]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=647</guid>
		<description><![CDATA[С помощью данного скрипта можно синхронизировать папки сайтов, базы MySQL и конфиги виртуал-хостов апача и nginx с одного сервера на другой. Синхронизация баз происходит без остановку мускула. #!/bin/bash param=&#34; --progress -plzuogthr --compress-level=9 --delete-after&#34; sitesfromserver1=&#34;site1.ru site2.ru site3.ru&#34; basesfromserver1=&#34;basesite1 basesite2 basesite3&#34; ### Apache vhosts - Not need &#34;update&#34; parametr rsync -e &#34;ssh -p222&#34; &#160;--progress -plzogthr --compress-level=9 --delete-after [...]]]></description>
			<content:encoded><![CDATA[<p>С помощью данного скрипта можно синхронизировать папки сайтов, базы MySQL и конфиги виртуал-хостов апача и nginx с одного сервера на другой. Синхронизация баз происходит без остановку мускула.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#!/bin/bash<br />
<br />
param=&quot; --progress -plzuogthr --compress-level=9 --delete-after&quot;<br />
sitesfromserver1=&quot;site1.ru site2.ru site3.ru&quot;<br />
basesfromserver1=&quot;basesite1 basesite2 basesite3&quot;<br />
<br />
### Apache vhosts - Not need &quot;update&quot; parametr<br />
rsync -e &quot;ssh -p222&quot; &nbsp;--progress -plzogthr --compress-level=9 --delete-after /etc/httpd/vhosts root@server2.domain.com:/etc/httpd<br />
<br />
### Nginx vhosts - Not need &quot;update&quot; parametr<br />
rsync -e &quot;ssh -p222&quot; &nbsp;--progress -plzogthr --compress-level=9 --delete-after /etc/nginx/vhosts root@server2.domain.com:/etc/nginx<br />
<br />
### Sites sync<br />
for site in $sitesfromserver1<br />
&nbsp; &nbsp; do<br />
&nbsp; &nbsp; rsync -e &quot;ssh -p222&quot; $param /usr/local/www/$site root@server2.domain.com:/usr/local/www<br />
done<br />
<br />
### MySQL bases sync<br />
echo &quot;Lock bases on Server1 and Server2&quot;<br />
echo &quot;FLUSH TABLES WITH READ LOCK; SET GLOBAL read_only = ON;&quot; | /usr/bin/mysql -u backup -pPasWord<br />
ssh -p222 root@server2.domain.com 'echo &quot;FLUSH TABLES WITH READ LOCK; SET GLOBAL read_only = ON;&quot; | /usr/bin/mysql -u backup -pPasWord'<br />
<br />
echo &quot;Sleep 15s&quot;<br />
sleep 15s<br />
<br />
# Bases from Server1<br />
for base in $basesfromserver1<br />
&nbsp; &nbsp; do<br />
&nbsp; &nbsp; rsync -e &quot;ssh -p222&quot; $param /var/lib/mysql/$base root@server2.domain.com:/var/lib/mysql<br />
done<br />
<br />
echo &quot;Unlock bases&quot;<br />
echo &quot;SET GLOBAL read_only = OFF; UNLOCK TABLES;&quot; | /usr/bin/mysql -u backup -pPasWord<br />
ssh -p222 root@server2.domain.com 'echo &quot;SET GLOBAL read_only = OFF; UNLOCK TABLES;&quot; | /usr/bin/mysql -u backup -pPasWord'<br />
<br />
/etc/init.d/mysqld restart<br />
ssh -p222 root@server2.domain.com /etc/init.d/mysqld restart</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/11/24/skript-sinkhronizacii-baz-sajjtov-i-konfigov/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

