Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Artykuły _ Apache i MySQL na Windows [scanner]

Napisany przez: It's_me 22.03.2004, 00:28:26

Uwagi, pytania zwiazane zwiazane z artykulem scannera http://php.pl/index.php/phppl/artyku_y/serwery/www/apache_i_mysql_na_windowsproszę pisać w tym temacie.

Napisany przez: cr4sh 22.03.2004, 21:33:33

Witam!!!
Jak dla mnie ten artykuł jest [cenzura angrysmiley.gif ] i to dzieki niemu po raz pierwszy sam sobie zainstalowałem i skonfigurowałem Apache etc... Wielkie dzieki za to scannerowi.

P.s Dopiero zaczełem swoja przygode z php, Więc wpadne do was czesciej, a przynajmniej mam taka nadzieję

Napisany przez: FastRed 23.03.2004, 16:35:14

W tekst wkradł się jeden błąd:
zamiast

Cytat
extension_dir = "C:/WebServer/php5/extensions/"

powinno być
Cytat
extension_dir = "C:/WebServer/php4/extensions/"


Każdy się domyśli ale można poprawić smile.gif.

Napisany przez: scanner 23.03.2004, 18:04:52

Fixed

Napisany przez: Bieniasxyz 23.03.2004, 19:36:33

Bardzo fajny text, brawa dla pana redaktora laugh.gif

Napisany przez: kszychu 24.03.2004, 16:38:28

Drobna nieścisłość: php nie jest kompilatorem, jak napisałeśa interpreterem. A poza tym fajny tekst smile.gif

Napisany przez: scanner 24.03.2004, 16:42:39

No tak.. rozpędziłem się. Zaraz to poprawię.

Napisany przez: matys 25.03.2004, 11:49:34

Tekst fajny, dzięki niemu łatwo przebrnąc przez instalacje apache i php biggrin.gif

Napisany przez: onlyX 12.05.2004, 11:54:40

Bardzo fajny tekst. Prosty i przejżysty.
Tylko mam pewien problem. Po instalacji MySQL nie uruchamia się prawidłowo (mam cały czas czerwone światło). Jak mogę to naprawić? Mam Win XP.

Napisany przez: Chewolf 12.05.2004, 12:17:33

Cytat
Bardzo fajny tekst. Prosty i przejżysty.
Tylko mam pewien problem. Po instalacji MySQL nie uruchamia się prawidłowo (mam cały czas czerwone światło). Jak mogę to naprawić? Mam Win XP.

Uruchamiaj plik mysqld.exe w ..mysqlbinmysqld.exe
A także usuń z autostartu winmysqladmin

Napisany przez: wro 28.05.2004, 22:13:15

zainstalowałem wszystko tak, jak w artykule i niestety są dwa problemy:
1. nie działa funkcja include(), tzn. nie włączają mi się pliki z kodem htm, które są w tym samym katalogu co pliki php
2. nie działają zmienne przekazywane z formularza, np. jak wywołam w przeglądarce plik forum.php to idzie, a jak zrobię forum.php?id=1 to nie działa.

Co to może być? Będę wdzięczny za pomoc.

Krzysiek

ps. kiedyś instalowałem krasnala i wszystko było ok z tym samym napisanym przeze mnie kodem :-/

Napisany przez: scanner 31.05.2004, 06:41:24

1. pokaż jak wywołujesz te include()
2. poczytaj o register_globals i nucz się korzystać z tablic superglobalnych.


P.S. W najbliższych dniach prawdopodobnie dokonam aktualizacji artykułu w oparciu oi zauważone przez Was braki.

Napisany przez: Misiek 3.06.2004, 17:38:19

Witam

