<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Блогът на Анатолий Дилов &#187; server</title>
	<atom:link href="http://blog.adilov.net/tag/server/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.adilov.net</link>
	<description>(не)одушевеното около мен</description>
	<lastBuildDate>Sat, 12 Nov 2011 22:26:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Рилски манастир</title>
		<link>http://blog.adilov.net/personal/around-me/rilski-manastir</link>
		<comments>http://blog.adilov.net/personal/around-me/rilski-manastir#comments</comments>
		<pubDate>Thu, 03 Sep 2009 14:08:35 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[Около мен]]></category>
		<category><![CDATA[Почивка и свободно време]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[POI]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[Дупница]]></category>
		<category><![CDATA[манастир]]></category>
		<category><![CDATA[отпуска]]></category>
		<category><![CDATA[път]]></category>
		<category><![CDATA[рилски]]></category>
		<category><![CDATA[събота]]></category>
		<category><![CDATA[сървър]]></category>
		<category><![CDATA[чист]]></category>
		<category><![CDATA[чистота]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=1211</guid>
		<description><![CDATA[Ееех, отпуска&#8230; Заплануваните пътувания се провалиха и ето &#8211; време за разчистване на къщата, обикаляне по магазините, софтуерна и хардуерна чистка на сървър&#8217;о и естествено &#8211; блога. Отдавна имах желание да напиша няколко поста за съботно-неделните разходки, но честно казано не ми се занимаваше със свалянето на снимки от фотоапарата, писане на постове. Намерих такова [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.adilov.net/wp-content/uploads/2009/09/IMG_0084.JPG" rel="lightbox[1211]" title="Рилски Манастир"><img class="alignleft" title="Рилски Манастир" src="http://blog.adilov.net/wp-content/uploads/2009/09/IMG_0084.JPG" alt="" width="202" height="151" /></a><a href="http://blog.adilov.net/wp-content/uploads/2009/09/IMG_0099.JPG" rel="lightbox[1211]" title="Рилски манастир"><img class="alignleft" title="Рилски манастир" src="http://blog.adilov.net/wp-content/uploads/2009/09/IMG_0099.JPG" alt="" width="202" height="151" /></a>Ееех, отпуска&#8230; Заплануваните пътувания се провалиха и ето &#8211; време за разчистване на къщата, обикаляне по магазините, софтуерна и хардуерна чистка на сървър&#8217;о и естествено &#8211; блога.<span id="more-1211"></span></p>
<p>Отдавна имах желание да напиша няколко поста за съботно-неделните разходки, но честно казано не ми се занимаваше със свалянето на снимки от фотоапарата, писане на постове. Намерих такова време и ето го първъят пост &#8211; Рилският манастир.</p>
<p>Събота &#8211; свободен ден &#8211; ден за шматкане. Зяпам по оптиките и си търся очила. След половин-дневно обикаляне си харесах, но оставаше още половин ден. Къде-къде и се сетих за <a href="http://blog.homeworkers-bg.com/">Венци</a>, който спомена преди няколко дни, че ще ходи до Рилския манастир &#8211; имало някакво събиране там, етц. Звъннах му &#8211; не вдигна телефона и реших директно да се замъкна до там (с малка компания :&gt;).</p>
<p><a href="http://blog.adilov.net/wp-content/uploads/2009/09/IMG_0083.JPG" rel="lightbox[1211]" title="Рилски манастир"><img class="alignleft" title="Рилски манастир" src="http://blog.adilov.net/wp-content/uploads/2009/09/IMG_0083.JPG" alt="" width="202" height="151" /></a></p>
<p><a href="http://blog.adilov.net/wp-content/uploads/2009/09/IMG_0086.JPG" rel="lightbox[1211]" title="Рилски манастир"><img class="alignleft" title="Рилски манастир" src="http://blog.adilov.net/wp-content/uploads/2009/09/IMG_0086.JPG" alt="" width="202" height="151" /></a>Пътят не беше никак лош, манастирът го имаше като POI на GPS-а и стигнахме за доста приемливо време, а манастирът &#8211; в доста по-добър вид, отколкото го помня преди години. Видимо реставриран &#8211; боя + икони. Външните икони също бяха фикснати.</p>
<p>Няколко хубави снимки и телефонът ми звънна &#8211; Венци! Вече не бил там &#8211; засякохме се около Дупница, прибрахме се, вечеряхме в един китайски и денят завърши. Следващата разходка ще е до връх Мусала :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/personal/around-me/rilski-manastir/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tomcat, Apache, mod_jk и FreeBSD</title>
		<link>http://blog.adilov.net/technical/how-to/tomcat-apache-mod_jk-i-freebsd</link>
		<comments>http://blog.adilov.net/technical/how-to/tomcat-apache-mod_jk-i-freebsd#comments</comments>
		<pubDate>Wed, 11 Mar 2009 01:19:19 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[mod_jk]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[webapps]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[домейн]]></category>
		<category><![CDATA[конфигурация]]></category>
		<category><![CDATA[порт]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=507</guid>
		<description><![CDATA[WTF: имам работещо Apache. Пиша java web application и искам той да се търкаля на port 80 на един от VHost-овете му. В моя случай към Apache-то имам закачени 30-тина домейна с по няколко VHost-а за всеки от домейните (т.е. домейните са като VHosts, техните sub-домейни &#8211; също). За пример &#8211; http://adilov.net и http://blog.adilov.net. Вариант [...]]]></description>
			<content:encoded><![CDATA[<p>WTF: имам работещо Apache. Пиша java web application и искам той да се търкаля на port 80 на един от VHost-овете му. В моя случай към Apache-то имам закачени 30-тина домейна с по няколко VHost-а за всеки от домейните (т.е. домейните са като VHosts, техните sub-домейни &#8211; също). За пример &#8211; <a href="http://adilov.net">http://adilov.net</a> и <a href="http://blog.adilov.net">http://blog.adilov.net</a>.<span id="more-507"></span></p>
<p>Вариант 1: Tomcat слуша на порт 80. В текущия случай -  невъзможно, имам Аpache там. Вариантът отпада :)<br />
Вариант 2: Apache-то да пренасочва по някакъв начин към Tomcat. Ами &#8211; по-добрият вариант. Даже перфектният &#8211; статичното съдържание ще се сервира от Apache-то и няма да тормозя java процеса с глупости, а динамичното &#8211; от Tomcat. Как? С <a href="http://tomcat.apache.org/connectors-doc/">mod_jk</a>. И под FreeBSD, естествено :)</p>
<p>Стъпките по инсталацията на Apache и Tomcat ще ги пропусна, те са ясни. За дефолтни инсталации &#8211; /usr/ports/www/apache22 и /usr/ports/www/tomcat6.</p>
<p>Трябва ни обаче и инсталиран mod_jk. В ports-дървото той се намира в /usr/ports/www/mod_jk. Инсталираме го и добавяме в <strong>httpd.conf</strong> (ако не се намира на default-ното място и липсва поне един ред, започващ с LoadModule) &#8220;<em>LoadModule jk_module libexec/apache22/mod_jk.so</em>&#8221; &#8211; ако mod_jk се намира в тази директория и без кавичките.</p>
<p>Обикновено httpd.conf include-ва всички .conf файлове от Includes, затова нека направим един там &#8211; <strong>tomcat.conf</strong>:</p>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">JkWorkersFile /usr/local/apache-tomcat6.0/conf/workers.properties<br />
JkLogFile  /var/log/jk.log<br />
JkShmFile  /var/log/jk-runtime-status<br />
JkLogLevel error</div></td></tr></tbody></table></div>
<p>Тук забелязваме default-ната инсталационна директория на Tomcat &#8211; /usr/local/apache-tomcat6.0 и съответно я заместваме с реалната. Нека се прехвърлим за момент в %TOMCAT_HOME%/conf и да създадем файл <strong>workers.properties</strong>:</p>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">worker.list=java<br />
worker.java.port=8009<br />
worker.java.host=192.168.10.1<br />
worker.java.type=ajp13<br />
worker.java.lbfactor=1</div></td></tr></tbody></table></div>
<p>Портът, който виждаме е default-ния, а ако искаме custom &#8211; онзи от <strong>server.xml</strong>, в node &#8220;<em>Connector</em>&#8221; с &#8220;<em>protocol=AJP/1.3</em>&#8220;. IP-то е интересно. Нарочно го пиша различно, за да се забелязва отдалече. Ако слагаме Tomcat в Jail &#8211; това е адресът на Jail-a.</p>
<p>Готови сме с Tomcat/Apache конфигурационните файлове. Нека погледнем VHost-овете. Отваряме някой от VHost конфигурационните файлове (а може би http.conf, ако някой го е домързяло да ги отдели&#8230; Както казах при по-голямо количество VHost-ове доста по-удобно става разделението по директории и файлове.) и в него пишем:</p>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">JkMount /* java</div></td></tr></tbody></table></div>
<p>Мда, /* е еквивалентно на / в Tomcat, т.е. webapps/ROOT. Записваме промените и стартираме Tomcat и Apache и ако приемем, че VHost-ът е за http://sub.int.yo, при отварането му би трябвало да видим дефолтната страничка на Tomcat (webapps/ROOT/index.html). Честито!</p>
<p>PS: Т&#8217;ва работи и не само за fBSD (yeah.), изключваме частта с /usr/ports и пърхаме нататък.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/tomcat-apache-mod_jk-i-freebsd/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PostgreSQL под FreeBSD &#8211; инсталация и конфигурация</title>
		<link>http://blog.adilov.net/technical/how-to/freebsd-postgresql-instalation-configuration</link>
		<comments>http://blog.adilov.net/technical/how-to/freebsd-postgresql-instalation-configuration#comments</comments>
		<pubDate>Wed, 25 Feb 2009 02:42:04 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[amd64]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[jail]]></category>
		<category><![CDATA[postgres]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[secure]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[конфигурация]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=444</guid>
		<description><![CDATA[Как изглежда средата в моя случай: FreeBSD amd64 с известно количество jail-ове. В единия от тях имаме PostgreSQL сървър и разни други неща, които не за интересни в момента. Postgre-то ще го инсталираме от port-овете &#8211; естествено mount-нати като nullfs от хост системата. Нека подготвим малко хост системата (пиша какво се прави без да обяснявам [...]]]></description>
			<content:encoded><![CDATA[<p>Как изглежда средата в моя случай: FreeBSD amd64 с известно количество jail-ове. В единия от тях имаме PostgreSQL сървър и разни други неща, които не за интересни в момента. Postgre-то ще го инсталираме от port-овете &#8211; естествено mount-нати като nullfs от хост системата. Нека подготвим малко хост системата (пиша какво се прави без да обяснявам много-много &#8211; наближава 5:00 ;))<span id="more-444"></span></p>
<ol>
<li>Слагаме едно редче в /etc/sysctl.conf: security.jail.sysvipc_allowed=1</li>
<li>FreeBSD не е като джамците и можем да направим &#8216;фатката без да рестартираме: sysctl security.jail.sysvipc_allowed=1</li>
<li>Рестартираме jail-a и mount-ваме портовете</li>
</ol>
<p>Стъпките в jail-a (изпълнени с root):</p>
<ol>
<li>cd /usr/ports/databases/postgresql83-server/; make install</li>
<li>В /etc/rc.conf пишем postgresql_enable=&#8221;YES&#8221;, за да може postgre-то ни да пали при стартиране на jail-a. Всичко това дължим на /usr/local/etc/rc.d/postgresql</li>
<li>/usr/local/etc/rc.d/postgresql initdb</li>
<li>/usr/local/etc/rc.d/postgresql start</li>
<li>psql -d postgres -U pgsql (тук default-но създадения user е pqsl, а базата &#8211; postgres)</li>
<li>За да сменим паролата на този чичко (pgsql): alter user pgsql with password &#8216;my-uber-secret&#8217;; &#8211; ентър и \q, за да излезем</li>
<li>За да използваме pgAdmin-а от друга машина трябва да опишем коя е тя. За целта ни трябва лека промяна в /usr/local/pgsql/data/pg_hba.conf &#8211; някъде накрая на файла има незакоментирани редове, даващи достъп на локалните клиенти. В моя случай ще дам достъп на всички във вътрешната мрежа. Реда, който ще бутна е &#8220;host    all         all         192.168.0.0/24        md5&#8243; &#8211; естествено без кавичките.</li>
<li>/usr/local/etc/rc.d/postgresql restart и при желание можем да логледнем дали се слухти на default-ния порт 5432. Готови сме</li>
</ol>
<p>ПС: Напомняне за rdr във firewall-a</p>
<p>ПС2: Утре-другиден ще напиша и продължението за SSL връзка към postgreSQL сървъра и по какъв начин той може да задължи клиента да ползва такава &#8211; по подразбиране на порт 5432 postgreSQL слуша и за некриптирани и за secure конекции.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/freebsd-postgresql-instalation-configuration/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Eclipse и стандартите табулации</title>
		<link>http://blog.adilov.net/technical/programming/eclipse-i-standartite-tabulatsii</link>
		<comments>http://blog.adilov.net/technical/programming/eclipse-i-standartite-tabulatsii#comments</comments>
		<pubDate>Sat, 07 Feb 2009 17:51:23 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[Програмиране]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[space]]></category>
		<category><![CDATA[tab]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[редактор]]></category>
		<category><![CDATA[табулация]]></category>
		<category><![CDATA[таг]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=371</guid>
		<description><![CDATA[Мда, by default Eclipse слага табове, вместо space-ове (обикновено 4). Като цяло е отвратително, защото табовете не са еднакви навсякъде. Какво имам предвид &#8211; да вземем за пример един конфугурационен xml, копиран от файл с tab-ове, вместо space-ове. Копирам го и го цвъквам в конзола с отворен файл &#8211; най-обикновен copy/paste. Ами, съдържанието леко се [...]]]></description>
			<content:encoded><![CDATA[<p>Мда, by default Eclipse слага табове, вместо space-ове (обикновено 4). Като цяло е отвратително, защото табовете не са еднакви навсякъде.</p>
<p>Какво имам предвид &#8211; да вземем за пример един конфугурационен xml, копиран от файл с tab-ове, вместо space-ове. Копирам  го и го цвъквам в конзола с отворен файл &#8211; най-обикновен copy/paste. Ами, съдържанието леко се помазва ;)<span id="more-371"></span></p>
<p>Пример 2: Пак xml, взет от някаъв framework или сървър. Тръгвам да пиша допълнителни тагове вътре и искам да изглежда като хората &#8211; трябва да блъскам на ръка по 4/8/12 space-а, вместо 1/2/3 tab-а&#8230;</p>
<p>Ето и как може да се оправи това в Eclipse (цялото действие се развива в Window -&gt; Preferences):</p>
<ol>
<li>За <strong>текстови редактори</strong>: General -&gt; Editors -&gt; Text Editors -&gt; Insert spaces for tabs</li>
<li>За <strong>Java</strong>: Java -&gt; Code Style -&gt; Formatter -&gt; Edit (button) -&gt; General settings (group box) -&gt; Tab policy (drop-down) на spaces only.</li>
<li>За <strong>Perl /Epic plugin/</strong>: Perl EPIC -&gt; Editor -&gt; Appearance (tab) -&gt; Display tab width = 4; чавка на Use spaces instead of tabs</li>
<li>За <strong>XML</strong>: XML -&gt; XML Files -&gt; Editor -&gt; Indent Using Spaces (4)</li>
<li>За <strong>JavaScript</strong>: JavaScript -&gt; Formatter -&gt; &#8230; същото като за Java</li>
<li>За <strong>CSS</strong>: Web -&gt; CSS Files -&gt; Editor -&gt; Indent using spaces (4)</li>
<li>За <strong>HTML</strong>:  Web -&gt; HTML Files -&gt; Editor -&gt; Indent using spaces (4)</li>
</ol>
<p>За всеки друг плъгин с редактор &#8211; съответно в неговото меню.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/programming/eclipse-i-standartite-tabulatsii/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP5 и Tomcat6 под Windows</title>
		<link>http://blog.adilov.net/technical/how-to/php-5-on-tomcat-6-under-windows</link>
		<comments>http://blog.adilov.net/technical/how-to/php-5-on-tomcat-6-under-windows#comments</comments>
		<pubDate>Sun, 23 Nov 2008 09:52:58 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Програмиране]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[pecl]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[пhp]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=157</guid>
		<description><![CDATA[Необходими ресурси: Tomcat (6.0.18) &#8211; http://tomcat.apache.org/download-60.cgi PHP (5.2.6) &#8211; http://www.php.net/downloads.php PECL (5.2.5, защото в 5.2.6 няма php5servlet.dll) &#8211; http://bg.php.net/distributions/pecl-5.2.5-Win32.zip Java (тествано с 1.5.0_16 и 1.6.0_17) Ще използвам C:\DEVELOP за директория, в която ще се намират всичките необходими компоненти. Там разархивираме Tomcat-а (C:\DEVELOP\apache-tomcat-6.0.18), както и PHP-архива (C:\DEVELOP\php-5.2.6-Win32). В системните променливи трябва да имаме няколко допълнителни &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Необходими ресурси:</p>
<ul>
<li>Tomcat (<span style="font-family: arial,helvetica,sanserif; color: #000000;">6.0.18</span>) &#8211; <a href="http://tomcat.apache.org/download-60.cgi" target="_blank">http://tomcat.apache.org/download-60.cgi</a></li>
<li>PHP (5.2.6) &#8211; <a href="http://www.php.net/downloads.php" target="_blank">http://www.php.net/downloads.php</a></li>
<li>PECL (5.2.5, защото в 5.2.6 няма php5servlet.dll) &#8211; <a href="http://bg.php.net/distributions/pecl-5.2.5-Win32.zip" target="_blank">http://bg.php.net/distributions/pecl-5.2.5-Win32.zip</a></li>
<li>Java (тествано с 1.5.0_16 и 1.6.0_17)</li>
</ul>
<p>Ще използвам C:\DEVELOP за директория, в която ще се намират всичките необходими компоненти. Там разархивираме Tomcat-а (C:\DEVELOP\apache-tomcat-6.0.18), както и PHP-архива (C:\DEVELOP\php-5.2.6-Win32). В системните променливи трябва да имаме няколко допълнителни &#8211; JAVA_HOME, ако все още не съществува, PHP_HOME и TOMCAT_HOME. Тези променливи трябва да сочат към главните съответни директории. В системния път (%PATH%) добавяме и %PHP_HOME%.</p>
<p>Отваряме %TOMCAT_HOME%\webapps, и създаваме директория test-php, а в нея &#8211; html-example.html (с най-просто съдържание), за да тестваме дали Tomcat работи. Стартираме Tomcat и отваряме <a href="http://localhost:8080/test-php/html-example.html" target="_blank">http://localhost:8080/test-php/html-example.html</a>. Ще изпреварим малко събитията и ще поготвим няколко други директории в test-php: WEB-INF, WEB-INF/lib. На нивото на html-example.html създаваме още една примерна страница, но този път за тестване на php: php-example.php със съдържание &lt;?php phpinfo(); ?&gt;</p>
<p>Отваряме %PHP_HOME%, копираме php.ini-dist в име php.ini и го отваряме за редакция. Разкоментираме реда с ;extension=php_java.dll, а ако той не съществува, добавяме само extension=php_java.dll (редовете, започващи с ; са коментари). От PECL-архива разархивираме php5servlet.dll и php_java.dll в %PHP_HOME%. Също от този архив взимаме phpsrvlt.jar и го оставяме в test-php/WEB-INF/lib. Отваряме jar-а (с jar или най-обикновен zip де/архиватор) и правим 2 промени в net/php/reflect.properties и net/php/servlet.properties: и в двата файла променяме реда library=php5srvlt на library=php5servlet (показват името на dll-файла, който ще се търси). Записваме ги и ги вкарваме обратно в .jar-архива (отново с jar или zip де/архиватор).</p>
<p>Отново се сръщаме в test-php/WEB-INF и в нея създаваме web.xml файл. Ето и неговото съдържание</p>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /></div></td><td><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;web-app<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;display-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>test-php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/display-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;welcome-file-list<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;welcome-file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>index.html<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/welcome-file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;welcome-file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>index.htm<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/welcome-file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;welcome-file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>index.jsp<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/welcome-file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;welcome-file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>index.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/welcome-file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/welcome-file-list<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>net.php.servlet<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>php-formatter<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>net.php.formatter<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet-mapping<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;url-pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>*.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/url-pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet-mapping<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet-mapping<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>php-formatter<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;url-pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>*.phps<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/url-pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servlet-mapping<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/web-app<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></td></tr></tbody></table></div>
<p>Стартираме Tomcat, отваряме <a href="http://localhost:8080/test-php/html-example.html" target="_blank">http://localhost:8080/test-php/php-example.php</a> и при успешно изпълнение на горните стъпки трябва да видим PHP Info страницата.</p>
<p><span style="color: #ff0000;">ВАЖНО:</span> тези .dll файлове с x64 архитектури на Windows не са съвместими!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/php-5-on-tomcat-6-under-windows/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD + PF (Packet Filter) за /NAT/ router</title>
		<link>http://blog.adilov.net/technical/how-to/freebsd-pf-packet-filter-za-nat-router</link>
		<comments>http://blog.adilov.net/technical/how-to/freebsd-pf-packet-filter-za-nat-router#comments</comments>
		<pubDate>Thu, 09 Oct 2008 15:05:12 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[compile]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[packet filter]]></category>
		<category><![CDATA[pf]]></category>
		<category><![CDATA[provider]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ttl]]></category>
		<category><![CDATA[доставчик]]></category>
		<category><![CDATA[Интернет]]></category>
		<category><![CDATA[конфигурация]]></category>
		<category><![CDATA[провайдер]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=96</guid>
		<description><![CDATA[Идеята на темата не е една. Всеки може да реши да прави подобно нещо по различни поводи. Аз ще спомена моите &#8211; те са два. Първо &#8211; имам повече от една машина, която се нуждае от пакети от външния свят ;) и второ &#8211; нуждата да насочвам определени рикуести да отиват на определени места. За [...]]]></description>
			<content:encoded><![CDATA[<p>Идеята на темата не е една. Всеки може да реши да прави подобно нещо по различни поводи. Аз ще спомена моите &#8211; те са два. Първо &#8211; имам повече от една машина, която се нуждае от пакети от външния свят ;) и второ &#8211; нуждата да насочвам определени рикуести да отиват на определени места. За втората причина няма да говоря сега, ще опиша как с FBSD платформа да имаме интернет на машините във вътрешната мрежа, въпреди, че isp-ът го забранява.<span id="more-96"></span></p>
<p>Проблемът в моя случай беше, че TTL-ът на върнатите от доставчика пакети беше 1 и след като минат през рутера не достигат машината към която трябва да отидат.</p>
<p>Дифолтния кърнел на FreeBSD няма съпорт за pf, затова трябва да се <a href="http://www.freebsd.org/doc/en/books/handbook/kernelconfig-building.html">прекомпилира кърнела</a> с 3 допълнителни значещи реда реда:<br />
#Packet Filter<br />
device pf                       # Support for OpenBSD&#8217;s Packet Filter<br />
device pflog                  # Enables logging the network traffic<br />
device pfsync                # Monitor &#8220;State Changes&#8221;</p>
<p>След като сме готови можем да напишем малко инфо какво и с кого да прави pf-a. Отваряме за едит /etc/rc.conf и вътре за pf ни трябва:<br />
pf_enable=&#8221;YES&#8221;<br />
pf_rules=&#8221;/etc/pf.conf&#8221;<br />
pf_flags=&#8221;"<br />
pflog_enable=&#8221;YES&#8221;<br />
pflog_logfile=&#8221;/var/log/pflog&#8221;<br />
pflog_flags=&#8221;"</p>
<p>Следващата стъпка е основното &#8211; правилата в /etc/pf.conf. Тук е малко по-особеното &#8211; трябва да се деасемблират пакетите, да се сетне нужната ни дължина, да се асемблират обратно и тогава да се изпратят. Дадените примери са за една машина, която ще се връзва и един ethernet interface, но не е проблем да са повече лан-картите, или пък от една лан-карта да отива кабел в switch, друг router или някакъво друго мрежо-capable дивайсче (Само за пример: в моя случай имам 2 лан-карти на FBSD машината, които се NAT-ват &#8211; за едната е закачена друга машина, а към втората има switch, за който са свързани още един рутер и wifi access point).</p>
<p>Ето какво ни трябва (без да влизам в подробности с обяснението кое за какво и как се използва) в /etc/pf.conf:<br />
#######################################<br />
## PACKETS MODIFYING #######################<br />
scrub in on $ext_if all min-ttl 25 max-mss 1400 fragment reassemble<br />
scrub out on $ext_if all min-ttl 65 max-mss 1400 fragment reassemble</p>
<p>scrub in<br />
scrub in all fragment reassemble<br />
scrub in on $ext_if all no-df fragment reassemble</p>
<p>#######################################<br />
## NAT ##################################<br />
# Internal Machines rules<br />
nat on $all_if from &lt;int_machines&gt; to any -&gt; ($ext_if)</p>
<p>Последните 2 реда са за пример &#8211; за всеки запис &#8211; нов нат като предходните. Ето краткото обяснение на горенаписаното:</p>
<p>scrub-овете служат да си поиграем с пакетите. Накратко какво става: на изходящите пакети слагаме TTL 65, а на входящите &#8211; 25. Така сме сигурни, че входящите пакети ще пристигнат до машината, която ги чака и няма да бъдат загубени по трасето.</p>
<p>nat-овете map-ват пакетите и след като се получи отговор се пращат до машината, която ги е изпратила първоначално. Идеята с няколко думи е, че ако машина М1 изпрати пакет до сървър S1, mинаващ през рутер R1, то nat-ът на R1 изпраща пакета &#8220;от негово име&#8221; като прави таблица, в която се пази информацията, че резултатът ще се препрати обратно до М1. S1 отговаря на R1 и nat-ът пренасочва пакета към M1.</p>
<p>И за променливите: $ext_if е лан-картата с жицата от доставчика. $all_if &#8211; списък с всички интерфейси, с които искам да работя. Изглежда по този начин: all_if=&#8221;{ rl0 re0 lo0 }&#8221;. int_machines&gt; е таблица с IP-тата на всички машини от вътрешната мрежа. Ето как се създава подобна таблица:<br />
table  {\<br />
&lt;ip -na pc/router/access-point/etc&gt;,\<br />
&lt;ip -na pc/router/access-point/etc&gt;\<br />
}<br />
Трябва да се обърне внимане на предпоследния ред &#8211; няма запетая накрая ;)<br />
също е таблица, изглежда по същия начин като  (с други ип-та вътре естествено :&gt;). За мое улеснение в таблицата с IP-тата на машините във вътрешната мрежа не съм набил IP-тата вътре. Предварително са създадени променливи с името на всяка от машините и нейното IP и после тези променливи са написани в таблицата. Още един плюс за таблиците &#8211; динамично може да се вкарват IP-та, но това е тема на друг разговор&#8230;</p>
<p>Бием един рестарт заради кърнела и сме готови :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/freebsd-pf-packet-filter-za-nat-router/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

