[ARTYKUŁ] Własny portal w pół godziny

A A A
Emeryt
Avatar Vinci
reputacja: 1088
posty: 1392
offline
20.08.06 23:48 | #36314 | (link) | zgłoś naruszenie


Własny miniportal www uruchomiony, skonfigurowany i wstępnie zabezpieczony w trzydzieści minut. Całość oparta o zupełnie darmowe rozwiązania, pracująca pod dowolnym Windowsem i nie wymagająca doktoratu z informatyki. Brzmi fantastycznie? Przy odpowiednich wskazówkach jest to jednak całkowicie realne. Upowszechniający się w ostatnich czasach stały dostęp do Internetu to nie tylko dobrodziejstwa szybszego ściągania interesujących materiałów. Słowo "stały" oznacza przede wszystkim (o ile provider nie poskąpi tzw. publicznego adresu IP) "permanentnie i jednoznacznie dostępny z zewnątrz". To natomiast oznacza, że odpowiednie skonfigurowanie tak wpiętego do sieci komputera umożliwi korzystanie z oferowanych przez niego usług każdemu użytkownikowi w Internecie (naturalnie w ramach nadanych uprawnień). Najpopularniejszą usługą tego typu jest serwer www, za pomocą którego można udostępnić całemu światu to, co ma się do przekazania. Może to być wszystko – od zwykłej strony ze zdjęciami do rozbudowanego systemu portalowego, który nada prezentowanym informacjom uporządkowany charakter, pozwoli na interakcję z odwiedzającymi i umożliwi częstą aktualizację zawartości praktycznie bez znajomości HTML’a, języków programowania czy zagadnień administracyjnych. Tym idealnym narzędziem dla domowych użytkowników chcących zabłysnąć przed znajomymi lub małych firm chcących profesjonalnie zaistnieć w sieci jest pakiet PHP Nuke.

Co potrzeba?

Sposobów uruchomienia całego serwisu opartego o PHP Nuke jest dość sporo. Zaprezentowane narzędzia mają dwie duże zalety – dostępne są w wersjach dla platformy Windows i nic nie kosztują. Należy zatem zaopatrzyć się w serwer www Apache 2.0.43, język skryptów PHP 4.2.3, bazę danych MySQL 3.23.53, system portalowy PHP Nuke 6.0 i pakiet administracyjny phpMyAdmin 2.3.3. Następnie trzeba już tylko zmusić wszystkie te rzeczy do wspólnej pracy i gotowe. W opisanym procesie instalacyjnym istotne są odpowiednie, niestandardowe ścieżki dostępu (pisane czasami przy użyciu znaku backslash - w tym tekście oznaczanym jako | ze względu na specyfikę naszego systemu obsługi artykułów, a czasami przy pomocy "/") i kolejność wykonywanych zadań.

Apache na śniadanie

Instalacja Apache’a 2.0.42 sprowadza się do uruchomienia ściągniętego pliku apache_2.0.43-win32-x86-no_ssl.msi. Jedynymi istotnymi parametrami zasługującymi na modyfikację w stosunku do domyślnych wartości są Network Domain i Server Name. W większości przypadków właściwym i bezpiecznym będzie podanie w obydwu miejscach nazwy, pod którą komputer widoczny jest w Internecie. W prezentowanym przykładzie będzie to wpis trantor.infojama.pl wskazujący na adres IP terminala SDI. Jak ustalić własny adres IP? Należy uruchomić przez Start/Uruchom… polecenie ipconfig.exe. Jeśli komputer ma przypisanych kilka adresów IP, należy wybrać tzw. adres zewnętrzny (czyli nie zaczynający się od popularnych 192.168.x.x czy 10.0.x.x). Jeśli takowego nie ma, niemożliwe jest skonfigurowanie serwera www dostępnego z zewnątrz bez konsultacji z administratorem sieci. Jak ustalić własną domenę? Należy uruchomić przez Start/Uruchom... polecenie nslookup.exe , gdzie jest adresem IP ustalonym przy pomocy ipconfig.exe. Jeśli uzyskana w ten sposób nazwa nie podoba się, można w przypadku posiadania stałego adresu IP wykupić sobie nazwę np. mójserwer.pl lub skorzystać z darmowych alternatyw typu
Kod:
Tylko dla zarejestrowanych. Chcesz mieć pełny dostęp do Ajo.pl?
Zarejestruj się i dołącz do naszego grona wirtualnych przyjaciół!
lub
Kod:
Tylko dla zarejestrowanych. Chcesz mieć pełny dostęp do Ajo.pl?
Zarejestruj się i dołącz do naszego grona wirtualnych przyjaciół!
. Jeśli posiada się zmienny adres IP, można zainteresować się darmowymi usługami typu dyndns.org. Po szczęśliwym dobrnięciu do końca procesu instalacji Apache’a lepiej zostawić dalszą jego konfigurację do czasu ustawienia PHP.