Chciałem skorzystać z artykułu i też zainstalować sobie Apache i php, ale już praktycznie na wstępie problemy. Uruchomiłem instalację Apache'a, nacieszyłem oczy paskiem postępu smile.gif, i dalej nic. Nie działa. Nie widzę żadnych trójkącików, nie wiem jak ma wyglądać ta ikonka w Zasobniku Systemowym, bo obrazek na stronie mi się nie ładuje, tylko Apache Service Monitor mam, ale "No services installed". Uruchomiłem przeglądarkę i wpisałem "localhost", ale nic. Nie było powitalnej strony, tylko wyskoczyło, że nie znaleziono strony. Mam Windows ME, Scanner nie pisał nic o tym systemie, ale w dokumentacji napisane jest, że dla Windows 9x można uaktualnić Microsoft Installer do 2.0. Czy tutaj może tkwić problem? Z góry dzięki za pomoc.

Napisany przez: Paul 3.06.2004, 19:34:14

Chodzi oto, ze twoja winda nie obsluguje services... Wybierz opcje w istalacji bez services


Cytat
Scanner nie pisał nic o tym systemie


Cytat
Windowsy z rodziny NT są wyposażone w mechanizm tzw. Services, które umożliwiają uruchamianie procesów w tle (podobnie do daemonów znanych z systemów U*nix/Linux). Procesy te działają nawet wtedy, gdy nie jest zalogowany żaden użytkownik.

Napisany przez: Misiek 5.06.2004, 22:45:41

Niestety nie mogę podziękować Ci w postaci "Pomógł mi".
Zainstalowałem sobie Apache 1.3. Teraz chodzi OK.
Ale pojawił się jeszcze jeden problem: zainstalowałem php 4.3.6, akonfigurowałem według zaleceń scannera (zamiast php4apache2.dll wpisałem php4apache.dll) i kiedy zrobiłem index.php z phpinfo(); i wywołałem przez wpisanie localhost w przeglądarce wyskakuje mi okienko i pytanie czy zapisać ten plik na dysku czy otworzyć z bierzącej lokalizacji. Co jest przyczyną? Ponadto po uruchomieniu Apache'a pojawia się informacja: [data] [warn] exec() may not be safe. Też nie wiem co z tym zrobić. W pewnym momencie przestałem "ufać" scannerowi i konfigurowałem wg install.txt ale to samo... Dlaczego?

Napisany przez: kicaj 15.07.2004, 23:30:34

Artykul bardzo dobry.
...dzisiaj postanowilem zrobic sobie male update na: Apache 2.0.50, php 5.0.0 i MySQL 4.0.20.

Napisany przez: scanner 16.07.2004, 06:11:56

Ja też się przesiadłem.
Prawdopodobnie nastąpi aktualizacja artykułu (ok. środy).

Napisany przez: wobst 21.09.2004, 10:18:50

Hmm... mam jedno "ale" (oprócz tego artykuł pierwsza klasa).

Na początku wersje aplikacji, które posiadam :
Apache - 2.0.50
php - 4.3.8

Przy edycji pliku php.ini napisałeś Panie Grzegorzu, że należy wartości defaultowe zmienić na następujące :

Kod
error_reporting=E_ALL
log_errors=Off
display_errors=On
extension_dir="C:/WebServer/php5/extensions/"
session.save_path=C:\WebServer\sessions


Ja przyczepił bym się do tego pierwszego, mianowicie error_reporting. Otóż, po pierwsze, w mojej wersji defaultowo "error_reporting" jest ustawione na pokazywanie wszystkiego (czyli E_ALL), ale to jest akurat "pikuś", chodzi mi o to, czy nie lepiej byłoby wyłączyć pokazywania Notyfikacji. Przy praktycznie każdym działaniu z np. bazą danych takowa notyfikacja zaistnieje i później serwer wyrzuca mnóstwo komunikatów na górze strony, co może niekiedy przyprawić o zawrót głowy.

Ja rozwiązałem tę linijkę w następujący sposób :
Kod
error_reporting  =  E_ERROR|E_WARNING|E_PARSE

Serwer pokazuje tylko błędy, które uniemożliwiają wykonanie kodu.

