Kā izvietot vairākas Wordpress vietnes, izmantojot Virtualmin un Ansible Ubuntu 16.04

Parasti Vultr virtuālais serveris tiek izmantots Wordpress vietņu mitināšanai. Šajā rokasgrāmatā ir parādīts, kā no jauna automatizēt virtuālā servera konfigurēšanu (izmantojot Ansible) un izvietot vairākas neatkarīgas Wordpress vietnes (izmantojot Webmin/Virtualmin). Virtualmin/Webmin ir grafisks lietotāja interfeiss, kas ļauj pārvaldīt vairāku virtuālā servera kontu izvietošanu vienā mašīnā (komplektā ar LAMP/LEMP steku). Virtualmin ir ļoti līdzīgs cPanel un Plesk, un šajā apmācībā mēs izmantosim bezmaksas GPL izdevumu. Pēc sākotnējās Vultr servera iestatīšanas un Virtualmin instalēšanas jūs varat ļoti ātri iestatīt vairākus virtuālos serverus no Virtualmin saskarnes un tieši instalēt Wordpress šajā virtuālajā serverī kopā ar tā domēna nosaukumu.

Šajā apmācībā tā vietā, lai manuāli ievadītu garu komandu sarakstu, mēs izmantosim Ansible. Ansible ir uz python balstīts automatizācijas rīks, kas ļauj droši un atkārtoti automatizēt servera uzdevumus. Tas nozīmē, ka, izpildot šo apmācību, varēsit izvietot citu serveri tādā pašā veidā, izpildot tikai dažas komandas.

Priekšnoteikumi

  • Vismaz viens pilnībā kvalificēts domēna nosaukums un piekļuve DNS ierakstiem
  • Vultr konts

1. darbība — Ansible instalēšana vietējā datorā

Instalējiet Ansible savā lokālajā datorā vai citā serverī.

mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible

2. darbība — ģenerējiet SSH atslēgas un izvietojiet serveri

Ansible darbojas, piesakoties jūsu serverī, izmantojot SSH. SSH piekļuve ir visdrošākā, ja mēs izmantojam atslēgas, nevis paroli. Vispirms ģenerēsim publisko un privāto atslēgu pāri.

mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys

Šajā ssh_keyskatalogā tagad būs divas failus ssh_keysun ssh_keys.pub. ssh_keysir jūsu privātās atslēgas fails, un tas ir jāglabā drošībā. Tagad varat atvērt ssh_keys.pub, kurā ir publiskā atslēga.

Piesakieties Vultr tīmekļa informācijas panelī un noklikšķiniet uz Deploy New Server.

Atlasiet reģionu, servera veidu (Ubuntu 16.04), servera izmēru un pēc tam 6. daļā ( SSH keys) noklikšķiniet uz Add New. Nākamajā lapā ielīmējiet savu publisko atslēgu un piešķiriet tai nosaukumu un noklikšķiniet uz Add SSH key. Visbeidzot pārliecinieties, vai ir atlasīta atslēga, un noklikšķiniet uz Deploy now.
Kad serveris būs pabeidzis izvietošanu, jums tiks parādīta tā IP adrese. Jums būs jāpiesakās sava domēna vārda DNS serverī un jānorāda uz šo adresi.

3. darbība. Izveidojiet pamata Ansible konfigurāciju

Ansible automatizācijas faili tiek saukti par roles. Vispirms iestatīsim direktoriju struktūru ( ansibledirektorijā, kuru tikko izveidojāt 1. darbībā) un pamata failus.

mkdir -p group_vars roles/common/tasks/ roles/common/handlers
touch hosts group_vars/all deploy.yml roles/common/handlers/main.yml

Rediģējiet hostsfailu, lai tajā būtu tālāk norādītais, aizstājot ip addresstikko izveidoto serveri. Ansible izmanto python 2, kas Ubuntu 16.04 pēc noklusējuma nav instalēts. Šajā hostsfailā mēs pateikt Ansible izmantot Python, 3.

[common]  
192.0.2.1 ansible_python_interpreter=/usr/bin/python3