PHP na obiad

Należy rozpakować ściągnięte archiwum php4-win32-STABLE-latest.zip (np. przy pomocy Windows czy Total Commandera, który i tak przyda się później do edycji plików konfiguracyjnych) bezpośrednio do stworzonego folderu c:|Program Files|PHP. Następnie trzeba skopiować zmieniając nazwę na php.ini plik php.ini-dist do głównego katalogu Windowsa (np. c:|WINDOWS|php.ini), wyedytować go np. notatnikiem i ustawić odpowiednio dwa poniższe wpisy (będą puste):

doc_root = "c:/Program Files/Apache Group/Apache2/htdocs"
extension_dir = "c:/Program Files/PHP/extensions"
Po tym zabiegu pozostaje już tylko modyfikacja pliku konfiguracyjnego Apache’a znajdującego się w c:|Program Files|Apache Group|Apache2|conf|httpd.conf. Wystarczy dopisać do niego na samym końcu cztery linijki:

LoadModule php4_module "c:/Program Files/php/sapi/php4apache2.dll"
AddType application/x-httpd-php .php
DirectoryIndex index.html index.html.var index.php
AddDefaultCharset ISO-8859-2

MySQL na deser

Uruchomienie MySQL’a sprowadza się do rozpakowania do tymczasowego folderu zawartości ściągniętego archiwum mysql-3.23.53-win.zip i uruchomienia pliku setup.exe. W trakcie procesu instalacyjnego należy zmienić domyślny katalog aplikacji na c:|Program Files|MySQL. Następnie w katalogu Windowsa trzeba stworzyć plik my.ini (np. c:|WINDOWS|my.ini) z następującą zawartością:

[mysqld]
basedir=c:/Program Files/MySQL/
datadir=c:/Program Files/MySQL/data/
Uruchomienie bazy nastąpi automatycznie po uruchomieniu programu c:|Program Files|MySQL|bin|mysqladmin.exe.


phpMyAdmin na kolację

Sama baza danych to jeszcze nie wszystko. Dla jej wygodnej administracji należy zainstalować pakiet phpMyAdmin. W tym celu trzeba wyczyścić folder z dokumentami serwera www (c:|Program Files|Apache Group|Apache2|htdocs) i rozpakować do niego zawartość archiwum phpMyAdmin-2.3.3-php.zip. Dla wygody można zmienić nazwę powstałego tam (i jedynego na tym etapie) nowego katalogu na phpMyAdmin. Trzeba jeszcze tylko wyedytować znajdujący się w nim plik config.inc.php i ustawić w nim wartość $cfg['PmaAbsoluteUri'] na adres, pod którym phpMyAdmin będzie widoczny w sieci. Jeśli użyliśmy dla niego katalogu .../htdocs/phpMyAdmin, należy pomiędzy znakami ‘…’ wpisać
Kod:
Tylko dla zarejestrowanych. Chcesz mieć pełny dostęp do Ajo.pl?
Zarejestruj się i dołącz do naszego grona wirtualnych przyjaciół!
. Zmodyfikować trzeba także opcje connect_type na socket i auth_type na cookie. Po tych zbiegać po wywołaniu w przeglądarce www ustawionego pod zmienną PmaAbsoluteUri adresu (oczywiście odpowiadającego własnej konfiguracji), powinien włączyć się system administrujący bazą danych MySQL. Pierwszego logowania dokonuje się na konto root bez hasła.

