<?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>pamiętnik programisty &#187; Windows 2008</title>
	<atom:link href="http://piotr.doniec.eu/devlog/category/windows-2008/feed/" rel="self" type="application/rss+xml" />
	<link>http://piotr.doniec.eu/devlog</link>
	<description></description>
	<lastBuildDate>Thu, 05 Aug 2010 20:22:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Indywidualne ustawienia php dla każdej witryny na serwerze IIS i Windows 2008</title>
		<link>http://piotr.doniec.eu/devlog/2010/07/indywidualne-ustawienia-php-dla-kazdej-witryny-na-serwerze-iis-i-windows-2008/</link>
		<comments>http://piotr.doniec.eu/devlog/2010/07/indywidualne-ustawienia-php-dla-kazdej-witryny-na-serwerze-iis-i-windows-2008/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 18:25:17 +0000</pubDate>
		<dc:creator>pejotr</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[Windows 2008]]></category>

		<guid isPermaLink="false">http://piotr.doniec.eu/devlog/?p=526</guid>
		<description><![CDATA[Problem jak najbardziej z życia wzięty. Na serwerze znajdują się strony kilku użytkowników. Żaden z nich nie chciałby aby ktokolwiek oprócz niego i administratora miał dostęp do plików jego witryny. Gdyby problem powstał w środowisku działającym pod kontrolą Linuxa problem rozwiązałby się w kilka chwil, poprzez odpowiednie ustawienie właścicieli katalogów i praw dostępu. Jednak wspomniana]]></description>
			<content:encoded><![CDATA[<p>Problem jak najbardziej z życia wzięty. Na serwerze znajdują się strony kilku użytkowników. Żaden z nich nie chciałby aby ktokolwiek oprócz niego i administratora miał dostęp do plików jego witryny. Gdyby problem powstał w środowisku działającym pod kontrolą Linuxa problem rozwiązałby się w kilka chwil, poprzez odpowiednie ustawienie właścicieli katalogów i praw dostępu. Jednak wspomniana sytuacja zaistniała pod Windows 2008.<br />
Na pierwszy ogień poszło ustawienie parametru open_basedir w pliku konfiguracyjnym PHP. Ograniczyło to możliwość odczytu includowania i innych tego typu operacji tylko do wymienionych katalogów. Nadal jednak pozostał problem odczytu plików nawzajem przez użytkowników. Ze strony należącej do uzytkownia A np.: c:\Sites\A\1.php bez problemy można odczycztać czy zaincludowac sobie stronę użytkownika B c:\Sites\B\tajne.txt co oczywiście jest nie do przyjęcia. Z pomocą przyszła możliwość ustawienia parametrów PHP dla każdego folderu niezależenie. Aby z tego skorzystać należy utworzyć w rejestrze nowy klucz w gałęzi HKLM/Software/PHP/Per Directory Values/c/Sites/<nazwa_katalogu> czyli np. HKLM/Software/PHP/Per Directory Values/c/Sites/A i umieścić tam nową wartość typu string o nazwie odpowiadającej parametrowi na który chcemy wpłynąć i wartości którą taki parametr ma przyjąć. W przypadku wyżej wspomnianego problemu wyglądałoby to tak:<br />
<a href="http://piotr.doniec.eu/devlog/wp-content/uploads/2010/07/iis_perdirectoryvalues.jpg" rel='lytebox[indywidualne-ustawienia-php-dla-kazdej-witryny-na-serwerze-iis-i-windows-2008]'><img src="http://piotr.doniec.eu/devlog/wp-content/uploads/2010/07/iis_perdirectoryvalues.jpg" alt="" title="iis_perdirectoryvalues" width="384" height="162" class="alignleft size-full wp-image-527" /></a><br />
Od tego momentu właściciel strony c:\Sites\A jest ograniczony tylko do własnego katalogu. Wadą tego rozwiązanie jest niestety konieczność utworzenia takich wpisów dla wszystkich stron znajdujących się na serwerze. Jednak (1) w tym wypadku można sobie było na to pozwolić (2) rozwiązanie jest łatwe we wdrożeniu a żadne inne nie przyszło mi do głowy. Chętnie poznam inne metody, może bardziej eleganckie, na osiągnięcie podobnego rezultatu.</p>
]]></content:encoded>
			<wfw:commentRss>http://piotr.doniec.eu/devlog/2010/07/indywidualne-ustawienia-php-dla-kazdej-witryny-na-serwerze-iis-i-windows-2008/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Konto FTP dla każdego użytkownika</title>
		<link>http://piotr.doniec.eu/devlog/2009/04/konto-ftp-dla-kazdego-uzytkownika/</link>
		<comments>http://piotr.doniec.eu/devlog/2009/04/konto-ftp-dla-kazdego-uzytkownika/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 17:24:53 +0000</pubDate>
		<dc:creator>pejotr</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[Windows 2008]]></category>
		<category><![CDATA[webhosting]]></category>

		<guid isPermaLink="false">http://piotr.doniec.eu/devlog/?p=142</guid>
		<description><![CDATA[Aby każdy użytkownik mógł zarządzać swoją stroną WWW, trzeba dać mu jakiś dostęp do zasobów. Może to być jakiegoś rodzaju interface dostępny przez przeglądarkę, albo konto FTP z którego korzysta zapewne niemal każdy webdeveloper. Można oczywiście dać każdemu dostęp do katalogu ftproot i mieć nadzieję że nikt nie będzie chciał złośliwie zmieniać plików innego użytkownika.]]></description>
			<content:encoded><![CDATA[<p>Aby każdy użytkownik mógł zarządzać swoją stroną WWW, trzeba dać mu jakiś dostęp do zasobów. Może to być jakiegoś rodzaju interface dostępny przez przeglądarkę, albo konto FTP z którego korzysta zapewne niemal każdy webdeveloper. Można oczywiście dać każdemu dostęp do katalogu ftproot i mieć nadzieję że nikt nie będzie chciał złośliwie zmieniać plików innego użytkownika. Aby jednak nie polegać na ludzkich intencja należy odpowiednio skonfigurować sobie serwer.<span id="more-142"></span><br />
Instalacja samej usługi FTP i jej podstawowa konfiguracja nie jest większym problemem, dodaje się kolejną rolę jaka ma pełnić serwer. Co chcemy osiągnąć to odseparować konta użytkowników od siebie. Zatem w konfiguracji <code>"Domyślej strony FTP" (Default FTP Site)</code> klikamy w FTP User Isolation i z grupy <code>"Isolate Users. Restrict users to following directory"</code> opcję <code>"User name directory"</code>.<br />
<img class="aligncenter size-full wp-image-156" title="ftp-step2" src="http://piotr.doniec.eu/devlog/wp-content/uploads/2009/04/ftp-step2.png" alt="ftp-step2" width="600" height="450" /></p>
<p>Teraz należy utworzyć nowy katalog, koniecznie musi się nazywać <code>LocalUser</code> i być umieszczony w głównym katalogu FTP, przeważnie ftproot w inetpub. Dla każdego użytkownika możemy utworzyć <code>VirtualDirectory</code> i wskazać miejsce do którego ma mieć dostęp użytkownik. Ważne jest aby nazwa katalogu była identyczna jak nazwa użytkownika. Zadziała to w ten spsób że podczas logowania użytkownika np. <code>jankowalski</code> zostanie przeszukany katalog <code>LocalUser</code> w poszukiwania katalogu <code>jankowalski</code>, jeżeli się taki znajdzie to użytkownik zostaje zalogowany i skierowany do tego katalogu. W przeciwnym wypadku najprawdopodobniej spotka się on z odmową dostępu. <code>VirtualDirecotry</code> ma to do siebie że tylko wskazuje na jakiś fizyczny katalog, zatem można go ustawić aby wskazywał na katalog w którym można umieścić swoją stronę WWW i potem ją obejrzeć w przeglądarce np. <code>C:\Sites\JanCompany\</code>.<br />
<img class="aligncenter size-full wp-image-157" title="ftp-step3" src="http://piotr.doniec.eu/devlog/wp-content/uploads/2009/04/ftp-step3.png" alt="ftp-step3" width="600" height="451" /></p>
<p>Aby wszystko działało należy pamiętać o nadaniu odpowiednich praw dostępu dla odpowiednich użytkowników. Użytkownik <code>jankowalski</code> powinien móc zapisywać i odczytywać dane ze swojego katalogu i to jest oczywiste. Nie oczywiste jest to że musi on mieć także prawo do wyświetlenia katalogu głównego ftproot mimo że nie ma do niego bezpośredniego dostępu. Tak więc należy zezwolić użytkownikowi <code>jankowalski</code> na <code>List</code> katalogu głównego, ustawia się to we właściwościach folderu.</p>
]]></content:encoded>
			<wfw:commentRss>http://piotr.doniec.eu/devlog/2009/04/konto-ftp-dla-kazdego-uzytkownika/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Website, Application i Virtual Directory</title>
		<link>http://piotr.doniec.eu/devlog/2009/03/simple-shared-hosting-na-windows-2008-cz-3-website-application-i-virtual-directory/</link>
		<comments>http://piotr.doniec.eu/devlog/2009/03/simple-shared-hosting-na-windows-2008-cz-3-website-application-i-virtual-directory/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 11:51:56 +0000</pubDate>
		<dc:creator>pejotr</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[Windows 2008]]></category>

		<guid isPermaLink="false">http://piotr.doniec.eu/devlog/?p=92</guid>
		<description><![CDATA[Koncepcja zarządzania serwerem IIS jest trochę inna niż w Apache&#8217;u. Występuje tu enigmatyczny podział na Websites, Applications i Virtual Directories. Dodatkowo występują pewne ściśle określone relacje zawierania. Znajomość i zrozumienie funkcjonowania tych mechanizmów w znaczny sposób może ułatwić efektywne zarządzanie serwerem. Tak więc Websites są głównymi elementami, każdy serwer www zawiera ich o 0 do]]></description>
			<content:encoded><![CDATA[<p>Koncepcja zarządzania serwerem IIS jest trochę inna niż w Apache&#8217;u. Występuje tu enigmatyczny podział na Websites, Applications i Virtual Directories. Dodatkowo występują pewne ściśle określone relacje zawierania. Znajomość i zrozumienie funkcjonowania tych mechanizmów w znaczny sposób może ułatwić efektywne zarządzanie serwerem.<br />
<span id="more-92"></span><br />
Tak więc <strong>Websites</strong> są głównymi elementami, każdy serwer www zawiera ich o 0 do n. Dodatkowo każdy <strong>Website</strong> składa się z <strong>Application</strong> przy czym zawsze występuje tzw <em>root application (/)</em>. Żeby tego było mało, każda aplikacja zawiera przynajmniej 1 Virtual Directory tzw. <em>root virtual directory</em>. Dla łatwiejszego zrozumienia zamieszczam rysunek:<br />
<img src="http://piotr.doniec.eu/devlog/wp-content/uploads/2009/03/iis_structure.gif" alt="iis_structure" title="iis_structure" width="600" height="300" class="aligncenter size-full wp-image-96" /><br />
<strong>Website</strong> jest takiem kontenerem do którego można się dostać poprzez zmapowany protokół lub adres IP.<br />
<strong>Aplikacja</strong> jest grupą plików i katalogów które w sumie tworzą zawartośc strony lub dostarczają usług za pośrednictwem protokołów takich jak choćby HTTP. Do stworzonej aplikacji można się dostać podając nazwę aplikacji w adresie URL. W IIS 7 każdy Website musi zawierać 1 aplikacje &#8211; domyślną. nic nie stoi natomiast na przeszkodzie żeby było ich więcej. Na przykład w zastosowaniu e-commerce 1 aplikacja może odpowiadać za koszyk, a inna za uwierzytelnianie.<br />
<strong>Virtual Directory</strong> to taki wskaźnik który ustawia się na rzeczywisty folder istniejący na lokalnej lub zdalnej maszynie. Za pomocą takie wskaźnika, poprzez dopisanie jego nazwy w adresie URL po nazwie aplikacji, można się dostać do tej fizycznej lokalizacji. Mechanizmu VD można użyć w celu zamaskowania rzeczywistej struktury katalogów, podając inną nazwę wskaźnika niż nazwa rzeczywistego katalogu. Oprócz wymaganego Root Vitrual Directory zawierającego np. kod strony można utworzyć dodatkowe Wirtualne Katalogi jesli chce się korzystać z obrazków, mediów lub innych plików umieszczonych w innych miejscach na dysku.</p>
]]></content:encoded>
			<wfw:commentRss>http://piotr.doniec.eu/devlog/2009/03/simple-shared-hosting-na-windows-2008-cz-3-website-application-i-virtual-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalacja IIS7</title>
		<link>http://piotr.doniec.eu/devlog/2009/03/simple-shared-hosting-na-windows-2008-cz-2-instalacja-iis7/</link>
		<comments>http://piotr.doniec.eu/devlog/2009/03/simple-shared-hosting-na-windows-2008-cz-2-instalacja-iis7/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 20:18:05 +0000</pubDate>
		<dc:creator>pejotr</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[Windows 2008]]></category>
		<category><![CDATA[webhosting]]></category>

		<guid isPermaLink="false">http://piotr.doniec.eu/devlog/?p=33</guid>
		<description><![CDATA[Nie będę tu póki co pisał, jak to jest w mądry książkach zaraz po wstępie , o nowych możliwościach serwera IIS7 w stosunku do poprzednich wersji. Jest to oczywiste z uwagi na to że nie korzystałem ani  z IIS6 ani z żadnego poprzedniego. Jedyne co mogę powiedzieć to to że IIS7 został napisany na nowo]]></description>
			<content:encoded><![CDATA[<p>Nie będę tu póki co pisał, jak to jest w mądry książkach zaraz po wstępie , o nowych możliwościach serwera IIS7 w stosunku do poprzednich wersji. Jest to oczywiste z uwagi na to że nie korzystałem ani  z IIS6 ani z żadnego poprzedniego. Jedyne co mogę powiedzieć to to że IIS7 został napisany na nowo i ma niewiele wspólnego ze swoimi poprzednikami. Do głównych różnic zalicza się &#8222;Integrated Pipeline&#8221; który umożliwia użytkownikowi zintegorawnie własnego kodu managed (ASP.NET, C#) jako modułu głównego  potoku. Skupmy się jednakże póki co na instalacji IIS7.<br />
Serwer IIS7 jest jedną z wielu ról jaką może pełnić system. Instalacja na nowej, &#8222;świeżej&#8221; maszynie nie przedstawia większych problemów i jest zautomatyzowana podobnie jak instalacja oprogramowania z repozytoriów w Linuxie.<span id="more-33"></span></p>
<ul>
<li>Start Menu -&gt; All Programs -&gt; Administrative Tools -&gt; Server Manager. W menu &#8222;Roles&#8221; wybierz &#8222;Add role&#8221; i dalej &#8222;Web Server (IIS)&#8221;  tak jak przedstawiono poniżej. <img class="size-full wp-image-52 alignnone" title="image00211949529297191" src="http://piotr.doniec.eu/devlog/wp-content/uploads/2009/03/image00211949529297191.png" alt="image00211949529297191" width="569" height="429" /></li>
<li>Następnie wybierz usługi które chcesz aby zostały zainstalowane, Na poniższym obrazku jest to ASP.NET. Zalecam instalację CGI gdyż jest ono konieczne aby mieć możliwość osługi skryptów PHP. Wybierając jedną z poniższych opcji możesz zostać poproszony o spełnienie zależności, zgodę oczywiście należy wyrazić.<img class="alignnone size-full wp-image-56" title="image00311949529297191" src="http://piotr.doniec.eu/devlog/wp-content/uploads/2009/03/image00311949529297191.png" alt="image00311949529297191" width="569" height="428" /></li>
<li>W celu potwierdzenie że serwer został zainstalowany i działa odwiedź <code>http://localhost</code> lub  pasku adresu wpisz IP maszyny. Powinieneś zobaczyć:</li>
<p style="text-align: center;"><img class="size-full wp-image-59 aligncenter" title="image00611949531924061" src="http://piotr.doniec.eu/devlog/wp-content/uploads/2009/03/image00611949531924061.png" alt="image00611949531924061" width="460" height="352" /></p>
<p style="text-align: left;">
<p style="text-align: left;">Jeśli nie widzisz powyższego obrazka, to znaczy że instalacja nie przebiegła jak należy. Nie ma ogólnego rozwiązania wszystkich problemów, więc aby uruchomić IIS7 na swoim komputerze musisz poszukać w internecie rozwiązania Twojego problemu.</p>
<p style="text-align: left;">
<p style="text-align: left;">
</ul>
]]></content:encoded>
			<wfw:commentRss>http://piotr.doniec.eu/devlog/2009/03/simple-shared-hosting-na-windows-2008-cz-2-instalacja-iis7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Shared Hosting na Windows 2008</title>
		<link>http://piotr.doniec.eu/devlog/2009/03/simple-shared-hosting-na-windows-2008-cz-1/</link>
		<comments>http://piotr.doniec.eu/devlog/2009/03/simple-shared-hosting-na-windows-2008-cz-1/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 23:01:44 +0000</pubDate>
		<dc:creator>pejotr</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[Windows 2008]]></category>
		<category><![CDATA[webhosting]]></category>

		<guid isPermaLink="false">http://piotr.doniec.eu/devlog/?p=12</guid>
		<description><![CDATA[Pierwsza część cyklu wpisów traktujących o tym, jak stworzyć hosting współdzielony dla małej organizacji lub firmy]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-20 alignleft" title="windows-server-2008_11" src="http://piotr.doniec.eu/devlog/wp-content/uploads/2009/02/windows-server-2008_11-300x113.jpg" alt="windows-server-2008_11" width="300" height="113" />Całkiem nie dawno ma potrzeby fundacji, w której również od nie dawna działam, został zakupiony serwer VPS z Windows 2008 Data Center na pokładzie. W założeniach ma posłużyć jako potężne archiwum historyczne ale także wspomóc i udoskonalić pracę wszystkich komórek fundacji. Oczywiste jest że nie ma w takim przypadku potrzeby dodatkowego płacenia za hosting a obecną stronę WWW z powodzeniem przenieść na nowo zakupiony serwer który daje więcej możliwości i &#8222;przetrzyma&#8221; większe obciążenie.<span id="more-12"></span><br />
Główne założenia jakie ma spełniać serwer:</p>
<ul>
<li>zautomatyzowane dodawanie nowych użytkowników</li>
<li>niezależne konto ftp dla każdej strony</li>
<li>ograniczona pojemność konta tzw. quota</li>
<li>możliwość ograniczonej zmiany konfiguracji serwera na potrzeby poszczególnych podstron(np. defaultDocument)</li>
<li>bezpieczeństwo</li>
<li>obsługa PHP5, MySQL, SQL Server oraz być może Pythona</li>
</ul>
<p>Dodatkowe założenie będą się pojawiać wraz z rozwojem sytuacji.<br />
Okres pojawiania się nowych wpisów prawdopodobnie nie będzie równy 24h, ale trzeba liczyć na szczęśliwy finał.<br />
Oczywiście wszelkie uwagi mile widziane, ja też się uczę&#8230;</p>
<p>Na początek od razu mały słowniczek wiedzy:<br />
<strong><em>Server Farms</em></strong> &#8211; wiele, od kilku do nawet kilkuset, serwerów (w szczególności IIS) widzianych jako JEDEN. Redundancja danych na serwerach zapewnia dodatkowy stopień bezpieczeństwa, gdyż na wypadek awarii dane są dostępna na pozostałych, oraz umożliwia podział ruch/rządań tak aby żadna maszyna nie była przeciążona.<br />
<strong><em>Network Load Balancing</em></strong> &#8211; Network Load Balancing<br />
<strong><em>Clustering</em></strong> &#8211; funkcja dostępna tylko w Windows 2008 Enterprise Edition oraz Data Center. Clustering jest złożeniem dwóch lub większej liczby serwerów która jest widoczna z zewnątrz jako jedna z maszyna. Coś w rodzaju RAID0 tylko że w wykonaniu serwerów</p>
]]></content:encoded>
			<wfw:commentRss>http://piotr.doniec.eu/devlog/2009/03/simple-shared-hosting-na-windows-2008-cz-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