Rediģējiet deploy.ymlfailu, lai tajā būtu tālāk norādītais. Mēs izmantosim rootlietotāju.

- name: apply common configuration to server
  hosts: all
  user: root
  roles:
    - common

Rediģējiet /group_vars/allfailu, lai tajā būtu tālāk norādītais. Šie mainīgie norāda Ansible jūsu SSH atslēgu atrašanās vietu, mijmaiņas faila parametrus, jūsu pilnībā kvalificēto domēna nosaukumu un saknes paroli. Lūdzu, atcerieties, nevis iekļaut failu avotu kontroli, jo tas satur paroli skaidrā tekstā.

ssh_dir: ./ssh_keys
swap_file_path: /swapfile
swap_file_size: 1G
swappiness: 1
hostname: example.com
new_password: YOUR_PASSWORD_HERE

Rediģējiet common/handlers/main.ymlfailu, lai tajā būtu tālāk norādītais.

- name: restart sshd
  service: name=ssh state=restarted

4. darbība. Izveidojiet iespējamos uzdevumus pamata servera iestatīšanai

Iespējamā automatizācija ir vieglāk saprotama, ja to sadalām uzdevumos. Izveidosim failus katram mūsu procesam.

cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml

main.yml jānorāda uz katru failu, kurā ir Ansible komandas, tāpēc rediģējiet to, lai saturētu tālāk norādīto.

- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml

Pirmais solis jauna servera iestatīšanā ir repo kešatmiņas atjaunināšana un laika joslas iestatīšana. Rediģējiet common/handlers/setup.ymlfailu, lai tajā būtu tālāk norādītais.

- apt: update_cache=yes
  sudo: yes

- name: set timezone to Europe/London
  timezone:
    name: Europe/London

Tagad mēs piešķirsim root lietotājam paroli (kas mums būs nepieciešama, lai piekļūtu virtualmin tīmekļa saskarnei), bet atspējosim paroles pieteikšanos, izmantojot SSH (jo mēs izmantojam drošāku atslēgu autentifikācijas metodi). Rediģēt, users.ymllai ietvertu tālāk norādīto.

- name: Change passwd
  user: name=root password={{ new_password | password_hash('sha512') }} update_password=always

- name: Disable SSH password login
  lineinfile: dest=/etc/ssh/sshd_config regexp="^#?PasswordAuthentication" line="PasswordAuthentication no"
  notify: restart sshd

Drošības nolūkos mums ir nepieciešams ugunsmūris. Mēs izmantosim nekomplicētu ugunsmūri, lai nodrošinātu SSH piekļuvi portam 22, tīmekļa piekļuvi portam 80un drošu tīmekļa piekļuvi portā 443. Rediģējiet ufw.ymlfailu, lai tajā būtu tālāk norādītais.

- name: Set default firewall policy to deny all
  become: True
  ufw: state=enabled direction=incoming policy=deny
  tags: firewall

- name: enable SSH in firewall
  ufw: rule=allow port=22
  sudo: yes

- name: enable HTTP connections for web server
  ufw: rule=allow port=80
  sudo: yes

- name: enable HTTPS connections for web server
  ufw: rule=allow port=443
  sudo: yes

- name: enable firewall
  ufw: state=enabled
  sudo: yes

Pēc izvēles varat iekļaut mijmaiņas failu. Tas ir svarīgi, ja jūsu serverī ir mazāk nekā 2 GB RAM, lai izvairītos no atmiņas pārtraukšanas avārijām. Rediģēt, swap.ymllai ietvertu tālāk norādīto.

- name: Set swap_file variable
  set_fact:
    swap_file: "{{swap_file_path}}"
  tags:
    - swap.set.file.path

- name: Check if swap file exists
  stat:
    path: "{{swap_file}}"
  register: swap_file_check
  tags:
    - swap.file.check

- name: Create swap file
  command: fallocate -l {{swap_file_size}} {{swap_file}}
  when: not swap_file_check.stat.exists
  tags:
    - swap.file.create

- name: Change swap file permissions
  file: path="{{swap_file}}"
        owner=root
        group=root
        mode=0600
  tags:
    - swap.file.permissions

