Blok 1 · rozdział 2

Stanowisko, Laragon, Node i projekt

Zanim powstanie aplikacja, na stanowisku muszą być Laragon (PHP, Composer, MySQL), Node.js i pusty katalog na projekt. Potem ściągasz Laravel 13 do C:\laragon\www\korona i otwierasz go przez php artisan serve. Na końcu zakładasz repozytorium Git i robisz pierwszy commit.

Po tym rozdziale powinieneś umieć

  • sprawdzić w terminalu PHP, Composera, Node, npm i Gita oraz powiedzieć, której wersji brakuje;
  • uruchomić Laragona, wybrać PHP 8.3 albo nowsze i dodać Laragona do PATH;
  • sprawdzić Node.js 22 LTS (albo nowszy LTS) w tym samym terminalu;
  • utworzyć projekt korona i ustawić .env na bloki 1–2;
  • otworzyć stronę pod http://127.0.0.1:8000 i wskazać katalogi projektu;
  • założyć repozytorium w katalogu korona, zrobić pierwszy commit i sprawdzić, że plik .env do niego nie wchodzi.

1. Sprawdzenie stanowiska

Najpierw patrzysz, co już jest. Nie instalujesz drugi raz programu, który działa. Polecenia wpisujesz w terminalu. Na tym kursie jest to terminal Laragona (przycisk Terminal w oknie Laragona albo Menu → Terminal). Gdy Laragona jeszcze nie ma, użyj PowerShell i po instalacji wróć do terminala Laragona.

php -v
composer -V
node -v
npm -v
git --version

Każde polecenie wpisujesz osobno i naciskasz Enter. Oczekiwany początek odpowiedzi:

PolecenieJest dobrze, gdy widziszZa mało
php -v PHP 8.3, 8.4 albo 8.5 8.2 albo starsze, albo komunikat, że program nie istnieje
composer -V Composer version 2 brak polecenia
node -v v22 albo v24 (wersje LTS) brak polecenia albo wersja 16 i starsza
npm -v sam numer, np. 10 albo 11 brak polecenia
git --version git version 2 brak polecenia — instalacja jest w podrozdziale 10
Node nie służy do pisania JavaScriptu Na kursie nie ma Reacta ani Vue. Node i npm sprawdzasz już teraz, bo w bloku 4 Breeze złoży z nich plik CSS. Na razie wystarczy, że node -v i npm -v odpowiadają.
Zły terminal, złe PHP PowerShell z menu Start potrafi widzieć inne PHP niż Laragon. Po instalacji wszystkie polecenia tego rozdziału odpalasz w terminalu otwartym z Laragona. Po zmianie wersji PHP albo PATH zamykasz terminal i otwierasz go jeszcze raz.

2. Laragon

Laragon trzyma na jednym komputerze serwer WWW, PHP, Composera, MySQL i często Node. Projekty lądują w C:\laragon\www. Podręcznik, który teraz czytasz, może już tam leżeć jako folder kursLaravel. Aplikację zbudujesz obok, w folderze korona.

Gdy okno Laragona już jest

  1. Otwórz Laragona. Nie instaluj go drugi raz.
  2. Naciśnij Start All. Apache i MySQL mają przejść w stan uruchomienia.
  3. Przejdź do podrozdziału 3 i ustaw PHP, jeśli php -v nie pokazuje 8.3+.

Gdy Laragona nie ma

  1. Wejdź na laragon.org/download i pobierz paczkę Full, 64-bit (plik w rodzaju laragon-wamp.exe).
  2. Uruchom instalator. Zostaw proponowany katalog C:\laragon. Przeklikaj dalej aż do końca.
  3. Po instalacji otwórz Laragona. Możesz zostawić opcję startu razem z Windows — na pracowni decyduje prowadzący.
  4. Naciśnij Start All.
  5. W przeglądarce otwórz http://localhost. Ma pokazać stronę Laragona, nie błąd połączenia.
Start All Uruchamia usługi, z których korzysta kurs: serwer WWW i MySQL. Samo otwarcie okna Laragona jeszcze ich nie włącza. Na bloku 1 baza nie jest potrzebna do stron, ale przycisk i tak włączasz — w bloku 3 użyjesz tej samej usługi MySQL.

3. PHP i Composer

Laragon Full ma kilka wersji PHP. Laravel 13 potrzebuje co najmniej 8.3.

  1. W Laragonie: Menu → PHP → Version.
  2. Wybierz 8.3 albo 8.4. Wersja 8.5 też jest dopuszczalna, jeśli Laragon ją ma i php artisan about ją przyjmie. Wersji 8.2 nie zostawiaj.
  3. Menu → Tools → Path → Add Laragon to Path. PHP, Composer i Node będą wtedy widoczne w terminalu.
  4. Zamknij wszystkie terminale. Otwórz nowy przyciskiem Terminal w Laragonie.
  5. Wpisz znowu php -v i composer -V.
