HOME
DO_STR_GLOWNEJ_WYSZUKIWARKI
 
 
Apache 1.3 na Mandrake 8.x, 9.0

 

Pobierz spakowaną witrynę gorzow-wlkp.pl/linux

Jeżeli pragniesz poznać Linuksa Mandrake (obecnie Mandriva), to... dobrze trafiłeś. Witryna została zauważona przez twórców magazynu KOMPUTER ŚWIAT 5/2004(141) str. 46 poprzez umieszczenie linku oraz magazynu CHIP 4/2004 (str.114) poprzez umieszczenie artykułu opisującego ten serwis internetowy. Jak na hobbystyczną stronę o Linuksie to miłe ;) Acha... na stronie mandrakelinux.pl/informacje podano też link z opisem cytuję "duży zbiór praktycznych informacji o Mandrake" (mam ją w swoim archiwum - klub.chip.pl/twarogal).

Zapraszam do zadawania pytań na FORUM oraz mailem. Chętnie udzielę (bezpłatnie) odpowiedzi. Oficjalne ceny za jedną poradę na stronie MandrakeSoftPL (mam ją w moim archiwum z dnia 2.05.2004) wahają się od 20 do 350 zł.

 


 

Jeżeli planujesz postawienie serwera http powinieneś pomyśleć o zakupie domeny np. .pl , .com wraz z bezpłatną obsługą serwerów DNS. Jak to zrobić? Zapraszam tutaj.

 


 

Strona domowa projektu APACHE to http://apache.org/

 
Niniejsza strona opisuje konfigurację Apacha 1.x zainstalowanego na Mandrake 8.x, 9.0. 24.03.2003 pojawił sie Mandrake 9.1 z Apache2 na pokładzie. Jeżeli chodzi o konfigurację demona, to do podstawowych zastosowań nie ma potrzeby modyfikowania domyślnych ustawień, no może poza wpisem zamieniającym ServerName localhost na ServerName pd132.wroclaw.sdi.tpnet.pl . Poniżej wyjaśnię o co chodzi.

Spis treści:

 


 
Jeżeli instalowałeś już Apache pod Windowsem zadasz pewnie pytanie: po co tyle zachodu z konfigurowaniem tego samego programu pod Linuksem, skoro łatwiej się to robi pod Windowsem? Ano z bardzo prozaicznego powodu: BEZPIECZEŃSTWO. Jeżeli zainstalujesz Apache pod Windowsem 9x lub Milenium - to jak zabezpieczysz pliki poprzez nadanie restrykcyjnych praw dostępu? Pod Windows typu NT jest to już rozwiązane, ale pojawia się... konieczność szybkiego usuwania dziur w bezpieczeństwie systemu, co nie jest tak łatwe jak w Linuksie. Problemem jest też konfigurowanie Windows 2000 oraz XP jako serwera pracującego pod SDI-HIS (trzeba pobrać łatę ze strony Microsoftu). Na koniec może przekona Ciebie jeszcze jeden argument: nie znalazłem wpisów w logach serwera Apache informujących o próbach ataku na katalogi i pliki unixowe, natomiast kilka-kilkanaście razy dziennie ktoś z Internetu próbuje odpalić na moim komputerze skrypty atakujące pliki windowsowe. Oczywiście nieskutecznie ;]

 


 

Przyjmuję, że masz w domu stałe połączenie z Internetem poprzez usługę SDI (od TPSA). Poznałeś podstawowe polecenia tekstowe typu: SKOPIUJ, USUŃ, PRZENIEŚ (możesz od biedy ratować się programem mc).