- name: Format swap file
  sudo: yes
  command: "mkswap {{swap_file}}"
  when: not swap_file_check.stat.exists
  tags:
    - swap.file.mkswap

- name: Write swap entry in fstab
  mount: name=none
         src={{swap_file}}
         fstype=swap
         opts=sw
         passno=0
         dump=0
         state=present
  tags:
    - swap.fstab

- name: Turn on swap
  sudo: yes
  command: swapon -a
  when: not swap_file_check.stat.exists
  tags:
    - swap.turn.on

- name: Set swappiness
  sudo: yes
  sysctl:
    name: vm.swappiness
    value: "{{swappiness}}"
  tags:
    - swap.set.swappiness

5. darbība. Pievienojiet iespējamu uzdevumu virtualmin iestatīšanai

Virtualmin ir savs instalēšanas fails, kuru var lejupielādēt un palaist Ansible. Šeit mēs izmantojam minimālo instalāciju ( LINK). Papildu vienumi ir jākonfigurē MySQL servera parole, kas nav iestatīta, kad to instalēja Virtualmin. Pirms paroles maiņas mums ir īslaicīgi jāaptur MySQL un jāpievieno autentifikācijas direktorijs. Rediģēt, virtualmin.ymllai ietvertu tālāk norādīto.

- name: download virtualmin install script
  get_url: >
    url=http://software.virtualmin.com/gpl/scripts/install.sh
    dest=/root/install.sh
    mode=0755

- name: virtualmin install (takes around 10 mins) you can see progress using $ sudo tail -f /root/virtualmin-install.log
  tags: non-idem
  shell: ~/install.sh --force --hostname {{ hostname }} --minimal --yes
  args:
    chdir: /root

- name: temp stop mysql
  service:
    name: mysql
    state: stopped

- name: change owner (and group) of mysqld dir
  file:
    path: "/var/run/mysqld"
    state: directory
    owner: mysql
    group: mysql

- name: virtualmin set mysql password
  shell: virtualmin set-mysql-pass --user root --pass {{ new_password }}

- name: restart mysql
  service:
    name: mysql
    state: started

Ansible loma tagad ir pabeigta, un mēs esam gatavi izvietošanai.

6. darbība. Instalējiet, izmantojot Ansible

No ansible mapes mēs tagad varam vienkārši palaist šādu komandu, un Ansible automātiski veiks visus mūsu izveidotos uzdevumus. Pirmo reizi izveidojot savienojumu, tiks parādīts SSH atslēgas brīdinājums yes. Uzvednē vienkārši ierakstiet " ".

ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts

Ja mēs vēlamies izmantot citu serveri, mēs varam vienkārši mainīt IP adresi hosts failā un palaist šo komandu vēlreiz, lai pabeigtu tieši to pašu iestatīšanu.

7. darbība — Virtualmin pēcinstalēšanas vednis

Instalēšana ir pabeigta, un tagad mēs varam doties uz https://192.0.2.1:10000(izmantojiet sava servera IP adresi). Jūsu pārlūkprogramma izdos drošības brīdinājumu, jo sertifikāts ir pašparakstīts, tāpēc noklikšķiniet advancedun pievienojiet izņēmumu. Jums tiks parādīta pieteikšanās lapa. Lietotājvārds ir root, un parole ir tā, ko ievadījāt group_vars/allfailā 3. darbībā. Pirmo reizi ievadot Virtualmin, tiks parādīts pēcinstalēšanas vednis. Varat manuāli veikt šos iestatījumus vai noklikšķināt, cancellai pieņemtu noklusējuma iestatījumus.

8. darbība — izveidojiet serveri un instalējiet WordPress

Lai izveidotu un palaistu pirmo Wordpress serveri, Virtualmin informācijas panelī noklikšķiniet uz Create Virtual Server. Jums būs jāievada domēna nosaukums, apraksts un administratora parole. Domēna nosaukumam ir jāatšķiras no Virtualmin pilnībā kvalificētā domēna nosaukuma, un jums ir jānorāda DNS ieraksts uz sava servera IP adresi.