Hmm... jest to oczywiście sprawa gustu, tyle że początkujący "komputerowcy" będą się raczej dziwili tym wszystkim notyfikacjom, i nie będą mieli zielonego pojęcia jak to to wyłączyć. Ale z drugiej strony notyfikacje niekiedy się przydadzą, w przypadku jeżeli chcielibyśmy prześledzić działanie naszego skryptu.

Napisany przez: scanner 21.09.2004, 10:47:33

Widać kolego, mze nie pisałeś nigdy w innym bardziej wymagającym jezyku.
Notyfikacje wymuszają pisanie poprawnego kodu, w którym uwzględnione jest sprawdzanie istnienia i typów zmiennych.

Pokaż mi twoje notyfikacje, a pokażę Ci, że masz niechlujny kod.

Co do ustawień error-reporting - napisanie o tej zmiennej ma zmusić użytkownika do zapamiętania, ze ona istnieje. A tak się składa, ze znaczna częśc "programistów" nawet nie wie, jakie są ustawienia języka i gdzie je modyfikować.

Czekam na cytaty notyfikacji. Bo moje skrypty nic takiego nie pokazują...

Napisany przez: Jojo 21.09.2004, 12:51:07

Kiedyś zauważyłem, że mój skrypt, w którym pokazywały się notyfikacje dotyczące niezainicjowania pewnej zmiennej wykonywał się dość wolno. Wystarczyło zainicjować zmienną gdzieś na początku, aby przyspieszyć jego wykonanie o około 50%. Od tamtej pory zawsze mam ustawione error_reporting na wartość E_ALL.

Napisany przez: silent 21.09.2004, 14:58:27

Czyli warto troszkę się wysilić i pisać kod tak, żeby przy E_ALL nie wypisywało nic?
Z reguły sprowadza się to do sprawdzania istnienia zmiennej przed jej przyrównaniem do jakiejś wartości, bądź inicjalizacji w postaci przykładowo:

  1. <?php
  2.  
  3. $var=http://www.php.net/array();
  4. // przed
  5. $var[]='jakas wartosc';
  6.  
  7. //czy też:
  8.  
  9. $var='';
  10. // przed
  11. $var.='jakas wartosc';
  12.  
  13. ?>

Napisany przez: wobst 21.09.2004, 20:57:54

Przepraszam za wymądrzenia, zapewne macie rację. Kod prześlę oczywiście i będę bardzo rad jeżeli podpowiesz mi co jest nie tak (może na php się nie znam, ale za to wychodzi mi rymowanie).

Napisany przez: Oxy 16.12.2004, 13:23:23

so:Win98
Apache: 2.0.50
php: 4.3.8


Dzięki za artykuł - jest generalnie ok smile.gif , z małym wyjątkiem... angrysmiley.gif
Wszystko poszło ok - udało mi się zainstalować i skonfiguraowac poprawnie wszystko. I do tego ku mojemu zaskoczeniu wszystko działało ! ...do momentu aż nie przyszło mi do głowy zabezpieczenie się przed intruzami (a co !), eehhh.. ten rażący napis na stronie powitalnej...

No to postanowiłem zmianić hasła dla roota - dokonując zmian zgodnie z opisem w pkt.5. phpMyAdmin.

W momencie odświeżenia strony okazało się że dostaję komunikat:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)

na stronie, bez okna logowania.
Dodatkowo sygnalizator uliczny pokazuje czerwone światło!

Sprawdziłem dokonane zmiany w pliku config.inc.php - wszystko zgodnie ze wskazówkami. Próbowałem wpisywać "na chama" hasło i usera w pliku konfiguracyjnym - niestety bez rezultatu.

Rozumiem, że w zw z tym że zmieniłem hasło na roota, nie moge się dostać do bazy, czyżby baza leżała (jak to sprawdzić)...?
Pytanie co jest nie tak - co jeszcze powinienem zrobić ? - ... a i może autor programu powinien dodać do artykułu smile.gif - chociażby na przyszłość, dla takich newbees jak ja winksmiley.jpg
Gdzie się podziało okno logowania?

Napisany przez: scanner 16.12.2004, 13:48:01

