<?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>Dariusz [LocK] Łuksza &#187; Debian</title>
	<atom:link href="http://luksza.org/tag/debian/feed/" rel="self" type="application/rss+xml" />
	<link>http://luksza.org</link>
	<description>myśli luźno zebrane ... ja i moja jaźń w intenecie</description>
	<lastBuildDate>Fri, 30 Jul 2010 01:22:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>

   <image>
    <title>Dariusz [LocK] Łuksza</title>
    <url>http://0.gravatar.com/avatar/ed2d261ca5db36a17e690dc736dcd9ef?s=48&amp;d=http%3A%2F%2Fluksza.org%2Fwp-includes%2Fimages%2F</url>
    <link>http://luksza.org</link>
   </image>
		<item>
		<title>Prywatne repo git’a cz.2</title>
		<link>http://luksza.org/2009/12/02/prywatne-repo-git%e2%80%99a-cz-2/</link>
		<comments>http://luksza.org/2009/12/02/prywatne-repo-git%e2%80%99a-cz-2/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 21:38:08 +0000</pubDate>
		<dc:creator>Dariusz Łuksza</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[polish]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[gitosis]]></category>

		<guid isPermaLink="false">http://luksza.org/?p=436</guid>
		<description><![CDATA[W poprzednim poście de facto mało zajmowaliśmy się git&#8217;em &#8230; szczerze powiedziawszy to skonfigurowaliśmy tylko lighttpd które to później będzie nam potrzebne do uruchomienia cgit&#8216;a czyli interfejsu www w którym będziemy mogli obejrzeć sobie nasze repo. Dziś za to zajmiemy się instalacją i konfiguracją gitosis. Czym jest gitosis i o czego będzie nam potrzebne? Cóż, [...]]]></description>
			<content:encoded><![CDATA[<p>W poprzednim poście de facto mało zajmowaliśmy się git&#8217;em &#8230; szczerze powiedziawszy to skonfigurowaliśmy tylko <em>lighttpd</em> które to później będzie nam potrzebne do uruchomienia <em>cgit</em>&#8216;a czyli interfejsu www w którym będziemy mogli obejrzeć sobie nasze repo. Dziś za to zajmiemy się instalacją i konfiguracją gitosis.</p>
<p>Czym jest gitosis i o czego będzie nam potrzebne?</p>
<p>Cóż, podobnie jak sam git, gitosis jest zestawem skryptów ułatwiającym prace z repozytorium. Zestaw tych skryptów odpowiedzialny jest za kontrolę dostępu do repo jak i za sam dostęp do niego.</p>
<p>Jak działa gitosis?</p>
<p>&#8222;Integruje&#8221; się ono z serwerem SSH, &#8222;integruje się&#8221; to za wiele powiedziane, bo <em>sshd</em> wykorzystywane jest tylko do autoryzacji użytkowników oraz transferu danych z i do repo. Samo gitosis nie uruchamia dodatkowego daemona, jak już wspomniałem korzysta z <em>sshd</em>.</p>
<p>Jak przebiega proces autoryzacji ?</p>
<p>Podobnie jak w <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2dpdGh1Yi5jb20v" target=\"_blank\">GitHub</a>&#8216;ie najpierw trzeba dodać nasz klucz publiczny, żebyśmy mogli zostać z autoryzowani, następnie przy każdej próbie połączenia z repo będzie on wykorzystywany do przeprowadzenia autoryzacji &#8230; nie ma w tym żadnej wielkiej filozofii, dorzycamy nasz klucz i wszystko po prostu działa.</p>
<p>Ok, więc może w końcu do sedna &#8230; zaczynamy od zainstalowania pakietu <em>gitosis</em> w systemie:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> gitosis</pre></div></div>

<p>Proces instalacji sam utworzy w systemie konto użytkownika (standardowy login to <em>gitosis</em>), założy mu katalog domowy (standardowo: <em>/srv/gitosis</em>). Jeżeli bardzo chcemy to możemy to zmienić korzystając ze standardowej komendy <em>usermod</em> dla uproszczenia ja będę się posługiwał standardową nazwą użytkownika. Pozostaje nam tylko inicjalizacja i konfiguracja:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #660033;">-H</span> <span style="color: #660033;">-u</span> gitosis gitosis-init <span style="color: #000000; font-weight: bold;">&lt;</span> id_rsa.pub</pre></div></div>

<p>Gdzie <em>id_rsa.pub</em> jest naszym kluczem publicznym używanym przez naszego klienta ssh &#8230; fajnie to brzmi ale co to właściwie jest ? <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Dokładny opis jak taki klucz sobie wygenerować (i co z nim zrobić) znajduje się <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2hlbHAuZ2l0aHViLmNvbS9rZXktc2V0dXAtcmVkaXJlY3Q=" target=\"_blank\">tutaj</a>. Generalnie powinien być to klucz który będzie identyfikował naszą maszynę z której będziemy się łączyć do repozytorium (tj. klucz prywatny i publiczny powinny być zapisane w katalogu <em>~/.ssh</em> na twoim desktopie/laptopie, tylko klucz publiczny w celu instalacji go w konfiguracji gitosis powinieneś skopiować na serwer na którym instalujesz repozytorium). Powyższa komęda powinna zainicjalizować repozytorium git/gitosis oraz dodać wskazany klucz publiczny jako klucz administratora. Jeżeli mamy szczęście to po wykonaniu poniżeszej komędy na naszym desktopie/laptopie (tj. na tym na którym znajduje się para <em>~/.ssh/id_rsa</em> i <em>~/.ssh/id_rsa.pub</em>):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git clone gitosis<span style="color: #000000; font-weight: bold;">@</span>adres_serwera:gitosis-admin.git</pre></div></div>

<p>Jeżeli powyższa komenda nie wykona się poprawnie (jak to było w moim przypadku) zmuszeni jesteśmy skonfigurować gitosis ręcznie. W tym celu udajemy musimy przeedytować plik <em>/srv/gitosis/.ssh/authorized_keys</em> (tak wiem, że nie powinno się go edytować &#8230; ale co nam pozostaje ?) i zmienić &#8222;domyślny&#8221; login na identyczny z tym podanym w komentarzu do naszego klucza prywatnego (to jest to co podaliśmy za przełącznikiem <em>-C</em> podczas jego tworzenia), wartość klucza publicznego (to jest ten dziwny ciąg znaków za <em>ssh-rsa</em>) oraz na samym końcu ponownie wstawiamy wartość z naszego komentarza. Po wykonaniu tych zmian i ich zapisaniu ponownie próbujemy sklonować repozytorium z konfiguracją (czyli jeszcze raz wydajemy poprzednią komendę) &#8230; jeżeli znowu nie wykona się poprawnie &#8230; cóż czasem trzeba sobie radzić samemu <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ok, zakładam że w końcu uda się pobrać z serwera konfigurację z serwera &#8230; tak, na prawdę gitosis przechowuje swoją konfigurację w formie jednego z repozytoriów. Jest to dość wygodne, gdyż nie wymusza na nas logowania się na serwer celem zmiany konfiguracji (w wypadku dodania użytkownika repozytorium, czy też nowego projektu). W każdej chwili możemy sobie ta konfigurację pobrać, zmodyfikować, &#8222;wepchnąć&#8221; z powrotem i usunąć <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  jak dla mnie bomba <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Co do samej konfiguracji to składa się ona z 2 rzeczy:</p>
<ul>
<li>pliku z konfiguracją (znajdują się tam definicje repozytoriów, grup i praw dostępu)</li>
<li>katalogu z kluczami publicznymi użytkowników</li>
</ul>
<p>W katalogu <em>keydir/</em> znajdują się klucze publiczne użytkowników, w postaci:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">uzywany_login.pub</pre></div></div>

<p>najczęściej login ma postać adresu email, więc przykładowy plik dla użytkownika <em>wlodek@luksza.org</em> będzie się nazywał<em> wlodek@luksza.org.pub</em> &#8230; jest to niezmiernie skomplikowane, nieprawdaż <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>W przypadku kiedy chcemy dodać nowego użytkownika bądź repozytorium musimy przeedytować plik <em>gitosis.conf</em>, jego opis można znaleźć <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VhZ2Fpbi5uZXQvZ2l0d2ViLz9wPWdpdG9zaXMuZ2l0O2E9YmxvYl9wbGFpbjtmPWV4YW1wbGUuY29uZjtoYj1IRUFE" target=\"_blank\">tutaj</a>. W przypadku użytkowników należy pamiętać o zgodności nawy użytkownika z nazwą pliku zawierającą jego klucz publiczny. Dodatkowo warto wspomnieć o tym, że dla każdego repozytorium możemy zdefiniować właściciela (parametr <em>owner</em> <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) oraz opis (<em>description</em>), są to przydatne parametry zwłaszcza podczas eksploracji repozytorium przy użyciu <em>cgit</em>&#8216;a czy też <em>gitweb</em>&#8216;a.</p>
<p>Kiedy już wykonamy wszystkie zmiany commit&#8217;ujemy je do lokalnego repo, a potem wypychamy do głównego:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git commit <span style="color: #660033;">-a</span>
git push</pre></div></div>

<p>W ten prosty sposób administrujemy repozytorium git&#8217;a zarządzanym przez <em>gitosis</em> <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>BTW. Chyba szykuje się nam zmiana na miejscu domyślnego repo Eclipse Fundation możliwe, że nowe repo będzie obsługiwane przez git&#8217;a, &#8222;pierwsze&#8221; takie przesłanki można znaleźć <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Rldi5lY2xpcHNlLm9yZy9ibG9ncy93YXluZS8yMDA5LzEyLzAxL2dpdC1hdC1lY2xpcHNlLw==" target=\"_blank\">tutaj</a>.</p>
 <img src="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=436" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://luksza.org/2009/12/02/prywatne-repo-git%e2%80%99a-cz-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Prywatne repo git&#8217;a cz.1</title>
		<link>http://luksza.org/2009/11/29/prywatne-repo-gita-cz-1/</link>
		<comments>http://luksza.org/2009/11/29/prywatne-repo-gita-cz-1/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 22:09:21 +0000</pubDate>
		<dc:creator>Dariusz Łuksza</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[polish]]></category>
		<category><![CDATA[cgit]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[gitosis]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[lighttpd]]></category>

		<guid isPermaLink="false">http://luksza.org/?p=417</guid>
		<description><![CDATA[Jakiś czas temu pisałem jak za pomocą git&#8217;a i pendirve&#8217;a można w łatwy sposób zabezpieczyć się przed utratą projektu. Dziś przedstawię bardziej skomplikowane podejście, a mianowicie postawimy repozytorium git&#8217;a na serwerze. W moich założeniach takie repozytorium nie będzie dostępnie publicznie (w przeciwieństwie do rozwiązania jakie na starcie proponuje GitHub; mają też rozwiązanie płatne w którym [...]]]></description>
			<content:encoded><![CDATA[<p>Jakiś czas temu pisałem jak za pomocą <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2x1a3N6YS5vcmcvMjAwOS8wNC8yNC93bGFzbmUtemFwYXNvd2UtcmVwb3p5dG9yaXVtLWdpdC8=" target=\"_blank\">git&#8217;a i pendirve&#8217;a można w łatwy sposób zabezpieczyć się przed utratą projektu</a>. Dziś przedstawię bardziej skomplikowane podejście, a mianowicie postawimy repozytorium git&#8217;a na serwerze. W moich założeniach takie repozytorium nie będzie dostępnie publicznie (w przeciwieństwie do rozwiązania jakie na starcie proponuje <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2dpdGh1Yi5jb20v" target=\"_blank\">GitHub</a>; mają też rozwiązanie płatne w którym to możemy mieć  prywatne repo, ale ja wole mieć je u siebie <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).</p>
<p>Moje oczekiwania od takiego repo są następujące:</p>
<ul>
<li>dostępność do repo z każdego zakątka świata (czyli serwer musi być dostępny szeroko pojętej sieci)</li>
<li>możliwość dostępu do repo tylko dla wybranych użytkowników</li>
<li>możliwość przeglądania repo z poziomu www</li>
<li>bezpieczeństwo stosowanego rozwiązania (https, ssh)</li>
</ul>
<p>Jakie wybrałem oprogramowanie ?</p>
<ul>
<li>systemem bazowym będzie Debian (znany, <em>lubiany</em> i standardowy linux)</li>
<li>gitosis (prosty soft do hostowania repozytorium git&#8217;a z równie prostą kontrolą dostępu, IMO rozwiązanie w sam raz do moich potrzeb)</li>
<li><a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5saWdodHRwZC5uZXQv" target=\"_blank\">lighttpd</a> (mały i szybki httpd)</li>
<li>mod_ssl oraz mod_auth do wyżej wymienionego httpd</li>
<li><a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2hqZW1saS5uZXQvZ2l0L2NnaXQv" target=\"_blank\">cgit</a> odpowiednik gitweb&#8217;a ale moim zdaniem ładniejszy i bardziej przejrzysty</li>
</ul>
<p>We własnym zakresie trzeba zadbać o system bazowy, oraz jego konfigurację <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Zakładam, że Debian jest już zainstalowany, skonfigurowany, <em>zabezpieczony</em> oraz podpięty do sieci.</p>
<p>Zaczynamy od instalacji i konfiguracji <em>lighttpd</em></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> lighttpd apache2-utils</pre></div></div>

<p>Pakiet <em>apache2-utils</em> będzie nam potrzebny do wygenerowania <em>hash</em>&#8216;a hasła potrzebnego do <em>mod_auth</em> (swoją drogą system pakietowania debiana coraz bardziej mnie zadziwia &#8230; nie rozumiem po co w zależnościach do tego pakietu znajduje się libmysqlclient &#8230;). Po zainstalowaniu włączamy dwa interesujące nas moduły:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">lighttpd-enable-mod auth
lighttpd-enable-mod ssl</pre></div></div>

<p>Oraz przechodzimy do konfiguracji zarówno httpd jak i modułów. Zaczniemy od <em>mod_auth</em>, czyli edytujemy pliczek <em>/etc/lighttpd/conf-enabled/05-auth.conf</em>, w którym to wybieramy backend (czyli algorytm szyfrowania haseł oraz miejsce ich zapisu) oraz konfigurujemy miejsca do których dostęp będzie strzeżony hasłem. Po modyfikacjach plik konfiguracyjny powinien wyglądać mniej więcej tak:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## Authentication for lighttpd</span>
<span style="color: #666666; font-style: italic;">##</span>
<span style="color: #666666; font-style: italic;">## Documentation: /usr/share/doc/lighttpd-doc/authentication.txt.gz</span>
<span style="color: #666666; font-style: italic;">##                http://www.lighttpd.net/documentation/authentication.html</span>
server.modules                += <span style="color: #7a0874; font-weight: bold;">&#40;</span> <span style="color: #ff0000;">&quot;mod_auth&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #666666; font-style: italic;"># htdigest jest najmocniejszym dostepnym &quot;algorytmem&quot; szyfrujacym</span>
auth.backend                   = <span style="color: #ff0000;">&quot;htdigest&quot;</span>
auth.backend.htdigest.userfile = <span style="color: #ff0000;">&quot;/etc/lighttpd/lighttpd-htdigest.user&quot;</span>
&nbsp;
auth.require                 = <span style="color: #7a0874; font-weight: bold;">&#40;</span> <span style="color: #ff0000;">&quot;/&quot;</span> =<span style="color: #000000; font-weight: bold;">&gt;</span>
                                     <span style="color: #7a0874; font-weight: bold;">&#40;</span>
                                       <span style="color: #ff0000;">&quot;method&quot;</span>  =<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #ff0000;">&quot;digest&quot;</span>,
                                       <span style="color: #ff0000;">&quot;realm&quot;</span>   =<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #ff0000;">&quot;secure content&quot;</span>,
                                       <span style="color: #ff0000;">&quot;require&quot;</span> =<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #ff0000;">&quot;valid-user&quot;</span>
                                      <span style="color: #7a0874; font-weight: bold;">&#41;</span>
                                <span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>Opcja <em>auth.require</em> zawiera tylko jeden element, którym jest root serwera httpd, czyli dostęp do dowolnego pliku na serwerze będzie chroniony hasłem. Warto tutaj wspomnieć, że hash hasła zostanie <em>posolony</em> wartością w <em>realm</em>, dzięki temu uzyskujemy prosty mechanizm kontroli dostępu (tj. gdybyśmy mieli dwa zasoby z różnymi wartościami w <em>realm</em>, każdego użytkownika który powinien posiadać dostęp do obu powinniśmy dodać osobno). Teraz wystarczy tylko dodać użytkownika:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">htdigest <span style="color: #660033;">-c</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>lighttpd<span style="color: #000000; font-weight: bold;">/</span>lighttpd-htdigest.user <span style="color: #ff0000;">'secure content'</span> user_name</pre></div></div>

<p>Po wydaniu tej komendy zostaniemy poproszeni o podanie oraz potwierdzenie hasła dla tego użytkownika.</p>
<p>Po skonfigurowaniu <em>mod_auth</em> przechodzimy do konfiguracji <em>mod_ssl</em>, w tym celu edytujemy <em>/etc/lighttpd/conf-enabled/10-ssl.conf</em>. Ja zdecydowałem się udostępniać usługę http tylko na porcie 443 z szyfrowaniem (czyli popularny https <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), więc w konfiguracji <em>mod_ssl</em> wskazałem na którym dokładnie adresie IP oraz na jakim porcie ma nasłuchiwać daemon; plik konfiguracyjny wygląda mniej więcej tak:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## lighttpd support for SSLv2 and SSLv3</span>
<span style="color: #666666; font-style: italic;">##</span>
<span style="color: #666666; font-style: italic;">## Documentation: /usr/share/doc/lighttpd-doc/ssl.txt</span>
<span style="color: #666666; font-style: italic;">##      http://www.lighttpd.net/documentation/ssl.html</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#### SSL engine</span>
<span style="color: #007800;">$SERVER</span><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #ff0000;">&quot;socket&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> == <span style="color: #ff0000;">&quot;111.222.3.4:443&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
ssl.engine                  = <span style="color: #ff0000;">&quot;enable&quot;</span>
ssl.pemfile                 = <span style="color: #ff0000;">&quot;/etc/lighttpd/server.pem&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p>następnie generujemy certyfikat <em>self-signed</em> dla naszego serwera:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">openssl req <span style="color: #660033;">-new</span> <span style="color: #660033;">-x509</span> <span style="color: #660033;">-keyout</span> server.pem <span style="color: #660033;">-out</span> server.pem <span style="color: #660033;">-days</span> <span style="color: #000000;">365</span> <span style="color: #660033;">-nodes</span></pre></div></div>

<p>Który to kopujemy do <em>/etc/lighttpd/server.pem</em>.</p>
<p>Ostatnią częścią konfiguracji lighttpd będzie ogólna konfiguracja serwera, czyli edytujemy plik<br />
<em>/etc/lighttpd/lihttpd.conf.</em> W którym to odkomentowujemy tylko linie:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">server.bind = <span style="color: #ff0000;">&quot;localhost&quot;</span></pre></div></div>

<p>Spowoduje to, że port 80 zostanie otwarty tylko na interfejsie <em>loopback</em>, co w konsekwencji prowadzi do tego, że wszystkie połączenia (z sieci) do portu 80 będą odrzucane (za to akceptowane będą połączenia do portu 443, zgodnie z konfiguracją w pliku <em>10-ssl.conf</em>).</p>
<p>Na razie to wszystko w kwestii konfiguracji lighttpd, wrócimy jeszcze do niej podczas konfiguracji cgit&#8217;a. W następnej części zajmiemy się konfiguracją gitosis.</p>
<p>PS. Tutaj jest <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2x1a3N6YS5vcmcvMjAwOS8xMi8wMi9wcnl3YXRuZS1yZXBvLWdpdCVlMiU4MCU5OWEtY3otMi8=" target=\"_self\">część druga</a>.</p>
 <img src="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=417" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://luksza.org/2009/11/29/prywatne-repo-gita-cz-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jak zmusić Debiana do korzystania z zewnętrznego MTA</title>
		<link>http://luksza.org/2009/10/15/jak-zmusic-debiana-do-korzystania-z-zewnetrznego-mta/</link>
		<comments>http://luksza.org/2009/10/15/jak-zmusic-debiana-do-korzystania-z-zewnetrznego-mta/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 21:24:02 +0000</pubDate>
		<dc:creator>Dariusz Łuksza</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[polish]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[mta]]></category>

		<guid isPermaLink="false">http://luksza.org/?p=384</guid>
		<description><![CDATA[Cala historia zaczęła się parę dni temu, kiedy to zapragnąłem sobie mieć prywatny serwerek do hostowania własnych nie publicznych projektów (do publicznych używam już github&#8216;a). Jako, że serwer jest dostępny publicznie, a hostować ma nie publiczne projekty przydało by się go trochę zabezpieczyć &#8230; z administrowaniem serwerami nie miałem wiele wspólnego, ale od czego jest Google [...]]]></description>
			<content:encoded><![CDATA[<p>Cala historia zaczęła się parę dni temu, kiedy to zapragnąłem sobie mieć prywatny serwerek do hostowania własnych <strong>nie</strong> publicznych projektów (do publicznych używam już <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2dpdGh1Yi5jb20vbG9jaw==" target=\"_blank\">github</a>&#8216;a).</p>
<p>Jako, że serwer jest dostępny publicznie, a hostować ma <strong>nie publiczne </strong>projekty przydało by się go trochę zabezpieczyć &#8230; z administrowaniem serwerami nie miałem wiele wspólnego, ale od czego jest Google <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>W sieci znajduje się kilka opisów co można poprawić w standardowym Debianie żeby zwiększyć jego bezpieczeństwo. Oprócz samych zabezpiczeń warto tez być na bierząco informowanym o stanie systemu.  Informacje takie możne nam dostarczyć program <em>logcheck</em> (wraz z <em>logcheck-database</em>), tylko ze jakoś te informacje muszą do nas trafić, tutaj z pomocą przychodzi &#8230; poczta elektroniczna, czyli popularne e-maile <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Wszystko było by fajnie gdyby nie to, że w momencie wysyłania wiadomości Debian usilnie korzysta z lokalnego MTA (tj. mail transport aget &#8230; domyślnie jest to <em>exim4</em>), co nie do końca jest fajne (jest to osobny daemon, dodatkowe otwarte porty itp.) zwłaszcza jeżeli tuz obok stoi dedykowany serwer pocztowy.</p>
<p>W tej sytuacji instalujemy  <em>heirloom-mailx</em>, programik ten (po odpowiednim skonfigurowaniu) pozwala używać dowolnego zewnętrznego serwera pocztowego podczas wywoływania systemowej komendy <em>/usr/bin/mail</em>. Potrzebna konfiguracje umieszczamy na końcu pliku <em>/etc/nail.rc</em> (nie mylić z <em>/etc/<strong>m</strong>ail.rc</em>) &#8230; kiedy chcemy żeby dany użytkownik posiadał odrębną konfiguracje, to musimy wymedytować plik <em>~/mail.rc</em></p>
<pre>set smtp-use-starttls
set from=user@jakis.host.org
set smtp=smtp.jakis.host.org
set smtp-auth-user=user@jakis.host.org
set auth-login=user@jakis.host.org
set smtp-auth-password=supertrudneitajnehaslo
set ssl-verify=ignore</pre>
<p>Teraz możemy przetestować nasza konfiguracje wywołując:</p>
<pre>mail nasz-adres@nasz-server.org</pre>
<p>Jeżeli coś nie działa to zostaniemy o tym poinformowani stosownym komunikatem &#8230; BTW. jeżeli chcemy sobie debugować możemy wykorzystać przełącznik <em>-d</em> (jak debug <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) , z tym ze należy tutaj wspomnieć, że dodanie tego przełącznika powoduje wypisanie na ekran wiadomości i &#8230; nie powoduje jej wysyłania (sic!).</p>
<p>Dlaczego o tym pisze ? Bo dziś zmarnowałem ładnych parę godzin(sic!) żeby  się do tego dogooglac &#8230; najpierw żeby znaleźć ta paczkę, potem zęby odpowiednio skonfigurować (tutaj szczególne podziękowania należą się przełącznikowi <em>-d</em> &#8230;).</p>
 <img src="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=384" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://luksza.org/2009/10/15/jak-zmusic-debiana-do-korzystania-z-zewnetrznego-mta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>/me vs. EFI stage 3 1:2</title>
		<link>http://luksza.org/2009/02/24/me-vs-efi-stage-3-12/</link>
		<comments>http://luksza.org/2009/02/24/me-vs-efi-stage-3-12/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 23:09:32 +0000</pubDate>
		<dc:creator>Dariusz Łuksza</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[polish]]></category>
		<category><![CDATA[2.6.26]]></category>
		<category><![CDATA[2.6.27]]></category>
		<category><![CDATA[2.6.28]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[efi]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[grub]]></category>

		<guid isPermaLink="false">http://luksza.org/?p=225</guid>
		<description><![CDATA[Niestety, znowu EFI mnie pokonało &#8230; ale może po kolei. Parę dni temu chłopaką z UbuntuForums.org, a udało się uruchomić gruba&#8217;a na Mac&#8217;ach z 4Gb pamięci ram (czyli problem który mnie zatrzymał ostatnio został rozwiązany). Działającą wersje 64-bitowego grub.efi (wraz z modułami) można pobrać z tąd. Wydaje mi się że warto w tym miejscu przytoczyć [...]]]></description>
			<content:encoded><![CDATA[<p>Niestety, znowu EFI mnie pokonało &#8230; ale może po kolei.<span id="more-225"></span></p>
<p>Parę dni temu chłopaką z <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3VidW50dWZvcnVtcy5vcmc=" target=\"_blank\">UbuntuForums.org</a>, a udało się uruchomić gruba&#8217;a na Mac&#8217;ach z 4Gb pamięci ram (czyli problem który mnie zatrzymał ostatnio został rozwiązany). Działającą wersje 64-bitowego grub.efi (wraz z modułami) można pobrać <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3VidW50dWZvcnVtcy5vcmcvc2hvd3Bvc3QucGhwP3A9Njc2Nzg4MSZhbXA7cG9zdGNvdW50PTIwOQ==" target=\"_blank\">z tąd</a>.</p>
<p>Wydaje mi się że warto w tym miejscu przytoczyć parę features które dostępne są w wersji 2. IMHO najważniejsze są dwa:</p>
<ul>
<li>mini bash &#8211; w czasie bootowania mamy możliwość przejścia w trym shella (domyślnie wciskając klawisz &#8222;c&#8221;) tam możemy np. wylistować partycje na dysku czy zawartość katalogu, możemy oczywiście też zabootować jądro. Dostępna jest również historia poleceń &#8230; bardzo przydatna w przypadku wszelakich literówek <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>wygodniejsza edycja ustawień systemu podczas boot&#8217;owania. Chodzi mi tutaj o możliwość zmian w grub.conf/menu.list tuż przed uruchomieniem systemu. We wcześniejszej wersji grub&#8217;a trzeba było najpierw wybrać linie którą chcemy edytować, potem przejść w tryb edycji wciskając &#8222;e&#8221;, po dokonaniu zmian zatwierdzić to enterem i całość potwierdzić jeszcze naciskając &#8222;b&#8221;. W nowym grubie opcje uruchomienia edytujemy jak w nano, nie trzeba już wybierać linii i podwójnie potwierdzać dokonanych zmian, wystarczy tylko ctrl+x i system sie zaczyna boot&#8217;ować albo ctrl+c żeby anulować zmiany</li>
</ul>
<p>To na tyle jeżeli chodzi o nowego grub&#8217;a <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  &#8230; wracając do sedna sprawy &#8230;</p>
<p>Skoro jest już działający bootloader, to wypadało by też  mieć działające jądro &#8230; co niestety nie okazało się takie proste jak by się to mogło wydawać.</p>
<p>Jak też można się spodziewać aktualnie używane jądro (2.6.28-gentoo-r1) nie ruszyło (nie wstała w ogóle grafika grafika, brak żadnego promt&#8217;a itp &#8230;) &#8230; i tak zaczęły się poszukiwania działającego jądra &#8230; na szczęście nie trwały długo, z pomocą przyszedł nie dawno co opublikowany <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2RlYmlhbi5vcmc=" target=\"_blank\">Debian</a> Lenny. Dystrybucyjne jądro 2.6.28 ruszyło bez problemów, ale zaraz potem się zbuntowało i nie wiadmo z jakich powodów nie chciał zamontować rootfs&#8217;a.</p>
<p>Kolejne jądro jakie testowałem pochodziło również z Debiana Lenny, ale tym razem z dystrybucji <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2RlYmlhbi1saXZlLmFsaW90aC5kZWJpYW4ub3JnLw==" target=\"_blank\">live</a>. Wraz z dołączonym obrazem initrd mogło wystartować mój system &#8230; sytuacja była trochę komiczna bo wykożystywałem jądro i obraz initrd z Debiana do odpalenia Gentoo, ale czego nie robi się żeby osiągnąć cel <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Po udanym zalogowaniu udało się mi nawet bez większych problemów odpalić X&#8217;y ;&gt;</p>
<p>Następnym etapem było pozyskanie pliku konfiguracyjnego tego jądra. Na pierwszy rzut poleciało</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>proc<span style="color: #000000; font-weight: bold;">/</span>config.gz</pre></div></div>

<p>niestety bez skutku (koś tego nie wkompilował). Skoro nie da się w ten sposób to trzeba poszukać w google&#8217;u. Poszukiwania te też nic nie dały gdyż akurat w tym momencie serwer i strona <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21lcmtlbC5kZWJpYW4ub3JnL35qdXJpai8=" target=\"_blank\">http://merkel.debian.org/~jurij/</a> leżały &#8230; co za pech :/ &#8230; Na szczęście okazało się, że konfig starym dobrym sposobem leżał sobie w /boot &#8230; najprostsze rozwiązania są najlepsze, tylko nie zawsze się na nie szybko wpada &#8230;</p>
<p>Mając działającą konfigurację jądra można zabrać się za próbę rekompilacji. Jako pierwsze do boju stawiło się 2.6.28 (z patch&#8217;ami Gentoo). Kolejne parę godzin walki, kilkanaście reboot&#8217;ów i kompilacji &#8230; rezygnacja, cóż to może 2.6.27 (tym razem vanilla) &#8230; po paru godzinach status taki sam co z 2.6.28, czyli bez efektów. Ostateczność: 2.6.26 (też vanilla) &#8230; działa. Kolejne godziny walki i próby zmuszenia 2.6.28 (bazując ciągle na konfigu z 2.6.26) do działania spełzły na niczym &#8230;</p>
<p>Tak właśnie spędziłem sobie część soboty, prawie całą niedziele i 3h w poniedziałek na rekompilacjach i reboot&#8217;ach &#8230; tylko po to żeby dojść do wniosku, że coś pomiędzy 2.6.26, a 2.6.27 zostało skopane w EFIFB i/lub w FrameBuffer&#8217;rze, ale co gdzie i jak to ja nie mam zielonego pojęcia, w tym miejscu kończą się moje możliwości &#8230; co gorsze, poprawy nie widać nawet w 2.6.29-rc5, jeszcze gorsze jest to, że nie mam żadnych danych które mogły by pomódz developerą kernela &#8230; a może brak mi raczej odwagi żeby napisać na LKML <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Nic to, trzeba pokornie czekać na poprawki &#8230; a tym czasem nie postrzeżenie zaczął się nowy semestr <img src='http://luksza.org/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /> </p>
 <img src="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=225" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://luksza.org/2009/02/24/me-vs-efi-stage-3-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moko po 20 dniach przerwy.</title>
		<link>http://luksza.org/2008/10/12/moko-po-20-dniach-przerwy/</link>
		<comments>http://luksza.org/2008/10/12/moko-po-20-dniach-przerwy/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 20:29:35 +0000</pubDate>
		<dc:creator>Dariusz Łuksza</dc:creator>
				<category><![CDATA[FreeRunner]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[polish]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Om2008.8]]></category>
		<category><![CDATA[OpenMoko]]></category>

		<guid isPermaLink="false">http://luksza.org/?p=136</guid>
		<description><![CDATA[Ponieważ, tuż przed awarią mac&#8217;a kupiłem motke v8, cały okres kiedy mac był w serwisie OM leżało odłogiem. Teraz kiedy mam chwilę wolnego czasu sprawdzam co sie zmieniło w repozytoriach przez czas mojej nie obecności. OM2008.09: czyli stabilniejsza wersja OM2008.08, powiem tylko tyle że jest jest stabilne &#8230; bo przez te prawie 2 tygodnie się [...]]]></description>
			<content:encoded><![CDATA[<p>Ponieważ, tuż przed awarią mac&#8217;a kupiłem motke v8, cały okres kiedy mac był w serwisie OM leżało odłogiem. Teraz kiedy mam chwilę wolnego czasu sprawdzam co sie zmieniło w repozytoriach przez czas mojej nie obecności.</p>
<p>OM2008.09: czyli <em>stabilniejsza</em> wersja OM2008.08, powiem tylko tyle że jest jest <em>stabilne</em> &#8230; bo przez te prawie 2 tygodnie się tam nic nie zmieniło poza 2 pakietami.</p>
<p>Debian: experimental, czyli sporo zmian, nowe FSO, python, mathbox, xorg &#8230; numerki poleciały w górę ale namacalnych efektów nie widać &#8230; przynajmniej bez karty SIM.</p>
<p>Podsumowując, moko rozwija się ale jakoś nie widać żeby szybko było dostępne dla ZU <img src='http://luksza.org/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /> </p>
 <img src="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=136" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://luksza.org/2008/10/12/moko-po-20-dniach-przerwy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian na OpenMoko</title>
		<link>http://luksza.org/2008/08/16/debian-na-openmoko/</link>
		<comments>http://luksza.org/2008/08/16/debian-na-openmoko/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 08:28:47 +0000</pubDate>
		<dc:creator>Dariusz Łuksza</dc:creator>
				<category><![CDATA[FreeRunner]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[polish]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[FSO]]></category>
		<category><![CDATA[OpenMoko]]></category>

		<guid isPermaLink="false">http://luksza.org/?p=104</guid>
		<description><![CDATA[Wczoraj wieczorem na liście community został przedstawiony oficjalny port Debiana. Instalacja, zgodnie z instrukcją, odbywa się na działającym FreeRunner&#8217;rze z instalowanym softem OpenMoko. Niestety Debian nie zmieści się na wbudowanej pamięci flash (a może to i dobrze, tak mając 2 systemy na telefonie możemy czyć się bezpiecznie &#8230; co za absurd, &#8222;dwa systemy na telefonie&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Wczoraj wieczorem na liście community został <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2xpc3RzLm9wZW5tb2tvLm9yZy9waXBlcm1haWwvY29tbXVuaXR5LzIwMDgtQXVndXN0LzAyNjY5NS5odG1s" target=\"_blank\">przedstawiony</a> oficjalny port Debiana.  Instalacja, zgodnie z <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3dpa2kuZGViaWFuLm9yZy9EZWJpYW5PbkZyZWVSdW5uZXI=" target=\"_blank\">instrukcją</a>, odbywa się na działającym FreeRunner&#8217;rze z instalowanym softem OpenMoko. Niestety Debian nie zmieści się na wbudowanej pamięci flash (a może to i dobrze, tak mając 2 systemy na telefonie możemy czyć się bezpiecznie &#8230; co za absurd, &#8222;dwa systemy na telefonie&#8221; &#8230;) więc do instalacji potrzebujemy karty flash, o minimalnej pokjemnośći 512MB (to jest absolutne minimum dla Debiana z FSO).</p>
<p>Sam proces instalacji odbywa się automatycznie, jedyne o czym musiałem pamiętać (przy drugiej instalacji, gdyż po pierwszej poprawiałem ten błąd ręcznie), to zmiana systemu plików partycji z uImage (z ext2 na vfat, bo mój FR nie akceptowal ext2 na partycji z boot&#8217;em). Po instalacji i ponownym uruchomieniu (cytując wiki Debiana):</p>
<blockquote><p>From there on, there is nothing special about your telephone any more – it’s a Debian system!</p></blockquote>
<p>osobiście bym się z tym nie zgodził, bo ile telefonów może działać na Debianie i dawać dostęp do konsoli i ssh ?</p>
<p>Razem z Debianem dostajemy FSO &#8230; i tu mały haczyk, wersja która jest w repozytoriach Debiana nie działa u mnie, tj. po wpisaniu pinu można było go zaakceptować i czekać w nieskończoność. Błąd ten jest <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RyYWMuZnJlZXNtYXJ0cGhvbmUub3JnL3RpY2tldC85MA==" target=\"_blank\">znany</a> &#8230; i nawet dorobił się <a href="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RyYWMuZnJlZXNtYXJ0cGhvbmUub3JnL3RpY2tldC85MCNjb21tZW50OjI=" target=\"_blank\">quick fix&#8217;a</a> (mojego autorstwa ;&gt;)</p>
<p>To by było na tyle &#8230; it&#8217;s nothing special – it&#8217;s a Debian <img src='http://luksza.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
 <img src="http://luksza.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=104" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://luksza.org/2008/08/16/debian-na-openmoko/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