Przypominam, że POZIOM BEZPIECZEŃSTWA DLA SERWERÓW (po wykonaniu polecenia msec 4) reguluje między innymi prawa do katalogów w /home/* , co zablokuje konta www zwykłych użytkowników. Jeżeli nie wiesz o czym mówię, to znaczy, że niepotrzebnie się spieszysz i... nie przeczytałeś tej stronki.

 
*

 

Zainstalowanie serwera apache jest bardzo łatwe. Można to zrobić w trakcie instalacji lub po pierwszym uruchomieniu (w KDE wybierz: MANDRAKE CONTROL CENTER- ZARZĄDZANIE OPROGRAMOWANIEM- INSTALACJIA OPROGRAMOWANIA- Znajdź w nazwach- apache i kliknij WYSZUKAJ, ZAINSTALUJ).

Ze względów bezpieczeństwa nie instaluj na początek modułów związanych z php. Dlaczego? Przeczytaj tę notatkę.

 
*

 

Ustal swój prawdziwy adres (domenę), który TPSA nadała Tobie wraz usługą SDI-HIS. Pytasz się po co? Ano z prostego powodu: po zainstalowaniu serwera Apache będziesz mógł udostępniać swoją stronę www po wpisaniu do przeglądarki adresu http://218.97.152.120 lub http://pd132.wroclaw.sdi.tpnet.pl (uwaga: w takim adresie nie wpisuj znaku www!!!). Potrzebna będzie jak widać znajomość adresu-domeny od TPSA. Adresu, który może wyglądać mniej więcej tak: pd132.wroclaw.sdi.tpnet.pl . O ile ustalenie Twojego nr IP jest banalnie proste - znajdziesz go na instrukcji obsługi SDI (oraz na umowie), to adres musisz odkryć samodzielnie. Zapraszam na sąsiednią stronę.

 
*

 

Jeżeli nie podoba Ci się domena nadana przez TPSA, możesz (po skonfigurowaniu Apache ;) ustalić alias, czyli zastępczy, ale równoważny adres na witrynie np. www.prv.pl . Tam zarejestruj jakaś atrakcyjną domenę typu gwiezdnysklep.prv.pl jako alias do przykładowego pd132.wroclaw.sdi.tpnet.pl . Od tej chwili (jeżeli będziesz miał włączony komputer z serwerem na pokładzie) po wpisaniu adresu http://pd132.wroclaw.sdi.tpnet.pl (nie wpisuj znaku www!!!) lub http://www.gwiezdnysklep.prv.pl (tutaj możesz wpisać znak www) zobaczysz swoją witrynę.

Inne aliasy:
  • www.xu.pl oferuje *.xu.pl oraz *.spec.pl
  • www.w.pl oferuje *.w.pl
  • www.vel.pl oferuje *.vel.pl
  • www.one.pl oferuje *.one.pl (nie mylić z ONETem)
  • www.z.pl oferuje *.z.pl
  • www.er.pl oferuje *.er.pl
  • www.end.pl oferuje *.end.pl

oraz prosto z Niemiec:
  • www.de.vu oferuje *.de.vu



*         *         *

 


Umieszczanie plików dla strony głównej www.
 

Ustawianie praw własności oraz praw odczytu, uruchomienia, modyfikacji. Teoretycznie można przyjąć dwie postawy. Pierwszą czyli jak najwięcej praw i jak najmniej kłopotów z konfiguracją. Drugą czyli: dużo prób i jak najmniej praw, co zwiększa bezpieczeństwo, ale wymaga więcej zaangażowania.
 


Skrócony opis konfiguracji. Zaloguj sie jako root zleceniem su , podaj hasło roota.
  • Za pomocą zlecenia drakfirewall ustaw firewalla, by akceptował wezwania na porcie 80. Na nim będzie nasłuchiwał nasz Apache. Uwaga: jeżeli po skonfigurowaniu firewalla zablokowało się udostępnianie Internetu dla domowej sieci, to spokojnie daj zlecenie drakgw i na nowo udostępnij internet. Więcej informacji umieściłem na sąsiednich stronach o instalowaniu systemu.
  • Sprawdź, jak wyglądają prawa własności do katalogu /var/www/html oraz domyślnie utworzonego pliku /var/www/html/index.html zleceniami cd /var/www oraz ls -la , cd /var/www/html oraz ls -la index.* . Zapisz sobie w notatniku oryginalne ustawienia. Usuń lub przenieś w inne miejsce domyślną zawartość katalogu /var/www/html
  • Do pustego katalogu /var/www/html skopiuj pliki Twojej przyszłej witrynki (z plikiem index.html jako startowym!) zleceniem cp lub programem mc.
  • Następnie, będąc w katalogu /var/www/html (cd /var/www/html) wykonaj zlecenia:

    chown -R apache.apache *
    oraz
    chmod -R 755 *
    oraz
    chmod -R 644 *.*
  • Zmień domyślną treść pliku /etc/httpd/conf/httpd.conf i zahaszuj # pozycję ServerName localhost. Wpisz w nowym wierszu domenę uzyskaną od TPSA. Przykładowy wpis powinien wyglądać tak:

    ServerName pd132.wroclaw.sdi.tpnet.pl

    Uwaga: gdy skonfigurujesz sobie prywatną domenę np. gwiezdnysklep.pl, to wpisz pozycję ServerName tak:

    ServerName gwiezdnysklep.pl


    Wpis ServerName nie zastępuje serwerów DNS. Służy jedynie serwerowi Apache do wprowadzania adresu w polu adresowym przeglądarki, gdy link ze strony na stronę będzie względny.

    Powyższy efekt uzyskasz (Mandrake 8.1) w KDE poprzez polecenie: -K- Konfiguracja- Inne- LinuxConf- Config- Networking- Serwer Tasks- Apache Web Server- Defaults- Server Name- pd132.wroclaw.sdi.tpnet.pl . Po uruchomieniu Internetu wpisz do przeglądarki adres http://pd132.wroclaw.sdi.tpnet.pl (bez znaku www!).


*         *         *


W razie problemów lub z nadmiaru ambicji będziesz musiał zrozumieć co, jak i dlaczego. Oto bardziej rozwinięty opis konfiguracji.

  1. Sprawdź zleceniem cd /;ls -la czy katalog /var ma właściciela: [root.root]
  2. Sprawdź poleceniem cd /var;ls -la czy katalog /var/www ma właściciela: [apache.apache]
  3. Sprawdź poleceniem cd /var/www/;ls -la czy katalog /var/www/html ma właściciela: [apache.apache]
  4. Ustal prawo własności do zawartości katalogu /var/www/html poleceniem: cd /var/www/html oraz chown -R apache.apache *
    Parametr -R oznacza rekurencyjnie, czyli z podkatalogami. Polecenie to wydajemy oczywiście jako root. Jest to ważne, jeżeli kopiujemy gotową witrynę, której pliki mają nieustalone prawa dostępu.
  5. Teraz ustalisz prawo do czytania, wykonywania i modyfikowania plików na Twojej witrynce. Teoretycznie powinieneś dotrzeć do dyrektywy AllowOverride w pliku /etc/httpd/commonhttpd.conf i ręcznie wykonać konfigurację. Nie polecam jednak tego dla początkujacych (przyjmuję, że dopiero się uczysz), ponieważ tamte ustawienia domyślne są spójne i logiczne. Z poziomu /var/www/html (czyli będąc w katalogu war/www/html) nadaj odpowiednie prawa do katalogów i plików - poleceniami w następujacej kolejności:
    1. chmod -R 755 * (rwxr-xr-x docelowo dla podkatalogów, -R oznacza rekurencyjnie, czyli z podkatalogami)
    2. chmod -R 644 *.* (-rw-r--r-- zmiana dla wszystkich plików. Jeżeli będziesz miał w przyszłości kłopoty z wyświetlaniem plików z podkatalogów np. /var/www/html/obrazki , to przetestuj uprawnienia -rwxr-x-r-x nadane poleceniem chmod 755 * z pozycji podkatalogu /var/www/html/obrazki.

    Jest to są szczególnie ważne, jeżeli kopiujemy gotową witrynę z np. partycji windowsowej.

    Jeżeli nadmiernie zabezpieczysz swój system i nadasz zbyt restrykcyjne prawa pojawią się problemy. Na przykład, jeżeli będąc w katalogu /var/www/ nadamy rekurencyjnie wobec katalogu ~/html prawa (drwx--x--x) , to wyświetlą się nam tylko pliki z tego katalogu. Niestety "znikną" pliki z jego podkatalogów.


*         *         *


Pamiętaj, że zajmuję się tutaj opisem dla Mandrake/Mandriva. W innych dystrybucjach pliki witryny domowej umieszcza się w innym katalogu (prawdopodobnie /home/httpd/html/). O położeniu katalogu głównego /var/www/html/ decyduje plik /etc/httpd/conf/commonhttpd.conf (w innych dystrybucjach może to być /etc/httpd/conf/smr.conf) - pozycja DocumentRoot. Więcej o plikach konfiguracyjnych na sąsiedniej stronie.


*         *         *


Ważne jest, abyś udostępnił na firewallu port 80.


*         *         *


Przypominam: przy każdym (w przyszłości) kopiowaniu plików do katalogu z witryną www musisz zadbać o właściwe prawa plików i katalogów.


*         *         *


Jeżeli wszystko zrobiłeś prawidłowo, po wpisaniu do przeglądarki adresu http://218.097.152.120 lub http://pd132.wroclaw.sdi.tpnet.pl (nie wpisuj w adresie www) uzyskasz obraz własnej witryny. Od tej chwili powiększyłeś zasoby Internetu o jeszcze jedną, nikomu niepotrzebną stronę www :-)))


*         *         *


Co się stanie jeżeli masz prawidłowo działający serwer, a Twój gość źle wpisze nazwę pliku html? Pojawi się oczywiście komunikat 404 w języku angielskim. Proponuję, byś zmusił swojego Apacha do wyświetlenia przygotowaną wcześniej stronę: missing.html , którą możesz pobrać i przerobić wg uznania. Następnie skopiuj ją do katalogu /var/www/html . Nie zapomnij nadać właściwych praw (takich jake mają inne pliki html w katalogu). Na koniec zmień wpis w pliku /etc/httpd/conf/commonhttp.conf w linii ErrorDocument . Najprościej będzie wyedytować ten plik i wyszukać hasło 404 (w mcedit wciśnij F7). Następnie najprawdopodobniej wystarczy odhaszować wiersz z tą dyrektywą, która wygląda mniej więcej tak: ErrorDocument 404 /missing.html . Mam jedną uwagę: jeżeli zdecydujesz się na ozdobienie grafiką pliku missing.html, to adresowanie obrazków (w kodzie html) musisz dać bezwzględne np. http://poddomena.domena.pl/obrazki/obrazek.jpg . W przeciwnym wypadku pojawi się nieestetyczny plik missing.html bez obrazków.

Jeżeli do kodu html pliku missing.html wpiszesz (w części HEAD) wiersz:
<meta http-equiv="refresh" CONTENT="25; URL=index.html">
to po 25 sekundach gość zostanie zrzucony na stronę startową serwera.


Jeżeli nie lubisz jakiegoś adresu IP, to możesz nie dopuścić go do oglądania swoich stron www. Wystarczy, że wpiszesz (lub odhaszujesz) w pliku /etc/httpd/conf/commonhttpd.conf wiersze:

#Controls who can stuff from this server
Order allow,deny
Allow from all
Deny from 218.26.92.124 spidersoft.com aol.com

Po restarcie demona httpd zleceniem /etc/rc.d/init.d/httpd restart wybrane stacje dotknie komunikat 403 (odmowa dostępu). Dodatkowo możesz w pliku /etc/httpd/conf/commonhttpd.conf dopisać wiersz:

ErrorDocument 403 http://www.wp.pl
Wówczas każdy, kto będzie zablokowany zostanie zrzucony na wp.pl :)
Inna możliwość to wpis:
ErrorDocument 403 /error/HTTP_FORBIDDEN.html
i włożyć plik HTTP_FORBIDDEN.html do katalogu /var/www/html/error





*         *         *





Umieszczanie plików dla stron www użytkowników Twojego Linuksa.


Serwer Apache umożliwia także założenie osobnych witryn dla każdego posiadacza shellowego konta w naszym LINUXie. Uwaga: aby założyć konto użytkownika nie wystarczy utworzenie samego katalogu w /home ;-). Trzeba założyć konto, którego konsekwencją będzie zaistnienie katalogu /home/uzytkownik z hasłem, przynależnością do grup itd. Oczywiście na początku będziemy umieszczać pliki stron www mając bezpośredni (fizyczny) dostęp do komputera. Odłożymy na później możliwość umieszczania plików zdalnie, czyli z Internetu np. poprzez serwer ftp, smb, ewentualnie sshd.

Mamy użytkownika antek, któremu pozwolimy na posiadanie własnej witryny www na naszym Linuksie. A więc siadamy wygodnie i wykonujemy co następuje:

  • Tworzymy katalog /home/antek/public_html
  • Kopiujemy wcześniej wykonaną witrynkę do katalogu public_html (z plikiem index.html jako startowym!)
  • Zmieniamy prawo dla katalogu antek (poleceniem chmod 711 antek - będąc w katalogu /home/).
  • Zmieniamy prawo dla katalogu public_html wraz z jego zawartością (poleceniem chmod -R antek.antek public_html - będąc w katalogu /home/antek).
  • Zmieniamy prawo dla katalogu public_html (poleceniem chmod 755 public_html - będąc w katalogu /home/antek).
  • Zmieniamy prawo dla plików i podkatalogów umieszczonych w katalogu /home/antek/public_html . Będąc w katalogu ~/public_html wykonamy polecenia w następujacej kolejności:
    • chmod -R 755 *
    • chmod -R 644 *.*
      parametr -R czyli rekurencyjnie (z podkatalogami)
  • Edytujemy plik /etc/httpd/conf/httpd.conf i haszujemy # pozycję ServerName localhost. Następnie wpisujemy poniżej (w nowym wierszu) przykładową domenę uzyskaną od TPSA:
    ServerName pd132.wroclaw.sdi.tpnet.pl
    Teraz wpisujemy do przeglądarki adres:
    http://www.gwiezdnysklep.prv.pl/ (możesz wpisać znak www) jako alias do przykładowego:
    http://pd132.wroclaw.sdi.tpnet.pl/~antek (bez znaku www)

 

 
*       *       *

 

 

Serwer powinien chodzić. Ale nie musi.

 

Uwaga: jeżeli nie możesz zobaczyć witryny www użytkownika antek, to sprawdź czy nie zostały zmienione prawa do katalogu /home/antek. Kiedy może nastąpić ich zmiana? Otórz WYSOKI dla Serwerów(4) POZIOM BEZPIECZEŃSTWA zeruje między innymi ustawienia praw wobec newralgicznych katalogów, w tym tych umieszczonych w /home. Dodatkowym problemem jest zachowanie Mandrake od wersji 9.x oraz Mandriva,, który po KAŻDYM restarcie zeruje prawa do newralgicznych katalogów. Ponieważ poruszam rozległy temat - zapraszam tutaj. Zapamiętaj jedynie, ze katalog /home/antek powinien mieć prawa rwxr--r-- i dorywczo można to uzyskać po wydaniu polecenia chmod 711 /home/antek.

Inny teoretyczny powód blokowania serwera apache to... ściana ogniowa. Mam nadzieję, że wiesz jak konfigurować firewalla (polecenie mcc lub drakfirewall).

*

O możliwości założenia strony www na każdym koncie zwykłego użytkownika decyduje plik /etc/httpd/conf/commonhttpd.conf (w innych dystrybucjach może to być /etc/httpd/conf/smr.conf) - pozycja UserDir . W Mandrake/Mandriva domyślnie jest wpisana opcja zezwalająca na tworzenie kont www. O miejscu katalogu www (indywidualnegop użytkownika) decyduje wpis:
UserDir nazwakatalogu.

*

Aby w Mandrake 9.1 była prawidłowo wyswietlana polska czcionka na macierzystych stronkach html, należy w pliku /etc/httpd/conf/commonhttpd.conf (prawie na samym końcu pliku) w wierszu
AddDefaultCharset ISO-8859-1 przestawić wpis 1 na 2, czyli:
AddDefaultCharset ISO-8859-2
W innych wersjach Linuksa może to być plik: /etc/httpd/conf/httpd.conf

Mam tutaj kilka uwag. Nowicjusze mają błędne przekonanie, iż wystarczy w konfigu Apache ustawić opcję domyślnego kodowania czcionek (AddDefaultCharset ISO-8859-2) i jak za dotknięciem magicznej różdżki stronki html (które źle wyświetlały literki śćąęńłó) nagle zaczną dobrze działać. Nic bardziej mylnego! Problem prawidłowości kodowania jest bardzo rozległy. Ponieważ niniejsza strona zajmuje się konfiguracją Apache, nie ma miejsca na naukę programowania w html, php oraz MySQL (tekst zapisany w bazach danych, a odtwarzanych poprzez pliki php też podlega prawom kodowania czcionek). Wspomnę jedynie, o kilku zasadach, których osobiście przestrzegam:
  1. Używam JEDNEGO programu do edycji plików html (mam darmową wersję AceHTMLFree). Znam go na wylot, a przede wszystkim umiem ustawiać domyślne kodowanie. Gdy mam problemy, to otwieram plik html, wybieram VIEW-ENCODING i zamieniam wszystko na Windows-1250, potem powtórnie VIEW-ENCODING i wybieram ISO-8859-2. Zapisuję zmiany i sprawdzam jak wyglądają literki ąś. Jeżeli źle, to ręcznie je poprawiam lub używam programiku Ogonki97.
  2. Nie edytuję swoich plików html w przypadkowych edytorkach, gdyż grozi to uszkodzeniem jednolitości kodowania czcionki. Przykładowo, gdy plik html w kodowaniu ISO-8859-2 otworzyłem pod Windows w Notatniku (który domyślnie otwiera w kodowaniu Windows-1250) i zapisałem nawet drobne zmiany, to mam sknocone polskie czcionki. W nagłówku kodu html jest kodowanie ISO, ale faktyczne kodowanie będzie już w Windows-1250.
    Należy pamiętać, że linuksowe edytorki mają generalnie domyślne kodowanie UTF-8. Dobry linuksowy edytor html BlueFish trzeba przekonfigurować: EDYCJA- USTAWIENIA- EDYTOR- Wyłącz Obsługę UTF-8... oraz EDYCJA- USTAWIENIA- PLIKI- DOMYŚLNY ZBIÓR ZNAKÓW- zmień na ISO-8859-2 OK.
  3. Do zmiany kodowania czcionki tekstu zapisanego w bazach danych MySQL (z Win-1250 na ISO-8859-2) służy prosty windowsowy programik PomocnikMySQL

 

 
*       *       *

 

 

 

Uwagi związane z bezpieczeństwem.

 

 
Poważną luką w bezpieczeństwie serwera apache jest fakt, że prywatne konto www ma dane na shellowym koncie systemowym. Powinieneś w takich okolicznościach radykalnie ograniczyć możliwość uruchomienia procesów i powłok systemowych. Jak to zrobić? Poczytaj tutaj.

 
Wskazane też jest wydzielenie osobnej partycji (montowanej bardzo restrykcyjnie) jako /var/www oraz /home/uzytkownik . Wykonasz to poprzez korektę pliku /etc/fstab . U mnie wyglada to tak:

/dev/hda14 /home/antek ext3 rw,nosuid,nodev,noexec,auto,nouser,async 1 2
oraz
/dev/hda12 /var/www ext3 nosuid,ro,nodev,noexec 1 2

Od tej chwili - aby zmienić zawartość głównej witryny, będziesz musiał w pliku /etc/fstab zmienić wartość ro na rw (tylko do odczytu na do odczytu oraz zapisu) i restartować komputer. Jest to może kłopotliwe dla administratora, ale jak dobrze zabezpiecza pliki :) Więcej na ten temat tutaj.
Uwaga. Jeżeli coś namieszasz w pliku /etc/fstab to nie uruchomisz więcej systemu :( Bądź uważny. W razie problemów zapraszam tutaj.

 

Jeżeli użytkownicy kont www nie będą potrzebowali dostępu do shella (co jest bardzo dobrym pomysłem), to po utworzeniu usera wykonaj małą korektę ustawień: wpisz im w plikach /etc/passwd oraz /etc/passwd- powłokę /bin/false (zamiast domyślnej /bin/bash). Oczywiście nie zapomnij wpisać wiersza /bin/false w pliku /etc/shells (jeżeli go tam jeszcze nie ma). Takie rozwiązanie uniemożliwi zdalne (i bezpośrednie) zalogowanie na shella, ale jednocześnie udostępni pełnoprawne konto www użytkownikwi indywidualnemu. Można też ustawić jako domyślną powłokę /bin/false dla nowych userów - robisz to zmieniając w plik /etc/default/useradd wpis /bin/bash na /bin/false lub/oraz w pliku /etc/adduser.conf wpisując DSHELL=/bin/false

Jako admin bądź czujny. Możesz skupić całą uwagę na zabezpieczeniu plików z konta www i zapomnieć, że włamywacz bezczelnie zmieni zawartość plików konfiguracyjnych serwera, a następnie... założy inny (nowy) katalog w dowolnym miejscu np. w /tmp do którego wszyscy mają dostęp. W ten sposób serwer zacznie udostępniać w Internecie nowe, podmienione pliki z nowego katalogu, a stare będą sobie bezużytecznie leżeć w katalogu macierzystym. Na sąsiedniej stronie o BHP przedstawiłem mój sposób rozwiązania tego problemu.

Goście z Internetu mogą zdobyć nr wersji serwera APACHE i przygotować włam za pomocą exploita. Trzeba im to utrudnić. Proponuję więc ukryć informację o serwerze APACHE poprzez edycję pliku /etc/httpd/conf/commonhttpd.conf.

 



*         *         *

 


Odrobina teorii i dodatkowych informacji.


  1. Po wykupieniu domeny i załatwieniu sobie ustawień DNS natrafisz na problem znaku / przy wpisywaniu adresu do przeglądarki. Mam tu na myśli sytuację, gdy wpisujesz adres: http://gwiezdnysklep.pl/komputery (bez znaku / na końcu). Nazwa komputery to oczywiście nazwa katalogu na Twoim Linuksie. Rozwiązanie tego problemu opisałem na sasiedniej stronie.
     
  2. Możesz zablokować dostęp do usług Twojego apacha - poczytaj to.
     
  3. Problemem może być przydzielanie określonej powieszchni (MB) na dysku dla użytkowników mających swoje konta www. Są dwa sposoby załatwienia problemu:
    • Wydzielić dla każdego użytkownika osobną partycję po np. 20MB i restrykcyjnie ją montować. Wskazane ze względu bezpieczeństwa, niestety kłopotliwe, bo trzeba mieć niezagospodarowany obszar na dysku, z którego po dodaniu użytkownika wykroimy partycję i zamontujemy np. /home/antek . Więcej o podziale na partycje i ich montowaniu tutaj.
    • Zastosować narzędzie quota. Polecam stronkę http://www.jtz.org.pl/Html/mini/Quota.pl.html . Mam ją też w swoim archiwum.

     
  4. Serwer apache można włączyć ręcznie zleceniem (jako root):
    /etc/rc.d/init.d/httpd restart (stop, start)
    lub automatycznie podczas startu. Problem autostartu opisałem tutaj. Można zabić numer procesu httpd poprzez zlecenie:
    kill - HUP 'cat /var/run/httpd.pid' (przeczytaj to)
     
  5. Użyj polecenia rpm -q apache , aby sprawdzić jaką wersję Apache masz na swoim pokładzie.
     
  6. Wpisz polecenie ps ax | grep httpd , aby sprawdzić, czy w twoim systemie działa proces httpd (httpd jest nazwą procesu, pod którą działa Apache). W wyniku tego polecenia powinno zostać wyświetlonych kilka procesów httpd. Działanie serwera poprzez kilka jednoczesnych procesów jest rzeczą normalną: oprogramowanie składa się z jednego procesu nadrzędnego i kilku potomnych.
     
  7. Zainstalowanie serwera apache jest bardzo łatwe. W Mandrake można to zrobic w trakcie instalacji lub po pierwszym uruchomieniu (w KDE wybierz: MANDRAKE CONTROL CENTER- ZARZĄDZANIE OPROGRAMOWANIEM- INSTALACJIA OPROGRAMOWANIA- Znajdź w nazwach- apache i kliknij WYSZUKAJ, ZAINSTALUJ.
    Instalacja Apache w powłoce tekstowej z pakietów rpm jest także prosta:
    Montowanie CD-ROMu: mount /dev/cdrom
    Następnie przechodzimy do odpowiedniego (przykładowego) katalogu: cd /mnt/cdrom/linux/RPMS/apache
    Instalacja odbędzie się po wydaniu polecenia rpm -i Apache*.rpm W miejscu gwiazdki można wpisać nr wersji serwera.
     
  8. Katalog /etc/httpd/logs/ lub w innych dystrybucjach /var/log/httpd/ jest przeznaczony na rejestry serwera (tzn. logi).
    Zapisy udanych połączeń to: access_log
    Zapisy błędnych połączeń: error_log.
     
  9. Apache dzieli się na:
    • Program serwera WWW pod nazwą httpd , zainstalowany w katalogu /usr/sbin/
    • Pliki konfiguracyjne serwera, umieszczone w katalogu /etc/httpd/conf/ ([httpd.conf , commonhttpd.conf] lub w innych dystrybucjach: [httpd.conf , smr.conf , access.conf).
  10. Pliki konfiguracyjne serwera Apache w katalogu /etc/httpd/conf/
    • httpd.conf . Ten plik konfiguracyjny serwera pozwalą określać ogólne atrybuty serwera, takie jak numer portu oraz katalog, w którym ulokowane są podkatalogi serwera.
    • commonhttpd.conf (który jest połączeniem plików srm.conf oraz access.conf spotykanych w innych dystrybucjach)
      srm.conf . Plik konfiguracyjny zasobów serwera (dokumentów oraz innych informacji) udostępnianych przez serwer użytkownikom. W pliku tym można na przykład umieścić informacje o tym, gdzie znajdują się dokumenty. (skrót SMR oznacza Server Resource Map czyli Mapa Zasobów Serwera).
      access.conf - plik konfiguracyjny sterujacy dostępem do serwera WWW. Umożliwia kontrolę dostępu do całego serwera, a także poszczególnych katalogów. Polecam duży artykuł w magazynie CHIP 5/2006 (str. 130-132) na temat plików .htaccess.

    Należy zauważyć, że większość ustawień domyślnych plików konfiguracyjnych jest poprawna i spójna, więc nie trzeba ich wcale zmieniać.

     
Opis plików konfiguracyjnych umieściłem na sąsiedniej stronie.

 

 

*     *     *

 


W Mandrake 9.0 bardzo łatwo można uzyskać serwer Apache z działającym PHP oraz MYSQL. Przede wszystkim w trakcie instalacji wybierz następujące moduły:


  • SERWER/www-ftp/ zaznacz wszystkie paczki oprócz php-pgsql, HTML-Embperl, apache-mod_perl
  • SERWER/Bazy danych/ zaznacz tylko MYSQL, MySQL-client


Po instalacji skonfiguruj połączenie z Internetem, udostępnianie, firewall, itd., a następnie wykonaj korekty w plikach:
  • /etc/httpd/conf/httpd.conf oraz httpd-perl.conf należy odszukać wiersz ServerName i wpisać:
    ServerName pd132.wroclaw.sdi.tpnet.pl (jeżeli masz SDI z taką domeną)

  • W Mandrake 9.1 oraz Mandriva 2007 możesz natrafić na problem konfiguracji PHP. Otórz w wersji php 4.3 nie chodzą formularze, ze względu na domyślne ustawienia pliku php.ini . Należy plik /usr/share/doc/libphp_common430-430/php.ini-recommended przenieść do /etc/php oraz /etc pod nową nazwą php.ini . Następnie można zmienić opcję register_global na on, ale trzeba pamiętać, że zmniejszy to bezpieczeństwo serwera (XXS). Uwaga dostarczona prez osobę z nr GG 1960194.

    Następnie w dowolnym pliku np. o nazwie info.php (koniecznie z rozszerzeniem php) w katalogu: /var/www/html umieść skrypt:
    <?php
    phpinfo();
    ?>
    Uruchom przeglądarkę internetową i wpisz adresserwera/info.php lub np. localhost/info.php . Wywietli się lista aktywnych opcji php.


Następnie jako root wykonaj:
/etc/rc.d/init.d/mysql start

cd /etc/etc/rc.d/init.d
mysql (uruchamiamy klienta mysql)
show databases; (zwróć uwagę na średnik na końcu! - zobaczysz jakie masz tabele w swoim mysql)
create table test ( (zwróć uwagę na otwarty nawias! - teraz zacząłeś tworzyć swoją pierwszą tabelę pt. test)
--> body text;
--> author text);
show databases;
select * from test; (pojawiły się dane z tabeli test)

 
Zapraszam na stronę opisującą MySQL.

 

 
twarogal@wp.pl

Uwaga: z powodu namnożenia się różnych złodziejskich witryn www, które kopiują moje strony i umieszczają je u siebie wraz z komercyjnymi reklamami (na których zarabiają) informuję, że wszelkie prawa są zastrzeżone.

Uwaga. Aby uniknąć zasysania całej witryny gorzow-wlkp.pl/linux za pomocą programów typu TeleportPro, WebCopier itd. informuję, że udostępniłem spakowaną wersję (w formacie RAR).

 
 

 

 

Witryna była dostępna pod adresami: strony.wp.pl/wp/twarogal , strony.wp.pl/wp/linuxtwarka , twarogal.republika.pl , klub.chip.pl/twarogal oraz gorzow-wlkp.net (w latach 2003/04).

 

 

gorzow-wlkp.pl

Informacje o odwiedzających są rejestrowane i publicznie udostępniane na pod adresem: http://gorzow-wlkp.pl/licznik/