Composer Program, który pobiera Laravel i biblioteki do katalogu vendor według pliku composer.json. W Laragonie jest już w środku — nie ściągasz go osobno ze strony getcomposer.org.
Artisan Polecenia projektu, plik artisan w katalogu aplikacji. Uruchamiasz je jako php artisan … będąc w C:\laragon\www\korona, nie w C:\laragon\www.

4. Node.js

W tym samym terminalu Laragona wpisz node -v i npm -v. Laragon Full zwykle ma Node 22 LTS. Gdy oba polecenia wypisują numer z tabeli w podrozdziale 1, nic nie instalujesz.

Gdy terminal pisze, że nie zna node:

  1. W Laragonie: Menu → Node.js → Version i wybierz gałąź 22 (LTS). Jeśli jest tylko 24 LTS, też jest dobra.
  2. Gdy w menu nie ma żadnej wersji: Menu → Tools → Quick add → Node.js i wybierz 22 LTS. Poczekaj na koniec pobierania.
  3. Jeszcze raz Menu → Tools → Path → Add Laragon to Path.
  4. Zamknij terminal i otwórz go z Laragona. Sprawdź node -v oraz npm -v.
Nie mieszaj dwóch Node Jeśli wcześniej instalowałeś Node ze strony nodejs.org, a Laragon ma własny, w terminalu Laragona ma odpowiadać ten z Laragona. Nie uruchamiaj drugiego instalatora, dopóki node -v w terminalu Laragona nie działa.

5. Lista kontrolna stanowiska

Dalej idziesz, gdy punkty poniżej są odhaczone. Inaczej wróć do podrozdziału, który dotyczy brakującego programu. Gita, jeśli go jeszcze nie ma, doinstalujesz w podrozdziale 10, tuż przed pierwszym commitem.

6. Nowy projekt

W terminalu Laragona:

cd C:\laragon\www
composer create-project laravel/laravel korona

Ściągnięcie trwa kilka minut, czasem dłużej, gdy antywirus skanuje tysiące plików. Nie zamykaj okna. Na końcu Composer wypisuje, że projekt jest gotowy, i wraca znak zachęty.

composer create-project daje sam framework, bez pytania o React, Vue albo Livewire. Instalator laravel new takie pytanie zadaje. Na tym kursie go nie używasz.

  1. Wejdź do projektu: cd korona.
  2. Sprawdź szkielet: php artisan about.
  3. W tabeli mają być Laravel 13 i to samo PHP co w php -v.
  4. W edytorze (Cursor albo VS Code) wybierz File → Open Folder i wskaż C:\laragon\www\korona.
Folder podręcznika to nie projekt kursLaravel trzyma ten podręcznik. Aplikację piszesz w korona. Gdy create-project przerwie się w połowie, usuń niedokończony folder korona i uruchom polecenie jeszcze raz. Nie dogrywaj plików ręcznie do urwanej instalacji.

7. Plik .env

W katalogu korona otwórz plik .env (na początku nazwy jest kropka). To ustawienia tego komputera: nazwa, klucz, baza, sesja. Nie wklejaj go na publiczne repozytorium. Wzór bez haseł to .env.example.

Znajdź w pliku poniższe klucze (Ctrl+F) i ustaw wartości. Reszty linii nie kasuj.

APP_NAME="Korona Gór Polski"
APP_URL=http://127.0.0.1:8000

SESSION_DRIVER=file
CACHE_STORE=file
QUEUE_CONNECTION=sync

Linia APP_KEY ma już być wypełniona, zwykle zaczyna się od base64:. Composer generuje ją przy tworzeniu projektu. Gdy jest pusta, w katalogu korona uruchom:

php artisan key:generate

Laravel 13 domyślnie potrafi trzymać sesję w bazie. Bazy jeszcze nie podłączamy, więc SESSION_DRIVER=file pozwala w bloku 2 zapisać plan wyjścia bez tabeli sessions. W bloku 3 dopiszesz DB_DATABASE=korona i zrobisz migracje. Linii DB_* teraz nie zmieniaj.

Po zmianie .env Zapisz plik. W katalogu projektu uruchom php artisan config:clear, żeby aplikacja nie pamiętała starej wartości.

8. Pierwsze uruchomienie

cd C:\laragon\www\korona
php artisan serve

Zostaw to okno otwarte. W przeglądarce wejdź na http://127.0.0.1:8000. Powinna otworzyć się strona powitalna Laravela. Serwer zatrzymasz skrótem Ctrl+C w tym terminalu. W następnym rozdziale serwer ma dalej działać, a pliki edytujesz w edytorze.

Gdy port 8000 jest zajęty, terminal sam to napisze. Wtedy:

php artisan serve --port=8001

i w przeglądarce otwierasz http://127.0.0.1:8001. W .env ustaw wtedy to samo w APP_URL.

Adres korona.test bywa pułapką Laragon potrafi wystawić http://korona.test na cały katalog projektu. Laravel przyjmuje ruch przez katalog public (plik public/index.php). Gdy widzisz listę plików albo błąd o niedozwolonym dostępie, wróć do artisan serve. Dwuklik index.php też nie uruchamia aplikacji.
Strona powitalna i brak stylów Domyślny ekran Laravela może wyglądać surowo albo wspomnieć o Vite. Node jest już na stanowisku, ale npm install odpalisz dopiero w bloku 4, razem z Breeze. W następnym rozdziale i tak podmienisz trasę / na własny widok.

9. Katalogi, których pilnujesz

ŚcieżkaCo tam leży na tym kursie
routes/web.phpAdresy stron. Edytujesz w rozdziale 3.
app/Http/ControllersKontrolery (od rozdziału 4).
app/ModelsModele. Na razie jest User.
resources/viewsWidoki Blade.
database/migrationsOpis tabel (blok 3).
publicJedyny katalog widoczny z internetu. W bloku 2 włożysz tu CSS.
vendorKod frameworka. Nie edytujesz.
.envUstawienia tego komputera.

Wejście do aplikacji to public/index.php. Stamtąd Laravel czyta trasę i składa odpowiedź. Własnych stron nie dokładasz jako plików obok index.php. Dokładasz je przez trasy i widoki.

10. Git — pierwsze repozytorium

Git trzyma historię plików projektu. Każdy zapis nazywa się commitem. Gdy w następnym rozdziale coś zepsujesz, wracasz do ostatniego commita, a nie do pustego folderu. Repozytorium zostaje na tym komputerze, w ukrytym katalogu .git wewnątrz korona.

Gdy git --version nie odpowiada

  1. Wejdź na https://git-scm.com/download/win i pobierz instalator 64-bit.
  2. Przy instalacji zostaw domyślne opcje. Git ma trafić do PATH, żeby terminal go widział.
  3. Zamknij terminal i otwórz go z Laragona jeszcze raz.
  4. Sprawdź git --version. Ma pokazać git version 2.

Założenie repozytorium

Strona powitalna pod http://127.0.0.1:8000 ma już działać. Okno z php artisan serve zostaw włączone. Polecenia Gita wpisz w drugim terminalu, w katalogu projektu:

cd C:\laragon\www\korona
git init -b main
git status

git status wypisuje pliki, których Git jeszcze nie śledzi. Jest ich dużo: to szkielet Laravela. Laravel dokłada plik .gitignore. Dzięki niemu poza historią zostają .env (hasła i APP_KEY tego komputera), katalog vendor oraz później node_modules. Te trzy da się odtworzyć: .env ze wzoru .env.example, resztę poleceniami composer install i npm install.

git add .
git status

Drugi git status pokazuje pliki przygotowane do commita. Przejrzyj listę. Nie może na niej być .env. Może być .env.example — to wzór bez haseł i tak ma zostać.

.env zostaje na dysku, nie w historii Gdy .env jednak widać na liście do commita, przerwij. Cofnij go z listy poleceniem git restore --staged .env i zawołaj prowadzącego. Nie używaj git add -f .env.

Gdy Git napisze, że nie zna autora, ustaw imię i e-mail w tym jednym projekcie (bez --global, żeby nie zmieniać ustawień całego komputera) i dopiero wtedy zrób commit:

git config user.name "Jan Kowalski"
git config user.email "jan@szkola.local"

Imię i e-mail wpisz swoje. Potem zapis:

git commit -m "Start projektu Korona"
git status
git log --oneline

Po commicie git status pisze, że nie ma zmian do zapisania. git log --oneline pokazuje jeden wiersz: skrót i tekst „Start projektu Korona”.

Kolejne commity Od rozdziału 3 na końcu każdego rozdziału jest przypomnienie. Commit robisz, gdy strona z tego rozdziału już działa. W połowie błędu historii nie zapisujesz. Zestaw jest ten sam: git add ., potem git status (bez .env), potem git commit -m "…" z tekstem podanym w rozdziale.

11. Gdy polecenie nie działa

Co widziszCo zrób
php albo composer nie jest rozpoznawane Otwórz terminal z Laragona. Dodaj Laragona do Path i otwórz terminal od nowa.
PHP 8.2 albo starsze Menu → PHP → Version → 8.3 albo 8.4. Nowy terminal. Sprawdź php -v jeszcze raz.
composer create-project urywa się albo wisi bardzo długo Sprawdź internet. Poczekaj. Gdy proces padł, usuń niepełny folder korona i powtórz polecenie.
Folder korona już istnieje Nie nadpisuj cudzego projektu. Jeśli to Twoja urwana instalacja, skasuj folder i utwórz go ponownie.
Przeglądarka pokazuje listę plików Jesteś na adresie Laragona bez katalogu public. Użyj http://127.0.0.1:8000 przy działającym artisan serve.
Port 8000 zajęty php artisan serve --port=8001 i ten sam adres w APP_URL.
git nie jest rozpoznawane Zainstaluj Git for Windows, zamknij terminal i otwórz go z Laragona. Sprawdź git --version.
fatal: not a git repository Nie jesteś w C:\laragon\www\korona. Wejdź tam przez cd i powtórz polecenie.
Git prosi o user.name Ustaw imię i e-mail w tym projekcie, tak jak w podrozdziale 10, i powtórz git commit.
.env widać po git add . git restore --staged .env. Nie rób commita, dopóki ten plik jest na liście.