{"id":230046,"date":"2022-12-03T18:56:00","date_gmt":"2022-12-03T15:56:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230046"},"modified":"2022-11-09T19:51:28","modified_gmt":"2022-11-09T16:51:28","slug":"instalowanie-wordpressa-dla-rozwoju-lokalnego","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/instalowanie-wordpressa-dla-rozwoju-lokalnego\/","title":{"rendered":"Instalowanie WordPressa dla rozwoju lokalnego"},"content":{"rendered":"\n<p>Do tej pory om\u00f3wili\u015bmy kilka rzeczy, z kt\u00f3rych wszystkie doprowadzi\u0142y nas do stworzenia naszego lokalnego \u015brodowiska programistycznego. Je\u015bli jeszcze nie nadrobi\u0142e\u015b, polecam przeczytanie poprzednich artyku\u0142\u00f3w:<\/p>\n<ol>\n<li><strong><a href=\"https:\/\/tommcfarlin.com\/local-development-for-the-indie-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Lokalny rozw\u00f3j dla niezale\u017cnego programisty WordPress<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/tommcfarlin.com\/databases-and-tools-indie-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Bazy danych i narz\u0119dzia dla niezale\u017cnego programisty WordPress<\/a><\/strong><\/li>\n<\/ol>\n<p>W ko\u0144cowym artykule stwierdzam, co nast\u0119puje:<\/p>\n<blockquote>\n<p>Nast\u0119pnie nadszed\u0142 czas, aby zainstalowa\u0107 WordPressa. Jest to niezwykle \u0142atwe, wi\u0119c je\u015bli zaszed\u0142e\u015b tak daleko, \u015bmia\u0142o stwierdzam, \u017ce najtrudniejsza cz\u0119\u015b\u0107 jest ju\u017c za nami.<\/p>\n<\/blockquote>\n<p>Jest to zazwyczaj naj\u0142atwiejsza cz\u0119\u015b\u0107 (naprawd\u0119), ale s\u0105 dwa sposoby, w jakie mo\u017cesz sobie z tym poradzi\u0107 i zamierzam om\u00f3wi\u0107 oba. Dla ciekawskich wygl\u0105da to tak:<\/p>\n<ul>\n<li>zainstalowanie najnowszej stabilnej wersji WordPressa,<\/li>\n<li>instalacja najnowszej nocnej wersji WordPressa<\/li>\n<\/ul>\n<p>Istniej\u0105 powody, dla kt\u00f3rych mo\u017cesz chcie\u0107 u\u017cy\u0107 jednego z drugim. Preferuj\u0119 to drugie, buduj\u0105c w\u0142asne rozwi\u0105zania z powod\u00f3w, kt\u00f3re om\u00f3wi\u0119 w dalszej cz\u0119\u015bci artyku\u0142u, ale zauwa\u017c, \u017ce oba powy\u017csze s\u0105 om\u00f3wione w tym po\u015bcie.<\/p>\n<p>Powiedziawszy to, zacznijmy.<\/p>\n<h2>WordPress dla rozwoju lokalnego<\/h2>\n<p>\u017beby by\u0142o jasne, kiedy odnosz\u0119 si\u0119 do najnowszej stabilnej wersji WordPressa w por\u00f3wnaniu do ostatniej nocnej wersji WordPressa, m\u00f3wi\u0119 o dw\u00f3ch rzeczach:<\/p>\n<ol>\n<li>wersj\u0119 WordPressa, kt\u00f3r\u0105 mo\u017cesz teraz pobra\u0107 bezp\u0142atnie z WordPress.org,<\/li>\n<li>wersj\u0119 WordPressa, kt\u00f3r\u0105 mo\u017cesz sprowadzi\u0107 z repozytorium Subversion.<\/li>\n<\/ol>\n<p>W zale\u017cno\u015bci od tego, co chcesz osi\u0105gn\u0105\u0107, mo\u017cesz potrzebowa\u0107 tylko jednej zamiast drugiej, ale uwa\u017cam, \u017ce u\u017cywanie wersji z Subversion jest cz\u0119sto \u015bwietnym sposobem na upewnienie si\u0119, \u017ce Tw\u00f3j kod jest zar\u00f3wno aktualny, jak i przysz\u0142o\u015bciowy, poniewa\u017c jest to najnowsza migawka kodu na podstawie jego aktualnego stanu rozwoju.<\/p>\n<p>Ale je\u015bli budujesz co\u015b specjalnie dla okre\u015blonej wersji WordPressa, by\u0107 mo\u017ce u\u017cycie najnowszej stabilnej wersji jest w porz\u0105dku.<\/p>\n<h3>Przygotowanie do instalacji WordPressa<\/h3>\n<p>Przed pobraniem wersji oprogramowania zawsze zalecam utworzenie katalogu, w kt\u00f3rym zamierzasz zainstalowa\u0107 aplikacj\u0119 i utworzenie dla niej bazy danych.<\/p>\n<p>W zale\u017cno\u015bci od charakteru tego, co robisz, prawdopodobnie b\u0119dziesz korzysta\u0107 z kontroli \u017ar\u00f3d\u0142a (co om\u00f3wi\u0119 w dalszej cz\u0119\u015bci tej serii artyku\u0142\u00f3w). Ale stwierdzi\u0142em, \u017ce nadal fajnie jest przechowywa\u0107 go w miejscu, z kt\u00f3rego mo\u017cna go \u0142atwo odzyska\u0107, je\u015bli co\u015b stanie si\u0119 z twoj\u0105 maszyn\u0105.<\/p>\n<p>Mo\u017ce to by\u0107 co\u015b takiego jak <strong><a href=\"https:\/\/itunes.apple.com\/us\/app\/icloud-drive\/id1070072560\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">iCloud Drive<\/a><\/strong>, <strong><a href=\"https:\/\/www.dropbox.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Dropbox<\/a><\/strong> lub <strong><a href=\"https:\/\/onedrive.live.com\/about\/en-us\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">OneDrive<\/a><\/strong> (\u017ceby wymieni\u0107 tylko kilka).<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163211-61e74cc3478da.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163211-61e74cc3478da.png\" alt=\"Instalowanie WordPressa dla rozwoju lokalnego\" ><\/a><\/p>\n<p>Gdy to ju\u017c jest na miejscu, nadszed\u0142 czas na utworzenie bazy danych. Poniewa\u017c u\u017cywamy Laravela jako naszego lokalnego \u015brodowiska programistycznego, wiemy, \u017ce domy\u015bln\u0105 domen\u0105 najwy\u017cszego poziomu b\u0119dzie <code>.test<\/code>i dlatego chcia\u0142bym, aby moje bazy danych by\u0142y zgodne z tym schematem.<\/p>\n<p>Na przyk\u0142ad mog\u0119 mie\u0107 nazw\u0119 domeny <code>wpdevtest<\/code>lub <code>trunktest<\/code>w zale\u017cno\u015bci od tego, sk\u0105d otrzymuj\u0119 kod aplikacji. Niezale\u017cnie od tego, aby to zrobi\u0107, mo\u017cesz u\u017cy\u0107 wiersza polece\u0144, <strong><a href=\"https:\/\/github.com\/phpmyadmin\/phpmyadmin\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PhpMyAdmin<\/a><\/strong> lub preferowanego narz\u0119dzia bazy danych.<\/p>\n<p>M\u00f3j to <strong><a href=\"https:\/\/sequelpro.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Sequel Pro<\/a><\/strong>, ale proces jest generalnie taki sam. Musisz zapozna\u0107 si\u0119 z dokumentacj\u0105, jak to zrobi\u0107 w swoim oprogramowaniu. Po po\u0142\u0105czeniu si\u0119 z serwerem, po prostu zdecyduj si\u0119 na utworzenie nowej bazy danych i nadaj jej dowoln\u0105 nazw\u0119:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163211-61e74cc76750a.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163211-61e74cc76750a.png\" alt=\"Instalowanie WordPressa dla rozwoju lokalnego\" ><\/a><\/p>\n<p>M\u00f3wi\u0105c najpro\u015bciej, tworzysz pust\u0105 baz\u0119 danych, a nast\u0119pnie proces instalacji WordPressa zajmie si\u0119 reszt\u0105.<\/p>\n<h4>Uwaga przed instalacj\u0105<\/h4>\n<p>Tam, gdzie zdecydujesz si\u0119 zainstalowa\u0107 aplikacj\u0119, zalecam nazwanie katalogu, kt\u00f3ry jest \u0142atwy do przywo\u0142ania i \u0142atwy do wpisania, poniewa\u017c b\u0119dziesz uzyskiwa\u0107 do niego dost\u0119p w przegl\u0105darce internetowej za pomoc\u0105 <strong><a href=\"https:\/\/tommcfarlin.com\/local-development-for-the-indie-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Valet<\/a><\/strong>. A Valet u\u017cyje nazwy katalogu jako cz\u0119\u015bci domeny, przez kt\u00f3r\u0105 uzyskujesz do niego dost\u0119p.<\/p>\n<h3>Pobieranie WordPressa<\/h3>\n<p>Po utworzeniu bazy danych kolejne kroki s\u0105 proste:<\/p>\n<ol>\n<li>pobierz WordPressa,<\/li>\n<li>rozpakuj archiwum do wybranego katalogu,<\/li>\n<li>powiedz Valetowi, gdzie znajduje si\u0119 aplikacja w twoim systemie plik\u00f3w,<\/li>\n<li>przej\u015b\u0107 przez proces instalacji.<\/li>\n<\/ol>\n<p>Pobieranie WordPressa jest \u0142atwe, poniewa\u017c jest dost\u0119pne z <strong><a href=\"https:\/\/wordpress.org\/download\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tej strony<\/a><\/strong> i ogromnego przycisku Pobierz WordPress. Po pobraniu po prostu rozpakuj do archiwum w utworzonym katalogu.<\/p>\n<p>Mo\u017ce to by\u0107 w jednej z wy\u017cej wymienionych lokalizacji lub mo\u017ce by\u0107 gdzie indziej. Faktyczna instalacja WordPressa jest \u0142atwa i om\u00f3wi\u0119 to na ko\u0144cu posta.<\/p>\n<h3>Pobieranie WordPressa z Subversion<\/h3>\n<p>Je\u015bli jeste\u015b kim\u015b, kto woli tworzy\u0107 kod w oparciu o najnowsz\u0105 wersj\u0119 bazy kodu (to znaczy t\u0119, kt\u00f3ra nie zosta\u0142a jeszcze wydana i wci\u0105\u017c jest w fazie rozwoju), musisz pobra\u0107 kod z repozytorium Subversion w kt\u00f3ry WordPress jest przechowywany.<\/p>\n<p>Dla tych, kt\u00f3rzy s\u0105 nowicjuszami w kontroli \u017ar\u00f3de\u0142, nie panikuj. Jest to naprawd\u0119 \u0142atwe dzi\u0119ki aplikacjom, kt\u00f3re s\u0105 nam udost\u0119pniane (niekt\u00f3re darmowe, inne nie). Je\u015bli jeste\u015b w systemie Windows, sprawd\u017a <strong><a href=\"https:\/\/tortoisesvn.net\/downloads.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TortoiseSVN<\/a><\/strong>. Je\u015bli u\u017cywasz systemu macOS, wypr\u00f3buj <strong><a href=\"https:\/\/www.versionsapp.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Wersje<\/a><\/strong>.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163211-61e74ccb5cc50.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163211-61e74ccb5cc50.png\" alt=\"Instalowanie WordPressa dla rozwoju lokalnego\" ><\/a><\/p>\n<p>Je\u015bli masz wi\u0119ksze do\u015bwiadczenie, wiersz polece\u0144 i <strong><a href=\"https:\/\/wordpress.org\/download\/source\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">te instrukcje<\/a><\/strong> mog\u0105 by\u0107 najlepszym rozwi\u0105zaniem.<\/p>\n<p>Gdy masz ju\u017c wybranego klienta, musisz poda\u0107 troch\u0119 informacji. Ka\u017cdy klient oferuje te same pola, ale wygl\u0105d mo\u017ce si\u0119 nieco r\u00f3\u017cni\u0107 w zale\u017cno\u015bci od systemu operacyjnego.<\/p>\n<p>Najwa\u017cniejsz\u0105 informacj\u0105, kt\u00f3rej potrzebujesz dla klienta, jest adres, przez kt\u00f3ry Tw\u00f3j klient mo\u017ce dokona\u0107 zakupu bazy kod\u00f3w WordPress. Czyli w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n<pre><code>https:\/\/core.svn.wordpress.org\/trunk<\/code><\/pre>\n<p>Wi\u0119kszo\u015b\u0107 klient\u00f3w umo\u017cliwia przegl\u0105danie aplikacji na serwerze przed jej pobraniem. Zwr\u00f3\u0107 uwag\u0119, \u017ce kiedy pobierasz kod, b\u0119dziesz chcia\u0142 go sprawdzi\u0107 w utworzonym przez siebie katalogu.<\/p>\n<p>Zwykle u\u017cywam tej metody, wi\u0119c pobieram repozytorium do katalogu o nazwie <code>trunk<\/code>. W ten spos\u00f3b mog\u0119 kontynuowa\u0107 prac\u0119 nad w\u0142asnym kodem (zwykle s\u0105 to wtyczki), a nast\u0119pnie klikn\u0105\u0107 Aktualizuj, aby pobra\u0107 najnowsz\u0105 wersj\u0119 WordPressa do katalogu i oceni\u0107 m\u00f3j kod pod k\u0105tem tego.<\/p>\n<h3>Proces instalacji<\/h3>\n<p>W tym momencie powiniene\u015b mie\u0107 dwie rzeczy:<\/p>\n<ol>\n<li>baza danych, na kt\u00f3rej b\u0119dzie dzia\u0142a\u0142 WordPress,<\/li>\n<li>WordPress pobra\u0142 i rozpakowa\u0142 lub wyewidencjonowa\u0142 z repozytorium kodu \u017ar\u00f3d\u0142owego do katalogu.<\/li>\n<\/ol>\n<p>St\u0105d czas na instalacj\u0119 WordPressa. Oprogramowanie zawiera tak zwan\u0105 <strong><a href=\"https:\/\/codex.wordpress.org\/Installing_WordPress#Famous_5-Minute_Installation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">S\u0142ynn\u0105 5-minutow\u0105 instalacj\u0119<\/a><\/strong> (i jest to do\u015b\u0107 \u0142atwe), ale jest kilka krok\u00f3w, kt\u00f3re musimy podj\u0105\u0107, aby przygotowa\u0107 na to nasze \u015brodowisko programistyczne.<\/p>\n<ol>\n<li>b\u0119dziemy musieli skonfigurowa\u0107 domen\u0119 przez Valet i j\u0105 zabezpieczy\u0107,<\/li>\n<li>b\u0119dziemy potrzebowa\u0107 hosta, nazwy u\u017cytkownika bazy danych i has\u0142a (dostarczone przez Valet)<\/li>\n<\/ol>\n<p>Na szcz\u0119\u015bcie wszystko powy\u017csze jest r\u00f3wnie proste. Najpierw otw\u00f3rz terminal i przejd\u017a do katalogu, w kt\u00f3rym zainstalowa\u0142e\u015b WordPress. Nast\u0119pnie wprowad\u017a nast\u0119puj\u0105ce polecenie:<\/p>\n<pre><code>$ valet link &amp;&amp; valet secure<\/code><\/pre>\n<p>Spowoduje to skonfigurowanie domeny i certyfikatu HTTPS, dzi\u0119ki czemu b\u0119dziesz m\u00f3g\u0142 uzyska\u0107 dost\u0119p do instalacji WordPress (kt\u00f3r\u0105 nadal musimy skonfigurowa\u0107). Za\u0142\u00f3\u017cmy na przyk\u0142ad, \u017ce w\u0142a\u015bnie skonfigurowa\u0142e\u015b instalacj\u0119 tak, aby by\u0142a dost\u0119pna pod adresem <code>https:\/\/trunk.test<\/code>. W takim przypadku wska\u017c t\u0119 lokalizacj\u0119 w przegl\u0105darce i rozpocznij proces instalacji.<\/p>\n<p>Podczas instalacji zostaniesz poproszony o szereg pyta\u0144. Jedynymi dwoma, kt\u00f3re mog\u0105 sprawi\u0107 ci problem, s\u0105 te dotycz\u0105ce serwera bazy danych, nazwy u\u017cytkownika i has\u0142a.<\/p>\n<p>Poniewa\u017c u\u017cywamy Valet, odpowiednie pola s\u0105 nast\u0119puj\u0105ce:<\/p>\n<ul>\n<li><strong>Serwer<\/strong>: localhost lub 127.0.0.1<\/li>\n<li><strong>Nazwa u\u017cytkownika<\/strong>: root<\/li>\n<li><strong>Has\u0142o<\/strong>: [pozostaw puste]<\/li>\n<\/ul>\n<p>Zak\u0142adaj\u0105c, \u017ce wszystko zosta\u0142o podane poprawnie, WordPress zako\u0144czy instalacj\u0119 i wy\u015bwietli si\u0119 strona g\u0142\u00f3wna lub ekran logowania, w zale\u017cno\u015bci od tego, do kt\u00f3rego adresu URL chcesz uzyska\u0107 dost\u0119p.<\/p>\n<h2>Wst\u0119pne pisanie bezpiecznego kodu<\/h2>\n<p>W kolejnym zestawie post\u00f3w przyjrzymy si\u0119 narz\u0119dziom i wtyczkom, kt\u00f3re znacznie u\u0142atwiaj\u0105 prac\u0119 z WordPressem podczas pisania kodu. Oznacza to, \u017ce te narz\u0119dzia pomog\u0105 Ci wy\u0142apa\u0107 b\u0142\u0119dy i problemy w kodzie, zanim b\u0119dziesz musia\u0142 rozpocz\u0105\u0107 debugowanie za pomoc\u0105 odpowiednich narz\u0119dzi, takich jak Xdebug.<\/p>\n<p>Potraktuj to jako zapobiegawcz\u0105 warstw\u0119 ochrony, zanim b\u0119dziesz musia\u0142 wykona\u0107 prawdziwe prace zwi\u0105zane z debugowaniem, aby upewni\u0107 si\u0119, \u017ce zrobi\u0142e\u015b wszystko, co w Twojej mocy, aby przygotowa\u0107 si\u0119 na wi\u0119ksze problemy, kt\u00f3re w przeciwnym razie mog\u0142e\u015b przegapi\u0107.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jak zainstalowa\u0107 WordPress przy u\u017cyciu najnowszej stabilnej wersji lub dla Subversion i skonfigurowa\u0107 go na swoim komputerze.<\/p>\n","protected":false},"author":1,"featured_media":163212,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721,1068,845,866],"tags":[1169],"class_list":["post-230046","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-komputer","category-samouczki","category-wordpress-7","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/230046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/comments?post=230046"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/230046\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/163212"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=230046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=230046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=230046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}