Noklikšķiniet uz Create Server. Kad Virtualmin ir pabeidzis servera izveidi, noklikšķiniet Install Scriptsuz kreisās puses izvēlnes. Atlasiet Wordpress, noklikšķiniet Show install optionsuz un nākamajā lapā izvēlieties Wordpress instalēšanas vietu. Vienkārši izvēlieties At top levelun noklikšķiniet uz Install Now.

Tas ir viss, kas jums jādara – varat pabeigt Wordpress instalēšanu, apmeklējot savu http://example.net/wp-admin/install.php(kur example.netir šis virtuālo serveru domēna nosaukums). Ja jūsu DNS ieraksti vēl nav izplatīti, varat doties uz Services > Preview Websiteno Virtualmin izvēlnes.

Varat atkārtot šo darbību vairākas reizes, lai izveidotu vairākas Wordpress vietnes vienā Vultr serverī.


Jekyll emuāra izveide Ubuntu 16.04

Jekyll emuāra izveide Ubuntu 16.04

Vai izmantojat citu sistēmu? Jekyll ir lieliska alternatīva WordPress emuāru rakstīšanai vai satura kopīgošanai. Tam nav nepieciešamas nekādas datu bāzes, un tas ir ļoti vienkārši

Kā instalēt MODX Revolution Ubuntu 16.04 LAMP VPS

Kā instalēt MODX Revolution Ubuntu 16.04 LAMP VPS

Vai izmantojat citu sistēmu? MODX Revolution ir ātra, elastīga, mērogojama, bezmaksas un atvērtā koda, uzņēmuma līmeņa satura pārvaldības sistēma (CMS), kas ir rakstīta i.

Kā instalēt MODX Revolution uz FreeBSD 11 FAMP VPS

Kā instalēt MODX Revolution uz FreeBSD 11 FAMP VPS

Vai izmantojat citu sistēmu? MODX Revolution ir ātra, elastīga, mērogojama, atvērtā koda, uzņēmuma līmeņa satura pārvaldības sistēma (CMS), kas rakstīta PHP. Tas i

Instalējiet WordPress uz OpenBSD 6.2

Instalējiet WordPress uz OpenBSD 6.2

Ievads WordPress ir dominējošā satura pārvaldības sistēma internetā. Tas nodrošina visu, sākot no emuāriem līdz sarežģītām vietnēm ar dinamisku saturu

Jekyll emuāra izveide operētājsistēmā CentOS 7

Jekyll emuāra izveide operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Jekyll ir laba alternatīva WordPress. Tam nav vajadzīgas nekādas datubāzes, un tas darbojas ar valodu, kas daudziem ir pazīstama

Kā instalēt MODX Revolution CentOS 7 LAMP VPS

Kā instalēt MODX Revolution CentOS 7 LAMP VPS

Vai izmantojat citu sistēmu? MODX Revolution ir ātra, elastīga, mērogojama, bezmaksas un atvērtā koda, uzņēmuma līmeņa satura pārvaldības sistēma (CMS), kas ir rakstīta i.

Fork CMS instalēšana operētājsistēmā CentOS 7

Fork CMS instalēšana operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Fork ir atvērtā koda SPS, kas rakstīta PHP. Forks pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata parādīs, kā instalēt Fork CM

Kā instalēt Neos CMS operētājsistēmā CentOS 7

Kā instalēt Neos CMS operētājsistēmā CentOS 7

Neos ir novatoriska atvērtā pirmkoda satura pārvaldības sistēma, kas ir lieliski piemērota tiešsaistes satura izveidei un rediģēšanai. Paturot prātā autorus un redaktorus, Neo

Kā izvietot Ghost v0.11 LTS operētājsistēmā CentOS 7.3

Kā izvietot Ghost v0.11 LTS operētājsistēmā CentOS 7.3

Vai izmantojat citu sistēmu? Ghost ir atvērtā koda emuāru veidošanas platforma, kas ir guvusi popularitāti izstrādātāju un parasto lietotāju vidū kopš 201. gada.

