Plesk diegimas Ubuntu - Žingsnis po žingsnio vadovas sėkmingam Plesk Ubuntu diegimui

Dviem sakiniais jums parodysiu, kaip plesk ubuntu ir paruošti jį prieglobai. Remdamiesi šiomis instrukcijomis galite saugiai įdiegti "Plesk", išvengti tipinių klaidų ir greitai sukurti svetaines, el. paštą ir duomenų bazes.

Centriniai taškai

  • Būtinosios sąlygosPatikrinkite palaikomas "Ubuntu" versijas, operatyviąją atmintį, procesorių, saugojimo vietą.
  • ĮrengimasAtnaujinkite sistemą, atidarykite ugniasienės prievadus, paleiskite diegimo programą.
  • ApsaugaĮjungti SSL, atnaujinimus, "Fail2Ban" ir ugniasienę iškart po sąrankos.
  • KonfigūracijaSukurkite administratoriaus prieigą, licenciją, domenus, el. paštą ir duomenų bazes.
  • VeikimasPasirinkite PHP versiją, įjunkite HTTP/2, naudokite spartinimą ir stebėjimą.

Kas yra "Plesk"? Trumpas paaiškinimas

"Plesk" yra Valdymo skydelis serveriams, kuriuos naudoju centralizuotai valdyti svetaines, duomenų bazes, el. paštą ir saugumo funkcijas. Dirbu per naršyklę ir įprastas užduotis atlieku be ilgų konsolės įrašų. Sąsaja siūlo aiškius meniu pradedantiesiems, o profesionalai vertina automatizavimą ir plėtinius. Tokius modulius, kaip "WordPress Toolkit", atsarginių kopijų kūrimas ar stebėjimas, įdiegiu vos keliais spustelėjimais. Svetainėje Ubuntu "Plesk" veikia patikimai ir reguliariai atnaujinama.

Sistemos reikalavimai ir suderinamumas

Prieš diegdamas "Plesk", patikrinu Techninė įranga ir palaikomą "Ubuntu" versiją. Jei naudojate produktyvią konfigūraciją, reikalauju 2 GB RAM arba daugiau ir bent 40-50 GB vietos saugykloje. Švarus tinklo ryšys man padeda sutaupyti rūpesčių atsisiunčiant paketus. Kompiuterį laikau kuo taupesnį ir apsieinu be kitų plokščių. Toliau pateiktoje lentelėje nurodyti svarbiausi iš jų Vertybės iš pirmo žvilgsnio.

Komponentas Minimalus Rekomendacija Užuomina
Ubuntu 18.04/20.04/22.04 LTS (64 bitų) 20.04 arba 22.04 LTS LTS versijos tampa ilgos Atnaujinimai
CPU 1 GHz, 64 bitų 2+ vCPU Spartinkite daugiau branduolių Sukuria
RAM 1 GB + 1 GB apsikeitimo 2-4 GB RAM Daugiau operatyviosios atminties WordPress-Hostingas
Atmintis 20 GB 40-80 GB Pakankamai vietos Atsarginės kopijos
Grynasis Atidarytas išeinantis HTTP/HTTPS Mažas vėlavimas Svarbu Atnaujinimai ir montuotojas

Paruošti serverį: švarus Ubuntu

Pradedu nuo naujo Serveris be kitų skydelių, pavyzdžiui, "cPanel" ar "Webmin". Taip išvengiama paketų konfliktų ir vėliau nereikia spręsti problemų. Tinkamai nustatau prieglobos vardą, geriausiai kaip FQDN, pvz., panel.yourdomain.tld. Paketų šaltinius apriboju iki minimumo ir palieku aktyvias tik standartines saugyklas. Profesionaliems projektams atkreipiu dėmesį į SSD-atmintis ir pakankamas I/O našumas.

1 veiksmas: Atnaujinkite sistemą

Pirmiausia atnaujinu Sistemakad bibliotekos ir branduoliai būtų atnaujinti. Taip užpildysiu saugumo spragas ir sumažinsiu nesuderinamumą. Atnaujinimas atliekamas greitai ir jį reikia perkrauti tik tuo atveju, jei pasikeičia branduolys. Po perkrovimo patikrinu prieinamumą per SSH. Naudoju šias komandas Ubuntu prieš kiekvieną montavimą:

sudo apt update && sudo apt upgrade -y
[ -e /var/run/reboot-required ] && sudo reboot

2 veiksmas: atidarykite ugniasienę