Zostaje jeszcze kwestia odpowiedniej konfiguracji bazy. W menu Users należy wyedytować konto root i ustawić własne hasło (np. mojastrona). Potrzebna jest jeszcze odpowiednia baza. W polu Create new database należy wpisać jej nazwę (niech będzie to np. phpnuke). Pozostaje już tylko przeładować serwer MySQL wybierając w menu głównym phpMyAdmin’a opcję Reload MySQL.

No i w końcu PHP Nuke


Zakładając, że wszystkie wcześniejsze zabiegi zakończyły się pomyślnie, jest to najprzyjemniejsza część całego procesu. Należy rozpakować do tymczasowego katalogu zawartość ściągniętego archiwum PHP-Nuke-6.0.tar.gz. Następnie za pomocą phpMyAdmin’a wyedytować stworzoną wcześniej bazę phpnuke (będzie po lewej stronie w rozwijalnym menu), wybrać zakładkę SQL, przy pomocy przycisku Browse wskazać plik nuke.sql (będzie on w tymczasowym folderze z rozpakowanym archiwum PHP Nuke’a: .../sql/nuke.sql) i zatwierdzić operację. Część przygotowania zaplecza serwerowego została w tym miejscu zakończona.

Można teraz po głębszym oddechu skopiować z folderu tymczasowego zawartość katalogu html bezpośrednio do c:|Program Files|Apache Group|Apache2|htdocs (powinien być tam jedynie katalog phpMyAdmin, który stanie się teraz częścią drzewa zawierającego pliki i inne katalogi). Przed zobaczeniem rezultatów pracy trzeba jeszcze tylko ustawić skopiowany przed chwilą plik config.php i ustawić w nim odpowiednie opcje dbuname na root, dbpass na mojastrona i dbname na phpnuke (są to odpowiednio: konto dostępowe do MySQL’a, hasło do tego konta i nazwa bazy danych obsługującej PHP Nuke’a). Po tych modyfikacjach można już wpisać w przeglądarce adres panelu administracyjnego:
Kod:
Tylko dla zarejestrowanych. Chcesz mieć pełny dostęp do Ajo.pl?
Zarejestruj się i dołącz do naszego grona wirtualnych przyjaciół!
. Przy pierwszym spotkaniu PHP Nuke poprosi o założenie konta administratora serwisu. Podajemy odpowiednie informacje i logujemy się później przy ich użyciu.

W tym momencie włączy się panel administracyjny PHP Nuke. Z jego poziomu można edytować praktycznie cały serwis i wszystkie jego parametry konfiguracyjne. W menu Preferences po włączeniu opcji Multilingual features i wybraniu języka polskiego można cieszyć się serwisem w rodzimej wersji językowej. To tak naprawdę dopiero początek tworzenia własnej wizji strony. PHP Nuke jest w pełni konfigurowalny i stopień jego modyfikacji zależy tylko i wyłącznie od umiejętności webmastera. Oto kilka pierwszych wskazówek:

warto przyjrzeć się kilku dostępnym motywom: to predefiniowane zestawy konfiguracyjne zmieniające wygląd portalu
logo widoczne w górnym lewym rogu to plik images/logo.gif
plik językowy, w którym można przetłumaczyć sobie dodatkowe opcje lub pozmieniać treść komunikatów to language/lang-polish.php (lub lang-english.php).
nagłówek i stopka wszystkich stron znajdują się w pliku themes/DeepBlue/theme.php (w zależności od wybranego motywu; DeepBlue jest ustawieniem domyślnym)

