{"id":738,"date":"2026-10-30T13:45:57","date_gmt":"2026-10-30T12:45:57","guid":{"rendered":"https:\/\/webbay.pl\/blog\/?p=738"},"modified":"2026-10-30T17:18:20","modified_gmt":"2026-10-30T16:18:20","slug":"hosting-drupal-composer-wymagania","status":"publish","type":"post","link":"https:\/\/webbay.pl\/blog\/2026\/10\/30\/hosting-drupal-composer-wymagania\/","title":{"rendered":"Hosting Drupal: wymagania i 7 krok\u00f3w pr\u00f3by przed zakupem"},"content":{"rendered":"\n<style>\n\/* Styl lokalny dla szkicu WebBay. Tre\u015b\u0107 pozostaje w blokach Gutenberg\/Kadence. *\/\nbody.page-id-8{background:#fff}\nbody.page-id-8 .content-area{margin-top:0;margin-bottom:0}\nbody.page-id-8 .site-container,body.page-id-8 .content-container{max-width:none;padding:0}\nbody.page-id-8 .entry-content-wrap{padding:0}\nbody.page-id-8 .entry-content{margin:0}\n.wb-premium{--wb-ink:#183451;--wb-text:#40566c;--wb-blue:#287cde;--wb-action:#2168bc;--wb-line:#dce8f3;color:var(--wb-ink);background:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;font-size:17px;line-height:1.65;width:100%;isolation:isolate}\n.wb-premium *{box-sizing:border-box}\n.wb-premium{margin:0!important}\n.wb-premium .wp-block-group{margin-block:0}\n.wb-premium .wp-block-group__inner-container{display:contents}\n.wb-premium .wp-block-group__inner-container>*{margin-block-start:0}\n.wb-premium p,.wb-premium h1,.wb-premium h2,.wb-premium h3,.wb-premium .wp-block-group{margin-top:0}\n.wb-premium p{color:var(--wb-text);margin-bottom:16px}\n.wb-premium h1,.wb-premium h2,.wb-premium h3{color:var(--wb-ink);font-family:inherit;font-weight:700;letter-spacing:-.035em}\n.wb-premium h1{font-size:clamp(38px,4.25vw,62px);line-height:1.1;margin:22px 0 24px}\n.wb-premium h1 span{color:#2168bc}\n.wb-premium h2{font-size:clamp(30px,3vw,42px);line-height:1.18;margin-bottom:18px}\n.wb-premium h3{font-size:22px;line-height:1.3;margin-bottom:12px}\n.wb-premium a{color:#2168bc;text-decoration-thickness:1px;text-underline-offset:4px}\n.wb-premium a:hover{color:#183451}\n.wb-premium a:focus-visible,.wb-premium summary:focus-visible,.wb-premium input:focus-visible,.wb-premium button:focus-visible{outline:3px solid #183451;outline-offset:4px}\n.wb-premium [id]{scroll-margin-top:30px}\n.wb-wrap{max-width:1216px!important;padding:0 32px;margin:0 auto!important}\n.wb-header{background:#fff;border-bottom:1px solid #e7eff7}\n.wb-header-inner{display:flex;align-items:center;gap:30px;min-height:94px}\n.wb-brand{margin:0!important;white-space:nowrap}\n.wb-brand a{font-size:31px;font-weight:800;letter-spacing:-1.6px;line-height:1;text-decoration:none!important;color:#183451!important;display:inline-flex;align-items:center;min-height:44px}\n.wb-brand span{color:#287cde}\n.wb-brand small{font-size:10px;letter-spacing:1.5px;font-weight:700;color:#40566c;border-left:1px solid #cbdcec;padding:7px 0 7px 12px;margin-left:12px}\n.wb-desktop-nav{margin-left:auto!important}\n.wb-nav-links{display:flex;gap:24px;margin:0!important;align-items:center}\n.wb-nav-links a{color:#334d66;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap;padding:12px 0}\n.wb-header-cta{margin:0!important}\n.wb-header-cta a{display:block;border:1px solid #cbdeef;border-radius:8px;padding:10px 15px;text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap;color:#183451}\n.wb-header-cta span{margin-left:9px;color:#2168bc}\n.wb-mobile-menu{display:none}\n.wb-hero{padding:76px 0 44px;background:radial-gradient(ellipse at 85% 8%,#dceeff 0%,transparent 53%),linear-gradient(120deg,#fff 0%,#f2f8ff 100%);border-bottom:1px solid #e7eff7}\n.wb-premium .wb-hero-grid>.kt-row-column-wrap{grid-template-columns:1.4fr 1fr;gap:64px;padding:0;align-items:center}\n.wb-kicker{color:#2168bc!important;font-size:11px;font-weight:800;letter-spacing:1.7px;line-height:1.6;margin:0 0 17px!important}\n.wb-hero-kicker{display:inline-flex;align-items:center;gap:9px}\n.wb-hero-kicker:before{content:\"\";width:7px;height:7px;border-radius:100%;background:#287cde;box-shadow:0 0 0 4px #dceeff;flex-shrink:0}\n.wb-premium .wb-lead{font-size:18px;line-height:1.75;max-width:580px;margin-bottom:28px}\n.wb-buttons{gap:12px!important;display:flex;align-items:center;flex-wrap:wrap;margin:24px 0 0}\n.wb-premium .wb-buttons .wp-block-button{margin:0}\n.wb-premium .wp-block-button__link{font-size:14px;font-weight:700;line-height:1.4;border:1px solid transparent;border-radius:8px;padding:16px 20px;text-decoration:none;box-shadow:none;transition:background .15s,color .15s,box-shadow .15s}\n.wb-primary .wp-block-button__link{background:#2168bc!important;color:#fff!important;box-shadow:0 6px 16px #2168bc20!important}\n.wb-primary .wp-block-button__link:hover{background:#183451!important}\n.wb-secondary .wp-block-button__link{background:#fff!important;border-color:#cbddec!important;color:#183451!important}\n.wb-secondary .wp-block-button__link:hover{background:#eaf4ff!important}\n.wb-proof{font-size:12px;margin:22px 0 0!important;color:#40566c!important}\n.wb-proof span{padding:0 7px;color:#2168bc}\n.wb-plan-card{position:relative;isolation:isolate;background:#fff;border:1px solid #d2e4f5;border-radius:24px;box-shadow:0 22px 60px #184b7d12;padding:32px;transform:rotate(1deg)}\n.wb-plan-card:before{content:\"\";position:absolute;inset:14px -12px -12px 14px;z-index:-1;border:1px solid #c8dff5;border-radius:24px;background:transparent;transform:rotate(-3deg)}\n.wb-premium .wb-plan-title{font-size:28px;line-height:1.23;margin-bottom:24px}\n.wb-step{display:flex;gap:15px;padding:18px 0;border-top:1px solid #e6eef6}\n.wb-step-number{background:#f2f8ff;border:1px solid #dceeff;border-radius:11px;flex:0 0 40px;height:40px;display:flex;align-items:center;justify-content:center;color:#2168bc!important;font-size:12px;font-weight:800;margin:0!important}\n.wb-step-copy{min-width:0}\n.wb-premium .wb-step h3{font-size:16px;letter-spacing:-.02em;margin:0 0 5px}\n.wb-step p:not(.wb-step-number){font-size:13px;line-height:1.6;margin:0}\n.wb-plan-note{font-size:11px;border-top:1px solid #e6eef6;padding-top:18px;margin:0!important}\n.wb-search-panel{margin:58px 0 0!important;background:#fff;border:1px solid #dce8f3;border-radius:16px;display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center;padding:26px 30px;box-shadow:0 8px 22px #18345104}\n.wb-search-caption h2{font-size:21px;margin:0 0 4px;letter-spacing:-.02em}\n.wb-search-caption p{font-size:14px;margin:0}\n.wb-search .wp-block-search__label{font-size:11px;color:#40566c;display:block;margin-bottom:6px;font-weight:700}\n.wb-search .wp-block-search__inside-wrapper{gap:8px}\n.wb-search .wp-block-search__input{min-width:0;width:100%;border:1px solid #738ba3!important;border-radius:7px;padding:12px 14px;font-family:inherit;font-size:14px;color:#183451;background:#fff;height:48px}\n.wb-search .wp-block-search__input::placeholder{color:#596e82;opacity:1}\n.wb-search .wp-block-search__button{background:#183451;color:#fff;font-size:14px;font-weight:700;border:0;border-radius:7px;margin:0;padding:10px 20px;height:48px}\n.wb-section{padding:86px 0}\n.wb-intro{max-width:700px;margin:0 0 38px!important}\n.wb-section-lead{font-size:17px;line-height:1.75;max-width:640px}\n.wb-premium .wb-use-grid>.kt-row-column-wrap{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;align-items:stretch}\n.wb-use-grid .wp-block-kadence-column>.kt-inside-inner-col{height:100%}\n.wb-use-card{height:100%;padding:28px;background:#fff;border:1px solid #dce8f3;border-radius:16px;box-shadow:0 5px 14px #18345103;transition:box-shadow .15s,border-color .15s}\n.wb-use-card:hover{border-color:#9ebfe0;box-shadow:0 12px 26px #18345109}\n.wb-card-label{font-size:10px;font-weight:800;letter-spacing:1.25px;color:#2168bc!important;margin:0 0 24px!important}\n.wb-use-card h3{font-size:22px;margin-bottom:10px}\n.wb-use-card>p:not(.wb-card-label){font-size:14px;min-height:68px;margin-bottom:18px}\n.wb-card-details{border-top:1px solid #e3edf6;padding-top:16px;font-size:13px;margin:0}\n.wb-card-details summary{font-size:13px;color:#2168bc;font-weight:700;cursor:pointer;min-height:28px;list-style:none}\n.wb-card-details summary:after{content:\"+\";float:right;font-size:18px;line-height:22px}\n.wb-card-details[open] summary:after{content:\"\u2212\"}\n.wb-card-details p{margin:12px 0 0}\n.wb-featured:has(.wp-block-query-no-results){display:none}\n.wb-cost{background:linear-gradient(110deg,#f2f8ff,#e7f2ff);border-block:1px solid #dce8f3}\n.wb-premium .wb-cost-grid>.kt-row-column-wrap{grid-template-columns:1fr 1.12fr;gap:80px;padding:0;align-items:start}\n.wb-cost-item{display:flex;gap:20px;border-bottom:1px solid #cbdff2;padding:22px 0}\n.wb-cost-item:first-child{padding-top:0}\n.wb-cost-item:last-child{border:0;padding-bottom:0}\n.wb-cost-number{font-weight:700;color:#2168bc!important;font-size:13px;flex:0 0 24px;margin:3px 0 0}\n.wb-cost-item h3{font-size:20px;margin:0 0 8px}\n.wb-cost-item p:not(.wb-cost-number){font-size:14px;margin:0}\n.wb-source-note{font-size:11px;margin:32px 0 0!important;padding-top:22px;border-top:1px solid #cbdff2;line-height:1.7}\n.wb-faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;align-items:start}\n.wb-faq{border:1px solid #dce8f3;border-radius:12px;background:#fff;padding:21px 24px;margin:0}\n.wb-faq summary{font-size:16px;font-weight:650;line-height:1.5;color:#183451;cursor:pointer;list-style:none;position:relative;padding-right:28px;min-height:26px}\n.wb-faq summary:after{content:\"+\";position:absolute;right:0;top:0;color:#2168bc;font-size:22px;font-weight:400}\n.wb-faq[open]{background:#f7fbff;border-color:#bed6ed}\n.wb-faq[open] summary:after{content:\"\u2212\"}\n.wb-faq p{font-size:14px;line-height:1.8;margin:16px 0 0}\n.wb-premium summary::-webkit-details-marker{display:none}\n.wb-directory{background:#f8fbff;border-block:1px solid #e5eef6}\n.wb-operator-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}\n.wb-operator{display:flex;align-items:center;justify-content:center;min-height:74px;border:1px solid #dce8f3;border-radius:10px;background:#fff;font-size:17px;font-weight:700;letter-spacing:-.03em;color:#334d66!important;margin:0!important}\n.wb-directory-bottom{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:26px!important}\n.wb-directory-note{max-width:620px;font-size:12px;margin:0!important}\n.wb-text-cta{font-size:13px;font-weight:700;flex-shrink:0;margin:0!important}\n.wb-empty{border:1px dashed #bdd3e8;border-radius:16px;background:linear-gradient(110deg,#f7fbff,#fff);padding:32px;max-width:none}\n.wb-empty-title{font-size:20px;font-weight:700;color:#183451!important;margin-bottom:8px!important}\n.wb-empty p{font-size:15px;max-width:720px}\n.wb-empty p:last-child{margin:0;font-weight:700;font-size:14px}\n.wb-query .wb-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0}\n.wb-post-grid>.wp-block-post{border:1px solid #dce8f3;border-radius:16px;padding:24px;overflow:hidden}\n.wb-post-grid .wp-block-post-featured-image{margin:-24px -24px 20px}\n.wb-post-grid .wp-block-post-featured-image img{width:100%;aspect-ratio:16\/9;object-fit:cover}\n.wb-post-category{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}\n.wb-post-grid .wp-block-post-title{font-size:22px;margin:0 0 14px}\n.wb-post-grid .wp-block-post-title a{color:#183451;text-decoration:none}\n.wb-post-grid .wp-block-post-excerpt{font-size:14px}\n.wb-method{background:linear-gradient(110deg,#f2f8ff,#fff);border-top:1px solid #dce8f3}\n.wb-premium .wb-method-grid>.kt-row-column-wrap{grid-template-columns:1fr 1.12fr;gap:80px;padding:0}\n.wb-method h3{font-size:20px;margin:0 0 10px}\n.wb-method h3:not(:first-child){margin-top:26px}\n.wb-method-grid .wp-block-kadence-column:last-child p{font-size:14px}\n.wb-method-note{padding-left:16px;border-left:3px solid #287cde;margin-top:24px}\n.wb-footer{background:#fff;border-top:1px solid #dce8f3;padding:52px 0 0}\n.wb-footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:44px}\n.wb-footer-tagline{font-size:15px;margin:18px 0 0!important}\n.wb-footer-column h3{font-size:13px;letter-spacing:0;margin-bottom:16px}\n.wb-footer-column p{font-size:13px;margin-bottom:9px}\n.wb-footer-column a{text-decoration:none;color:#40566c;display:inline-block;padding:4px 0}\n.wb-footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e5edf5;padding-top:20px;padding-bottom:20px}\n.wb-footer-bottom p{font-size:11px;margin:0}\n.wb-footer-bottom a{color:#40566c;text-decoration:none}\n@media(max-width:1100px){.wb-header-inner{gap:22px}.wb-nav-links{gap:16px}.wb-nav-links a{font-size:12px}.wb-header-cta a{font-size:12px;padding:10px}.wb-premium .wb-hero-grid>.kt-row-column-wrap{gap:36px}.wb-plan-card{padding:25px}.wb-premium h1{font-size:49px}.wb-premium .wb-cost-grid>.kt-row-column-wrap,.wb-premium .wb-method-grid>.kt-row-column-wrap{gap:44px}.wb-directory-bottom{gap:24px}.wb-text-cta{flex-shrink:1}}\n@media(max-width:900px){.wb-header-inner{min-height:82px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px;gap:12px 24px}.wb-desktop-nav{order:3;width:100%;margin-left:0!important}.wb-nav-links{justify-content:space-between}.wb-nav-links a{font-size:13px;padding:4px 0}.wb-header-cta{margin-left:auto!important}.wb-hero{padding-top:48px}.wb-premium .wb-hero-grid>.kt-row-column-wrap{grid-template-columns:1fr;gap:38px}.wb-premium h1{font-size:52px;max-width:670px}.wb-premium .wb-lead{max-width:650px}.wb-plan-card{transform:none;max-width:none;padding:28px}.wb-plan-card:before{display:none}.wb-plan-card .wb-plan-title{font-size:24px}.wb-plan-card .wb-plan-title br{display:none}.wb-step{padding:16px 0}.wb-plan-card .wb-step h3{font-size:17px}.wb-step p:not(.wb-step-number){font-size:14px}.wb-search-panel{margin-top:32px!important;gap:24px;grid-template-columns:1fr;padding:24px}.wb-section{padding:64px 0}.wb-premium .wb-use-grid>.kt-row-column-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.wb-use-card{padding:24px}.wb-premium .wb-cost-grid>.kt-row-column-wrap,.wb-premium .wb-method-grid>.kt-row-column-wrap{grid-template-columns:1fr;gap:34px}.wb-premium h2 br{display:none}.wb-operator-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wb-query .wb-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wb-directory-bottom{align-items:start;flex-direction:column;gap:14px}.wb-footer-top{grid-template-columns:1.2fr 1fr 1fr;gap:24px}.wb-faq{padding:20px}.wb-faq summary{font-size:15px}}\n@media(max-width:600px){.wb-wrap{padding-left:20px;padding-right:20px}.wb-header-inner{min-height:76px;position:relative;gap:10px}.wb-brand a{font-size:27px}.wb-brand small{font-size:8px;margin-left:9px;padding-left:9px;letter-spacing:1px}.wb-desktop-nav,.wb-header-cta{display:none}.wb-mobile-menu{display:block;margin:0 0 0 auto!important}.wb-mobile-menu>summary{cursor:pointer;list-style:none;border:1px solid #b8cee2;border-radius:7px;padding:8px 13px;font-size:13px;color:#183451;font-weight:700;min-height:42px}.wb-mobile-menu>summary:after{content:\" +\";padding-left:7px;color:#2168bc}.wb-mobile-menu[open]>summary:after{content:\" \u2212\"}.wb-mobile-menu[open]{width:100%;margin:0!important}.wb-mobile-menu[open]>summary{position:absolute;right:20px;top:17px}.wb-mobile-menu .wb-nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #dce8f3;margin-top:8px!important}.wb-mobile-menu .wb-nav-links a{padding:12px 4px;border-bottom:1px solid #e7eff7;font-size:14px}.wb-mobile-menu>p:last-child{margin:12px 0 4px;font-size:14px;font-weight:700}.wb-hero{padding:35px 0 28px}.wb-kicker{font-size:10px;letter-spacing:1.3px}.wb-hero-kicker{font-size:8.5px;letter-spacing:1.1px;gap:8px}.wb-premium h1{font-size:39px;line-height:1.12;letter-spacing:-.045em;margin:19px 0 22px}.wb-premium .wb-lead{font-size:16px;line-height:1.8;margin-bottom:22px}.wb-buttons{gap:10px!important;margin-top:20px}.wb-buttons .wp-block-button{width:100%}.wb-premium .wp-block-button__link{width:100%;padding:15px 14px;font-size:14px}.wb-proof{font-size:10px;line-height:1.9;margin-top:18px!important}.wb-proof span{padding:0 3px}.wb-premium .wb-hero-grid>.kt-row-column-wrap{gap:28px}.wb-plan-card{padding:25px 22px;border-radius:17px}.wb-plan-card .wb-plan-title{font-size:24px;line-height:1.25;margin-bottom:20px}.wb-step{gap:13px}.wb-step-number{flex-basis:34px;height:34px;font-size:11px}.wb-plan-card .wb-step h3{font-size:15px}.wb-step p:not(.wb-step-number){font-size:12px}.wb-plan-note{font-size:10px;line-height:1.7}.wb-search-panel{padding:22px 18px;border-radius:13px;margin-top:24px!important;gap:20px}.wb-search-caption h2{font-size:20px}.wb-search-caption p{font-size:13px}.wb-search .wp-block-search__input{font-size:12px;padding:11px 10px}.wb-search .wp-block-search__button{font-size:12px;padding:10px 15px}.wb-search .wp-block-search__inside-wrapper{gap:7px}.wb-section{padding:52px 0}.wb-premium h2{font-size:31px;line-height:1.2;letter-spacing:-.035em;margin-bottom:16px}.wb-section-lead{font-size:15px}.wb-intro{margin-bottom:28px!important}.wb-premium .wb-use-grid>.kt-row-column-wrap{grid-template-columns:1fr;gap:14px}.wb-use-card{padding:25px;border-radius:14px}.wb-card-label{margin-bottom:19px!important}.wb-use-card h3{font-size:23px}.wb-use-card>p:not(.wb-card-label){min-height:0;font-size:15px}.wb-card-details summary{font-size:14px;min-height:30px}.wb-card-details p{font-size:14px}.wb-premium .wb-cost-grid>.kt-row-column-wrap,.wb-premium .wb-method-grid>.kt-row-column-wrap{gap:32px}.wb-cost-item{gap:13px}.wb-cost-item h3{font-size:21px}.wb-cost-item p:not(.wb-cost-number){font-size:14px}.wb-source-note{font-size:11px}.wb-faq-list{grid-template-columns:1fr;gap:11px}.wb-faq{padding:21px 18px}.wb-faq summary{font-size:15px}.wb-operator-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wb-operator{min-height:64px;font-size:16px}.wb-directory-note{font-size:12px}.wb-text-cta{font-size:14px}.wb-empty{padding:25px 22px}.wb-empty .wb-empty-title{font-size:20px}.wb-empty p{font-size:14px}.wb-query .wb-post-grid{grid-template-columns:1fr}.wb-method h3{font-size:21px}.wb-method-grid .wp-block-kadence-column:last-child p{font-size:14px}.wb-footer{padding-top:36px}.wb-footer-top{grid-template-columns:1fr 1fr;gap:30px 18px;padding-bottom:30px}.wb-footer-brand{grid-column:1\/-1}.wb-footer-tagline{font-size:14px;margin-top:12px!important}.wb-footer-tagline br{display:none}.wb-footer-column h3{font-size:14px}.wb-footer-column p{font-size:12px}.wb-footer-column a{overflow-wrap:anywhere}.wb-footer-bottom{flex-direction:column;gap:8px;padding-top:18px;padding-bottom:24px}}\n@media(max-width:359px){.wb-wrap{padding-left:16px;padding-right:16px}.wb-premium h1{font-size:35px}.wb-hero-kicker{font-size:7.5px;letter-spacing:.7px}.wb-premium h2{font-size:28px}.wb-plan-card{padding:22px 18px}.wb-use-card{padding:23px}.wb-search-panel{padding:19px 15px}.wb-proof{font-size:9px}.wb-search .wp-block-search__button{padding:10px 11px}.wb-mobile-menu[open]>summary{right:16px}.wb-footer-top{gap:28px 15px}.wb-operator{font-size:15px}}\n@media(prefers-reduced-motion:reduce){.wb-premium *{transition:none!important;scroll-behavior:auto!important}}\n\/* Nadpisanie stylu przycisku wyszukiwania z motywu, tylko w tym projekcie. *\/\n.wb-premium .wb-search .wp-block-search__button{background:#183451!important;color:#fff!important;border:1px solid #183451!important}\n.wb-premium .wb-search .wp-block-search__button:hover{background:#2168bc!important;border-color:#2168bc!important}\n.wb-premium .wb-empty .wb-empty-title{font-size:20px}\n@media(max-width:600px){.wb-hero-kicker{font-size:10px;letter-spacing:1px}.wb-proof{font-size:11px}.wb-plan-note{font-size:11px}.wb-card-label{font-size:11px}.wb-source-note{font-size:12px}.wb-footer-bottom p{font-size:12px}}\n\n.wb-article{--wb-ink:#183451;--wb-text:#40566c;background:#fff;color:var(--wb-text)}\n.wb-article .wb-article-main{max-width:900px;margin:0 auto;padding:58px 36px 72px;min-width:0;font-size:18px;line-height:1.8}\n.wb-article .wb-article-main>*,.wb-article .wb-article-main>.wp-block-group__inner-container>*{margin:0 0 24px}\n.wb-article .wb-article-main h1{font-size:clamp(31px,4.1vw,55px);line-height:1.13;letter-spacing:-1.7px;color:#183451;margin:18px 0 26px;font-weight:750;max-width:none}\n.wb-article .wb-article-main h2{font-size:31px;line-height:1.24;letter-spacing:-.6px;margin:54px 0 20px;color:#183451;scroll-margin-top:36px}\n.wb-article .wb-article-main h3{font-size:24px;line-height:1.3;margin:34px 0 16px;color:#183451}\n.wb-article .wb-article-main a{color:#2168bc;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}\n.wb-article .wb-article-main p{font-size:inherit;line-height:inherit;color:inherit}\n.wb-article .wb-article-main .wb-article-lead{font-size:21px;line-height:1.65;color:#183451}\n.wb-article .wb-article-main .wb-article-meta{font-size:14px;color:#40566c;border-top:1px solid #dce6ef;padding-top:20px}\n.wb-article .wb-article-main .wb-article-disclosure,.wb-article .wb-article-main .wb-article-note{font-size:15px;line-height:1.7;background:#f2f8ff;padding:20px 24px;border-radius:14px}\n.wb-article .wb-article-main .wp-block-image{margin:32px 0;max-width:100%}\n.wb-article .wb-article-main .wp-block-image img{height:auto;width:100%;display:block;border-radius:20px}\n.wb-article .wb-article-main .wb-article-diagram{max-width:700px;margin:40px auto}\n.wb-article .wb-article-main figcaption{color:#40566c;font-size:14px;line-height:1.6;margin-top:12px;text-align:left}\n.wb-article .wb-article-main .wb-toc{background:#f2f8ff;border:1px solid #dceeff;border-radius:18px;padding:26px 26px 26px 52px;columns:2;column-gap:42px;font-size:16px;line-height:1.6}\n.wb-article .wb-article-main li{padding-left:4px;margin-bottom:11px;break-inside:avoid}\n.wb-article .wb-article-main ul,.wb-article .wb-article-main ol{margin-left:0;padding-left:26px}\n.wb-article .wb-article-main .wp-block-table{max-width:100%;margin:28px 0;overflow-x:auto;border:1px solid #dce6ef;border-radius:14px}\n.wb-article .wb-article-main table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.65;table-layout:fixed;margin:0;border:0}\n.wb-article .wb-article-main th,.wb-article .wb-article-main td{padding:15px 13px;border:0;border-bottom:1px solid #dce6ef;vertical-align:top;overflow-wrap:break-word;hyphens:auto;text-align:left}\n.wb-article .wb-article-main th{background:#e8f3ff;color:#183451;font-weight:700}\n.wb-article .wb-article-main tr:nth-child(even){background:#f8fbff}\n.wb-article .wb-article-main .wp-block-table figcaption{padding:12px 16px;margin:0;background:#f2f8ff;font-size:13px}\n.wb-article .wb-article-main .wb-final-cta{padding:28px;border-radius:18px;background:linear-gradient(120deg,#f2f8ff,#dceeff);text-align:center}\n.wb-article .wb-article-main .wb-final-cta a{display:inline-block;padding:15px 23px;background:#2168bc;color:white;border-radius:10px;text-decoration:none;font-weight:700;line-height:1.5}\n.wb-article .wb-article-main code{font-size:.9em;color:#183451;background:#eef4fa;padding:2px 5px}\n.wb-article .wb-article-main strong{color:#183451}\n.wb-article .wb-article-main .wb-kicker{font-size:12px;letter-spacing:1.1px;line-height:1.6;color:#2168bc}\nbody:has(.wb-article) .entry-related,body:has(.wb-article) .post-navigation,body:has(.wb-article) .entry-author,body:has(.wb-article) .comments-area{display:none}\n@media(max-width:767px){.wb-article .wb-article-main{padding:36px 24px 48px;font-size:17px;line-height:1.8}.wb-article .wb-article-main h1{letter-spacing:-.9px}.wb-article .wb-article-main h2{font-size:27px;margin-top:42px}.wb-article .wb-article-main .wb-article-lead{font-size:19px}.wb-article .wb-article-main .wb-toc{columns:1;padding:23px 24px 23px 44px}.wb-article .wb-article-main .wb-final-cta{padding:20px}.wb-article .wb-article-main table{font-size:13px;line-height:1.6}.wb-article .wb-article-main th,.wb-article .wb-article-main td{padding:10px 7px}.wb-article .wb-article-main .wb-article-note,.wb-article .wb-article-main .wb-article-disclosure{padding:16px}}\n@media(max-width:359px){.wb-article .wb-article-main{padding:30px 16px 42px}.wb-article .wb-article-main h1{font-size:30px}.wb-article .wb-article-main h2{font-size:25px}.wb-article .wb-article-main table{font-size:12px}.wb-article .wb-article-main th,.wb-article .wb-article-main td{padding:9px 5px}.wb-article .wb-article-main .wb-final-cta a{padding:13px}}\n\n\n\/* Etap 3: oryginalny znak WebBay, zachowane proporcje. *\/\n.wb-premium .wb-brand{margin:0!important;flex-shrink:0}\n.wb-premium .wb-brand img{display:block;width:180px!important;height:auto!important;max-width:100%;border-radius:0}\n.wb-premium .wb-brand a{display:block;line-height:0}\n.wb-article .wb-mid-cta{background:linear-gradient(120deg,#f2f8ff,#dceeff);border:1px solid #d1e4f7;border-radius:18px;padding:28px;margin:32px 0!important}\n.wb-article .wb-mid-cta h3{margin:0 0 12px;font-size:26px}\n.wb-article .wb-mid-cta p{margin:0 0 18px}\n.wb-article .wb-mid-cta .wp-block-button__link{color:#fff!important;text-decoration:none!important}\n@media(max-width:600px){.wb-premium .wb-brand img{width:156px!important}.wb-article .wb-mid-cta{padding:22px}.wb-article .wb-mid-cta h3{font-size:24px}}\n\n<\/style>\n\n\n<div id=\"poczatek\" class=\"wp-block-group wb-premium wb-article\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<header class=\"wp-block-group wb-header\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group wb-wrap wb-header-inner\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<figure class=\"wp-block-image size-full wb-brand\"><a href=\"https:\/\/webbay.pl\/blog\/\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"200\" src=\"https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/logo_templatemonster.jpg\" alt=\"WebBay \u2014 strona g\u0142\u00f3wna bloga\" class=\"wp-image-24\" srcset=\"https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/logo_templatemonster.jpg 600w, https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/logo_templatemonster-300x100.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/figure>\n\n\n<nav class=\"wp-block-group wb-desktop-nav\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"wb-nav-links wp-block-paragraph\"><a href=\"https:\/\/webbay.pl\/blog\/#zastosowania\">Zastosowania<\/a> <a href=\"https:\/\/webbay.pl\/blog\/#koszty\">Ceny i odnowienia<\/a> <a href=\"https:\/\/webbay.pl\/blog\/#problemy\">Pomoc<\/a> <a href=\"https:\/\/webbay.pl\/blog\/#operatorzy\">Operatorzy<\/a><\/p>\n\n<\/div><\/nav>\n\n\n<details class=\"wp-block-details wb-mobile-menu is-layout-flow wp-block-details-is-layout-flow\"><summary>Menu<\/summary>\n<p class=\"wb-nav-links wp-block-paragraph\"><a href=\"https:\/\/webbay.pl\/blog\/#zastosowania\">Zastosowania<\/a> <a href=\"https:\/\/webbay.pl\/blog\/#koszty\">Ceny i odnowienia<\/a> <a href=\"https:\/\/webbay.pl\/blog\/#problemy\">Pomoc<\/a> <a href=\"https:\/\/webbay.pl\/blog\/#operatorzy\">Operatorzy<\/a><\/p>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/webbay.pl\/ranking-hostingow\/\">Ranking hosting\u00f3w \u2192<\/a><\/p>\n\n<\/details>\n\n\n<p class=\"wb-header-cta wp-block-paragraph\"><a href=\"https:\/\/webbay.pl\/ranking-hostingow\/\">Zobacz ranking <span aria-hidden=\"true\">\u2197<\/span><\/a><\/p>\n\n<\/div><\/div>\n\n<\/div><\/header>\n\n\n<div class=\"wp-block-group wb-article-main\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n\n<h1 class=\"wp-block-heading\">Hosting Drupal: wymagania i 7 krok\u00f3w pr\u00f3by przed zakupem<\/h1>\n\n\n<p class=\"wp-block-paragraph\"><strong>Hosting Drupal powinien zapewni\u0107 zgodne PHP i baz\u0119 danych, bezpieczny katalog publiczny oraz dzia\u0142aj\u0105cy spos\u00f3b budowania i aktualizacji projektu Composer.<\/strong> Sama pozycja \u201eDrupal\u201d w autoinstalatorze nie potwierdza tych warunk\u00f3w. Przed zakupem poka\u017c operatorowi wersj\u0119 aplikacji, list\u0119 modu\u0142\u00f3w i plan wdro\u017cenia, a odpowied\u017a odbierz na pr\u00f3bnej instalacji.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Dla prostej witryny mo\u017ce wystarczy\u0107 odpowiednio przygotowany hosting wsp\u00f3\u0142dzielony. VPS ma sens, gdy potrzebujesz us\u0142ug lub ustawie\u0144 niedost\u0119pnych w takim pakiecie i masz osob\u0119 odpowiedzialn\u0105 za system. Nie jest obowi\u0105zkowym wymogiem Drupala. Wa\u017cniejsze od etykiety produktu s\u0105 zgodno\u015b\u0107 projektu, ograniczenia pracy oraz mo\u017cliwo\u015b\u0107 jego odtworzenia.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" loading=\"eager\" decoding=\"async\" src=\"https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/webbay-wb75-okladka-premium.webp\" alt=\"B\u0142\u0119kitna kropla nad po\u0142\u0105czonymi modu\u0142ami, baz\u0105 danych i strza\u0142kami aktualizacji\" width=\"1200\" height=\"675\" class=\"wp-image-737\" srcset=\"https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/webbay-wb75-okladka-premium.webp 1200w, https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/webbay-wb75-okladka-premium-300x169.webp 300w, https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/webbay-wb75-okladka-premium-1024x576.webp 1024w, https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/webbay-wb75-okladka-premium-768x432.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n<h2 id=\"spis-tresci\" class=\"wp-block-heading\">W tym poradniku<\/h2>\n\n\n<ol class=\"wp-block-list wb-toc\"><li><a href=\"#zgodnosc-drupal\">Hosting Drupal: karta zgodno\u015bci dla wybranej wersji<\/a><\/li><li><a href=\"#composer-bezpieczne-wdrozenie\">Composer i katalog web: dwa warunki, kt\u00f3rych nie sprawdzi autoinstalator<\/a><\/li><li><a href=\"#proba-przed-zakupem\">Hosting Drupal: 7 krok\u00f3w pr\u00f3by przed przeniesieniem<\/a><\/li><li><a href=\"#php-www-cli\">Gdy witryna dzia\u0142a, ale aktualizacja Composer ko\u0144czy si\u0119 b\u0142\u0119dem<\/a><\/li><li><a href=\"#dysk-kopie-koszt\">Hosting Drupal: miejsce, kopie i koszt utrzymania<\/a><\/li><li><a href=\"#wspoldzielony-czy-zarzadzany\">Kiedy wystarczy hosting WWW, a kiedy potrzeba innej us\u0142ugi?<\/a><\/li><\/ol>\n\n\n<h2 id=\"zgodnosc-drupal\" class=\"wp-block-heading\">Hosting Drupal: karta zgodno\u015bci dla wybranej wersji<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Poni\u017cszy przyk\u0142ad dotyczy <strong>Drupala 11, z osobnym wskazaniem PHP dla linii 11.4<\/strong>, wed\u0142ug dokumentacji odczytanej 30.10.2026. Nie przeno\u015b go bez sprawdzenia na Drupal 10, Drupal 12 lub dowolny modu\u0142 dodatkowy. Pakiety projektu i ich zale\u017cno\u015bci mog\u0105 stawia\u0107 wymagania wy\u017csze od minimum rdzenia.<\/p>\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Warstwa<\/th><th>Wymaganie lub warunek<\/th><th>Co odebra\u0107 od operatora?<\/th><\/tr><\/thead><tbody>\n<tr><td>PHP<\/td><td>Drupal 11 wymaga co najmniej PHP 8.3; tabela 11.4 obs\u0142uguje 8.3, 8.4 i 8.5<\/td><td>Dok\u0142adne wydanie, aktualizacje bezpiecze\u0144stwa i zgodno\u015b\u0107 modu\u0142\u00f3w<\/td><\/tr>\n<tr><td>Baza MySQL\/MariaDB<\/td><td>MySQL 8.0+ albo MariaDB 10.6+, InnoDB i PDO<\/td><td>Rzeczywisty silnik i wersja, nie samo has\u0142o \u201ebazy SQL\u201d<\/td><\/tr>\n<tr><td>Alternatywna baza<\/td><td>PostgreSQL 16+ z pg_trgm dla Drupala 11<\/td><td>Dost\u0119pno\u015b\u0107 rozszerzenia oraz zgodno\u015b\u0107 dodatkowych modu\u0142\u00f3w<\/td><\/tr>\n<tr><td>Composer<\/td><td>Co najmniej 2.7.0 dla Drupala 11; u\u017cywaj aktualnego bezpiecznego wydania<\/td><td>Wersja, spos\u00f3b uruchomienia, pami\u0119\u0107 i limit czasu budowania<\/td><\/tr>\n<tr><td>Katalog WWW<\/td><td>Dla recommended-project publicznym katalogiem jest web<\/td><td>Mo\u017cliwo\u015b\u0107 skierowania domeny do w\u0142a\u015bciwego podkatalogu<\/td><\/tr>\n<tr><td>Prace okresowe<\/td><td>Dzia\u0142aj\u0105cy cron oraz mo\u017cliwo\u015b\u0107 kontroli jego ostatniego wykonania<\/td><td>Metoda wyzwalania, ograniczenia i miejsce obserwacji b\u0142\u0119d\u00f3w<\/td><\/tr>\n<\/tbody><\/table><figcaption class=\"wp-element-caption\">W\u0142asna lista zgodno\u015bci \u2014 wype\u0142nij ostatni\u0105 kolumn\u0119 dla konkretnego konta<\/figcaption><\/figure>\n\n\n<p class=\"wp-block-paragraph\">PHP 8.5 nie jest automatycznie zgodne z ka\u017cd\u0105 starsz\u0105 lini\u0105 Drupala 11: oficjalna tabela rozr\u00f3\u017cnia wersje podrz\u0119dne. Podobnie PostgreSQL nie gwarantuje zgodno\u015bci modu\u0142u zawieraj\u0105cego zapytania charakterystyczne dla MySQL. Wybierz jedn\u0105 wspieran\u0105 \u015bcie\u017ck\u0119, zamiast zamawia\u0107 kilka baz \u201ena wszelki wypadek\u201d.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Rozszerzenia PHP potwierd\u017a dla finalnego projektu. Znaczenie maj\u0105 m.in. PDO z w\u0142a\u015bciwym sterownikiem, DOM\/XML i biblioteka obs\u0142ugi obraz\u00f3w. Wymagania konkretnego rdzenia i pakiet\u00f3w sprawdzaj w ich plikach Composer. Nie zamieniaj kr\u00f3tkiego przyk\u0142adu w obietnic\u0119, \u017ce samo zaznaczenie kilku rozszerze\u0144 wystarczy ka\u017cdej witrynie.<\/p>\n\n\n<h2 id=\"composer-bezpieczne-wdrozenie\" class=\"wp-block-heading\">Composer i katalog web: dwa warunki, kt\u00f3rych nie sprawdzi autoinstalator<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Szablon <code>drupal\/recommended-project<\/code> umieszcza kod publiczny w podkatalogu <code>web<\/code>, a katalog <code>vendor<\/code> oraz pliki Composer poza nim. Domena powinna wskazywa\u0107 ten katalog publiczny, nie ca\u0142y projekt. Dzi\u0119ki temu serwer nie udost\u0119pnia bez potrzeby zaplecza aplikacji. Nie obchod\u017a ograniczenia panelu przez przypadkowe przenoszenie plik\u00f3w mi\u0119dzy katalogami.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Ustal z dostawc\u0105 konkretn\u0105 lokalizacj\u0119. Przyk\u0142adowy projekt mo\u017ce le\u017ce\u0107 w <code>\/home\/konto\/projekty\/portal<\/code>, a katalog obs\u0142ugiwany przez domen\u0119 w <code>\/home\/konto\/projekty\/portal\/web<\/code>. To przyk\u0142adowe \u015bcie\u017cki \u2014 nazwy i uprawnienia b\u0119d\u0105 inne na Twoim koncie. Je\u015bli panel nie pozwala ustawi\u0107 podkatalogu, popro\u015b o wspierany spos\u00f3b konfiguracji albo wybierz us\u0142ug\u0119, kt\u00f3ra go umo\u017cliwia.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Composer nie musi dzia\u0142a\u0107 bezpo\u015brednio na serwerze publicznym, je\u017celi wykonawca buduje kompletny projekt w zgodnym \u015brodowisku i wdra\u017ca przygotowany zestaw plik\u00f3w. Nadal potrzebujesz powtarzalnego procesu aktualizacji oraz kontroli wymaga\u0144 na docelowym serwerze. SSH jest przydatne, ale nie oznacza uprawnie\u0144 administratora systemu. Nie instaluj pakiet\u00f3w systemowych na koncie, kt\u00f3re na to nie pozwala.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Drush jest osobnym narz\u0119dziem konsolowym. Sam wyb\u00f3r recommended-project nie oznacza, \u017ce Drush jest ju\u017c do\u0142\u0105czony. Zapytaj wykonawc\u0119 o wersj\u0119 zgodn\u0105 z projektem i spos\u00f3b uruchamiania jako w\u0142a\u015bciciel plik\u00f3w. Dost\u0119p do WordPressowego WP-CLI nie zast\u0119puje narz\u0119dzi Drupala. Spos\u00f3b sprawdzenia klucza, konsoli i polece\u0144 opisuje <a href=\"https:\/\/webbay.pl\/blog\/2026\/10\/30\/hosting-z-ssh\/\">poradnik wyboru hostingu z SSH<\/a>; zgodno\u015b\u0107 Drush nadal potwierdza wykonawca projektu.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/webbay-wb75-publiczny-web-i-zaplecze.webp\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/webbay-wb75-publiczny-web-i-zaplecze.webp\" alt=\"Hosting Drupal: katalog web dost\u0119pny przez domen\u0119 oraz vendor i pliki Composer poza katalogiem publicznym\" width=\"1000\" height=\"1530\" class=\"wp-image-831\" srcset=\"https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/webbay-wb75-publiczny-web-i-zaplecze.webp 1000w, https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/webbay-wb75-publiczny-web-i-zaplecze-196x300.webp 196w, https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/webbay-wb75-publiczny-web-i-zaplecze-669x1024.webp 669w, https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/webbay-wb75-publiczny-web-i-zaplecze-768x1175.webp 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><figcaption class=\"wp-element-caption\">Przyk\u0142ad uk\u0142adu recommended-project. Katalog publiczny to web; \u015bcie\u017ck\u0119 projektu trzeba dopasowa\u0107 do w\u0142asnego konta.<\/figcaption><\/figure>\n\n\n<h2 id=\"proba-przed-zakupem\" class=\"wp-block-heading\">Hosting Drupal: 7 krok\u00f3w pr\u00f3by przed przeniesieniem<\/h2>\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Spisz projekt.<\/strong> Zapisz wersj\u0119 rdzenia, modu\u0142\u00f3w i motywu oraz rozmiar bazy, plik\u00f3w publicznych i prywatnych. Dla nowej strony popro\u015b wykonawc\u0119 o list\u0119 planowanych zale\u017cno\u015bci.<\/li>\n<li><strong>Wy\u015blij kart\u0119 zgodno\u015bci do operatora.<\/strong> Potwierd\u017a baz\u0119, PHP WWW i konsoli, katalog web, dost\u0119p do log\u00f3w, cron oraz spos\u00f3b wdro\u017cenia. Nie wystarczy odpowied\u017a \u201eDrupal jest dost\u0119pny\u201d.<\/li>\n<li><strong>Przygotuj odr\u0119bne \u015brodowisko.<\/strong> Utw\u00f3rz osobny katalog, baz\u0119 i u\u017cytkownika z dost\u0119pem tylko do tej bazy, zanim wgrasz kopi\u0119 lub uruchomisz instalator. Ogranicz dost\u0119p do adresu testowego.<\/li>\n<li><strong>Od\u0142\u0105cz prawdziwe integracje przed uruchomieniem kopii.<\/strong> Nie kieruj jej do produkcyjnego SMTP, CRM, API ani kolejki zada\u0144. Wy\u0142\u0105cz automatyczne wysy\u0142ki i zadania; dla potrzebnych pr\u00f3b wybierz testowe po\u0142\u0105czenia oraz kontrolowan\u0105 skrzynk\u0119. U\u017cyj danych przyk\u0142adowych zamiast kopii danych os\u00f3b, je\u015bli wystarcz\u0105.<\/li>\n<li><strong>Zbuduj i zainstaluj projekt.<\/strong> Wykonawca wdra\u017ca zale\u017cno\u015bci z uzgodnionego pliku <code>composer.lock<\/code>. Dla nowej instalacji otw\u00f3rz ograniczony adres testowy, wybierz j\u0119zyk i profil, sprawd\u017a wymagania instalatora, podaj dane osobnej bazy i utw\u00f3rz konto administracyjne.<\/li>\n<li><strong>Odbierz prac\u0119 redaktora.<\/strong> Dodaj przyk\u0142adow\u0105 tre\u015b\u0107, du\u017cy obraz zgodny z limitem, prywatny za\u0142\u0105cznik, je\u015bli jest potrzebny, i formularz do kontrolowanego odbiorcy. Sprawd\u017a adresy podstron, miniatury, uprawnienia oraz wynik wyszukiwania.<\/li>\n<li><strong>Sprawd\u017a utrzymanie.<\/strong> Otw\u00f3rz raport stanu <code>\/admin\/reports\/status<\/code>, uruchom uzgodniony cron i potwierd\u017a kolejne wykonania. Prze\u0107wicz aktualizacj\u0119 oraz odtworzenie bazy i plik\u00f3w w odr\u0119bnej lokalizacji.<\/li>\n<\/ol>\n\n\n<p class=\"wp-block-paragraph\">Rezultatem pr\u00f3by powinna by\u0107 dzia\u0142aj\u0105ca kopia z poprawnym raportem stanu oraz zapisana lista ogranicze\u0144. Sam udany instalator potwierdza mniej ni\u017c edycja tre\u015bci, przetworzenie medi\u00f3w i kolejne zadania. Ta procedura jest planem odbioru, nie wynikiem wykonanych przez nas test\u00f3w operator\u00f3w.<\/p>\n\n\n<h2 id=\"php-www-cli\" class=\"wp-block-heading\">Gdy witryna dzia\u0142a, ale aktualizacja Composer ko\u0144czy si\u0119 b\u0142\u0119dem<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Cz\u0119sty wariant problemu to prawid\u0142owe PHP w panelu domeny i inne PHP w konsoli. W katalogu projektu wykonawca mo\u017ce u\u017cy\u0107 poni\u017cszych odczyt\u00f3w. Ostatnia komenda sprawdza zainstalowane pakiety wzgl\u0119dem rzeczywistego \u015brodowiska CLI, a nie dowodzi zgodno\u015bci osobnego procesu WWW.<\/p>\n\n\n<pre class=\"wp-block-code\"><code>php -v\nphp --ini\nphp -m\ncomposer --version\ncomposer check-platform-reqs --no-dev<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Por\u00f3wnaj wynik z raportem stanu witryny i popraw wskazan\u0105 wersj\u0119 lub brakuj\u0105ce rozszerzenie przez obs\u0142ugiwane ustawienia konta. Nie u\u017cywaj <code>--ignore-platform-reqs<\/code> jako sposobu naprawienia niezgodnego hostingu. Taka opcja pomija kontrol\u0119, lecz nie dodaje brakuj\u0105cej funkcji. Przy b\u0142\u0119dzie pami\u0119ci sprawd\u017a osobno limit procesu budowania i dost\u0119pny bud\u017cet konta; nie ustawiaj bez ogranicze\u0144 wszystkich proces\u00f3w.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Znaczenie wsp\u00f3lnego RAM, limitu PHP oraz proces\u00f3w wyja\u015bnia <a href=\"https:\/\/webbay.pl\/blog\/2026\/10\/28\/limity-hostingu-cpu-ram-php\/\">poradnik czytania limit\u00f3w hostingu<\/a>. Dla Drupala wa\u017cna jest r\u00f3wnie\u017c praca administracyjna w chwili, gdy strona nadal obs\u0142uguje czytelnik\u00f3w.<\/p>\n\n\n<h2 id=\"dysk-kopie-koszt\" class=\"wp-block-heading\">Hosting Drupal: miejsce, kopie i koszt utrzymania<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142ad pojemno\u015bci: za\u0142\u00f3\u017cmy 8 GB dzia\u0142aj\u0105cego projektu z mediami, 8 GB kopii lokalnej, 8 GB \u015brodowiska pr\u00f3bnego i 4 GB na pliki robocze. Suma to <strong>28 GB przed dalszym wzrostem<\/strong>. Nie jest to uniwersalny wym\u00f3g Drupala: kompresja, spos\u00f3b budowania i liczba obraz\u00f3w zmieniaj\u0105 wynik. Pokazuje natomiast, dlaczego 10 GB na sam\u0105 obecn\u0105 stron\u0119 nie wystarcza do zaplanowania ca\u0142ego konta.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Kopia musi obj\u0105\u0107 baz\u0119, pliki publiczne i prywatne oraz elementy konfiguracji potrzebne do odtworzenia. Eksport konfiguracji nie jest kopi\u0105 ca\u0142ej tre\u015bci. Oddziel pliki, kt\u00f3re mo\u017cna ponownie zbudowa\u0107 z kontrolowanych zale\u017cno\u015bci, od medi\u00f3w i danych wymagaj\u0105cych zachowania. Przechowuj r\u00f3wnie\u017c kopi\u0119 poza tym samym kontem. Zasady retencji i pr\u00f3by odzyskania rozwija <a href=\"https:\/\/webbay.pl\/blog\/2026\/10\/28\/backup-hostingu-retencja-przywracanie\/\">poradnik przywracania backupu hostingu<\/a>.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Popro\u015b o wycen\u0119 pakietu, odnowienia, dodatkowych kopii, \u015brodowiska pr\u00f3bnego i pomocy przy odtworzeniu. Osobno wyce\u0144 aktualizacje rdzenia i modu\u0142\u00f3w, test zgodno\u015bci oraz wdro\u017cenie. Hosting Drupal nie obejmuje automatycznie opieki nad rdzeniem, modu\u0142ami i kodem witryny. Gdy poznasz wymagany zakres, <a href=\"https:\/\/webbay.pl\/ranking-hostingow\/\">zestaw warunki hosting\u00f3w WWW w rankingu WebBay<\/a>; ka\u017cdemu wybranemu planowi postaw t\u0119 sam\u0105 kart\u0119 zgodno\u015bci. Ranking nie zast\u0119puje potwierdzenia wersji bazy ani procesu Composer.<\/p>\n\n\n<h2 id=\"wspoldzielony-czy-zarzadzany\" class=\"wp-block-heading\">Kiedy wystarczy hosting WWW, a kiedy potrzeba innej us\u0142ugi?<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Hosting wsp\u00f3\u0142dzielony jest kandydatem, gdy zapewnia w\u0142a\u015bciwe zale\u017cno\u015bci, katalog publiczny, zadania i zasoby dla sprawdzonego scenariusza. Gdy projekt potrzebuje w\u0142asnej us\u0142ugi wyszukiwania, proces\u00f3w stale dzia\u0142aj\u0105cych lub innej konfiguracji niedost\u0119pnej w pakiecie, zapytaj o us\u0142ug\u0119 zarz\u0105dzan\u0105 albo VPS z administracj\u0105. R\u00f3\u017cnic\u0119 kontroli i obowi\u0105zk\u00f3w opisuje <a href=\"https:\/\/webbay.pl\/blog\/2026\/10\/28\/vps-czy-hosting-wspoldzielony\/\">por\u00f3wnanie VPS z hostingiem wsp\u00f3\u0142dzielonym<\/a>.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Przed wyborem wska\u017c jedn\u0105 osob\u0119 lub firm\u0119 odpowiedzialn\u0105 za aktualizacje, obserwacj\u0119 b\u0142\u0119d\u00f3w i odtworzenie. Potwierd\u017a, co obejmuje operator infrastruktury, a co wykonawca aplikacji. Dobry plan dla Drupala to taki, w kt\u00f3rym potrafisz wykona\u0107 nast\u0119pn\u0105 aktualizacj\u0119 i odzyska\u0107 stron\u0119, a nie tylko j\u0105 jednorazowo zainstalowa\u0107.<\/p>\n\n\n<h2 id=\"zrodla\" class=\"wp-block-heading\">Oficjalne \u017ar\u00f3d\u0142a<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Dokumentacj\u0119 odczytano 30.10.2026. Karta zgodno\u015bci odnosi si\u0119 do wskazanej linii Drupala; przed zakupem sprawd\u017a finalne zale\u017cno\u015bci projektu.<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.drupal.org\/docs\/getting-started\/system-requirements\/php-requirements\" target=\"_blank\" rel=\"noopener\">Drupal \u2014 PHP i rozszerzenia wed\u0142ug wersji<\/a>.<\/li>\n<li><a href=\"https:\/\/www.drupal.org\/docs\/getting-started\/system-requirements\/database-server-requirements\" target=\"_blank\" rel=\"noopener\">Drupal \u2014 wymagania baz danych<\/a>.<\/li>\n<li><a href=\"https:\/\/www.drupal.org\/docs\/getting-started\/system-requirements\/composer-requirements\" target=\"_blank\" rel=\"noopener\">Drupal \u2014 wymagania Composer<\/a>.<\/li>\n<li><a href=\"https:\/\/www.drupal.org\/docs\/develop\/using-composer\/starting-a-site-using-drupal-composer-project-templates\" target=\"_blank\" rel=\"noopener\">Drupal \u2014 recommended-project, katalog web i Drush<\/a>.<\/li>\n<li><a href=\"https:\/\/www.drupal.org\/docs\/user_guide\/en\/install-run.html\" target=\"_blank\" rel=\"noopener\">Drupal \u2014 instalator i jego kontrole<\/a>.<\/li>\n<li><a href=\"https:\/\/www.drupal.org\/docs\/administering-a-drupal-site\/cron-automated-tasks\/cron-automated-tasks-overview\" target=\"_blank\" rel=\"noopener\">Drupal \u2014 dzia\u0142anie cron i raporty<\/a>.<\/li>\n<li><a href=\"https:\/\/getcomposer.org\/doc\/03-cli.md#check-platform-reqs\" target=\"_blank\" rel=\"noopener\">Composer \u2014 sprawdzenie rzeczywistych wymaga\u0144 \u015brodowiska<\/a>.<\/li>\n<\/ul>\n\n<\/div><\/div>\n\n<footer class=\"wp-block-group wb-footer\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group wb-wrap wb-footer-top\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group wb-footer-brand\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<figure class=\"wp-block-image size-full wb-brand\"><a href=\"https:\/\/webbay.pl\/blog\/\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"200\" src=\"https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/logo_templatemonster.jpg\" alt=\"WebBay \u2014 strona g\u0142\u00f3wna bloga\" class=\"wp-image-24\" srcset=\"https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/logo_templatemonster.jpg 600w, https:\/\/webbay.pl\/blog\/wp-content\/uploads\/2026\/10\/logo_templatemonster-300x100.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/figure>\n\n\n<p class=\"wb-footer-tagline wp-block-paragraph\">Lepsze pytania.<br> \u015awiadomy wyb\u00f3r hostingu.<\/p>\n\n<\/div><\/div>\n\n\n<div class=\"wp-block-group wb-footer-column\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading\">Odkrywaj<\/h3>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/webbay.pl\/blog\/#zastosowania\">Hosting wed\u0142ug zastosowania<\/a><\/p>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/webbay.pl\/blog\/#koszty\">Ceny i odnowienia<\/a><\/p>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/webbay.pl\/blog\/#problemy\">Pytania i odpowiedzi<\/a><\/p>\n\n<\/div><\/div>\n\n\n<div class=\"wp-block-group wb-footer-column\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading\">WebBay<\/h3>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/webbay.pl\/ranking-hostingow\/\">Ranking hosting\u00f3w \u2197<\/a><\/p>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/webbay.pl\/blog\/#metodologia\">Metodologia i afiliacja<\/a><\/p>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"mailto:contact@webbay.pl\">contact@webbay.pl<\/a><\/p>\n\n<\/div><\/div>\n\n<\/div><\/div>\n\n\n<div class=\"wp-block-group wb-wrap wb-footer-bottom\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u00a9 WebBay \u00b7 Centrum wiedzy o hostingu<\/p>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/webbay.pl\/blog\/\">Strona g\u0142\u00f3wna \u2192<\/a><\/p>\n\n<\/div><\/div>\n\n<\/div><\/footer>\n\n<\/div><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Autoinstalator nie sprawdzi ca\u0142ego procesu utrzymania. Por\u00f3wnaj PHP WWW i CLI, baz\u0119, katalog web, cron oraz mo\u017cliwo\u015b\u0107 odzyskania strony.<\/p>\n","protected":false},"author":2,"featured_media":737,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"hide","_kad_post_layout":"fullwidth","_kad_post_sidebar_id":"","_kad_post_content_style":"unboxed","_kad_post_vertical_padding":"hide","_kad_post_feature":"hide","_kad_post_feature_position":"","_kad_post_header":true,"_kad_post_footer":true,"_kad_post_classname":"","footnotes":""},"categories":[11],"tags":[],"class_list":["post-738","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technologie-i-wydajnosc"],"_links":{"self":[{"href":"https:\/\/webbay.pl\/blog\/wp-json\/wp\/v2\/posts\/738","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webbay.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webbay.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webbay.pl\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/webbay.pl\/blog\/wp-json\/wp\/v2\/comments?post=738"}],"version-history":[{"count":3,"href":"https:\/\/webbay.pl\/blog\/wp-json\/wp\/v2\/posts\/738\/revisions"}],"predecessor-version":[{"id":842,"href":"https:\/\/webbay.pl\/blog\/wp-json\/wp\/v2\/posts\/738\/revisions\/842"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webbay.pl\/blog\/wp-json\/wp\/v2\/media\/737"}],"wp:attachment":[{"href":"https:\/\/webbay.pl\/blog\/wp-json\/wp\/v2\/media?parent=738"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webbay.pl\/blog\/wp-json\/wp\/v2\/categories?post=738"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webbay.pl\/blog\/wp-json\/wp\/v2\/tags?post=738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}