Fork CMS instalēšana operētājsistēmā Fedora 28

Fork CMS instalēšana operētājsistēmā Fedora 28

Vai izmantojat citu sistēmu? Fork ir atvērtā koda SPS, kas rakstīta PHP. Forks pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata parādīs, kā instalēt Fork CM

Kā instalēt SilverStripe CMS uz FreeBSD 11 FAMP VPS

Kā instalēt SilverStripe CMS uz FreeBSD 11 FAMP VPS

Vai izmantojat citu sistēmu? SilverStripe ir elastīga un paplašināma, atvērtā koda, uzņēmuma līmeņa satura pārvaldības sistēma (CMS), kas rakstīta PHP. Tas ir viegls

Kā izvietot Ghost v0.11 LTS uz Fedora 25

Kā izvietot Ghost v0.11 LTS uz Fedora 25

Vai izmantojat citu sistēmu? Ghost ir atvērtā koda emuāru veidošanas platforma, kas ir guvusi popularitāti izstrādātāju un parasto lietotāju vidū kopš 201. gada.

Kā izvietot vairākas Wordpress vietnes, izmantojot Virtualmin un Ansible Ubuntu 16.04

Kā izvietot vairākas Wordpress vietnes, izmantojot Virtualmin un Ansible Ubuntu 16.04

Parasti Vultr virtuālais serveris tiek izmantots Wordpress vietņu mitināšanai. Šajā rokasgrāmatā parādīts, kā automatizēt virtuālā servera konfigurāciju no nulles

Ghost Professional Publishing Platform iestatīšana uz OpenBSD 6

Ghost Professional Publishing Platform iestatīšana uz OpenBSD 6

Ghost ir jaunākais un lielākais sāncensis WordPress. Motīvu izstrāde ir ātri un viegli apgūstama, jo Ghost izstrādātāji nolēma izmantot abus th

Instalējiet un konfigurējiet Ghost v1.0.0 emuāru Ubuntu 16.04

Instalējiet un konfigurējiet Ghost v1.0.0 emuāru Ubuntu 16.04

Ghost ir moderna, atvērtā pirmkoda publicēšanas platforma, kas izveidota uz Node.js ar Ember.js administratora klientu, JSON API un motīva API, ko nodrošina Handlebars.js. Ghos

Kā instalēt MODX Revolution Fedora 26 LAMP VPS

Kā instalēt MODX Revolution Fedora 26 LAMP VPS

Vai izmantojat citu sistēmu? MODX Revolution ir ātra, elastīga, mērogojama, bezmaksas un atvērtā koda, uzņēmuma līmeņa satura pārvaldības sistēma (CMS), kas ir rakstīta i.

Kā instalēt Dotclear operētājsistēmā Debian 9 (Stretch)

Kā instalēt Dotclear operētājsistēmā Debian 9 (Stretch)

Vai izmantojat citu sistēmu? Dotclear ir ļoti vienkāršs emuāru veidošanas dzinējs. Tas ir atvērtā koda un viegli lietojams. Šī apmācība tiks veikta instalēšanas laikā

Kā instalēt SilverStripe CMS uz Fedora 26 LAMP VPS

Kā instalēt SilverStripe CMS uz Fedora 26 LAMP VPS

Vai izmantojat citu sistēmu? SilverStripe ir elastīga un paplašināma bezmaksas un atvērtā koda uzņēmuma līmeņa satura pārvaldības sistēma (CMS), kas rakstīta PHP. es

Fork CMS instalēšana Ubuntu 16.04 LTS

Fork CMS instalēšana Ubuntu 16.04 LTS

Vai izmantojat citu sistēmu? Fork ir atvērtā koda SPS, kas rakstīta PHP. Forks pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata parādīs, kā instalēt Fork CM

Kā izvietot Ghost uz Debian 8.7

Kā izvietot Ghost uz Debian 8.7

Vai izmantojat citu sistēmu? Ghost ir atvērtā koda emuāru veidošanas platforma, kas gūst popularitāti izstrādātāju un parasto lietotāju vidū kopš tās izlaišanas 2013. gadā. es

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk