<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3131631623204144052</id><updated>2012-01-30T14:46:03.183+04:00</updated><title type='text'>Полезняшки</title><subtitle type='html'>ЭТОТ БЛОГ ПРИЗВАН НАСЫТИТЬ ИНФОРМАЦИЕЙ РУНЕТ В НЕКОТОРЫХ  ОБЛАСТЯХ, ГДЕ Я СТОЛКНУЛСЯ С ИНФОРМАЦИОННЫМ ГОЛОДОМ. 
(или просто собраны материалы, которые запоминать не хочется, но бывает иногда нужны.)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ramzaj.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ramzaj.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ramzaj</name><uri>http://www.blogger.com/profile/09334029430929014001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3131631623204144052.post-7135049311015283502</id><published>2007-05-18T18:33:00.000+04:00</published><updated>2007-05-18T18:43:07.999+04:00</updated><title type='text'>ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ</title><content type='html'>DOCUMENT_ROOT&lt;br /&gt;&lt;br /&gt;Корневой каталог документов веб-сервера. Например, если при запросе http://www.my-web-server.ru/ сервер пересылает посетителю файл d:/www/index.html, значением переменной DOCUMENT_ROOT будет d:/www. Это обычно совпадает с тем, что указано в директиве DocumentRoot конфигурационного файла сервера Apache.&lt;br /&gt;&lt;br /&gt;CONTENT_LENGTH&lt;br /&gt;&lt;br /&gt;Длина тела запроса. Обычно это поле анализируют, если получен запрос типа POST.&lt;br /&gt;&lt;br /&gt;CONTENT_TYPE&lt;br /&gt;&lt;br /&gt;Тип принятых данных. Например, multipart/form-data.&lt;br /&gt;&lt;br /&gt;GATEWAY_INTERFACE&lt;br /&gt;&lt;br /&gt;Имя и версия CGI-протокола. Например: CGI/1.1. Эта переменная может оказаться полезной, чтобы определить, откуда запущена программа. Если значение переменной отсутствует, то программа, скорее всего, вызвана не через веб, а запущена из командной строки на сервере.&lt;br /&gt;&lt;br /&gt;HTTP_ACCEPT&lt;br /&gt;&lt;br /&gt;Список mime-типов, которые способен принять браузер. Переменная может содержать только маску */*, либо список значений, разделенных запятыми: text/html, image/png, image/jpeg, image/gif, image/x-xbitmap, application/msword.&lt;br /&gt;&lt;br /&gt;HTTP_ACCEPT_CHARSET&lt;br /&gt;&lt;br /&gt;Список воспринимаемых браузером кодировок. Например, windows-1251;q=1.0, utf-8;q=1.0, utf-16;q=1.0, iso-8859-1;q=0.6, *;q=0.1. Обратите внимание, что после каждой кодировки указан ее «вес», который расставляет кодировки в порядке предпочтения.&lt;br /&gt;&lt;br /&gt;HTTP_ACCEPT_ENCODING&lt;br /&gt;&lt;br /&gt;Список типов кодирования, которые понимает браузер. Например: gzip, deflate, x-gzip.&lt;br /&gt;&lt;br /&gt;HTTP_ACCEPT_LANGUAGE&lt;br /&gt;&lt;br /&gt;Список языков, которые принимает браузер. Например: ru, en.&lt;br /&gt;&lt;br /&gt;HTTP_CACHE_CONTROL&lt;br /&gt;&lt;br /&gt;Способ кэширования документов (или указание о его отсутствии). Например: no-cache. В ранних версиях Netscape Navigator это значение доступно в переменной HTTP_PRAGMA.&lt;br /&gt;&lt;br /&gt;HTTP_CONNECTION&lt;br /&gt;&lt;br /&gt;Тип соединения. Например: Keep-Alive.&lt;br /&gt;&lt;br /&gt;HTTP_COOKIE&lt;br /&gt;&lt;br /&gt;Список пар вида имя=значение, содержащихся в cookiе для текущей страницы или сервера. Значения cookie устанавливает веб-сервер, а браузер клиента сохраняет их и передает серверу при следующих запросах, ведущих на тот же сервер.&lt;br /&gt;&lt;br /&gt;HTTP_HOST&lt;br /&gt;&lt;br /&gt;Запрошенное доменное имя. Часто бывает так, что один и тот же сервер доступен по нескольким адресам, например, http://www.my-web-server.ru и http://my-web-server.ru. Переменная примет значения www.my-web-server.ru и my-web-server.ru, соответственно. Переменную можно использовать, чтобы автоматически перенаправлять браузер на другой адрес, например, если вы приобрели новое, более красивое, доменное имя.&lt;br /&gt;&lt;br /&gt;HTTP_REFERER&lt;br /&gt;&lt;br /&gt;Адрес страницы, с которой пользователь попал на сервер. Например, если на странице http://www.web-server-1.ru/index.html стоит ссылка на ресурс http://www.web-server-2.ru/index.html, то второй веб-сервер получит в этой переменной значение http://www.web-server-1.ru/index.html. С помощью переменной HTTP_REFERER можно узнать, кто ссылается на ваш сервер. Более того, если посетитель пришел с поисковой системы, часто в переменной виден тот запрос, по которому вас нашли.&lt;br /&gt;&lt;br /&gt;HTTP_USER_AGENT&lt;br /&gt;&lt;br /&gt;Идентификатор клиентской программы (браузера) и операционной системы. Значение этой переменной не стандартизировано и формируется браузером так, что в ней содержится имя и версия браузера одновременно с версией операционной системы. Например, Microsoft Internet Explorer 6.0 под управлением Windоws XP передает такую строку: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705).&lt;br /&gt;&lt;br /&gt;QUERY_STRING&lt;br /&gt;&lt;br /&gt;Строка запроса. Если пользователь запросил документ и указал дополнительные параметры, например, http://www.my-web-server.ru/index.html?var1=name1, переменная получит значение var1=name. Эта переменная активно применяется при обработке веб-форм.&lt;br /&gt;&lt;br /&gt;REDIRECT_QUERY_STRING&lt;br /&gt;&lt;br /&gt;Эта и две следующие переменные появляются в том случае, если при запросе некоего ресурса веб-сервер выполнил внутреннее перенаправление, например, на скрипт, который указан в качестве индексного файла для текущего каталога, либо при вызове CGI-программы директивой SSI. В переменной REDIRECT_QUERY_STING содержатся те же данные, что и в переменной QUERY_STRING.&lt;br /&gt;&lt;br /&gt;REDIRECT_STATUS&lt;br /&gt;&lt;br /&gt;При перенаправлении в этой переменной указан код ответа, например, 200.&lt;br /&gt;&lt;br /&gt;REDIRECT_URL&lt;br /&gt;&lt;br /&gt;Если на сервере выполнено перенаправление, эта переменная содержит запрошенный URI.&lt;br /&gt;&lt;br /&gt;REMOTE_ADDR&lt;br /&gt;&lt;br /&gt;IP-адрес пользователя. В том случае, если между пользователем и веб-сервером находится прокси-сервер, переменная скорее всего будет содержать адрес прокси-сервера.&lt;br /&gt;&lt;br /&gt;REMOTE_HOST&lt;br /&gt;&lt;br /&gt;Имя узла пользователя или его прокси-сервера. Если эта переменная не установлена, можно воспользоваться значением переменной REMOTE_ADDR.&lt;br /&gt;&lt;br /&gt;REMOTE_PORT&lt;br /&gt;&lt;br /&gt;Номер порта клиента. Если на машине клиента одновременно работают несколько браузеров, значение этой переменной окажется различной для каждого из них. Интересно отметить, что, например, устаревший ныне браузер Netscape Navigator 2 увеличивает номер порта при каждом обновлении страницы.&lt;br /&gt;&lt;br /&gt;REQUEST_METHOD&lt;br /&gt;&lt;br /&gt;Текущий метод HTTP-запроса. Например: GET или HEAD.&lt;br /&gt;&lt;br /&gt;REQUEST_URI&lt;br /&gt;&lt;br /&gt;URI запрошенного документа. Понятие URI часто путают с URL. Если запрошена страница http://www.my-web-server.ru/dir/index.html, переменная примет значение /dir/index.html. Если в запросе содержится строка запроса (помещаемая в переменную QUERY_STRING), она останется и в переменной REQUEST_URI.&lt;br /&gt;&lt;br /&gt;SCRIPT_FILENAME&lt;br /&gt;&lt;br /&gt;Путь к скрипту на веб-сервере. Переменная устанавливается, если пользователь запросил CGI-скрипт или программу, а не html-документ. Например: d:/www/cgi/2/c2.exe.&lt;br /&gt;&lt;br /&gt;SCRIPT_NAME&lt;br /&gt;&lt;br /&gt;URI скрипта, если запрошен CGI-скрипт или программа, а не html-документ. В отличие от переменной REQUEST_URI, строка запроса теряется.&lt;br /&gt;&lt;br /&gt;SERVER_ADDR&lt;br /&gt;&lt;br /&gt;IP-адрес веб-сервера.&lt;br /&gt;&lt;br /&gt;SERVER_ADMIN&lt;br /&gt;&lt;br /&gt;Адрес электронной почты администратора сервера. Значение переменной зависит от того, что указано в файле конфигурации.&lt;br /&gt;&lt;br /&gt;SERVER_NAME&lt;br /&gt;&lt;br /&gt;Имя сервера. Оно может не совпадать с доменным именем. Значение этой переменной указано в конфигурационном файле.&lt;br /&gt;&lt;br /&gt;SERVER_PORT&lt;br /&gt;&lt;br /&gt;Номер порта веб-сервера, по которому он ожидает запросы. Наиболее вероятное значение — 80.&lt;br /&gt;&lt;br /&gt;SERVER_PROTOCOL&lt;br /&gt;&lt;br /&gt;Имя и версия протокола, согласно которому веб-сервер общается с клиентом. Например: HTTP/1.1.&lt;br /&gt;&lt;br /&gt;SERVER_SOFTWARE&lt;br /&gt;&lt;br /&gt;Название и версия веб-сервера. Здесь также может содержаться упоминание об операционной системе. Например: Apache/1.3.14 (Win32).&lt;br /&gt;&lt;br /&gt;Мне вот понадобилось и я оставил на память. Надеюсь кому то помогло.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3131631623204144052-7135049311015283502?l=ramzaj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/7135049311015283502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/7135049311015283502'/><link rel='alternate' type='text/html' href='http://ramzaj.blogspot.com/2007/05/blog-post.html' title='ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ'/><author><name>Ramzaj</name><uri>http://www.blogger.com/profile/09334029430929014001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3131631623204144052.post-3414837800161293726</id><published>2007-04-03T19:01:00.000+04:00</published><updated>2007-04-03T19:12:10.767+04:00</updated><title type='text'>Как настроить PPPoE в/на Linux</title><content type='html'>(Тестировалось на Fedora Core 3 - FC3)&lt;br /&gt;Если Вам нужно настроить &lt;span style="font-weight: bold;"&gt;PPPoE соединение на Linux&lt;/span&gt;, а именно на Fedora Core, то вы можете запустить специальный скрипт из консоли &lt;span style="font-weight: bold;"&gt;adsl-setup&lt;/span&gt;, который создаст вам интерфейс (если до этого PPPoE соединений не было настроено, то этот интерфейс будет ppp0). Этот скрипт должен присутствовать в системе Fedora Core. У меня он есть.&lt;br /&gt;Следуйте инструкциям - там не сложно.&lt;br /&gt;После создания интерфейса не забудьте поднять его &lt;span style="font-weight: bold;"&gt;ifup ppp0&lt;/span&gt;&lt;br /&gt;Чтобы дополнительно конфигурировать этот интерфейс откройте и редактируйте файл &lt;span style="font-weight: bold;"&gt;/etc/sysconfig/network-scripts/ifcfg-ppp0&lt;/span&gt;&lt;br /&gt;___________________________________&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;© Ramzaj&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3131631623204144052-3414837800161293726?l=ramzaj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ramzaj.blogspot.com/feeds/3414837800161293726/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3131631623204144052&amp;postID=3414837800161293726' title='Комментарии: 14'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/3414837800161293726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/3414837800161293726'/><link rel='alternate' type='text/html' href='http://ramzaj.blogspot.com/2007/04/pppoe-linux.html' title='Как настроить PPPoE в/на Linux'/><author><name>Ramzaj</name><uri>http://www.blogger.com/profile/09334029430929014001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3131631623204144052.post-3076360630021674366</id><published>2007-03-31T17:56:00.000+04:00</published><updated>2007-04-03T19:12:34.377+04:00</updated><title type='text'>Как включить  форвардинг (forwarding, ip_forwarding, ip_forward)</title><content type='html'>(Тестировалось на FC3 - Fedora Core 3)&lt;br /&gt;Можно каждый раз при загрузке Linux выполнять команду&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;echo "1" &gt; /proc/sys/net/ipv4/ip_forward&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Но зачем, если есть возможность в настройках указать, что включать форвадинг пакетов операционной системе надо при загрузке.&lt;br /&gt;1. Открываете файл &lt;span style="font-weight: bold;"&gt;/etc/sysctl.conf&lt;/span&gt;&lt;br /&gt;2. Устанавливаете параметр &lt;span style="font-weight: bold;"&gt;net.ipv4.ip_forward=1&lt;/span&gt;&lt;br /&gt;3. Сохраняете файл.&lt;br /&gt;___________________________________&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;© Ramzaj&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3131631623204144052-3076360630021674366?l=ramzaj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ramzaj.blogspot.com/feeds/3076360630021674366/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3131631623204144052&amp;postID=3076360630021674366' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/3076360630021674366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/3076360630021674366'/><link rel='alternate' type='text/html' href='http://ramzaj.blogspot.com/2007/03/forwarding-ipforwarding-ipforward.html' title='Как включить  форвардинг (forwarding, ip_forwarding, ip_forward)'/><author><name>Ramzaj</name><uri>http://www.blogger.com/profile/09334029430929014001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3131631623204144052.post-7239099838077085298</id><published>2007-03-26T14:03:00.000+04:00</published><updated>2007-03-26T14:07:27.132+04:00</updated><title type='text'>Как отключить SELinux</title><content type='html'>Кому необходимо это сделать (если уж вдруг ненароком включили)  - то делаете так:&lt;br /&gt;1. Открываете файл &lt;span style="font-weight: bold;"&gt;/etc/sysconfig/selinux&lt;/span&gt;&lt;br /&gt;2. Устанавливаете параметр &lt;span style="font-weight: bold;"&gt;SELinux = disabled&lt;/span&gt;&lt;br /&gt;3. Сохраняете изменения файла.&lt;br /&gt;___________________________________&lt;br /&gt;&lt;span style="font-size: 100%; font-weight: bold;"&gt;&lt;span style="font-family: arial;"&gt;© Ramzaj&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3131631623204144052-7239099838077085298?l=ramzaj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ramzaj.blogspot.com/feeds/7239099838077085298/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3131631623204144052&amp;postID=7239099838077085298' title='Комментарии: 13'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/7239099838077085298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/7239099838077085298'/><link rel='alternate' type='text/html' href='http://ramzaj.blogspot.com/2007/03/selinux.html' title='Как отключить SELinux'/><author><name>Ramzaj</name><uri>http://www.blogger.com/profile/09334029430929014001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3131631623204144052.post-6035676559753179381</id><published>2007-03-12T11:00:00.000+03:00</published><updated>2007-03-12T11:24:37.496+03:00</updated><title type='text'>Резервное копирование Interbase / Firebird и последующее восстановление</title><content type='html'>Всем известно, что резервное копирование и восстановление из копии баз данных очень полезное занятие (особенно копирование).&lt;br /&gt;Рассмотрим процесс этот процесс для СУБД Firebird (Interbase).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Создание резервной копии:&lt;/span&gt;&lt;br /&gt;gbak [-B] [ключи] файл_базы_данных файл_резервной_копии&lt;br /&gt;Значение ключей:&lt;br /&gt;   -g не собирать мусор во время резервного копирования;&lt;br /&gt;   -l игнорировать лимбо-транзакции;&lt;br /&gt;   -m резервирование только метаданных;&lt;br /&gt;   -user имя пользователя;&lt;br /&gt;   -password пароль пользователя;&lt;br /&gt;   -v показать протоколирование во время выполнения процесса;&lt;br /&gt;   -z показать версию gbak.&lt;br /&gt;&lt;br /&gt;Пример для Linux:&lt;br /&gt;/opt/firebird/bin/gbak -b -user SYSDBA -password masterkey /home/work.gdb /home/backup/work.gbk&lt;br /&gt;Копировать базу данных может только ее владелец (пользователь, который создал базу данных) или пользователь SYSDBA.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Останов и активация базы данных:&lt;/span&gt;&lt;br /&gt;Худшим вариантом является восстановление базы данных с резервной копии поверх существующей базы данных в то время, когда с ней работают другие пользователи. Это гарантированно ведет к разрушению базы данных. По этой причине перед восстановлением базы данных с резервной копии необходимо остановить базу данных — перевести ее в состояние shutdown, — выполнить восстановление, а затем сделать базу данных доступной для пользователей.&lt;br /&gt;Останов базы данных можно выполнить при помощи утилиты gfix. Синтаксис останова:&lt;br /&gt;&lt;br /&gt;gfix – sh [ ut ] {- at [ tach ] &lt;целое&gt; | - tr [ an ] &lt;целое&gt; | - force &lt;целое&gt;}&lt;br /&gt;&lt;br /&gt;Переключатель – attach предотвращает новые соединения с базой.&lt;br /&gt;&lt;br /&gt;- tran предотвращает запуск новых транзакций.&lt;br /&gt;&lt;br /&gt;- force останавливает базу данных через указанное количество секунд.&lt;br /&gt;&lt;br /&gt;В строку также нужно включить имя пользователя (переключатель – user ), пароль (- pa [ ssword ]) и полный путь к первичному файлу базы данных.&lt;br /&gt;&lt;br /&gt;Пример :&lt;br /&gt;gfix –sh –force 5 –user SYSDBA –pa masterkey /home/work.gdb&lt;br /&gt;&lt;br /&gt;Для перевода базы данных в активное состояние используется gfix – o [ nline ].&lt;br /&gt;&lt;br /&gt;Пример :&lt;br /&gt;gfix –online –user SYSDBA –pa masterkey home/work.gdb&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Восстановление базы данных:&lt;/span&gt;&lt;br /&gt;gbak [-R/-С] [ключи] файл_базы_данных файл_резервной_копии&lt;br /&gt;&lt;br /&gt;Ключи:&lt;br /&gt;&lt;br /&gt;-R восстановление базы данных в уже существующий файл;&lt;br /&gt;-С восстановление базы данных в новый файл, если файл уже существует,&lt;br /&gt;то процесс будет прерван с ошибкой;&lt;br /&gt;-p размер страницы (1024,2048,4196 или 8192). По умолчанию 1024;&lt;br /&gt;-v задает отображение утилитой протокола выполняемых ею действий.&lt;br /&gt;&lt;br /&gt;Пример:&lt;br /&gt;gbak -R -user SYSDBA -password masterkey /home/work.gbk /home/work.gdb&lt;br /&gt;_________________________________________________________&lt;br /&gt;&lt;span style="font-size: 100%; font-weight: bold;"&gt;&lt;span style="font-family: arial;"&gt;© Ramzaj &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3131631623204144052-6035676559753179381?l=ramzaj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ramzaj.blogspot.com/feeds/6035676559753179381/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3131631623204144052&amp;postID=6035676559753179381' title='Комментарии: 26'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/6035676559753179381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/6035676559753179381'/><link rel='alternate' type='text/html' href='http://ramzaj.blogspot.com/2007/03/interbase-firebird.html' title='Резервное копирование Interbase / Firebird и последующее восстановление'/><author><name>Ramzaj</name><uri>http://www.blogger.com/profile/09334029430929014001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>26</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3131631623204144052.post-8943153525502447106</id><published>2007-03-09T16:03:00.001+03:00</published><updated>2007-03-10T19:07:27.303+03:00</updated><title type='text'>Настройка кеширующего DNS сервера Bind</title><content type='html'>Ищем в /etc файл named.conf (это файл настроек сервера Bind), открываем его и редактируем.&lt;br /&gt;Вам надо отредактировать несколько разделов для того чтобы сервер Bind стал кеширующим DNS сервером.&lt;br /&gt;11.11.11.1; и 11.11.11.2; это ip адреса DNS серверов Вашего провайдера. Вы можете включать в этот список сколько хотите DNS серверов.&lt;br /&gt;allow-query {192.168.1/24; 127.0.0.1/32;}; - здесь перечислены ip адреса, которым разрешено запрашивать DNS записи у нашего сервера. В данном случае разрешено для компьютеров локальной сети и для процессов самого сервера.&lt;br /&gt;Отрывок из файла named.conf:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;options {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        directory "/var/named";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        forwarders {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;            11.11.11.1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;            11.11.11.2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        };&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        dump-file "/var/named/data/cache_dump.db";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        statistics-file "/var/named/data/named_stats.txt";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        allow-query {192.168.1/24; 127.0.0.1/32;};&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        /*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;         * If there is a firewall between you and nameservers you want&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;         * to talk to, you might need to uncomment the query-source&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;         * directive below.  Previous versions of BIND always asked&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;         * questions using port 53, but BIND 8.1 uses an unprivileged&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;         * port by default.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;         */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;         // query-source address * port 53;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;После редактирования не забудьте рестартовать процесс Bind&lt;br /&gt;______________________________________________&lt;br /&gt;&lt;span style="font-size: 100%; font-weight: bold;"&gt;&lt;span style="font-family: arial;"&gt;© Ramzaj&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3131631623204144052-8943153525502447106?l=ramzaj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ramzaj.blogspot.com/feeds/8943153525502447106/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3131631623204144052&amp;postID=8943153525502447106' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/8943153525502447106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/8943153525502447106'/><link rel='alternate' type='text/html' href='http://ramzaj.blogspot.com/2007/03/dns-bind.html' title='Настройка кеширующего DNS сервера Bind'/><author><name>Ramzaj</name><uri>http://www.blogger.com/profile/09334029430929014001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3131631623204144052.post-7124001069937104356</id><published>2007-02-25T16:47:00.000+03:00</published><updated>2007-02-25T16:57:39.793+03:00</updated><title type='text'>Определение VIP-клиентов Squid по логину</title><content type='html'>Естественно, если у вас прикручена авторизация в SQUID, то вам скорее всего нужно, чтоб кто то обходил ограничения. Например вы и директор. Естественно желательно, чтоб обход ограничений происходил по логину.&lt;br /&gt;Это очень просто.&lt;br /&gt;Добавьте строку:&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;acl vipusers proxy_auth "/путь/к/файлу/с/vip-логинами"&lt;/span&gt;&lt;br /&gt;И потом не забудьте пустить этих пользователей куда хотите, до строки запретов:&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;http_access allow vipusers&lt;/span&gt;&lt;br /&gt;Все готово,олько не забудьте дать команду SQUID для считывания новой конфигурации&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;squid -k reconfigure&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 100%; font-weight: bold;"&gt;&lt;span style="font-family: arial;"&gt;© Ramzaj&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3131631623204144052-7124001069937104356?l=ramzaj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ramzaj.blogspot.com/feeds/7124001069937104356/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3131631623204144052&amp;postID=7124001069937104356' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/7124001069937104356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/7124001069937104356'/><link rel='alternate' type='text/html' href='http://ramzaj.blogspot.com/2007/02/vip-squid.html' title='Определение VIP-клиентов Squid по логину'/><author><name>Ramzaj</name><uri>http://www.blogger.com/profile/09334029430929014001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3131631623204144052.post-3336308268631257998</id><published>2007-02-19T19:22:00.000+03:00</published><updated>2007-02-20T12:04:19.024+03:00</updated><title type='text'>MySQL 4.1 и проблемы авторизации</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"  &gt;Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in ....&lt;br /&gt;Ошибка подключения: 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"  &gt;Вот такая штука как то раз после установки MySQL 4.1 выскочила у меня.&lt;br /&gt;Поисковики рулят - потому был найден ответ по адресу &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"  &gt; http://forums.mysql.com/read.php?11,6400,6731#msg-6731 и выяснено, что был сменен протокол авторизации пользователей.&lt;br /&gt;Для решения проблемы нужно тупо дать SQL-запрос следющего вида:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;SET PASSWORD FOR peter@localhost = OLD_PASSWORD('something');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 100%; font-weight: bold;"&gt;&lt;span style="font-family: arial;"&gt;© Ramzaj&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3131631623204144052-3336308268631257998?l=ramzaj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ramzaj.blogspot.com/feeds/3336308268631257998/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3131631623204144052&amp;postID=3336308268631257998' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/3336308268631257998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/3336308268631257998'/><link rel='alternate' type='text/html' href='http://ramzaj.blogspot.com/2007/02/mysql-41.html' title='MySQL 4.1 и проблемы авторизации'/><author><name>Ramzaj</name><uri>http://www.blogger.com/profile/09334029430929014001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3131631623204144052.post-5884609968983199577</id><published>2007-01-27T16:16:00.000+03:00</published><updated>2007-01-27T17:07:05.776+03:00</updated><title type='text'>Блокировка баннеров и мультимедиа в Squid</title><content type='html'>&lt;span style="font-weight: bold;font-family:arial;" &gt;Не буду писать насколько это важно, сами для себя определяйте.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Я выбрал способ, при котором  баннер будет заменяться на рисунок размером 1х1, находящимся на веб-сервере в локальной сети (шлюз то у нас на Linux подразумевается).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Итак настройки в squid.conf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;acl media urlpath_regex -i "/usr/local/squid/media.lst"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;acl banners dstdom_regex -i "/usr/local/squid/banners.lst"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Далее ниже в соответствующем разделе&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;http_access deny media&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;http_access deny banners&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Еще ниже в соответствующем разделе&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;deny_info http://192.168.1.1/empty/empty.gif banners&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Это для того чтоб вместо баннера показывался прозрачный рисунок&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Сами файлы имеют следующий формат&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;media.lst&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;(\.3gp$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.3pm$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.asf$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.au$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.avi$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.mid$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.mmf$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.mp.$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.mov$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.mpeg$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.qt$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.ra$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.rm$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.r.m$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.rv$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.wax$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.wav$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.wm$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.wm.$)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(\.wvx$)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;banners.lst&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;(.*bannerbank\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*bannercity\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*lbn\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*adnet\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*tbn\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*banner\..*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*smi\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*sj3\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*bannerhouse\.ru.*) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*banners\.rambler\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*linkexchange\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*reklama\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*bizlink\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*rb\.rfn\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*gnezdo\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*rotabanner\.dni\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*bs\.yandex\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*r\.mail\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*business\.lbn\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*a\.gismeteo\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*banner\.rbc\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*pics\.rbc\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*pics\.utro\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*autocontext\.begun\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*banner\.job\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*ad\.bannerhost\.ru.*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(.*ad.\.rambler\.ru.*)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;* означает повторение элемента любое количество раз, включая ноль&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;. означает любой символ&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 100%; font-weight: bold;"&gt;&lt;span style="font-family: arial;"&gt;© Ramzaj&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3131631623204144052-5884609968983199577?l=ramzaj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ramzaj.blogspot.com/feeds/5884609968983199577/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3131631623204144052&amp;postID=5884609968983199577' title='Комментарии: 8'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/5884609968983199577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/5884609968983199577'/><link rel='alternate' type='text/html' href='http://ramzaj.blogspot.com/2007/01/squid_27.html' title='Блокировка баннеров и мультимедиа в Squid'/><author><name>Ramzaj</name><uri>http://www.blogger.com/profile/09334029430929014001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3131631623204144052.post-25848922415018124</id><published>2007-01-22T14:09:00.000+03:00</published><updated>2008-11-13T14:04:10.907+03:00</updated><title type='text'>Система аутентификации пользователей Squid</title><content type='html'>&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;Данная система призвана обеспечить аутентификацию пользователей Squid через базу данных. В моем случае СУБД Firebird, но т.к. используется DBI, то можно использовать любую СУБД, для которой есть соответствующие драйверы.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;В базе данных есть только одна таблица USERS.&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_S8fgv_3cWqs/RbXAv2wt9eI/AAAAAAAAAAM/kKzl1IITcvw/s1600-h/squid.gdb.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_S8fgv_3cWqs/RbXAv2wt9eI/AAAAAAAAAAM/kKzl1IITcvw/s320/squid.gdb.gif" alt="" id="BLOGGER_PHOTO_ID_5023132887787894242" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;Почитав комментарии в конфигурационном файле Squid, можно узнать что в принципе внешняя программа для аутентификации должна на выходе выдавать OK в случае успеха или ERR в случае неудачи процесса аутентификации.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Пароли в базе данных в поле PASSWD хранятся в шифрованном виде и их можно только поменять на новые. Добавление и редактирование пользователей осуществляются через веб-интерфейс (выложено будет позже).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;А пока вот программа аутентификации, написана на Perl.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;#!/usr/bin/perl&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;use DBI;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$_=&lt;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;chomp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;($login, $passwd) = split / +/;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; $dbh = DBI-&gt;connect(&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;        'dbi:InterBase:' .&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;    'dbname=/home/data/squid.gdb;' .&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;    'host=localhost;' .&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;    'ib_charset=win1251;' ,&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;        'SYSDBA',&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;        'masterkey', { RaiseError =&gt; 1, AutoCommit =&gt; 0 });&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$sql = "select passwd from users where login='$login'";&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;$sth = $dbh-&gt;prepare( $sql );&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;$sth-&gt;execute();&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;@res = $sth-&gt;fetchrow_array;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;$pass=$res [ 0 ];&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;$sth-&gt;finish();&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; $dbh-&gt;commit();&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; $dbh-&gt;disconnect();&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;unless($pass) {&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;    print "ERR\n";&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;} else {&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;    if ($pass eq crypt($passwd, $passwd)) {&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;        print "OK\n";&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;        } else {&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;        print "ERR\n";&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;© Ramzaj&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3131631623204144052-25848922415018124?l=ramzaj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ramzaj.blogspot.com/feeds/25848922415018124/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3131631623204144052&amp;postID=25848922415018124' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/25848922415018124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/25848922415018124'/><link rel='alternate' type='text/html' href='http://ramzaj.blogspot.com/2007/01/squid.html' title='Система аутентификации пользователей Squid'/><author><name>Ramzaj</name><uri>http://www.blogger.com/profile/09334029430929014001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_S8fgv_3cWqs/RbXAv2wt9eI/AAAAAAAAAAM/kKzl1IITcvw/s72-c/squid.gdb.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3131631623204144052.post-234482124819310111</id><published>2006-12-20T19:04:00.001+03:00</published><updated>2007-01-29T19:13:38.014+03:00</updated><title type='text'>Как включить поддержку Firebird / Interbase в PHP на Linux</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Однажды возникла необходимость добавить в PHP, установленный на сервере с ОС Fedora Core 3 поддержку СУБД Interbase, а точнее Firebird 1.5, т.к. именно этот сервер был установлен. Так получилось, что PHP был установлен и настроен при инсталляции ОС. Для решения проблемы всего то требовалось заполучить библиотеку interbase.so.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;У меня PHP имел версию 4.3.9, поэтому пришлось искать именно такую версию исходников.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Далее был процесс разархивирования исходников и компиляции, НО БЕЗ УСТАНОВКИ!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;./configure --with-interbase=shared &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;ВСЕ, НИКАКИХ make install&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;в папке modules появляется interbase.so.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Далее переносим его в папку, где хранятся аналогичные библиотеки для PHP и редактируем php.ini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Место, где PHP будет искать библиотеки определяется параметром extension_dir&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;В разделе Dynamic Extensions прописываем строчку extension=interbase.so&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Далее рестартим apache (service httpd restart или как там у вас) и наслаждаемся.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;© Ramzaj&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3131631623204144052-234482124819310111?l=ramzaj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ramzaj.blogspot.com/feeds/234482124819310111/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3131631623204144052&amp;postID=234482124819310111' title='Комментарии: 32'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/234482124819310111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/234482124819310111'/><link rel='alternate' type='text/html' href='http://ramzaj.blogspot.com/2006/12/firebirdinterbase-php-linux.html' title='Как включить поддержку Firebird / Interbase в PHP на Linux'/><author><name>Ramzaj</name><uri>http://www.blogger.com/profile/09334029430929014001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>32</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3131631623204144052.post-3473777144196017635</id><published>2006-12-20T19:00:00.000+03:00</published><updated>2007-01-22T10:18:12.981+03:00</updated><title type='text'>Как поставить IBPerl на Linux</title><content type='html'>&lt;div  style="font-weight: bold;font-family:arial;" align="justify"&gt;&lt;span style="font-size:100%;"&gt;Предыстория.&lt;br /&gt;Работал веб-сервер на RedHat какой то 6 в&lt;/span&gt;&lt;span style="font-size:100%;"&gt;ерсии&lt;/span&gt;&lt;span style="font-size:100%;"&gt;, крутился Interbase и было много скриптов на Perl, которые использовали библио&lt;/span&gt;&lt;span style="font-size:100%;"&gt;теку &lt;/span&gt;&lt;span style="font-size:100%;"&gt;IBerl&lt;/span&gt;&lt;span style="font-size:100%;"&gt;(когда все разрабатывалось драйвера DBD:Interbase для DBI и впомине не было)&lt;/span&gt;&lt;span style="font-size:100%;"&gt; для общения с СУБД Interbase&lt;/span&gt;&lt;span style="font-size:100%;"&gt;. И однажды слетела ОС. Хотя все данные остались.&lt;br /&gt;Выбрали:&lt;br /&gt;ОС - FedoraCore 3&lt;br /&gt;СУБД - Firebird 1.5&lt;br /&gt;Языки - Perl, PHP&lt;br /&gt;библиотеки API - IBerl, новые скрипты на DBI+DBD:Interbase&lt;br /&gt;К тому времени IBPerl уже &lt;a href="http://www.karwin.com/wiki/index.php/IBPerl"&gt;не поддерживался &lt;/a&gt;и найти сам дистрибутив стоило труда, но еще большего труда стоило бы перевести все эти многие сотни скриптов на связку DBI+DBD:Interbase &lt;/span&gt;&lt;/div&gt;&lt;div  style="font-weight: bold;font-family:arial;" align="justify"&gt;&lt;span style="font-size:100%;"&gt;История&lt;br /&gt;Начал устанавливать IBPerl. &lt;/span&gt;&lt;/div&gt;&lt;div  style="font-weight: bold;font-family:arial;" align="justify"&gt;&lt;span style="font-size:100%;"&gt;Разархивировал.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;Начал собирать.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;[root@www install]# gunzip IB&lt;br /&gt;IB/                 IBPerl-08p3.tar.gz&lt;br /&gt;[root@www install]# gunzip IBPerl-08p3.tar.gz&lt;br /&gt;[root@www install]# tar -xvf IBPerl-08p3.tar&lt;br /&gt;[root@www IBPerl-0.8p3]# perl Makefile.PL&lt;br /&gt;IBPerl 0.8p3 detecting InterBase LI-V1.5.2.4731 Firebird 1.5 (1.5) on the linux platform...&lt;br /&gt;&lt;br /&gt;Checking if your kit is complete...&lt;br /&gt;Looks good&lt;br /&gt;Writing Makefile for IBPerl&lt;br /&gt;&lt;br /&gt;You must now run 'make'.&lt;br /&gt;[root@www IBPerl-0.8p3]# make&lt;br /&gt;cp IBPerl.pm blib-linux-gcc/lib/IBPerl.pm&lt;br /&gt;/usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp -noprototypes -typemap /usr/lib/perl5/5.8.5/ExtUtils/typemap IBPerl.xs &gt; IBPerl.xsc &amp;&amp;amp; mv IBPerl.xsc IBPerl.c&lt;br /&gt;gcc -c -I"/opt/firebird/include" -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -DVERSION=\"0.8p3\" -DXS_VERSION=\"0.8p3\" -fPIC "-I/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE" -UIBDEBUG -DIBVERSION=1.5 IBPerl.c&lt;br /&gt;In file included from IBPerl.xs:17:&lt;br /&gt;IBPerl.h:74: error: redefinition of `struct vary'&lt;br /&gt;make: *** [IBPerl.o] Ошибка 1&lt;br /&gt;[root@www IBPerl-0.8p3]#&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;font-size:100%;"  &gt;Стал выяснять что за структура такая.&lt;br /&gt;Она имела следующий вид:&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;span style="font-size:100%;"&gt;typedef struct vary {&lt;br /&gt;short          vary_length;&lt;br /&gt;char           vary_string [1];&lt;br /&gt;} VARY;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;font-size:100%;"  &gt;Выяснил, что структура vary нужна для работы с varchar. Раньше эту структуру надо было декларировать самостоятельно, теперь она задекларирована в ibase.h. Отсюда и ошибка. Поэтому надо было внести изменения в виде условной компиляции такого вида:&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;if FB_API_VER &gt;= 15&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;typedef struct vary VARY;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;else&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;typedef struct vary {&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; short vary_length;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; char vary_string[1];&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;} VARY;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;endif&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Так как у меня СУБД - Firebird 1.5, то я с условной компиляцией не заморачивался, а просто заменил тот кусочек кода на такой:&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;typedef struct vary VARY;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;br /&gt;И все отлично поставилось. Потом я исправленный дистрибутив заархивировал и держу его у себя на винчестере на "всякий пожарный случай".&lt;br /&gt;&amp;copy; Ramzaj&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3131631623204144052-3473777144196017635?l=ramzaj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ramzaj.blogspot.com/feeds/3473777144196017635/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3131631623204144052&amp;postID=3473777144196017635' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/3473777144196017635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3131631623204144052/posts/default/3473777144196017635'/><link rel='alternate' type='text/html' href='http://ramzaj.blogspot.com/2006/12/ibperl-linux.html' title='Как поставить IBPerl на Linux'/><author><name>Ramzaj</name><uri>http://www.blogger.com/profile/09334029430929014001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