sprawdz co masz w linii:

  1. <?php
  2. $cfg['Servers'][$i]['auth_type']  = 'config'; // Authentication method (config, http or cookie based)? 
  3. ?>
Powinno być ustawione Cookie lub http

Napisany przez: Oxy 17.12.2004, 09:19:12

Dzięki za szybką odp.
No właśnie w tej linii mam "cookie" !. Ale zmieniałem też na http - bez rezultatu.
Po zmianach restartowałem wszystko z Apachem włącznie.
Używam Opery 7.54, ale i na IE ten sam błąd - ciastka włączone na obydwu.

Dostałem się wczoraj do bazy MySQL'a. Hasła roota zatem sa ok.
Nie mogę jednak nadal uruchomić MySQL Admina sad.gif - czerwone światło i wciąż ten sam błąd #1045.

Poza tym jednym wszystko gra.
Jakieś sugestie ?

BTW - możecie polecić jakieś dobre darmowe narządko (edytor) do kodowania w SQLu, i do php ?
Dopiero zaczynam więc nie chciałbym wyważać otwartych drzwi smile.gif

Napisany przez: Kizio 17.12.2004, 17:38:36

Mam taki sam problem jak Oxy z PhpMyAdmin'em.
Jak wpisuje adres http://localhost/pma to widze pola do logowania i w Nazwie użytkownika wpisane "root" a w hasle nic, daje na zaloguj i wyskakuje mi komunikat:

Kod
#1045 - Access denied for user 'root'@'localhost' (using password: NO)


Co robić? W config.inc.php mam ustawione logowanie cookie.

próbowałem wpisywac i config, i http i zawsze to samo.

Napisany przez: kasma 27.03.2005, 10:54:15

Odpowiadając na poprzedni tutaj post najprawdopodobniej w pliku konfiguracyjnym phpMyadmina config.inc.php masz niewypełnioną linię:
$cfg['Servers'][$i]['password'] = '';
ta linia musi być uzupełniona o hasło = 'hasło_do_serwera';

Może jeszcze trochę bla, bla, bla - ponieważ też nie bardzo znalazłem odpowiedzi w nwcie na zabezpieczenie phpMyAdmina trybem uwierzytelniania 'config'

Zabezpieczyłem swojego phpMyAdmin-a przed całkowitym otwieraniem na innych kompach w spoób następujący

$cfg['Servers'][$i]['host'] = 'localhost';

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'hasło';

$cfg['Servers'][$i]['AllowRoot'] = TRUE;
$cfg['Servers'][$i]['AllowDeny']['order'] blank to not use = 'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] blank for defaults = array(
'deny root from all',
'allow root from localhost',
'allow root from 192.168.0.10/255.255.255.0',
);

Są to najważniejsze linie konfiguracji dostępu roota - w końcu inni nie powinni nic tu zmieniać. Po co hasła!!

Krótkie wyjaśnienie:

$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'hasło'; - wiadomo co to - bez wyjaśnienia

$cfg['Servers'][$i]['AllowRoot'] = TRUE; - czy root może się logować
$cfg['Servers'][$i]['AllowDeny']['order'] blank to not use = 'deny,allow'; - reguła (może metoda) zabezpieczenia, najpierw blokujemy, a następnie zezwalamy wybranym
A teraz reguły dostępu do root-a
$cfg['Servers'][$i]['AllowDeny']['rules'] blank for defaults = array(
'deny root from all', - zamykamy rota przed wszystkimi
'allow root from localhost', - pozwalamy logować się root-owi z maszyny lokalnej
'allow root from 192.168.0.10/255.255.255.0', - pozwalamy logować się root-owi z sieci z komputera o adresie 192.168.0.10
);


Nie muszę chyba tutaj mówić, że sieć w moim przypadku jest oparta o adresy IP. Nie wiem jak to by było gdyby adresy były przydzielane dynamicznie (nie mam gdzie tego sprawdzić) i nie chcę nikogo wprowadzać w błąd jak to by było w przypadku DHCP. Ale na pewno przy dhcp zadziałają te 2 reguły:
$cfg['Servers'][$i]['AllowDeny']['rules'] blank for defaults = array(
'deny root from all',
'allow root from localhost',
);

