Supervisior – kontrola procesów na przykładzie działania kolejki w Laravelu


12 listopada 2020 / Michał Kortas


Supervisor wykorzystuję do pilnowania kolejek zadań w aplikacjach webowych, jednak może on kontrolować w zasadzie każdy proces w systemie operacyjnym. Dzisiejszy post poświęciłem w całości na instalację Supervisora na CentOS 8 oraz konfigurację do współpracy z frameworkiem Laravel. Continue reading Supervisior – kontrola procesów na przykładzie działania kolejki w Laravelu


Tagi:


Podłączanie się z PHP do Microsoft Web Services za pomocą NTLM z autoryzacją domenową


8 października 2020 / Michał Kortas


Jakiś czas temu potrzebowałem z poziomu PHP podłączyć się do Web Service, aby dobrać się do danych serwowanych przez Microsoft Dynamics NAV (obecnie Dynamics 365 Business Central). Wszystko byłoby proste gdyby nie kilka punktów, które zatrzymały mnie w miejscu: pierwszy mój kontakt z SOAP oraz konieczność uwierzytelniania NTLM użytkownikiem utworzonym z poziomu Active Directory. Na szczęście kolega (dzięki, Rafał!) uratował mnie pewnym linkiem, który naprowadził mnie na rozwiązanie problemu. Continue reading Podłączanie się z PHP do Microsoft Web Services za pomocą NTLM z autoryzacją domenową


Tagi:


Pakowanie i pobieranie ZIP w Laravel


14 stycznia 2019 / Michał Kortas


Pracuję ostatnio trochę z Laravelem, zatem w przyszłości może powstać kilka krótkich wpisów na ten temat. Dzisiaj pierwsza rzecz, prosta ale często przydatna – pakowanie plików do ZIP z opcjonalnym pobieraniem archiwum.

Tworzenie archiwum ZIP

Skorzystamy z klasy ZipArchive.

Zaczniemy od krótkiej deklaracji ścieżki i nazwy nowego archiwum ZIP.

Tworzymy nowy obiekt klasy ZipArchive.

Sprawdzamy, czy archiwum może być utworzone we wskazanej ścieżce. Tutaj za chwilę będziemy pakować pliki.

Pakowanie plików

Sprawdzamy, czy plik istnieje, a następnie dorzucamy do do paczki. Opcjonalnie możemy przypisać mu nową nazwę.

Pobieranie archiwum ZIP

Przekazujemy ścieżkę pliku, jego nazwę…

Naszym nagłówkiem będzie:

Po wykonaniu skryptu przeglądarka uruchomi pobieranie.

Zapisywanie pliku ZIP

Podsumowanie

To w zasadzie wszystko. Pełny kod możecie podejrzeć na moim GitHubie.


Tagi:


[Zakończony] Czytaj, nie pytaj! Konkurs – edycja #3


22 lutego 2016 / Michał Kortas


Klaudia, Anna i Waldemar zostali zwycięzcami tej edycji. Czekamy na wiadomości zwrotne. Dziękujemy za udział w zabawie!

Czytaj, nie pytaj! Edycja #3

Co dwa tygodnie, w poniedziałki do wygrania wystawiać będziemy trzy sztuki wybranej przez Was wcześniej książki (papier lub ebook do wyboru) od wydawnictwa Helion.

W trzeciej edycji do wygrania jest książka PHP, MySQL i JavaScript. Wprowadzenie, dzięki której szybko nauczysz się korzystania z języka skryptowego PHP, poznasz zasady działania baz danych MySQL oraz poznasz JavaScript.

Co zrobić, aby wygrać?

  1. Udziel odpowiedzi na dwa poniższe pytania, wysyłając je na adres [email protected]
  2. W tytule wiadomości koniecznie wpisz Konkurs 3

Pytania konkursowe

  1. Jak nazywa się metoda, która wywoływana jest jako konstruktor w języku PHP?
  2. Do czego służy konstruktor w programowaniu obiektowym (np. PHP)?
  3. Czy ukrywanie danych abonenta domeny .eu w bazie WHOIS dla osób prywatnych jest domyślnie aktywne?

Partnerem konkursu jest Wydawnictwo Helion.
Niezawodnym partnerem technologicznym jest dhosting.

Opis książki na Helion.pl

Krótki regulamin

  • Na odpowiedzi czekamy do godziny 18:00, do dnia jutrzejszego (tj. 23.02.2016)
  • Nie liczy się kolejność zgłoszeń, a ich poprawność
  • Z pośród poprawnych odpowiedzi wybierzemy trzy osoby, które otrzymają nagrody w postaci książki lub e-booka
  • W żaden niepożądany sposób nie wykorzystamy Waszych adresów e-mail. Skontaktujemy się tylko i wyłącznie w celu ustalenia sposobu dostarczenia przez nas nagrody
  • Na odpowiedź zwrotną czekać będziemy 24 godziny, po tym czasie możemy wykonać losowanie uzupełniające w przypadku braku kontaktu

Zapraszamy serdecznie do zabawy :)


Tagi:


WordPress 4.0 Beta 4 – co czeka nas pod koniec miesiąca?


19 sierpnia 2014 / Michał Załęcki


wordpress-4.0Już niedługo, bo wszystko wskazuje, że ok. 27 sierpnia, ukaże się nowe wydanie najpopularniejszej platformy (nie tylko) blogowej. WordPress 4.0 wkroczył w fazę finalnej bety, którą od finalnego wydania dzieli już release candidate (więcej szczegółów odnośnie cyklu wydawniczego). Kod został zmieniony setki razy mimo to WordPress 4.0 nie przynosi rewolucyjnych zmian. Po przetestowaniu własnych wtyczek i motywów doszedłem do przyjemnego wniosku – wszystko działa. Poza poprawkami różnorakich błędów znacznie poszerzono panel administracyjny o nowe funkcjonalności.

TinyMCE

Możemy teraz w edytorze podglądnąć osadzoną treść np. film z portalu YouTube czy odtworzyć przesłany film. Poprawiony został również widok podglądu galerii i wybór koloru.

Nowy wygląd biblioteki mediów

Biblioteka mediów zyskała dodatkowy układ w postaci siatki. Bo wybraniu danego elementu z listy otwiera się okno, które pozwala na wygodną, szybkę edycję.

Wybór języka podczas instalacji

Słynny pięciominutowy (w praktyce maksymalnie dwuminutowy) proces instalacji został wzbogacony o wybór języka na poziomie instalatora. Do tej pory, pobieraliśmy osobną paczkę z WordPressem w interesującym nas języku.

wordpress-4.0-beta-01

Usprawniony Customizer

Zmiany nie ominęły Customizera. Poza odświeżonym wyglądem otrzymał też dodatkowy panel z widgetami.

wordpress-4.0-beta-08

Odświeżony panel instalacji wtyczek

Panel instalacji wtyczek został znacznie odmieniony. Podobnie jak w bibliotece mediów, wtyczki są prezentowane w układzie siatki.

Podsumowanie

Developerzy cały czas pracują nad nad nowym wydaniem. Jeżeli znalazłeś buga (nie mylić z feature) podziel się tą informacją ze społecznością na przeznaczonym do tego forum. WordPress 4.0 możesz pobrać tutaj, albo skorzystać z pluginu WordPress Beta Tester.


Tagi:


Instalacja phpMyAdmin na Ubuntu 14.04


30 kwietnia 2014 / Michał Załęcki


ubuntu-phpmyadminNajpopularniejszym narzędziem do pracy z bazą danych (oczywiście poza samym mysql, który dostępny jest z wiersza poleceń) jest phpMyAdmin. Jest oprogramowanie służące do łatwego zarządzania bazą danych MySQL, napisane w języku PHP i wydawane na licencji GPL rozwijane od 1998 r.

W poprzednim artykule, omówiłem zagadnienie związane z instalacją serwera Apache oraz narzędzi potrzebnych do uruchomiania na serwerze witryny opartej o WordPress. Jeden z naszych czytelników w komentarzach poruszył kwestię phpMyAdmin. Pierwotnie miałem uzupełnić tylko poprzedni artykuł, ale ostatecznie będzie to osobny wpis, w którym rozwiążemy dodatkowo dwa problemy, którymi wypadałoby się zająć już po instalacji phpMyAdmin.

Instalacja

phpmyadmin-ubuntu01

Podczas instalacji pakietu uruchomi się kreator. Spacją zaznaczamy serwer do automatycznej konfiguracji. Następnie podajamy wymagane hasła. Po zakończonej instalacji serwera automatycznie się zrestartuje, a dostęp do phpMyAdmin powinien być możliwy pod adresem: http://localhost/phpmyadmin/. Logujemy się za pomocą konta root i hasła podanego podczas konfiguracji (nie hasła do konta root w systemie).

Brak rozszerzenia mcrypt

Po zalogowaniu widzimy jednak ostrzeżenie o braku rozszerzenia mcrypt. Jego instalacja, a raczej próba instalacji, nie przyniesie żadnego rezultatu. Zostaniemy poinformowani o tym, że pakiet już jest zainstalowany. Jak to możliwe? Jest to popularny problem wśród początkujących, który wprowadza ich w niemałe zakłopotanie. Aby rozszerzenie mcrypt było dostępne musimy utworzyć symlinka (dowiązanie symboliczne, coś na wzór skrótu w systemie Windows).

Gdy serwer już się zrestartuje to rozszerzenie mcrypt powinno już być dostępne.

Zmiana domyślnego adresu

Zmiana domyślnego adresu pod którym uzyskamy dostęp do phpMyAdmin jest kluczowa w przypadku serwera dostępnego „z zewnątrz” np. serwera produkcyjnego, ale też warto o niej pomyśleć gdy posiadamy zewnętrzny adres IP. Jest to przydatne zabezpieczenie ponieważ dość poważnie komplikuje wykonanie ataku typu brute force oraz znacząco ułatwia wykrycie prób takiego ataku poprzez szybka analizę logów serwera.

W celu zmiany domyślnego adresu phpMyAdmin należy zmienić alias w jednym z plików konfiguracyjnych.

phpmyadmin-ubuntu10

phpmyadmin-ubuntu11

Zmieniamy:

Na:

phpmyadmin-ubuntu12

Zapisujemy plik i restartujemy serwer.

Od tego momentu panel phpMyAdmin dostępny będzie pod nowym adresem.


Tagi:


Instalacja serwera WWW, PHP5 i MYSQL na Ubuntu 14.04


22 kwietnia 2014 / Michał Załęcki


ubuntu-apache-whiteNowa wersja najpopularniejszej dystrybucji Linux, Ubuntu, doczekała się kolejnej wersji LTS (Long Time Support) – 14.04. Ubuntu nie jest idealną dystrybucją do postawienia serwera produkcyjnego ze względu na dość kiepską stabilność jak na Linuksa, choć w samej 14.04 sytuacja uległa poprawie. Mimo wszystko nadal istnieje przepaść między Ubuntu, a Debianem w wersji testowej, a co dopiero stabilnej. Jednak ze względu na społeczność i działania Canonical Ltd. Ubuntu stało się Linuksem dla mas i obecnie jest to najpopularniejsza dystrybucja na desktopach, więc na jej przykładzie pokażę jak zainstalować serwer lokalny i w ramach jego testów uruchomimy na nim jeszcze świeżego WordPressa 3.9. Cały proces będzie niemal identyczny w całej gałęzi Debiana. Jedyne różnice prawdopodobnie będą dotyczyły tylko lokalizacji pliku konfiguracyjnego serwera Apache.

Instalacja potrzebnych pakietów

Zanim zainstalujemy paczki serwera, php itd. wspomnę o oprogramowaniu z którego będziemy korzystać. Aptitude to nakładka na APT, a Vim to edytor tekstu, to wszystko co musisz wiedzieć. Nie są one domyślnie dostarczane z Ubuntu, ale w poleceniach będziesz mógł użyć ich „odpowiedników” apt-get i nano.

Skoro już jesteśmy wyposażeni w te narzędzia (lub nie, wtedy pamiętaj o zamianie aptitude na apt-get i vim na nano) możemy przejść do instalacji serwera Apache2, MySQL oraz PHP5 razem z powszechnie wykorzystywaną biblioteką GD.

Podczas instalacji podajemy hasło dla użytkownika root dla MySQL i to by było w sumie na tyle. Proste, prawda?

Utworzymy jeszcze plik PHP z funkcja phpinfo w katalogu  /var/www/html, aby bliżej przyjrzeć się konfiguracji serwera.

instalacja-www-apache2-php5-mysql-ubuntu1404-06

instalacja-www-apache2-php5-mysql-ubuntu1404-07

instalacja-www-apache2-php5-mysql-ubuntu1404-08

Konfiguracja i instalacja WordPress

Po pobraniu odpowiedniego archiwum z WordPressem możemy je wypakować do odpowiedniego katalogu. Z katalogu w którym znajduje się archiwum wykonujemy polecenie:

instalacja-www-apache2-php5-mysql-ubuntu1404-10

instalacja-www-apache2-php5-mysql-ubuntu1404-11

W przeglądarce wpisujemy adres stronty i powinien ukazać się nam instalator. Przyszedł czas na stworzenie bazy danych, w której znajdą się tabele WordPressa. Logujemy się na konto roota:

Następnie podajemy hasło i tworzymy bazę danych:

CHAR SET=”utf8″

instalacja-www-apache2-php5-mysql-ubuntu1404-13

Wracamy do instalatora. W przypadku produkcyjnego serwera, a nawet w przypadku gdy mamy publiczny adres IP, warto zadbać o lepsze hasło oraz inny niż domyślny prefiks dla tabel. WordPress nie poradzi sobie z utworzeniem pliku wp-config.php z powodu braku uprawnień.

instalacja-www-apache2-php5-mysql-ubuntu1404-15

W przypadku serwera lokalnego, do którego tylko my mamy dostęp, możemy pozwolić sobie na nadanie całemu katalogowi najwyższych uprawnień. Jest to jednak niedopuszczalne w wersji produkcyjnej serwera! W tym celu przechodzimy do katalogu /var/www/html i ustawiamy uprawnienia do odczytu i zapisu oraz wykonania przez wszystkich:

instalacja-www-apache2-php5-mysql-ubuntu1404-16

Wracamy do instalatora. Po zmianie odnośników na przyjazne użytkownikowi i wyszukiwarkom natrafiamy na kolejny problem. Przepisywanie odnośników jest wyłączone. Po włączeniu mod_rewrite należy zrestartować serwer.

Pozostało jeszcze zezwolenie na przepisywanie odnośników. Interesująca nas konfiguracja znajduje się w katalogu /etc/apache2. Plik edytujemy poleceniem:

Ustawiamy:

instalacja-www-apache2-php5-mysql-ubuntu1404-22

instalacja-www-apache2-php5-mysql-ubuntu1404-21

instalacja-www-apache2-php5-mysql-ubuntu1404-23

Przepisywanie linków powinno już działać. W taki sposób postawiliśmy i wstępnie skonfigurowaliśmy lokalny serwer WWW, na którym z powodzeniem możemy testować nasze witryny.


Tagi: