<?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>BBProject.net &#187; konfiguracja</title>
	<atom:link href="http://www.bbproject.net/tag/konfiguracja/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bbproject.net</link>
	<description>Programowanie, webmastering, informatyka</description>
	<lastBuildDate>Mon, 26 Jul 2010 08:03:47 +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>Przenoszenie WordPress&#8217;a na inny serwer</title>
		<link>http://www.bbproject.net/2010/02/przenoszenie-wordpressa-na-inny-serwer/</link>
		<comments>http://www.bbproject.net/2010/02/przenoszenie-wordpressa-na-inny-serwer/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 12:10:39 +0000</pubDate>
		<dc:creator>M@ster</dc:creator>
				<category><![CDATA[Webmastering]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[konfiguracja]]></category>
		<category><![CDATA[migracja]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.bbproject.net/?p=214</guid>
		<description><![CDATA[WordPress, jedna z najpopularniejszych platform blogowych, mimo szerokiej palecie oferowanych możliwości, nie posiada prostego mechanizmu do zmiany lokalizacji. Jeśli zamierzamy przenieść nasz blog pod inny adres www, to musimy się nieco nagimnastykować. To co jest główną przyczyną problemów procesu migracji, to umiejscowienie bezwzględnego adresu strony w sporej liczbie miejsc w bazie danych oraz samych wpisach. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wordpress.org"><img class="size-thumbnail wp-image-218 alignright" title="WordPress" src="http://www.bbproject.net/wp-content/uploads/2010/01/wordpress-160x160.png" alt="" width="160" height="160" /></a><a href="http://pl.wikipedia.org/wiki/WordPress">WordPress</a>, jedna z najpopularniejszych platform blogowych, mimo szerokiej palecie oferowanych możliwości, nie posiada prostego mechanizmu do zmiany lokalizacji. Jeśli zamierzamy przenieść nasz blog pod inny adres www, to musimy się nieco nagimnastykować.</p>
<p>To co jest główną przyczyną problemów procesu migracji, to umiejscowienie bezwzględnego adresu strony w sporej liczbie miejsc w bazie danych oraz samych wpisach. Podczas zmiany adresu, musimy edytować wszystkie odniesienia do starej domeny, zmieniając je na nowe.</p>
<p>Postaram się pokazać jak w prosty i szybki sposób ułatwić sobie ten proces, nie narażając się na zbędny stres.</p>
<p><span id="more-214"></span>Zasadniczo możemy wyróżnić dwa rodzaje migracji z naszym CMS&#8217;em, z zmianą adresu bądź bez, gdy zmieniamy tylko serwer www. Oba te przypadki zostaną omówione.</p>
<h4>Backup</h4>
<p>Pierwsze co powinniśmy zrobić to kopię zapasową, zarówno wszystkich plików WordPress&#8217;a, jak i jego bazy danych &#8211; na przykład w <a href="http://pl.wikipedia.org/wiki/PhpMyAdmin">phpMyAdmin</a>.</p>
<h4>Konfiguracja</h4>
<p>Otwieramy do edycji plik <em>wp-config.php</em>, znajdujący się w głównym folderze bloga. Podobnie jak przy instalacji, zmieniamy w nim parametry przyszłej bazy danych. Prawdopodobnie będą to nazwa bazy danych, nazwa użytkownika oraz jego hasło:</p>
<pre class="brush: php">/** Nazwa bazy danych, której używać ma WordPress */
define('DB_NAME', '[...]');

/** Nazwa użytkownika bazy danych MySQL */
define('DB_USER', '[...]');

/** Hasło do bazy danych MySQL */
define('DB_PASSWORD', '[...]');

/** Adres serwera MySQL */
define('DB_HOST', 'localhost');</pre>
<h4>Upload</h4>
<p>Przechodzimy na nasz nowy serwer www, wrzucamy pliki ściągnięte uprzednio z dotychczasowej lokalizacji bloga, oraz przywracamy kopię bazy danych.</p>
<h4>Zmiana adresu</h4>
<p>Jeśli przy okazji zmiany serwera www, zmieniliśmy również adres pod jakim dostępna będzie nasza strona, to musimy dokonać kilku zmian w samej bazie danych. Jak zwykle, polecam do tego celu skrypt phpMyAdmin, dostępny na większości serwerów.</p>
<p>Wybieramy odpowiednią bazę danych i przechodzimy do zakładki <em>SQL</em>, która pozwoli nam na wykonanie zapytania na naszej bazie danych.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-215" title="phpMyAdmin - SQL" src="http://www.bbproject.net/wp-content/uploads/2010/01/pma_sql.png" alt="" width="269" height="94" /></p>
<p>Wykonujemy kolejno trzy poniższe zapytania, zmieniając w nich miejsca oznaczone <em>[STARY_ADRES]</em> oraz <em>[NOWY_ADRES]</em>, na odpowiednie wartości. Podając adres, upewnijmy się że zaczyna się on od „http://” oraz <strong>nie</strong> kończy znakiem slasha „/”.</p>
<pre class="brush: sql">UPDATE wp_options
SET option_value = replace(option_value, '[STARY_ADRES]', '[NOWY_ADRES]')
WHERE option_name IN ('home', 'siteurl', 'upload_url_path');</pre>
<pre class="brush: sql">UPDATE wp_posts
SET guid = replace(guid, '[STARY_ADRES]', '[NOWY_ADRES]');</pre>
<pre class="brush: sql">UPDATE wp_posts
SET post_content = replace(post_content, '[STARY_ADRES]', '[NOWY_ADRES]');</pre>
<p>Zapytania możemy wykonywać jedno po drugim, lub wszystkie na raz, wklejając je kolejno w okienku <em>SQL</em>.</p>
<p>Oto jak powinno wyglądać przykładowe zapytanie, posłużę się własnym przykładem, podczas przenoszenia bloga z hosta lokalnego na <em>www.bbproject.net</em>:</p>
<pre class="brush: sql">UPDATE wp_posts
SET post_content = replace(post_content, 'http://localhost/bbproject', 'http://www.bbproject.net');</pre>
<h4>Uruchomienie</h4>
<p>Jeśli wszystko zrobiliśmy poprawnie, możemy już odwiedzić naszą stronę pod nowym adresem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bbproject.net/2010/02/przenoszenie-wordpressa-na-inny-serwer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Własny serwer WWW, instalacja MySQL i phpMyAdmin</title>
		<link>http://www.bbproject.net/2010/01/wlasny-serwer-www-instalacja-mysql-i-phpmyadmin/</link>
		<comments>http://www.bbproject.net/2010/01/wlasny-serwer-www-instalacja-mysql-i-phpmyadmin/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 10:00:56 +0000</pubDate>
		<dc:creator>M@ster</dc:creator>
				<category><![CDATA[Artykuły]]></category>
		<category><![CDATA[Webmastering]]></category>
		<category><![CDATA[baza danych]]></category>
		<category><![CDATA[konfiguracja]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[serwer]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://www.bbproject.net/?p=135</guid>
		<description><![CDATA[Poprzednim razem zajmowaliśmy się instalacją serwera Apache i PHP, tym razem idziemy o krok dalej. Tematem tego wpisu będzie postawienie bazy danych MySQL oraz zainstalowanie skryptu do łatwego zarządzania nią. Mowa tutaj oczywiście o popularnym phpMyAdmin. Jeżeli nie zapoznałeś się z treścią poprzedniego wpisu, dotyczącego uruchamiania własnego serwera WWW, dobrze jeśli uczynisz to teraz, gdyż [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-136" title="Baza danych" src="http://www.bbproject.net/wp-content/uploads/2010/01/database-160x120.jpg" alt="" width="160" height="120" />Poprzednim razem zajmowaliśmy się <a href="http://www.bbproject.net/2009/12/wlasny-serwer-www-instalacja-apache-i-php">instalacją serwera Apache i PHP</a>, tym razem idziemy o krok dalej. Tematem tego wpisu będzie postawienie bazy danych MySQL oraz zainstalowanie skryptu do łatwego zarządzania nią. Mowa tutaj oczywiście o popularnym phpMyAdmin.</p>
<p>Jeżeli nie zapoznałeś się z treścią <a href="http://www.bbproject.net/2009/12/wlasny-serwer-www-instalacja-apache-i-php">poprzedniego wpisu</a>, dotyczącego uruchamiania własnego serwera WWW, dobrze jeśli uczynisz to teraz, gdyż informacje tam zawarte oraz poczynione kroki będą tutaj dalej wykorzystywane.</p>
<p><span id="more-135"></span>Tak jak poprzednio, można by roztaczać dyskusję nad sensownością samodzielnej konfiguracji wszystkich elementów w opozycji do skorzystania z gotowej paczki. Nie mniej, jeśli dotarłeś aż tutaj, oznacza to iż wybrałeś właściwą drogę.</p>
<h4>MySQL</h4>
<p><img class="alignright size-full wp-image-137" title="MySQL" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql.png" alt="" width="121" height="79" /><a href="http://pl.wikipedia.org/wiki/MySQL">MySQL</a> jest to system zarządzania relacyjnymi bazami danych. Od strony praktycznej, jest to aplikacja która zapewnia dostęp do baz danych przez nią oferowanych, w języku <a href="http://pl.wikipedia.org/wiki/SQL">SQL</a>. Nie jest to oczywiście jedyny system bazodanowy, nie mniej bardzo rozpowszechniony zwłaszcza w zastosowaniach webowych.</p>
<p>Zaczynamy jak zwykle od pobrania samego oprogramowania ze <a href="http://www.mysql.com">strony producenta</a>. Przechodzimy do sekcji <em>Downloads</em>, z lewego menu wybieramy <a href="http://dev.mysql.com/downloads/mysql/5.1.html"><em>MySQL Community Server</em></a>. Klikamy przycisk <em>Download</em>, wybieramy platformę <em>Windows</em> i kolejno paczkę oznaczoną <em>Windows MSI Installer</em>. W moim przypadku, pobrałem wersję 5.1.42 przeznaczoną na procesory 32-bitowe (x86).</p>
<h5>Instalacja</h5>
<p>Bez dłuższego wstępu przechodzimy do instalacji, postępując zgodnie z poniższymi instrukcjami.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-154" title="MySQL - instalacja" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_install_01.png" alt="" width="504" height="379" /><br />
<em>Wybieramy typ instalacji Typical</em></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-155" title="MySQL - instalacja" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_install_02.png" alt="" width="504" height="379" /><br />
<em>Rozpoczynamy docelowy proces instalacji</em></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-156" title="MySQL - instalacja" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_install_03.png" alt="" width="504" height="379" /><br />
<em>Po zakończeniu przystępuje do konfiguracji</em></p>
<h5>Konfiguracja</h5>
<p>Po wciśnięciu przycisku <em>Finish</em> zostaniemy przeniesieni do kreatora konfiguracji serwera MySQL.</p>
<p style="text-align: center;"><a href="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_01.png"><img class="alignnone size-medium wp-image-158" title="MySQL - konfiguracja" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_01-256x192.png" alt="" width="256" height="192" /></a> <a href="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_02.png"><img class="alignnone size-medium wp-image-159" title="MySQL - konfiguracja" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_02-256x192.png" alt="" width="256" height="192" /></a><br />
<em>Wybieramy konfigurację szczegółową oraz charakter w jakim ma być uruchomiona<br />
usługa serwera na naszym komputerze</em></p>
<p>W kolejnym kroku wybieramy rodzaj obsługiwanych baz danych. Wybieramy obie zaznaczając górne pole wyboru. Dzięki temu mamy pewność że nasz serwer obsługiwać będzie oba typy składowania danych: <a href="http://pl.wikipedia.org/wiki/MyISAM"><em>MyISAM</em></a> oraz <a href="http://pl.wikipedia.org/wiki/InnoDB"><em>InnoDB</em></a>. W następnym oknie definiujemy miejsce składowania plików bazy danych. Nie jest to tak istotne w naszym przypadku, chyba że będziemy trzymać w bazie grube gigabajty danych.</p>
<p style="text-align: center;"><a href="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_03.png"><img class="alignnone size-medium wp-image-160" title="MySQL - konfiguracja" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_03-256x192.png" alt="" width="256" height="192" /></a> <a href="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_04.png"><img class="alignnone size-medium wp-image-161" title="MySQL - konfiguracja" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_04-256x192.png" alt="" width="256" height="192" /></a><br />
<em>Ustalamy typ obsługiwanych baz danych oraz ich lokalizację</em></p>
<p style="text-align: center;"><a href="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_05.png"><img class="alignnone size-medium wp-image-162" title="MySQL - konfiguracja" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_05-256x192.png" alt="" width="256" height="192" /></a> <a href="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_06.png"><img class="alignnone size-medium wp-image-163" title="MySQL - konfiguracja" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_06-256x192.png" alt="" width="256" height="192" /></a><br />
<em>Wybieramy maksymalną dopuszczalną liczbę klientów bazy<br />
oraz ustawiamy parametry sieciowe</em></p>
<p style="text-align: center;"><a href="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_07.png"><img class="alignnone size-medium wp-image-164" title="MySQL - konfiguracja" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_07-256x192.png" alt="" width="256" height="192" /></a> <a href="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_08.png"><img class="alignnone size-medium wp-image-165" title="MySQL - konfiguracja" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_08-256x192.png" alt="" width="256" height="192" /></a><br />
<em>Konfigurujemy kodowanie znaków (UTF-8) oraz instalujemy serwer jako usługę w systemie</em></p>
<p style="text-align: center;"><a href="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_09.png"><img class="alignnone size-medium wp-image-166" title="MySQL - konfiguracja" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_09-256x192.png" alt="" width="256" height="192" /></a> <a href="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_10.png"><img class="alignnone size-medium wp-image-157" title="MySQL - konfiguracja" src="http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_10-256x192.png" alt="" width="256" height="192" /></a><br />
<em>Ustawiamy hasło głównego administratora (root&#8217;a), kończymy konfigurację</em></p>
<p>Po zakończonej pomyślnie konfiguracji oraz uruchomieniu usługi systemowej, nasz serwer bazodanowy już działa.</p>
<h4>phpMyAdmin</h4>
<p><img class="alignright size-full wp-image-169" title="phpMyAdmin" src="http://www.bbproject.net/wp-content/uploads/2010/01/pma.png" alt="" width="172" height="100" /><a href="http://pl.wikipedia.org/wiki/PhpMyAdmin">phpMyAdmin</a> jest zaawansowanym narzędziem napisanym w PHP, pozwalającym nam na administrację bazą MySQL. Nie wdając się w dłuższe rozważania nad ideą samego skryptu, przechodzimy na <a href="http://www.phpmyadmin.net">stronę</a> projektu i pobieramy stosowną paczkę. W chwili pisania tego wpisu jest to wersja 3.2.5.</p>
<h5>Instalacja</h5>
<p>Sprowadza się ona do wypakowania zawartości archiwum do stosownego folderu. Nie zapominamy o tym, aby umieścić skrypt phpMyAdmin w folderze dokumentów serwera Apache. Zgodnie z tym co było omawiane w <a href="http://www.bbproject.net/2009/12/wlasny-serwer-www-instalacja-apache-i-php">poprzedniej części</a> wpisu, będzie to <em>G:\Server\www\phpmyadmin</em>, lub analogicznie w zależności od tego jaki wybrałeś folder.</p>
<h5>Konfiguracja</h5>
<p>Przystępujemy do konfiguracji skryptu. Musimy w tym celu utworzyć nowy plik tekstowy który zapisujemy pod nazwą <em>config.inc.php</em> i umieszczamy w katalogu głównym phpMyAdmin&#8217;a. Wpisujemy do niego następującą treść:</p>
<pre class="brush: php">&lt;?php

$cfg['blowfish_secret'] = '[WPISZ TUTAJ LOSOWY CIAG ZNAKOW]';

$i = 0;

$i++;
$cfg['Servers'][$i]['verbose'] = 'localhost';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['hide_db'] = '(information_schema|mysql)';

?&gt;</pre>
<p>W pierwszej linii, należy samodzielnie <strong>wpisać dowolny ciąg znaków</strong> w parametr <em>$cfg['blowfish_secret']</em>. Służy on do szyfrowania zawartości plików cookies, stanowiących metodą autoryzacji.</p>
<p>Parametr <em>$cfg['Servers'][$i]['extension']</em> określa z jakiego rozszerzenia (<em>driver&#8217;a</em>), będziemy korzystać przy dostępie do bazy. Jeśli z jakichś powodów nie dysponujesz <em>mysqli</em>, ustaw tą wartość na <em>mysql</em>. Rozszerzenie to, zarówno jedno jak i drugie, włączaliśmy podczas konfiguracji parsera PHP.</p>
<p>Ostatnią opcją wymagającą omówienia, jest <em>$cfg['Servers'][$i]['hide_db']</em>. Określana ona, które tabele z bazy danych nie mają być pokazywane. Wybrane są dwie z informacjami o stanie pracy samej bazy danych.</p>
<p>Po zakończonym procesie konfiguracji, przechodzimy do przeglądarki internetowej, wprowadzając adres <a href="http://localhost/phpmyadmin"><em>http://localhost/phpmyadmin</em></a>. Logujemy się używając nazwy użytkownika <em>root</em> oraz hasła wybranego podczas instalacji bazy danych.</p>
<p style="text-align: center;"><a href="http://www.bbproject.net/wp-content/uploads/2010/01/pma_01.png"><img class="alignnone size-large wp-image-170" title="phpMyAdmin" src="http://www.bbproject.net/wp-content/uploads/2010/01/pma_01-512x357.png" alt="" width="512" height="357" /></a><br />
<em>phpMyAdmin w akcji</em></p>
<h4>Podsumowanie</h4>
<p>I tym sposobem dotarliśmy do końca drugiego artykułu z serii <em>Własny serwer WWW</em>. Mam nadzieję że oba wpisy pozwoliły Wam na łatwe i bezproblemowe uruchomienie lokalnego pakietu do uruchamiania i testowania dynamicznych stron www.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bbproject.net/2010/01/wlasny-serwer-www-instalacja-mysql-i-phpmyadmin/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Własny serwer WWW, instalacja Apache i PHP</title>
		<link>http://www.bbproject.net/2009/12/wlasny-serwer-www-instalacja-apache-i-php/</link>
		<comments>http://www.bbproject.net/2009/12/wlasny-serwer-www-instalacja-apache-i-php/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 08:51:38 +0000</pubDate>
		<dc:creator>M@ster</dc:creator>
				<category><![CDATA[Artykuły]]></category>
		<category><![CDATA[Webmastering]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[konfiguracja]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[serwer]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://www.bbproject.net/?p=62</guid>
		<description><![CDATA[W życiu każdego webmastera, czy też developera, nadchodzi taki moment, w którym postanawia on uruchomić własny serwer WWW w celu pracy na lokalnej maszynie. Nikt nie lubi, po każdorazowym zapisaniu skryptu PHP, wrzucać go na docelowy serwer z obsługą PHP tylko po to, aby zobaczyć efekt działania. Dużo wygodniejszym rozwiązaniem, jest skorzystanie z lokalnie postawionego [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-64" title="Serwer" src="http://www.bbproject.net/wp-content/uploads/2009/12/server_cables-160x108.jpg" alt="Serwer" width="160" height="108" />W życiu każdego webmastera, czy też developera, nadchodzi taki moment, w którym postanawia on uruchomić własny serwer WWW w celu pracy na lokalnej maszynie. Nikt nie lubi, po każdorazowym zapisaniu skryptu PHP, wrzucać go na docelowy serwer z obsługą PHP tylko po to, aby zobaczyć efekt działania. Dużo wygodniejszym rozwiązaniem, jest skorzystanie z lokalnie postawionego serwera wraz z obsługą PHP oraz bazą danych MySQL.</p>
<p>Istnieją wprawdzie gotowe paczki, zawierające w sobie wszystkie te komponenty, instalowane automatycznie bez zbędnych zabaw z konfiguracją, niemniej jednak, z reguły pakiety te posiadają nieaktualne już wersji programów składowych, czy też instalują nadmiar rzeczy nam zbędnych. Być może ręczna instalacja serwera, parsera oraz bazy danych jest bardziej skomplikowana, jednakże, mamy kontrolę nad tym co, gdzie i jak instalujemy.</p>
<p><span id="more-62"></span>Wpis ten, jest pierwszą częścią instrukcji, krok po kroku, jak postawić lokalny serwer WWW. Opis skierowany jest w kierunku maszyny roboczej, która jest używana do pisania strony WWW, bądź skryptu PHP a niżeli jako docelowy system serwerowy.</p>
<h4>Apache</h4>
<p><img class="size-full wp-image-65 alignright" title="Apache" src="http://www.bbproject.net/wp-content/uploads/2009/12/apache.png" alt="Apache" width="150" height="150" /><a href="http://pl.wikipedia.org/wiki/Apache_%28serwer%29">Apache</a> HTTP, jest to serwer WWW, czyli aplikacja sprawiająca, że po wpisaniu adresu IP naszego komputera, możliwe jest przeglądanie stron udostępnionych przez ów serwer.</p>
<p>Pierwszą czynnością, jakiej musimy dokonać, jest oczywiście pobranie samego programu. Przechodzimy zatem na <a href="http://httpd.apache.org">stronę producenta</a> i pobieramy najnowszą wersję na platformę Windows. W tym celu, z lewego menu wybieramy <em>Download</em> &gt; <em>from a mirror</em>. Pobieramy paczkę oznaczoną jako <em>Win32 Binary without crypto</em>.</p>
<h5>Instalacja</h5>
<p>Po udanym pobraniu pliku, przechodzimy do instalacji, uruchamiany zapisany na dysku plik. Pierwszy ekran powitalny informuje nas o wersji pakietu, przechodzimy do następnego okna. Po zaakceptowaniu licencji dochodzimy do <em>Server Information</em> w którym musimy podać parametry naszego serwera. W zasadzie możemy pozostawić wartości domyślne, nie mają one większego znaczenie, zwłaszcza że docelowo sami będzie edytować plik konfiguracji serwera.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-66" title="Apache - Server Information" src="http://www.bbproject.net/wp-content/uploads/2009/12/apache_server_information.png" alt="Apache - Server Information" width="504" height="381" /></p>
<p>W oknie <em>Setup Type</em> wybieramy <em>Typical</em>. Ścieżka instalacji może pozostać domyślna. Kończmy instalację klikając <em>Install</em>.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-67" title="Apache - Installing" src="http://www.bbproject.net/wp-content/uploads/2009/12/apache_installing.png" alt="Apache - Installing" width="504" height="381" /></p>
<p>Po zakończonej instalacji, wpisując w pasku adresu przeglądarki adres <em>localhost</em>, naszym oczom powinien pokazać się napis <strong>It works!</strong> Jeśli takowego nie widzimy, możliwe że inna aplikacja nasłuchuje już na porcie 80, stąd serwer Apache nie może zostać uruchomiony. Jedną z takich aplikacji, jest komunikator Skype, nie wiadomo dlaczego, zajmuje on port 80, mimo iż jest to port zarezerwowany właśnie dla usług serwera WWW. W tej sytuacji wymagany będzie restart komputera. Stan serwera możemy sprawdzić, klikając na nową ikonę w zasobniku systemowym.</p>
<h5>Konfiguracja</h5>
<p>Po zakończeniu instalacji, musimy jeszcze dokonać kilku drobnych zmian w konfiguracji serwera. Między innymi przenieść folder z dokumentami html do innej lokacji, najlepiej takiej która nie znajduje się na partycji systemowej. Robimy to w celu odseparowania plików jakie serwer ma udostępniać od samego oprogramowania.</p>
<p>Przechodzimy do folderu w którym zainstalowaliśmy Apache, do podkatalogu <em>conf</em>, domyślnie będzie to <em>C:\Program Files\Apache Software Foundation\Apache2.2\conf</em>. Otwieramy do edycji plik <em>httpd.conf</em>.</p>
<p>Odszukujemy linię zaczynającą się od <em>ServerAdmin</em> i zmieniamy jej wartość na nasz adres e-mail:</p>
<pre class="brush: plain">ServerAdmin twoj@adres.email</pre>
<p>Nieco niżej odnajdujemy parametr <em>#ServerName</em> i zmieniamy go w następujący sposób:</p>
<pre class="brush: plain">ServerName :80</pre>
<p>Znaczek # na początku linii, oznacza komentarz, usuwamy go załączając w ten sposób daną komendę. Najważniejsze dla nas ustawienie to <em>DocumentRoot</em>, wskazujące folder przechowywania plików udostępnianych przez serwer. Wybieramy dogodną dla siebie lokalizację na dysku i zmieniamy wartość parametru.</p>
<pre class="brush: plain">DocumentRoot "G:\Server\www"</pre>
<p>Podobnie musimy postąpić z linią:</p>
<pre class="brush: plain">&lt;Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"&gt;</pre>
<p>&#8230;zmieniając ją na:</p>
<pre class="brush: plain">&lt;Directory "G:\Server\www"&gt;</pre>
<p>Zapisujemy plik konfiguracji a następnie restartujemy serwer w celu jej uaktywnienia.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-68" title="Apache - Service Monitor" src="http://www.bbproject.net/wp-content/uploads/2009/12/apache_service_monitor.png" alt="Apache - Service Monitor" width="531" height="331" /></p>
<p>Po odświeżeniu adresu <em>localhost</em> w przeglądarce, powinniśmy otrzymać zawartość folderu, z uwagi na fakt iż nie unieśliśmy żadnego pliku w zmienionej ścieżce dokumentów serwera. Naprawiamy szybko ten błąd tworząc przykładowy plik html i zapisując go pod nazwą <em>index.html</em>.</p>
<pre class="brush: xml">&lt;html&gt;
  &lt;head&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;h1&gt;Hello world!&lt;/h1&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre>
<h5>Podsumowanie</h5>
<p>Cały proces może wyglądać dość skomplikowanie, jednakże sprowadza się on do instalacji oprogramowania serwera, kilku drobnych zmian w pliku konfiguracyjnym oraz zrestartowania usługi.</p>
<p>Jeśli posiadamy publiczny adres IP, wpisując go w przeglądarce innej maszyny niż nasza, powinniśmy ujrzeć dokładnie tą samą stronę co lokalnie.</p>
<h4>PHP</h4>
<p><img class="alignright size-thumbnail wp-image-69" title="PHP" src="http://www.bbproject.net/wp-content/uploads/2009/12/php-160x84.png" alt="PHP" width="160" height="84" /><a href="http://pl.wikipedia.org/wiki/PHP">PHP</a> jest parserem języka PHP <img src='http://www.bbproject.net/wp-includes/images/smilies/icon_smile.png' alt=':)' class='wp-smiley' /> , umożliwiając nam uruchamianie jego skryptów. Główne zastosowanie, znajduje on właśnie w dynamicznym generowaniu treści stron internetowych.</p>
<p>Podobnie jak w przypadku serwera WWW, musimy najpierw pobrać odpowiednie oprogramowanie. Przechodzimy zatem na stronę <a href="http://www.php.net">php.net</a> i z prawej kolumny pobierany najnowszą wersję stabilną (<em>stable</em>). W moim wypadku było to PHP 5.3.1. W sekcji <em>Windows Binaries</em> zostaniemy przeniesieni na kolejną <a href="http://windows.php.net/download">stronę</a>, gdzie znajdują się pliki wykonywalne dla platformy Windows. Pobieramy wersję <em>VC6 x86 Thread Safe</em> w postaci archiwum ZIP. Jest to na tyle istotne, gdyż inna, z czterech dostępnych, nie będzie poprawnie współpracować z serwerem Apache.</p>
<h5>Instalacja</h5>
<p>Instalacja sprowadza się do wypakowania zawartości archiwum. Jako iż wersja ta nie wymaga instalacji, najlepiej będzie jeśli umieścimy ją w stworzonym wcześniej folderze Server w podkatalogu php.</p>
<h5>Konfiguracja</h5>
<p>Przejdźmy zatem do konfiguracji. W głównym folderze PHP robimy kopię pliku <em>php.ini-development</em> i zmieniamy nazwę na <em>php.ini</em>. Otwieramy nowy plik do edycji. Aby nie zaciemniać obrazu, znajdujemy poniższe parametry i zmieniamy je tak jak poniżej:</p>
<pre class="brush: plain">doc_root = "G:\Server\www"</pre>
<pre class="brush: plain">extension_dir = "G:\Server\php\ext"</pre>
<pre class="brush: plain">date.timezone = "Europe/Warsaw"</pre>
<p>Jeśli któryś z parametrów jest poprzedzony znakiem komentarza ; (średnikiem), należy go usunąć. Odpowiednie ścieżki modyfikujemy w zależności od tego gdzie umieściliśmy nasz folder z dokumentami html, oraz sam parser PHP. Jeżeli będziemy używać w PHP funkcji do wysyłania poczty elektronicznej, dobrze jest też ustawić parametry serwera SMTP:</p>
<pre class="brush: plain">SMTP = twoj.serwer.smtp</pre>
<pre class="brush: plain">sendmail_from = twoj@adres.email</pre>
<p>Oczywiście należy tutaj podać swój serwer SMTP oraz domyślny adres e-mail, jaki ma widnieć w polu „od”, wysłanych za pośrednictwem PHP listów.</p>
<p>Nas sam koniec przechodzimy do sekcji <em>Dynamic Extensions</em>. Poniżej niej, znajdziemy listę wszystkich dostępnych rozszerzeń w PHP. Domyślnie wszystkie nie są ładowane (znak komentarza przed każdą z linijek). Aby w przyszłości uniknąć niepotrzebnego stresu, z marszu możemy załączyć kilka z nich:</p>
<ul>
<li>php_curl.dll</li>
<li>php_gettext.dll</li>
<li>php_mbstring.dll</li>
<li>php_mysql.dll</li>
<li>php_mysqli.dll</li>
<li>php_sockets.dll</li>
<li>php_sqlite3.dll</li>
</ul>
<p>W razie potrzeby, nic nie stoi na przeszkodzie, aby później włączyć/wyłączyć któreś z rozszerzeń. Usuwamy znak komentarza z w/w dodatków aby uczynić je aktywnymi.</p>
<p>Zasadniczo jeśli chodzi o PHP to już cała konfiguracja. Ostatnie co musimy zrobić to nakazać serwerowi WWW parsowanie plików z rozszerzeniem php, a nie ich wyświetlanie jako zwykły tekst. W tym celu otwieramy ponownie plik <em>httpd.conf</em> w folderze Apache.</p>
<p>W pierwszej kolejności odnajdujemy fragment:</p>
<pre class="brush: plain">&lt;IfModule dir_module&gt;
  DirectoryIndex index.html
&lt;/IfModule&gt;</pre>
<p>&#8230;i zmieniamy na:</p>
<pre class="brush: plain">&lt;IfModule dir_module&gt;
  DirectoryIndex index.php index.html
&lt;/IfModule&gt;</pre>
<p>Zmiana ta, nakazuje serwerowi wyszukiwanie domyślnego pliku folderu nie tylko wśród plików html, ale także i php.</p>
<p>Przechodzimy na sam koniec pliku i doklejamy taki oto fragment:</p>
<pre class="brush: plain">LoadModule php5_module "G:\Server\php\php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "G:\Server\php"</pre>
<p>Jak zwykle pamiętamy o odpowiednich ścieżkach. Ostatecznie, te trzy linijki odpowiedzialne są za przekazanie plików PHP do parsera i zwrócenie wyniku z powrotem do serwera, aby w rezultacie móc obserwować wygenerowaną stronę.</p>
<h5>Jazda próbna</h5>
<p>Czas na przetestowanie czy parser PHP działa poprawnie. Po zapisaniu zmian w pliku konfiguracji PHP oraz Apache, przeprowadzamy restart serwera. Kolejno tworzymy następujący plik <em>index.php</em> i zapisujemy go w głównym folderze serwera (gdzie wcześniej umieściliśmy plik <em>index.html</em>).</p>
<pre class="brush: xml">&lt;?php
  phpinfo();
?&gt;</pre>
<p>Po odwołaniu się do naszej strony w przeglądarce internetowej, naszym oczom powinien ukazać się wynik działania powyższego skryptu &#8211; informacje o parserze PHP.</p>
<p style="text-align: center;"><a href="http://www.bbproject.net/wp-content/uploads/2009/12/phpinfo.png"><img class="alignnone size-large wp-image-70" title="PHP Info" src="http://www.bbproject.net/wp-content/uploads/2009/12/phpinfo-512x409.png" alt="PHP Info" width="512" height="409" /></a></p>
<h5 style="text-align: left;">W razie problemów</h5>
<p style="text-align: left;">Jeśli z jakiegoś powodu, nie uda się ponowny start serwera po dołączeniu do niego obsługi skryptów PHP, możliwe że musimy dodatkowo zmodyfikować ścieżkę przeszukiwania systemu Windows, dodając do niej folder z samym PHP jak i jego rozszerzeniami. W tym celu, przechodzimy do właściwości systemu, zakładka zaawansowane, zmienne środowiskowe. W grupie <em>Zmienne systemowe</em> odnajdujemy tą o nazwie <em>Path</em> i ją edytujemy. Na końcu, po znaku średnika, dopisujemy:</p>
<pre class="brush: plain">G:\Server\php;G:\Server\php\ext</pre>
<p style="text-align: left;">&#8230;pamiętając przy tym, by nie naruszyć znajdujących się tam już danych.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-72" title="Edytowanie zmiennej systemowej Path" src="http://www.bbproject.net/wp-content/uploads/2009/12/windows_path_var.png" alt="Edytowanie zmiennej systemowej Path" width="452" height="520" /></p>
<p style="text-align: left;">Po zatwierdzeniu, ponawiamy próbę uruchomienia serwera WWW.</p>
<h4 style="text-align: left;">Posumowanie</h4>
<p style="text-align: left;">I tym sposobem, postawiliśmy nasz serwer WWW wraz z PHP. Jeśli dopiero zaczynasz przygodę z tym językiem, pewne zmiany w pliku konfiguracyjnym mogą Ci się wydać niezrozumiałe, dlatego ograniczyłem je do niezbędnego minimum. Wraz z wzrostem wtajemniczenia, zaczniesz dokonywać własnych modyfikacji, tak aby pracować możliwe jak najwydajniej.</p>
<p style="text-align: left;">Na koniec załączam oba <a href="http://www.bbproject.net/wp-content/uploads/2009/12/server_conf.zip">pliki konfiguracyjne</a>, jeśli zaprezentowana treść okazała by się niewystarczająca.</p>
<p style="text-align: left;">Do pełni szczęścia, brakuje nam już tylko serwera bazodanowego MySQL oraz narzędzia, które znacznie ułatwia pracę na bazach danych &#8211; phpMyAdmin. Tymi zagadnieniami zajmiemy się w <a href="http://www.bbproject.net/2010/01/wlasny-serwer-www-instalacja-mysql-i-phpmyadmin">kolejnej części</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bbproject.net/2009/12/wlasny-serwer-www-instalacja-apache-i-php/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>