Dostęp będzie tylko w tym przypadku z maszyny lokalnej.

Napisany przez: Bonastick 25.02.2006, 20:12:47

Na początek przepraszam za wykopanie tematu który od roku śpi sobie spokojnie, ale szczerze mówiąc wciąż jest to najlepszy materiał na jaki trafiłem w sieci pozwalający w miarę bezboleśnie przejść przez stawianie własnego serwera i za to duże podziękowania dla autora tekstu.
Przy właśnie postawionej u siebie konfiguracji (Apache 2.0.55, php 5.1.2, MySQL 4.1.8) wystąpiło po drodze kilka zmian względem artykułu, jednak nie były to różnice na tyle duże, abym nie mógł sobie poradzić.... ale:

Cytat
Teraz musimy skopiować kilka plików. Po lewej jest ścieżka skąd - po prawej dokąd. Ścieżki oczywiście bazują odpowiadają ścieżkom instalacji, którymi posługuje się w tym artykule.
a. C:\WebServer\php4\php.ini-recomended -> C:\Windows\php.ini
b. C:\WebServer\php4\php4ts.dll -> C:\WebServer\Apache2\bin
c. C:\WebServer\php4\dlls\iconv.dll -> C:\WebServer\Apache2\bin

Na tym etapie znalezienie dwóch pierwszych plików było możliwe, jednak nie znalazłem trzeciego pliku, ani żadnego choćby zbliżonego nazwą do niego. Mimo pominięcia tego pliku serwer działa i jak na razie nie pojawiają się żadne problemy.
Więc moje pytanie: Za co ten plik jest odpowiedzialny i czy w mojej wersji php powinienem skopiować jakiś inny plik?
Z góry dziękuję za wszelkie wyjaśnienia.

Napisany przez: kasma 27.02.2006, 07:06:06

O ile dobrze pamiętam iconv.dll odpowiedzialny jest za obsługę jakiejś wężykowatej strony kodowej.
Reasumując.... Jeżeli używamy ludzkiego biggrin.gif języka kompletnie jest to nam niepotrzebne....

Napisany przez: Bonastick 27.02.2006, 16:20:38

Dzieki za odpowiedź. Po przeczytaniu Twojego postu sam jeszcze zacząłem dokładniej googlować za informacjami i okazało się, że najciemniej pod latarnia winksmiley.jpg
na stronie php.net jest informacja o tym module i z jednej z notek mozna sie dowiedziec, ze od wersji 5.0.1 biblioteka ta jest standardowo zaimplementowana. O ile wypowiedz jest wiarygodna, to raczej nie mam sie czego obawiac smile.gif

Napisany przez: misiek2k 23.10.2006, 09:41:28

Hej, mam maly problem.

staralem sie skonfigurowac wszystko tak jak pokazane jest to w artykule na stronie, ale dla:

- Apache 2.2
- MySql 5.1.6
- php 4.4.4

wszystko pod WIN Xp SP2 PL, wszystkie aktualizacje.

Robie krok po kroku, po zainstalowaniu MySql i Apache wszystko ok. Ale mam problem w momencie gdy dodaje rzeczy zwiazane z PHP4. Przy restarcie Servera przez Apache Monitor, wyskakuje mi błąd. A dokładnie związany z dopisaniem tej linijki:

LoadModule php4_module "C:/WebServer/php4/sapi/php4apache2.dll"

wyskakuje iż " Nie można odnaleźć określonego modułu"

Help! smile.gif Czy moge prosic o pomoc dla takiego zestawu programikow, krok po kroku, bo moze robie cos zle. Dziekuje za wszelka pomoc

Napisany przez: revyag 23.10.2006, 15:42:40

A napewno ta ściezka dostępu fizycznie na dysku istnieje ?
C:/WebServer/php4/sapi/php4apache2.dll

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)