Skocz do zawartości

maggreg

Użytkownicy
  • Postów

    649
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez maggreg

  1. No to tylko metodami zewnętrznymi można to zrobić jak np metody przedstawione w linku.Inne metody to np Offline NT Password Recovery - narzędzie to też ma możliwość włączania/wyłączania kont w tym wbudowanego admina

     

    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. 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. 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. 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

  5. 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

  6. 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

  7. 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

  8. 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

     

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

     

  14. 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

  15. Navigate to C:\nginx\mysql\bin\ and run :

    mysqld --install-manual

    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

  16. 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

  17. 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

  18. Nie wiem w jaki błąd mam przy starcie usługi (jak to sprawdzić?)

     

    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 "

    " będzie wygodniej czytać. Zrobione ;) //slawek481

     

    "Can't start server: bind-address refers to multiple interfaces!" > problem może wystąpić jeżeli maszyna jest skonfigurowana do używania jednocześnie ip4 i ip6 (drugą możliwość z "localhost" wyeliminowaliśmy).

    Nie wiem której wersji mysql próbujesz ale może jest nowsza, ew. wersja developerska.

    Jeżeli to nic nie zmieni spróbuj wyłączyć obsługę ip6.

     

    pzdr

×
×
  • Dodaj nową pozycję...