Leidžiu svarbiausią Prievadai UFW, kad būtų galima naudotis žiniatinkliu ir skydeliu. Be 80/443 prievadų svetainėms, "Plesk" reikia ir savų administravimo prievadų. Aktyvavus, vėliau per naršyklę patikrinu prieinamumą. Aiški apžvalga padeda atlikti patikrinimus ir auditą. Lentelėje pateikiami įprasti Taisyklės:

Uostas Protokolas Tikslas Komentaras
80 TCP HTTP Prieiga prie žiniatinklio be SSL
443 TCP HTTPS Prieiga per žiniatinklį su TLS
8443 TCP "Plesk" skydelis Prisijunkite prie Prietaisų skydelis
8880 TCP Plesk HTTP Nešifruotas Prieiga (retas)
8447 TCP Montuotojas Atnaujinimai ir Priedai
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 8443/tcp
sudo ufw allow 8880/tcp
sudo ufw allow 8447/tcp
sudo ufw enable
sudo ufw reload

3 žingsnis: Įrankiai ir diegimo programa

Atsisiuntimui naudoju wget arba garbanoti, priklausomai nuo jūsų pageidavimų. Jei trūksta wget, įdiegiu jį trumpa komanda. Tada atsisiųsiu diegimo programą iš "Plesk" ir padarau ją vykdytina. Palieku atidarytą konsolę, kad galėčiau iš karto matyti atsiliepimus. Taip išlaikoma Procedūra suprantamas:

sudo apt install -y wget
wget https://autoinstall.plesk.com/plesk-installer
sudo chmod 755 plesk-installer

4 žingsnis: Pradėkite "Plesk" diegimą

Diegimą pradedu arba Konsolė arba per žiniatinklio sąsają. Norėdamas atlikti vadovaujamą sąranką, mėgstu naudoti žiniatinklio versiją, kuri tiesiogiai pateikia URL adresą. Naršyklėje pasirenku rekomenduojamą komponentų pasirinkimą, nustatau kalbą ir patvirtinu licencijos sąlygas. Arba dirbu su vieno spustelėjimo diegimo programa ir standartiniai moduliai nustatomi automatiškai. Galima naudoti šias komandas Pasirinkimas:

sudo ./plesk-installer --web-interface
# arba vienas spustelėjimas
sh <(curl https://autoinstall.plesk.com/one-click-installer || wget -O - https://autoinstall.plesk.com/one-click-installer)

5 veiksmas: pradinė sąranka naršyklėje

Po įdiegimo skambinu https://SERVER-IP:8443 ir prisijunkite su root arba administratoriaus paskyra. Nustatau aiškų administratoriaus vardą, pranešimo el. pašto adresą ir stiprų slaptažodį. Jei neturiu licencijos, greitai aktyvuoju bandomąją versiją, o sprendimą priimu vėliau. Įrankio nustatymuose taip pat patikrinu laiko juostą, kalbą ir kompiuterio pavadinimą. Skydelis iš karto pradeda veikti naudingai Numatytosios reikšmės.

Nedelsiant nustatykite apsaugą

Iš karto po prisijungimo aktyvuoju SSL per "Let's Encrypt", skirtą skydeliui ir mano domenams. Komponentus atnaujinu per "Plesk" atnaujinimo programą, kad saugumo pataisos būtų aktyvios iš karto. Fail2Ban ir "Plesk" ugniasienė gerokai sumažina atakų paviršių. Taip pat nustatau griežtas slaptažodžių taisykles ir išjungiu nenaudojamas paslaugas. Naudodami šias priemones Žingsniai Riziką sumažinu jau pirmąją dieną.

Tvarkykite svetaines, el. paštą, duomenų bazes

Pirmiausia įdedu Domenas ir priskirkite jį žiniatinklio erdvei. Tada nustatiau SSL sertifikatą, PHP versiją ir taikomosios programos duomenų bazę. Naudoju "WordPress" įrankių rinkinį, kuriame siūlomi atnaujinimai, saugumo patikros ir inscenizacija. Nustatau el. pašto paskyras su kvotomis ir apsauga nuo nepageidaujamų laiškų. Tai man padeda struktūrizuotai pradėti Pirmųjų žingsnių vadovas su praktine seka, įskaitant Kontrolinis sąrašas.

PHP 8.2 našumui

Greitoms svetainėms renkuosi modernią PHP-versija, pavyzdžiui, 8.2, ir įjunkite PHP-FPM. Patikrinu savo programų suderinamumą ir, jei reikia, perjungiu versijas kiekvienam domenui. OPcache turėtų būti aktyvi, kad pastebimai sumažėtų atsako laikas. Skaitau klaidų žurnalus "Plesk" programoje, kad pritaikyčiau plėtinius. Šiame straipsnyje pateikiama išsamesnė informacija apie PHP 8.2 in Plesk su apčiuopiamais Patarimai.

Suaktyvinti HTTP/2

Kad krovimo laikas būtų trumpesnis, įjungiu HTTP/2 žiniatinklio serveryje ir naudokite TLS su naujausiu šifrų rinkiniu. Šis protokolas turi didelių privalumų, ypač daug turto. Konfigūraciją išbandau naudodamas įprastas priemones ir stebėdamas stebiu vėlavimus. Jei reikia, sumažinu išteklius arba naudoju suspaudimą. Praktinis vadovas HTTP/2 palaikymas padeda su protinga Nustatymai.

Automatizavimas, atsarginių kopijų kūrimas ir stebėjimas

Nustatau reguliariai Atsarginės kopijos vietoje ir, jei reikia, nuotolinėje saugykloje, pavyzdžiui, su S3 suderinamose paskirties vietose. Užkirsiu kelią rotacijai, taikydamas aiškias saugojimo taisykles ir pranešimus apie klaidas. "Plesk" stebėjimas rodo man apkrovą, operatyviąją atmintį ir paslaugas, kad galėčiau greitai atpažinti kliūtis. Pasikartojančioms užduotims naudoju užduočių planuoklius ir kabliukus. Tai leidžia man planuoti prieglobą ir taupyti Laikas kasdieniame gyvenime.

Tinkamai nustatykite DNS, paštą ir pristatomumą

Norėdamas užtikrinti, kad el. laiškai ateitų patikimai, tinkamai nustačiau DNS. Nustatau domenų A/AAAA įrašus, serverio IP adreso PTR įrašą (atvirkštinį DNS) ir teisingus MX įrašus. Per "Plesk" aktyvuoju šiuos įrašus SPF (TXT įrašas v=spf1), DKIM-parašai ir DMARC su vidutinio sunkumo politika (pvz., p=karantinas). Pašto serverio HELO tapatybė turi sutapti su kompiuterio pavadinimu. Išeinantiems laiškams riboju tarifus, kad sumažėtų nepageidaujamų laiškų rizika, ir stebiu grįžtančius laiškus. Jei DNS nevaldau "Plesk" sistemoje, įrašus perduodu būtent registratoriui / išoriniam DNS.

# pavyzdys SPF (tik serveris + leistini paslaugų teikėjai)
v=spf1 ip4:SERVER-IP include:_spf.provider.tld -all

# Minimalus DMARC įrašas (pradėkite atsargiai)
v=DMARC1; p=quarantine; rua=mailto:[email protected]; fo=1

Jei naudoju "Plesk" kaip pašto serverį, taip pat atidarau pašto prievadus ir aktyvuoju TLS. Į kliento dokumentaciją įtraukiu IMAPS/SMTPS ir rekomenduoju naudoti šiuolaikinius prievadus (587/465), o ne 25 prievadą.

# Neprivaloma: pašto ir DNS prievadai UFW (tik jei reikia!)
sudo ufw allow 25,465,587/tcp # SMTP/SMTPS/Submission
sudo ufw allow 110,995/tcp # POP3/POP3S
sudo ufw allow 143,993/tcp # IMAP/IMAPS
sudo ufw allow 53/tcp
sudo ufw allow 53/udp
sudo ufw reload

Vartotojai, prenumeratos ir paslaugų planai

Dėl organizuotumo ir mastelio, aš struktūrizuoju "Plesk" su Paslaugų planai ir Prenumeratos. Nustatau ribas (domenų, saugyklų, el. pašto paskyrų, duomenų bazių) ir naudoju jas kurdamas planus. Kiekvienas klientas arba projektas gauna prenumeratą, įskaitant savo sistemos vartotoją ir FTP / SFTP prieigą. Naudoju prieglobos nustatymų šablonus, kad automatizuotai nustatyčiau PHP versiją, žiniatinklio serverio režimą ir numatytuosius katalogus. Agentūroms ar perpardavėjams nustatau granuliuotus vaidmenis ir įgaliojimus, kad būtų matomos tik reikiamos sritys. Taip išvengiu nekontroliuojamo augimo ir galiu patikimai apskaičiuoti išteklius.

Tiksliai sureguliuokite žiniatinklio serverio steką

Plesk paprastai naudoja "Nginx" prieš "Apache kaip atvirkštinis tarpininkas. Tik "Nginx" gali būti naudingas tik statiniams puslapiams arba "headless" sąrankoms. Įjungiu HTTP/2nustatyti suspaudimą (gzip arba brotli, jei įmanoma) ir optimizuoti "keep-alive" reikšmes. Domeno nustatymuose tikrinu spartinančiosios antraštės, tarpinio serverio buferio ir žiniatinklio programų užkardos (WAF/ModSecurity) parametrus. Esant daug vienalaikių prisijungimų, padidinu darbuotojų prisijungimus ir stebėdamas stebiu poveikį. Dėl TVS apkrovos įjungiu PHP-FPM kiekvienam domenui ir nustatau atitinkamas pm.max_children reikšmes, atsižvelgdamas į operatyviąją atmintį ir vidutinį užklausų skaičių.

# PHP-FPM orientavimas (vienam domenui, pritaikykite!)
pm = dinaminis
pm.max_children = 8
pm.max_requests = 500
pm.max_spare_servers = 4

Duomenų bazės ir našumas

Man labiau patinka MariaDB kaip "MySQL" pakaitalą ir aktyvuokite lėtą užklausų žurnalą, kad rastumėte kliūtis. Siekdamas geresnio našumo, pritaikau "InnoDB" parametrus, išbandau pakeitimus ir matuoju naudodamas realius apkrovos profilius. Didesniems egzemplioriams naudingas atskiras duomenų diskas ir nuotolinė DB, kad žiniatinklis ir duomenų bazė būtų atskirti. Atsargines kopijas planuoju palaipsniui ir vengiu pilno atsarginių kopijų kūrimo piko metu.

# Pavyzdys my.cnf (apytikslės reikšmės, priklausomai nuo operatyviosios atminties ir apkrovos)
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_flush_method = O_DIRECT
tmp_table_size = 128M
max_heap_table_size = 128M
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1

Tinklas, IPv6 ir kompiuterio pavadinimas

Skiriu FQDN kaip kompiuterio vardą, kuris nurodo į serverio IP per A/AAAA. Nuosekliai nustatau atvirkštinį DNS (PTR), kad pašto serveris ir skaitytuvas klasifikuotų kompiuterį kaip patikimą. Jei serveris turi IPv6, sukonfigūruoju AAAA įrašus ir išbandau ping ir interneto prieigą. Norint, kad vėlavimas būtų artimas geo ir greitas TLS rankų paspaudimas, verta pasidomėti tinklo situacija (regionas, paslaugų teikėjas, peeringas). Debesų aplinkose, be UFW, dokumentuoju saugumo grupes, kad nė viena taisyklė nebūtų blokuojama du kartus.

Automatizavimas naudojant CLI ir užduotis

Be grafinės vartotojo sąsajos, naudoju Plesk CLI scenarijams ir pasikartojančioms užduotims. Taip galiu dokumentuoti pakeitimus kaip kodą ir atkurti nustatymus. Savo scenarijus versijuoju ir pirmiausia juos išbandau etapinėje instancijoje.

# Vienkartinė prisijungimo prie skydelio nuoroda (praktiška po įdiegimo)
sudo plesk login

# Nustatykite / pakeiskite administratoriaus slaptažodį
sudo plesk bin admin --set-password -passwd 'SecurePassword!

# Automatiškai sukurti domeną (pavyzdys)
sudo plesk bin domain --create example.tld -owner admin -ip 203.0.113.10 -ssl true

# Reguliarūs atnaujinimai per cron (venkite ne techninės priežiūros langų metu)
sudo plesk installer update

# Remonto priemonė, jei kyla problemų
sudo plesk repair all -y

Planuoju atsarginių kopijų, ataskaitų ir sveikatos patikrinimų cronjobs. Projektuose naudoju kabliukus (pvz., sukūrus domeną), kad automatiškai įdiegčiau standartinius failus, "Git" dieginius arba saugumo profilius.

Migracija ir perkėlimas

Jei perkeliu iš kito serverio, pirmiausia sumažinu DNS-TTLkad perjungimas būtų greitesnis. Naudoju "Plesk Migrator", kad patikrinčiau pradinę ir tikslinę aplinką, perkelčiau domenus, duomenų bazes, el. laiškus ir "cron" užduotis. Prieš perjungdamas DNS suplanuoju priežiūros langą ir išbandau tikslinę aplinką, pritaikydamas hosts failą. Kol vyksta perjungimas, įšaldau šaltinio sistemos pakeitimus (kodo įšaldymas), kad išvengčiau duomenų neatitikimų. Po perjungimo stebiu žurnalus ir pristatymo rodiklius ir, jei reikia, pasirinktinai atsuku atgal.

Techninė priežiūra, atnaujinimai ir atšaukimo strategija

Aktyvuoju neprižiūrimi atnaujinimai saugumo atnaujinimus ir suplanuoti "Plesk" komponentų atnaujinimus techninės priežiūros lange. Prieš kiekvieną didesnį pakeitimą darau momentinę arba pilną atsarginę kopiją, įskaitant duomenų bazes ir paštą. Reguliariai testuoju atkūrimo procesus ir juos dokumentuoju. Kad atnaujinimai vyktų sklandžiai, palaikau taupią sistemą, pašalinu senas PHP versijas ir sutvarkau žurnalų failus (žurnalo rotacija, žurnalo ribos). Stebiu svarbiausias paslaugas, naudodamas pranešimus, kad galėčiau laiku reaguoti.

# Automatizuoti saugumo atnaujinimus (Ubuntu)
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

# Apriboti žurnalo dydį (Journald, pavyzdys)
sudo sed -i 's/#SystemMaxUse=.*/SystemMaxUse=500M/' /etc/systemd/journald.conf
sudo systemctl restart systemd-journald

Didesnė sauga ir sustiprinimas

Be ugniasienės, SSL ir "Fail2Ban", saugau SSH su autentifikavimo raktu ir išjungti prisijungimus slaptažodžiu. Nustatau "Plesk" paskyrų 2 veiksnių autentifikavimą, užtikrinu stiprius slaptažodžius ir apriboju API prieigą. Įjungiu atnaujintą WAF taisyklių rinkinį ir stebiu klaidingus pavojaus signalus, kad kiekvienai programai apibrėžčiau reikšmingas išimtis. Nuosekliai išjungiu nenaudojamas sistemos paslaugas. Aktyvuoju apsaugą nuo brutalios jėgos interneto paštui ir apsaugau standartinius URL adresus, kad robotai turėtų mažiau galimybių atakuoti.

# SSH grūdinimas (pavyzdys)
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl reload sshd

Spąstai ir trikčių šalinimas

Jei skydelis nepasiekiamas, pirmiausia patikrinu Ugniasienė ir skambinkite į IP, kurio prievadas 8443. Jei naršyklė rodo sertifikato įspėjimus, nustatau galiojantį Let's Encrypt sertifikatą skydeliui. Licencijos klaidas išsprendžiu iš naujo įvesdamas licenciją arba laikinai aktyvuodamas bandomąją licenciją. Paketų konfliktų atveju man dažnai padėdavo šviežia sistema be kitų skydelių. Jei nepakanka atminties, perkeliu atsargines kopijas arba pratęsiu licenciją. tomas.

Jei problemos išlieka, paleidžiu taisymo paleidimą ir perskaitau konkrečius žurnalus. Interneto klaidas analizuoju "Plesk" domeno žurnaluose, skydelio problemas - sw-cp serverio žurnale, pašto klaidas - "Postfix/Dovecot" žurnaluose. Naudoju ss/netstat prievadams tikrinti ir systemctl paslaugų būklei analizuoti. Jei atkurti nepavyksta, tikrinu atskirus komponentus (pvz., tik DB) ir didinu verbosity.

# Patikrinti prievadus ir paslaugas
sudo ss -ltnp | grep -E ':80|:443|:8443|:25|:587'
sudo systemctl status sw-cp-server psa httpd apache2 nginx mariadb postfix dovecot

# Remontas Plesk
sudo plesk repair installation -y
sudo plesk repair web -y
sudo plesk repair mail -y

# skydelio žurnalai (pavyzdiniai keliai)
sudo journalctl -u sw-cp-server -n 200 --no-pager
sudo tail -n 200 /var/log/plesk/panel.log

Trumpa santrauka

Naudodamasis šiomis instrukcijomis įdiegiu Plesk Ubuntu greitai, saugiai ir atkuriamai. Pirmiausia patikrinu reikalavimus, atnaujinu sistemą, atidarau prievadus ir paleidžiu diegimo programą. Tada nustatau administratoriaus prieigą, licenciją ir SSL, sukuriu svetaines, el. paštą ir duomenų bazes bei įjungiu saugumo funkcijas. Siekdamas spartos, pasirenku PHP 8.2, įjungiu HTTP/2 ir stebiu išteklius. Taip mano Ubuntu-atvirkščiai yra stabilūs, našūs ir prižiūrimi - paruošti realiems projektams.

Aktualūs straipsniai