Skocz do zawartości

maggreg

Użytkownicy
  • Postów

    649
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez maggreg

  1. Ja od siebie polecę programik "Password Renew" który - oprócz standardowych w tym przypadku opcji porównywalnych z "Offline NT Password Recovery" - chyba jako jedyny wśród rozwiązań darmowych pozwala założyć offline nowe konto z uprawnieniami administracyjnymi. pzdr
  2. maggreg

    MySQL

    1 - trzeba podać login a potem hasło, powinienem być bardziej precyzyjny, pełna składnia: mysqladmin -u root -p create "nazwa bazy" 2 - config wygląda ok, wg mnie powinien zadziałać ale jak już napisałem dla mnie to zabawka, nie jestem ekspertem a sam nginx posiada mnóstwo opcji które można przez konfig ustawić, na stronie projektu są zresztą szablony dla wielu systemów CMS czy innych projektów, możesz się posiłkować moim konfigiem który działa (w międzyczasie troszkę zmieniłem głównie z myślą o wordpress więc wrzucam ci na priv aktualną wersję), zasadniczo powinien ci zadziałać po zmianie ścieżki root (i portu do php), musisz też zaptaszkować obsługę ssl bo to wymaga generowania certyfikatów a to wymaga odrobinę zabawy. 3 - ustawienie konfigu phpmyadmin jest na sieci opisane, w skrócie to co ustawiasz chce się zapisać w katalogu config wewnątrz katalogu phpmyadmin, ponieważ katalog domyślnie nie istnieje należy go utworzyć, potem należy ustawiony konfig przenieść do katalogu głównego phpmyadmin (katalog config można skasować). Dodatkowo powinno się ustawić bazę dla phpmyadmin na bazie skryptu dostępnego z phpmyadmin: C:\www\mysql\bin> mysql -u root -p mysql> source C:\www\phpMyAdmin\scripts\create_tables.sql GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'root'@'localhost'; mysql> quit oczywiście w miejsce "C:\www\phpMyAdmin\scripts\create_tables.sql" musisz dać właściwą ścieżkę pzdr
  3. maggreg

    MySQL

    Zawsze możesz stworzyć bazę z poziomu konsoli, np. przez: mysqladmin create "nazwa bazy" Żeby phpmyadmin zaczął parsować style dopisz wewnątrz sekcji: location ~ \.php$ { root d:\programy\nginx\php\html; fastcgi_pass 127.0.0.1:12345; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } następujący ciąg: allow 127.0.0.1; oczywiście jeżeli chcesz się łączyć z innego ip do panelu musisz je tez dopisać (w oddzielnej linii). Nie wiem czemu tak jest, nie zauważyłem z innymi php takiego zachowania, zresztą dotyczy to też innych serwerów, apache czy LightTPD zachowują się tak samo, zdaje się że jest to związane z zabezpieczeniami samego phpmyadmin. Zdaje się, że można to zachowanie skonfigurować w samym phpmyadmin przez stronę: http://127.0.0.1/phpMyAdmin/setup/ pzdr
  4. maggreg

    MySQL

    Przypuszczam, że pamiętasz co wpisałeś w mysqladmin -u root password newpassword pzdr
  5. maggreg

    MySQL

    Wydawało mi się to oczywiste, że chodzi o dyrektywy root w konfigu nginx. pzdr
  6. maggreg

    MySQL

    To co się rzuca w oczy to dziwny format komunikatu: d:\programy ginx\php\html/phpmyadmin Linia jest złamana w dziwny sposób, zamiast nginx mamy ginx i to bez łamańca, tak jakby "\n" było interpretowane jako np. regex, spróbuj zamienić slashe na konwencję linuxową. pzdr
  7. maggreg

    MySQL

    objShell.Run("%comspec% /c net stop mysql"),0,true wyłącza usługę objShell.Run("%comspec% /c d:\Programy\nginx\mysql\bin\mysqld.exe --remove"),0,false usuwa usługę (usługa znika zarówno z listy usług jak i z rejestru). Analogicznie (w odwrotnej kolejności) działa skrypt uruchamiający, czyli jeżeli chcesz ustawić mysql permanentnie to również ze skryptu startowego należy odpowiednie wpisy skasować. Natomiast nie widzę jakiegoś specjalnego powodu dla którego serwer generuje błąd 50x, konfig wygląda ok, nawet przy braku indexu powinien wygenerować zawartość katalogu, w "spojlerze" powyżej fragment kodu odpowiadający za obsługę tego błędu jest dziwnie kolorowany przez stronę, tak jakby był zamknięty w komentarzy, prześledź czy nie wkradł ci się tam jakiś znak niedrukowalny, być może to tylko kwestia BBCode na stronie mam na myśli fragment: error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } ps. wysłałem ci na priv mój konfig który działa poprawnie (tylko dla ciebie do wglądu). Jedyne czego nie mogę wymusić mimo różnych prób to przekierowanie indexu na podstawie ip referera. pzdr
  8. maggreg

    Auto instalacja

    Wszystkie programy - raczej nie, pomijając fakt, że nie wszystkie programy pozwalają na instalację "bezobsługową" to w przypadku niektórych jest to wręcz niewskazane, wszystko zależy od tego jakie "wszystkie programy" instalujesz. Jeżeli ma to służyć jednej maszynie to dużo lepszym sposobem od instalacji (zarówno systemu jak i dodatków do niego) jest zbudowanie obrazu takiego wstępnie skonfigurowanego systemu. Oczywiście problemem imagu ale także instalacji zautomatyzowanej jest utrzymanie "aktualności" takiego zestawu, sęk w tym że w świecie komputerów w tej chwili nieaktualne oprogramowanie = furtka dla złośliwego oprogramowania a co za tym idzie taki obraz sprzed pół roku i tak po przywróceniu wymaga aktualizacji dlatego należy zachować proporcję pomiędzy automatyzacją procesu instalacji/przywracania systemu a późniejszym jego konfigurowaniem, umieszczenia np. flash playera w obrazie mija się z celem. Osobną kwestią jest sama potrzeba posiadania takiego zestawu, dobrze konserwowany system powinien wytrzymać dłużej niż wynosi średni cykl wymiany sprzetu komputerowego na nowy jeżeli natomiast potrzebujesz "robić formata" co pół roku to coś jest nie tak w innej dziedzinie niż wygoda instalacji, może warto czas/chęci potrzebne do stworzenia "automatu" poświęcić kwestii zadbania o system już działający. pzdr
  9. maggreg

    MySQL

    W tej linii brakuje średnika > "root d:\programy\nginx\php\html" pzdr
  10. maggreg

    MySQL

    O takim układzie katalogu myślałem. Jeżeli nginx nie startuje to uruchom go bezpośrednio z konsoli, powinien wypisać co mu się nie podoba (pewnie jakaś pierdółka w konfigu typu nawias itp.). Po odpaleniu powinien się pojawić w menedżerze (nawet kilka razy, o ile dobrze pamiętam to zależnie od rdzeni procesora)*. Jak serwer http nie działa to localhost jest niezrozumiały dla przeglądarki, jak już serwer wystartuje i przeglądarka będzie się jednak upierać przy wyszukiwarce to spróbuj z adresem bezpośrednim >127.0.0.1 albo adres połączenia sieciowego (np. z dhcp). * > jednak nie zależy to od procesora, nginx tworzy jeden proces master i przynajmniej jeden proces worker (ilość do skonfigurowania). pzdr
  11. maggreg

    MySQL

    Rozpakuj cały katalog tak żeby uzyskać strukturę: phpMyAdmin index.php phpMyAdmin/index.php I serwer oczywiście testujemy kiedy jest uruchomiony. pzdr
  12. maggreg

    MySQL

    doc_root = "d:/programy/nginx/html" <> root d:\programy\nginx\php\html Mała niekonsekwencja, oczywiście można odseparować pliki php od czystego html ale również dla nich należny wtedy ustawić lokalizację. Myślę, że nie potrzebujesz serwerów wirtualnych, wystarczy pojedynczy katalog html/www, załóż go w ścieżce do której jest łatwy dostęp bo pewnie będziesz często zaglądał. extension_dir = "d:/Programy\nginx/php/ext" > pomieszane slashe i backslashe, co prawda php potrafi interpretować oba "łamańce" ale nie wiem czy w jednej linii. żeby sprawdzić czy działa wrzuć sobie do katalogu ustawionego w "root" plik o takiej zawartości: <?php phpinfo(); ?> zapisz go jako index.php i wpisz w przeglądarce adres http://localhost a tu w bonusie kod wyświetlający datę i czas w momencie otwarcia strony, zapisz np. jako czas.php i w przeglądarce daj http://localhost/czas.php <?php $arrLocales = array('pl_PL', 'pl','Polish_Poland.28592'); setlocale( LC_ALL, $arrLocales ); date_default_timezone_set('Europe/Warsaw'); function strftimeV($format,$timestamp){ return iconv("ISO-8859-2","UTF-8",ucfirst(strftime($format,$timestamp))); } echo strftimeV('%A %d %B %Y',strtotime('now')); echo strftime(' %H:%M:%S'); ?> Powinna się wyświetlić strona zawierająca sformatowane ustawienia php i serwera oraz zmienne lokalne, to oznacza że serwer http działa i obsługuje pliki php. phpMyAdmin rozpakuj do tego samego katalogu (lub jego podkatalogu). pzdr
  13. maggreg

    MySQL

    Skoro zdecydowałeś się na nginx (całkiem niezły wybór) to jeszcze kwestia czy bawisz się w instalacje czy też (tak jak mysql) w wersje rozpakowywane. nginx nie wymaga specjalnie wielkiej ingerencji, proponuję tą wersję: http://nginx.org/download/nginx-1.1.17.zip, trzeba kilka opcji ustawić w konfigu. Podstawa to ustawienie katalogu z zawartością www, domyślnie serwer ustawia katalog html wewnątrz katalogu nginx, można to zmienić podając pełną ścieżkę lokalną w zakładce "location /" pliku nginx.conf, przykładowo może on wyglądać tak: location / { root d:\programy\html index index.php index.html index.htm default.html default.htm; autoindex on; } dodatkowo ustawiono w przykładzie kilka opcji dla plików indexu, "autoindex on;" oznacza że jeżeli żaden z domyślnych indexów nie zostanie znaleziony zostanie wygenerowany podgląd katalogu. Druga rzecz która będzie potrzebna to włączenie obsługi php, nginx robi to przez interfejs cgi z pomocą mechanizmu lokalnego proxy, żeby to zadziałało (oprócz oczywiście samego php ale to za chwilę) należy ustawić sekcję: location ~ \.php$ { root d:\programy\html; fastcgi_pass 127.0.0.1:12345; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } Oczywiście w root podajemy ścieżkę do katalogu który będzie zawierał pliki php, w przykładzie jest to ta sama lokacja która widnieje dla głównej lokalizacji, "12345" to port dla serwera proxy, z takim samym portem musi startować php. I tyle dla serwera, teraz php, tu jest troszkę więcej możliwości ustawień, nie wiem czy uda mi się wyłapać wszystko no ale spróbujmy. Po rozpakowaniu php (wersja rozpakowywalna tutaj: http://windows.php.net/downloads/releases/php-5.4.0-Win32-VC9-x86.zip) kopiujemy plik php.ini-production do tego samego katalogu z nazwą php.ini (zasadniczo plik php.ini można umieścić w innej lokacji ale to jest jedna z domyślnych), teraz należy wyedytować kilka wierszy tego pliku. Należy ustawić katalog do serwera www, katalog do modułów (wewnątrz katalogu php), włączyć obsługę wymaganych modułów (cgi) ew. ustawić wielkość możliwych transferów, użycia pamięci itp. (wiele ustawień wpływa bezpośrednio na bezpieczeństwo serwera więc jeżeli ma być widoczny z zewnątrz należy mieć to na uwadze) Przykładowe ustawienia (większość uruchamiamy poprzez usunięcie # na początku wiersza): error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT display_errors = On include_path = ".;d:\Programy\php\PEAR" doc_root = "d:/programy/html" extension_dir = "d:/Programy/php/ext" extension=php_mysql.dll extension=php_mysqli.dll extension=php_pdo_mysql.dll extension=php_bz2.dll extension=php_gd2.dll extension=php_imap.dll extension=php_mbstring.dll I to powinno wystarczyć. Teraz kwestia odpalenia (i dalej ew. wyłączeni) odpowiednich programów w odpowiedniej kolejności, ja preferuję ręczny start ale można też stworzyć usługi, nginx standardowo powinien być zabity przed wyłączeniem komputera, inaczej będą wyświetlane błędy. Najwygodniej chyba odpalać z pomocą vbs, ja używam serwerów dla zabawy i np nginx i pozostałe odpalam tak: Set objShell = WScript.CreateObject ("WSCript.shell") objShell.Run("%comspec% /c nginx.exe"),0,false objShell.Run("%comspec% /c d:\Programy\php\php-cgi.exe -b 127.0.0.1:12345 -c d:\Programy\php\php.ini"),0,false objShell.Run("%comspec% /c d:\Programy\mysql\bin\mysqld.exe --install-manual MySql --defaults-file=d:\Programy\mysql\my.ini"),0,false objShell.Run("%comspec% /c net start mysql"),0,false Set objShell = Nothing Skrypt vbs znajduje się w katalogu nginx w przeciwnym wypadku należy podać pełną ścieżkę, oczywiście ścieżki przykładowe, ścieżki oczywiście mogą być inne ale należy to uwzględnić również w plikach konfiguracyjnych poszczególnych pakietów. Całość zatrzymujemy w taki sposób (znów vbs): Set objShell = WScript.CreateObject ("WSCript.shell") objShell.Run("%comspec% /c nginx.exe -s quit"),0,false objShell.Run("%comspec% /c taskkill /f /IM nginx.exe"),0,false objShell.Run("%comspec% /c taskkill /f /IM php-cgi.exe"),0,false objShell.Run("%comspec% /c net stop mysql"),0,true objShell.Run("%comspec% /c d:\Programy\mysql\bin\mysqld.exe --remove"),0,false Set objShell = Nothing W przykładach które podałem usługa dla mysql jest za każdym razem tworzona na nowo i potem znów budowana przy uruchomieniu, tak jak napisałem dla mnie to zabawka a nie system produkcyjny więc nie potrzebuję cały czas uruchomionych tasków, to oczywiście zależy od zastosowania ale jeżeli ma to być serwer publiczny to oczywiście powinny być dostępne ciągle, dodatkowo w takiej sytuacji musisz zadbać o bezpieczeństwo ale to już inny temat a ja nie czuję się władnym o tym pisać (jak już wspomniałem - dla mnie to zabawka). phpMYadmin należny po prostu rozpakować do katalogu który był podany jako root dla plików php (albo do jego podkatalogu) i wpisać w przeglądarce: 127.0.0.1/phpMyAdmin (jeżeli będzie w root). pzdr
  14. maggreg

    MySQL

    Usuń pliki (logi) z katalogu data (tylko te z głównego drzewa, nie ruszaj podkatalogów). W logach znów mamy "Can't start server: bind-address refers to multiple interfaces!" czyli błąd związany z rozmnożeniem interfejsów, zajrzyj do my.ini czy w międzyczasie nie przywróciłeś/przywróciło się localhost zamiast 127..., sprawdź też ponownie status IPv6. Mam wrażenie krążenia w kółko. może czas spróbować od nowa, od zera, ew. postaw sobie jakąś maszynę wirtualną i przetestuj konfigurację a później dopiero przenieś na hosta. pzdr
  15. maggreg

    MySQL

    Ciekawe - zakładam, że zrzuty są świeże więc logi powinny być aktualne, tym czasem w katalogu są logi z 22/23 a więc wtedy ostatni raz startował mysql. Po zaznaczeniu "Pokaż procesy wszystkich użytkowników" powinieneś widzieć odpalony demon mysqld.exe, jeżeli jest inaczej usługa nie startuje, pamiętaj że instalowana wg. podawanych tu opisów usługa jest utworzona w trybie odpalania ręcznego więc po każdym restarcie należy ją ponowie odpalić bądź po prostu przestawić w tryb automatyczny. Przyszła mi na mysl jeszcze jedna rzecz do sprawdzenia, instalator mógł utworzyć jeden z domyślnych plików z configiem który może mieszać, sprawdź czy nie pałęta ci się któraś z opcji: C:\windows\my.ini, C:\windows\my.cnf, C:\my.ini, C:\my.cnf, jeżeli istnieją to usuń. pzdr
  16. maggreg

    MySQL

    Sprawdź czy mysql na pewno jest aktywny (usługa uruchomiona i proces widoczny w menedżerze zadań), potem wykonaj proponowane przez komunikat polecenie telnetowe i sprawdź odpowiedź. ps. Zamiast newpassword wpisz rzeczywiste hasło, "newpassword" może być ciągiem zabronionym. Sprawdź czy w katalogu data tworzą się logi, zajrzyj do nich, może coś konkretnego mówią, jeżeli się nie tworzą to mysql się nie odpala prawidłowo. pzdr
  17. maggreg

    MySQL

    Na pewno musisz uwzględnić prawidłową ścieżkę, może wystarczy: "cd /d d:\Programy\mysql\bin" > "cd /d d:\Programy\nginx\mysql\bin" pzdr
  18. maggreg

    MySQL

    cd /d d:\Programy\mysql\bin\ pzdr
  19. maggreg

    MySQL

    Z linii komend odpalonej w trybie administratora. mysqladmin jest oddzielną komendą do wpisania bezpośrednio a nie wewnątrz konsoli mysql. Dopiero w następnej kolejności odpalamy mysql, odpalamy z podanymi argumentami aby od razu się zalogować. pzdr
  20. maggreg

    MySQL

    Jak ustawiłeś hasło > "mysqladmin -u root password 'Twoje hasło'" to wystarczy się zalogować na root-a: mysql -u root -p zapyta o to hasło ustawione przed chwilą. i wystarczy: flush privileges; Reszta już z przeglądarki, pewnie i tak potrzebujesz do jakichś framework-ów które sobie powinny bazę założyć przy instalacji. pzdr pzdr
  21. maggreg

    MySQL

    Jeżeli w rejestrze masz prawidłowe dane i usluga się uruchamia to ten etap masz za sobą, to jest odpowiednik: d:\Programy\nginx\mysql\bin\mysqld.exe --install-manual MySql --defaults-file=d:\Programy\nginx\mysql\my.ini a to już robiliśmy, jeszcze raz powtórzę -z głową- nie jedź poradnika bezkrytycznie nie zastanawiając się co robisz i po co. Na dobrą sprawę pozostaje ustawić hasło i powinno działać: mysqladmin -u root password newpassword można oczywiście jeszcze jakieś drobne ustawienia zrobić, choćby :flush privileges; pzdr
  22. maggreg

    MySQL

    Spójrz sobie na wcześniejszy screen i porównaj format ścieżki, znów potraktowałeś poradę zbyt dosłownie i popełniłeś przez to dość prosty błąd. pzdr
  23. maggreg

    MySQL

    Wyraźnie widać, że w rejestrze masz inną ścieżkę niż ta z konfigu, musisz się zdecydować gdzie umieścić tą bazę. Zakładam, że teraz środowisko znajduje się w ścieżce "d:/Programy/nginx/mysql", co prawda trochę to nielogiczne jeżeli używaż wampa (który jest oparty na apachu a nie nginx) ale na działanie nie ma to wpływu, zbyt dosłownie potraktowałeś poradnik. Odinstaluj usługę d:\Programy\nginx\mysql\bin\mysqld.exe --remove i zainstaluj ponownie z poprawnym parametrem: d:\Programy\nginx\mysql\bin\mysqld.exe --install-manual MySql --defaults-file=d:\Programy\nginx\mysql\my.ini Albo po prostu popraw ścieżki w rejestrze, chodzi o "ImagePath". Pamiętaj o ew. zmianie wielkości liter w ścieżkach wewnątrz konfigu (w rejestrze nie ma znaczenia). pzdr
  24. maggreg

    MySQL

    Generalnie mysql do wystartowania lokalnie w ogóle nie potrzebuje połączeń sieciowych a tym bardziej uruchomionego serwera http/php, oczywiście późniejsze wykorzystanie to już inna historia. Dlatego firewall czy też wamp w tym momencie konfiguracji jest tematem do pominięcia, dla pewności że błędów nie powoduje sieć możesz całkowicie wyłączyć zarówno usługi zainstalowane przez wampa jak i nawet kartę sieciową ale nie wydaje mi się to konieczne. Błąd na screen-ie wyraźnie wskazuje na problem z dostępem do ścieżki plików. Pokaż zawartość klucza rejestru dla tej usługi > HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySql. pzdr
  25. maggreg

    MySQL

    Po prostu uruchom usługę w otwartym oknie konsoli przez "net start mysql" Katalog data nie zawiera logów tylko domyślne bazy, test można skasować pozostałe są wymagane. Aleś kodu wrzucił, proponuję na przyszłość otagować tak ciąg np przez "
×
×
  • Dodaj nową pozycję...