PageSourceSearch

https://zap-hosting.com/guides/assets/js/0860d5d3.de07617b.js

js zap-hosting.com collected 2026-10-02 06:03:01 UTC 19,449 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([["21188"],{46135(e,t,n){n.r(t),n.d(t,{metadata:()=>s,default:()=>m,frontMatter:()=>c,contentTitle:()=>h,toc:()=>u,assets:()=>d});var s=JSON.parse('{"id":"vserver-linux-plesk","title":"Setup Plesk on a Linux Server - Manage Websites with a Powerful Control Panel","description":"Discover how to manage websites and servers efficiently with Plesk for beginners and experts alike \u2192 Learn more now","source":"@site/docs/vserver-linux-plesk.md","sourceDirName":".","slug":"/vserver-linux-plesk","permalink":"/guides/docs/vserver-linux-plesk","draft":false,"unlisted":false,"editUrl":"https://github.com/zaphosting/docs/tree/master/docs/vserver-linux-plesk.md","tags":[],"version":"current","lastUpdatedBy":"Florian Galz","lastUpdatedAt":1771587093000,"frontMatter":{"id":"vserver-linux-plesk","title":"Setup Plesk on a Linux Server - Manage Websites with a Powerful Control Panel","description":"Discover how to manage websites and servers efficiently with Plesk for beginners and experts alike \u2192 Learn more now","sidebar_label":"Install Plesk","services":["vserver","dedicated"]},"sidebar":"sidebarSoftwareServices","previous":{"title":"Install Plausible","permalink":"/guides/docs/vserver-linux-plausible"},"next":{"title":"Install Prologue","permalink":"/guides/docs/server-linux-prologue"}}'),a=n(74848),l=n(28453),i=n(34070),r=n(50773),o=n(57250);let c={id:"vserver-linux-plesk",title:"Setup Plesk on a Linux Server - Manage Websites with a Powerful Control Panel",description:"Discover how to manage websites and servers efficiently with Plesk for beginners and experts alike \u2192 Learn more now",sidebar_label:"Install Plesk",services:["vserver","dedicated"]},h,d={},u=[{value:"Introduction",id:"introduction",level:2},{value:"Install Plesk",id:"install-plesk",level:2},{value:"Starting the installation",id:"starting-the-installation",level:2},{value:"Open the Web Installer",id:"open-the-web-installer",level:2},{value:"The Plesk Web Panel",id:"the-plesk-web-panel",level:2},{value:"Setup",id:"setup",level:3},{value:"Set language",id:"set-language",level:3},{value:"Add domain",id:"add-domain",level:3},{value:"SSL encryption",id:"ssl-encryption",level:2},{value:"Conclusion",id:"conclusion",level:2}];function p(e){let t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,l.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,a.jsx)(t.p,{children:"Plesk is a comprehensive web hosting and server management platform that allows users to manage websites, servers, email accounts and more through a user-friendly interface. It is a versatile solution that is suitable for beginners as well as experienced web developers and system administrators."}),"\n",(0,a.jsx)(i.A,{}),"\n",(0,a.jsx)(t.h2,{id:"install-plesk",children:"Install Plesk"}),"\n",(0,a.jsx)(t.admonition,{type:"info",children:(0,a.jsx)(t.p,{children:"Before installing, run apt update and apt upgrade so that the latest packages are installed on the server."})}),"\n",(0,a.jsx)(t.p,{children:"Plesk can currently only be installed on Debian 9 (Strech), Debian 10 (Buster), Ubuntu 18.04 (Bionic Beaver), Ubuntu 20.04 (Focal Fossa), CentOS 7/8, Red Hat Enterprise Linux 7.x/8.x, CloudLinux 7.1+/8, AlmaLinux OS, Rocky Linux 8.x and Virtuozzo Linux 7. The architecture must be 64-bit."}),"\n",(0,a.jsx)(t.p,{children:"The connection to the server can be made via Putty, for example."}),"\n",(0,a.jsx)(t.h2,{id:"starting-the-installation",children:"Starting the installation"}),"\n","\n",(0,a.jsxs)(r.A,{children:[(0,a.jsxs)(o.A,{value:"One-Click Installation",label:"One-Click Installation",default:!0,children:[(0,a.jsx)(t.p,{children:"For Plesk to install fully automatically with the standard components and features used by most Plesk users, only one command is required:"}),(0,a.jsxs)(t.blockquote,{children:["\n",(0,a.jsx)(t.p,{children:"The Plesk installer always installs the latest/most recent version of Plesk. It may happen that the graphics/screenshots shown here do not show the latest/most recent version of Plesk."}),"\n"]}),(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{children:"sh <(curl https://autoinstall.plesk.com/one-click-installer || wget -O - https://autoinstall.plesk.com/one-click-installer)\n"})}),(0,a.jsx)(t.admonition,{type:"info",children:(0,a.jsxs)(t.p,{children:['If this error is displayed: "-bash: curl: command not found" you have to reload the package with ',(0,a.jsx)(t.code,{children:"apt install curl"}),"."]})}),(0,a.jsx)(t.p,{children:"Once this command has been executed, it usually takes between 15 and 60 minutes to fully install Plesk."}),(0,a.jsx)(t.admonition,{type:"info",children:(0,a.jsx)(t.p,{children:"The SSH session must not be closed while the installer is still active. This would otherwise lead to termination."})}),(0,a.jsx)(t.p,{children:"Also, the server would have to be reinstalled to restart the installer.\nIf the installer is restarted without first reinstalling the server, there will be problems with non-functioning features during the installation or in the Plesk panel itself."}),(0,a.jsx)(t.admonition,{type:"info",children:(0,a.jsx)(t.p,{children:'It c
1an happen that it looks like the installer is "stuck", in 99% of the cases the installer will continue to run after a few minutes, because it still has to configure packages/configs and co.'})}),(0,a.jsx)(t.p,{children:"The installation is complete when this is displayed"}),(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{src:"https://screensaver01.zap-hosting.com/index.php/s/9o6bEzBr8rCAWzf/preview",alt:""})})]}),(0,a.jsxs)(o.A,{value:"Web Installation",label:"Web Installation",children:[(0,a.jsx)(t.p,{children:"Only a few commands are needed to install Plesk via the Web."}),(0,a.jsx)(t.admonition,{type:"info",children:(0,a.jsx)(t.p,{children:"The Plesk installer always installs the latest/most recent version of Plesk. It may happen that the graphics/screenshots shown here do not show the latest/most recent version of Plesk."})}),(0,a.jsx)(t.p,{children:"Download the Plesk Installer:"}),(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{children:"wget https://autoinstall.plesk.com/plesk-installer\n"})}),(0,a.jsx)(t.p,{children:"Set correct authorization:"}),(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{children:"chmod +x plesk-installer\n"})}),(0,a.jsx)(t.p,{children:"Start the installer:"}),(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{children:"./plesk-installer --web-interface\n"})})]}),(0,a.jsxs)(o.A,{value:"Konsolen Installation",label:"Konsolen Installation",children:[(0,a.jsx)(t.p,{children:"Only a few commands are required to install Plesk via the console."}),(0,a.jsx)(t.admonition,{type:"info",children:(0,a.jsx)(t.p,{children:"The Plesk installer always installs the latest/most recent version of Plesk. It may happen that the graphics/screenshots shown here do not show the latest/most recent version of Plesk."})}),(0,a.jsx)(t.p,{children:"Download the installer:"}),(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{children:"wget https://autoinstall.plesk.com/plesk-installer\n"})}),(0,a.jsx)(t.p,{children:"Set correct authorization:"}),(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{children:"chmod +x plesk-installer\n"})}),(0,a.jsx)(t.p,{children:"Start the installer:"}),(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{children:"./plesk-installer\n"})}),(0,a.jsx)(t.p,{children:'Once the three startup commands have been executed, the license must be approved with "F":'}),(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{src:"https://screensaver01.zap-hosting.com/index.php/s/XrCa3WYALoDx6H3/preview",alt:""})}),(0,a.jsx)(t.p,{children:'After approval, the system will ask which Plesk to install. In this case Plesk Obsidian or Plesk Onyx. It will also indicate which is the more stable one. Usually a "stable" version is used for productive use. Since the selected options already point to the stable version, confirm this again with "F".'}),(0,a.jsx)(t.p,{children:'The question of whether Plesk may collect data for product improvement can be answered with "Y"(Yes) or "n"(No).'}),(0,a.jsx)(t.p,{children:'After answering, the system will ask you what type of the selected Plesk version you want to install. Usually the type "Recommended" already set is sufficient. Modules that may not be installed later but are needed can be installed in the Plesk panel.'}),(0,a.jsx)(t.p,{children:'The next question whether packages may be installed/upgraded is confirmed with "F".'}),(0,a.jsx)(t.p,{children:"Now the installer starts the installation."}),(0,a.jsx)(t.admonition,{type:"info",children:(0,a.jsx)(t.p,{children:"The SSH session must not be closed while the installer is still active. This would lead to an abort and the server would have to be reinstalled for the installer to restart."})}),(0,a.jsx)(t.p,{children:'It can happen that it looks like the installer is "stuck", in 99% of the cases the installer continues running after a few minutes, because it has to configure packages/configs and co.'}),(0,a.jsx)(t.p,{children:"The installation is complete as soon as the following appears:"}),(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{src:"https://screensaver01.zap-hosting.com/index.php/s/8K5p6RHapwYDfZY/preview",alt:""})})]})]}),"\n",(0,a.jsx)(t.h2,{id:"open-the-web-installer",children:"Open the Web Installer"}),"\n",(0,a.jsxs)(t.p,{children:["After the installer has been started, the installation is carried out in the browser. The installation page can be reached via ",(0,a.jsx)(t.a,{href:"https://IP:8447",children:"https://IP:8447"})," or via ",(0,a.jsx)(t.a,{href:"https://Domain.xx:8447",children:"https://Domain.xx:8447"}),"."]}),"\n",(0,a.jsx)(t.h2,{id:"the-plesk-web-panel",children:"The Plesk Web Panel"}),"\n",(0,a.jsx)(t.admonition,{type:"info",children:(0,a.jsx)(t.p,{children:'The following is displayed when calling the Web Panel: "This is not a secure connection". This must be confirmed the first time, then the page opens.'})}),"\n",(0,a.jsxs)(t.p,{children:["The web interface can be reached via ",(0,a.jsx)(t.a,{href:"https://IP:8443",children:"https://IP:8443"})," or ",(0,a.jsx)(t.a,{href:"https://Domain.xx:8443",children:"https://Domain.xx:8443"})," of the server. The login data is root/admin and the current root password. Alternatively you can simply use one of the displayed URLs. If these are no longer valid, you can create new URLs with the command ",(0,a.jsx)(t.code,{children:"plesk login"}),"."]}),"\n",(0,a.jsx)(t.h3,{id:"setup",children:"Setup"}),"\n",(0,a.jsx)(t.p,{children:"As soon as the registration was successful, the Admin Account must be set up. A contact name, an e-mail and a password must be entered. If you already have a Plesk license, you can enter it directly. Alternatively, a 15-day trial license can be requested from Plesk. Finally, the user contract must be confirmed.\nPlesk can now be used."}),"\n",(0,a.jsx)(t.h3,{id:"set-language",children:"Set language"}),"\n",(0,a.jsx)(t.p,{children:'After installation, the Plesk panel is in English, the German language can be set or selected under Tools&Settings \u27A1\uFE0F Plesk Appearance \u27A1\uFE0F Languages. There "de-DE" must be selected. Afterwards the language can be set permanently for all by clicking on "Make default".\nAfter a logout and login you will find the Plesk panel in German.'}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{src:"https://screensaver01.zap-hosting.com/index.php/s/6Wo8Qz3oMXGzn3t/preview",alt:""})}),"\n",(0,a.jsx)(t.h3,{id:"add-domain",children:"Add domain"}),"\n",(0,a.jsx)(t.p,{children:'To add the first domain click on the blue button "Add domain".'}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{src:"https://screensaver01.zap-hosting.com/index.php/s/2S4mgRPctffS452/preview",alt:""})}),"\n",(0,a.jsx)(t.p,{children:'Now the own domain can be entered. Also an IP as well as a user name and password for the web space of the domain must be defined. If the subdoimain "www" is already entered in the DNS of the domain, an SSL certificate from Let\'s Encrypt can be created directly. This option can be selected, after entering a mail address, it is confirmed on the blue "OK" button.'}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{src:"https://screensaver01.zap-hosting.com/index.php/s/SLSBz5TRH2mDBB8/preview",alt:""})}),"\n",(0,a.jsxs)(t.admonition,{type:"info",children:[(0,a.jsx)(t.p,{children:'The domain must point to the IP of the webspace, if the domain is ZAP-hosting, it can be easily redirected to the webspace via EasyDNS, if it is external, an A-record must be set to the IP and the subdomain "www", "webmail" must also point to the IP. An MX record should also be set to the IP of the web space.'}),(0,a.jsx)(t.p,{children:"It can take up to 24 hours until a new/changed DNS entry is forwarded to the correct destination."})]}),"\n",(0,a.jsx)(t.h2,{id:"ssl-encryption",children:"SSL encryption"}),"\n",(0,a.jsx)(t.p,{children:'During the domain registration/creation of the web space, an SSL certificate from Let\'s Encrypt was already generated, this can now be entered/selected under "Hosting settings" of the domain. Afterwards it must confirm with a click on "Apply".'}),"\n",(0,a.jsx)(t.admonition,{type:"info",children:(0,a.jsx)(t.p,{children:'In order to be permanently redirected to HTTPS (SSL) when calling up the web page, the checkbox "Permanent, SEO-suitable 301 forwarding from HTTP to HTTPS" must be checked.'})}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{src:"https://screensaver01.zap-hosting.com/index.php/s/HL4tcnTqJtX7be9/preview",alt:""})}),"\n",(0,a.jsx)(t.p,{children:"If the domain is now opened in the browser, it shows its encryption."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{src:"https://screensaver01.zap-hosting.com/index.php/s/xcqwAQWK77X3yip/preview",alt:""})}),"\n",(0,a.jsx)(t.admonition,{type:"info",children:(0,a.jsx)(t.p,{children:"The installation as well as the setup of the first domain with encryption is now completely finished."})}),"\n",(0,a.jsx)(t.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,a.jsx)(t.p,{children:"Congratulations, you have successfully installed and configured Plesk! If you have any further questions or problems, please contact our support team, who are available to help you every day!"}),"\n",(0,a.jsx)(i.A,{})]})}function m(e={}){let{wrapper:t}={...(0,l.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(p,{...e})}):p(e)}},57250(e,t,n){n.d(t,{A:()=>r});var s=n(74848);n(96540);var a=n(34164),l=n(57663);function i({children:e,className:t,hidden:n}){return(0,s.jsx)("div",{role:"tabpanel",className:(0,a.A)("tabItem_Ymn6",t),hidden:n,children:e})}function r({children:e,className:t,value:n}){let{selectedValue:a,lazy:o}=(0,l.uc)(),c=n===a;return!c&&o?null:(0,s.jsx)(i,{className:t,hidden:!c,children:e})}},50773(e,t,n){n.d(t,{A:()=>u});var s=n(74848);n(96540);var a=n(34164),l=n(88287),i=n(57663),r=n(28584),o=n(19863);function c({className:e}){let{selectedValue:t,selectValue:n,tabValues:l,block:o}=(0,i.uc)(),h=[],{blockElementScrollPositionUntilNextRender:d}=(0,r.a_)(),u=e=>{let s=e.currentTarget,a=l[h.indexOf(s)].value;a!==t&&(d(s),n(a))},p=e=>{let t=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let n=h.indexOf(e.currentTarget)+1;t=h[n]??h[0];break}case"ArrowLeft":{let n=h.indexOf(e.currentTarget)-1;t=h[n]??h[h.length-1]}}t?.focus()};return(0,s.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.A)("tabs",{"tabs--block":o},e),children:l.map(({value:e,label:n,attributes:l})=>(0,s.jsx)("li",{role:"tab",tabIndex:t===e?0:-1,"aria-selected":t===e,ref:e=>{h.push(e)},onKeyDown:p,onClick:u,...l,className:(0,a.A)("tabs__item","tabItem_LNqP",l?.className,{"tabs__item--active":t===e}),children:n??e},e))})}function h({children:e}){return(0,s.jsx)("div",{className:"margin-top--md",children:e})}function d({className:e,children:t}){return(0,s.jsxs)("div",{className:(0,a.A)(l.G.tabs.container,"tabs-container","tabList__CuJ"),children:[(0,s.jsx)(c,{className:e}),(0,s.jsx)(h,{children:t})]})}function u(e){let t=(0,o.A)(),n=(0,i.OC)(e);return(0,s.jsx)(i.O_,{value:n,children:(0,s.jsx)(d,{className:e.className,children:(0,i.vT)(e.children)})},String(t))}},57663(e,t,n){n.d(t,{OC:()=>u,O_:()=>f,uc:()=>m,vT:()=>h});var s=n(74848),a=n(96540),l=n(56347),i=n(99989),r=n(96629),o=n(80618),c=n(41367);function h(e){return a.Children.toArray(e).filter(e=>"\n"!==e)}function d({value:e,tabValues:t}){return t.some(t=>t.value===e)}function u(e){let t,{defaultValue:n,queryString:s=!1,groupId:h}=e,u=function(e){let{values:t,children:n}=e;return(0,a.useMemo)(()=>{let e=t??a.Children.toArray(n).flatMap(e=>{if(!e)return[];if((0,a.isValidElement)(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return[e];
1let t="string"==typeof e.type?e.type:e.type.name;throw Error(`Docusaurus error: Bad <Tabs> child <${t}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.
2If you do not want to pass on a "value" prop to the direct children of <Tabs>, you can also pass an explicit <Tabs values={...}> prop.`)}).map(({props:{value:e,label:t,attributes:n,default:s}})=>({value:e,label:t,attributes:n,default:s})),s=(0,o.XI)(e,(e,t)=>e.value===t.value);if(s.length>0)throw Error(`Docusaurus error: Duplicate values "${s.map(e=>`'${e.value}'`).join(", ")}" found in <Tabs>. Every value needs to be unique.`);return e},[t,n])}(e),[p,m]=(0,a.useState)(()=>(function({defaultValue:e,tabValues:t}){if(0===t.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(e){if(!d({value:e,tabValues:t}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}let n=t.find(e=>e.default)??t[0];if(!n)throw Error("Unexpected error: 0 tabValues");return n.value})({defaultValue:n,tabValues:u})),[f,x]=function({queryString:e=!1,groupId:t}){let n=(0,l.W6)(),s=function({queryString:e=!1,groupId:t}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!t)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:e,groupId:t});return[(0,r.aZ)(s),(0,a.useCallback)(e=>{if(!s)return;let t=new URLSearchParams(n.location.search);t.set(s,e),n.replace({...n.location,search:t.toString()})},[s,n])]}({queryString:s,groupId:h}),[b,v]=function({groupId:e}){let t=e?`docusaurus.tab.${e}`:null,[n,s]=(0,c.Dv)(t);return[n,(0,a.useCallback)(e=>{t&&s.set(e)},[t,s])]}({groupId:h}),w=d({value:t=f??b,tabValues:u})?t:null;return(0,i.A)(()=>{w&&m(w)},[w]),{selectedValue:p,selectValue:(0,a.useCallback)(e=>{if(!d({value:e,tabValues:u}))throw Error(`Can't select invalid tab value=${e}`);m(e),x(e),v(e)},[x,v,u]),tabValues:u,lazy:e.lazy??!1,block:e.block??!1}}let p=(0,a.createContext)(null);function m(){let e=a.useContext(p);if(!e)throw Error("useTabsContext() must be used within a Tabs component");return e}function f(e){return(0,s.jsx)(p.Provider,{value:e.value,children:e.children})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.