PHP Nuke jest projektem tworzonym w ramach inicjatywy Open Source. Znaczy to, że dostępnych jest do niego mnóstwo dodatkowych rozszerzeń i modyfikacji, które ze względu na modułową budowę Nuke’a są bardzo proste w instalacji. Na stronie domowej
Kod:
Tylko dla zarejestrowanych. Chcesz mieć pełny dostęp do Ajo.pl?
Zarejestruj się i dołącz do naszego grona wirtualnych przyjaciół!
znaleźć można całkiem sporo ciekawych rzeczy i linki do stron o tej tematyce. Warto tutaj wspomnieć, że proces konfiguracyjny nie będzie znacznie odbiegał od opisanego także w przypadku wyboru systemu portalowego innego niż PHP Nuke (np. myPHPNuke czy PostNuke).

Żeby było bezpieczniej

Kwestię zabezpieczeń trzeba zacząć od usunięcia wszelkiego dostępu do bazy MySQL z zewnątrz. W tym celu należy usunąć konto root z hosta %. Warto też utworzyć specjalnego użytkownika dla PHP Nuke i ograniczyć mu wykonywanie poleceń do Select, Insert, Update, Delete i Alter (trzeba pamiętać o modyfikacji pliku config.php). Zaleca się też zmianę nazwy pliku admin.php na wybraną przez siebie i ograniczenie dostępu do katalogów admin i phpMyAdmin przez utworzenie w nich plików .htaccess z poniższą zawartością:

AuthName "Kontrola dostępu"
Access allow 127.0.0.1
Można to zrobić po wyłączeniu opcji AllowOverride None w pliku konfiguracyjnym Apache’a. Zaleca się też wyłączenie w nim opcji Indexes wszędzie, gdzie występuje (wtedy serwer nie wyświetli użytkownikowi zawartości katalogu w przypadku nieznalezienia w nim pliku index.html czy .php). Dobrze byłoby też dopisać opcję deny from all w sekcji <Directory />. Te modyfikacje powinny sprawić, że dopiero co postawiony nowy serwis postoi trochę dłużej niż do pierwszego spotkania z niedouczonym hackerem. Na koniec warto też pamiętać o jednej rzeczy – skupiając się na tworzeniu atrakcyjnego wizualnie projektu trzeba mieć na uwadze fakt, że nawet bardziej niż wystrój strony, przyciąga na nią jej zawartość merytoryczna.
Thx for cooperation :)
Początkujący
Avatar dezajnus
reputacja: 1
posty: 2
offline
17.06.09 15:01 | #1458723 | (link) | zgłoś naruszenie
Nie wiem czy tylko ja tak mam czy też inni ale jakoś nienawidzę PHPNUKE.. moim zdaniem to jeden ze słabszych CSM'ów

A co do czasu, 40 minut to niby świetny wynik na prosty portal?

Ja w 15min. instaluję sobie
Kod:
Tylko dla zarejestrowanych. Chcesz mieć pełny dostęp do Ajo.pl?
Zarejestruj się i dołącz do naszego grona wirtualnych przyjaciół!
i mam portal społecznościowy gotowy do działania a PHPNUKE po instalacji raczej nic dobrego nie oferuje. Taka jest moja opinia :)
Użytkownik
Avatar Gerwazos
reputacja: 173
posty: 40
offline
17.06.09 18:32 | #1459225 | (link) | zgłoś naruszenie
Ja swojego czasu korzystalem z PHPFusion i byłem zadowolony, ale nie wiem czy obecnie jakość jest utrzymywana. Ale polska scena do tego CMSa zawsze służyła pomocą i była bardzo rozbudowana.
Początkujący
Avatar sunpietro
reputacja: 1
posty: 5
offline
17.06.09 19:08 | #1459356 | (link) | zgłoś naruszenie
Joomla! się jeszcze szybciej instaluje :)
login
hasło
|
Nie masz profilu? - zarejestruj się i zacznij w pełni korzystać z sieci!