Hvernig á að dreifa mörgum Wordpress síðum með Virtualmin og Ansible á Ubuntu 16.04

Algeng notkun Vultr sýndarþjóns er að hýsa WordPress vefsíður. Þessi handbók sýnir þér hvernig á að gera sjálfvirkan uppsetningu sýndarþjóns frá grunni (með því að nota Ansible) og setja upp margar sjálfstæðar WordPress vefsíður (með Webmin/Virtualmin). Virtualmin/Webmin er grafískt notendaviðmót sem gerir þér kleift að stjórna uppsetningu margra sýndarmiðlarareikninga á sömu vél (ásamt LAMP/LEMP stafla). Virtualmin er mjög svipað cPanel og Plesk og í þessari kennslu munum við nota ókeypis GPL útgáfuna. Eftir fyrstu uppsetningu á Vultr netþjóninum og uppsetningu Virtualmin geturðu sett upp marga sýndarþjóna á mjög fljótlegan hátt innan Virtualmin viðmótsins og beint upp Wordpress á sýndarþjóninum með eigin lén.

Í þessari kennslu, í stað þess að slá inn langan lista af skipunum handvirkt, munum við í staðinn nota Ansible. Ansible er sjálfvirkniverkfæri sem byggir á python sem gerir þér kleift að gera sjálfvirkan og endurtekið sjálfvirkan netþjónaverkfæri. Þetta þýðir að þegar þú hefur fylgst með þessari kennslu muntu geta sett annan netþjón á sama hátt með aðeins nokkrum skipunum.

Forkröfur

  • Að minnsta kosti eitt fullgilt lén og aðgangur að DNS skránum
  • Vultr reikningur

Skref 1 - Uppsetning Ansible á staðbundinni vél

Settu upp Ansible á staðbundinni vél eða öðrum netþjóni.

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

Skref 2 - Búðu til SSH lykla og settu upp netþjóninn

Ansible virkar með því að skrá þig inn á netþjóninn þinn í gegnum SSH. SSH aðgangur er öruggastur ef við notum lykla frekar en lykilorð. Við skulum fyrst búa til opinbert og einkalyklapar.

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

Í ssh_keysmöppunni verða nú tvær skrár, ssh_keysog ssh_keys.pub. ssh_keyser einkalyklaskráin þín og ætti að vera örugg. Þú getur nú opnað ssh_keys.pub, sem inniheldur almenna lykilinn.

Skráðu þig inn á Vultr vefstjórnborðið og smelltu á Deploy New Server.

Veldu svæði, tegund netþjóns (Ubuntu 16.04), stærð netþjóns og smelltu síðan á hluta 6 ( SSH keys) Add New. Á næstu síðu límdu opinbera lykilinn þinn og gefðu honum nafn og smelltu á Add SSH key. Gakktu úr skugga um að lykillinn sé valinn og smelltu á Deploy now.
Þegar þjónninn hefur lokið dreifingu muntu sjá IP-tölu hans. Þú þarft að skrá þig inn á DNS-þjón lénsins þíns og benda honum á þetta netfang.

Skref 3 - Búðu til grunn Ansible stillingar

Sjálfvirkniskrár Ansible kallast roles. Við munum fyrst setja upp möppuskipulagið (inni í ansiblemöppunni sem þú bjóst til í skrefi 1) og grunnskrárnar.

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

Breyttu hostsskránni þannig að hún innihaldi eftirfarandi, komdu í ip addressstað netþjónsins sem þú bjóst til. Ansible notar python 2, sem Ubuntu 16.04 hefur ekki sjálfgefið uppsett. Í hostsskránni segjum við Ansible að nota Python 3.

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

Breyttu deploy.ymlskránni þannig að hún innihaldi eftirfarandi. Við ætlum að nota rootnotandann.

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

Breyttu /group_vars/allskránni þannig að hún innihaldi eftirfarandi. Þessar breytur segja Ansible staðsetningu SSH lyklanna þinna, skiptast á skráarbreytum, fullkomlega léninu þínu og rótarlykilorðinu. Vinsamlegast mundu ekki að fela í sér skrá í uppspretta stjórna eins og það inniheldur lykilorðið þitt í skýrum texta.

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

Breyttu common/handlers/main.ymlskránni þannig að hún innihaldi eftirfarandi.

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

Skref 4 - Búðu til Ansible verkefni fyrir grunnuppsetningu miðlara

Ansible sjálfvirkni er auðveldara að skilja ef við skiptum henni niður í verkefni. Við skulum búa til skrár fyrir hvert verkefni okkar í ferlinu.

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

main.yml ætti að benda á hverja skrá sem inniheldur Ansible skipanirnar, svo breyttu henni þannig að hún innihaldi eftirfarandi.

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

Fyrsta skrefið í að setja upp nýjan netþjón er að uppfæra endurhverfa skyndiminni og stilla tímabeltið. Breyttu common/handlers/setup.ymlskránni þannig að hún innihaldi eftirfarandi.

- apt: update_cache=yes
  sudo: yes

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

Nú munum við gefa rótarnotandanum lykilorð (sem við þurfum til að fá aðgang að virtualmin vefviðmótinu), en slökkva á innskráningu lykilorðs yfir SSH (þar sem við erum að nota öruggari lyklaaðferðina við auðkenningu). Breyta users.ymltil að innihalda eftirfarandi.

- 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

Til öryggis þurfum við eldvegg. Við munum nota óbrotinn eldvegg til að leyfa SSH aðgang á höfn 22, vefaðgang á höfn 80og öruggan vefaðgang á höfn 443. Breyttu ufw.ymlskránni þannig að hún innihaldi eftirfarandi.

- 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

Valfrjálst geturðu látið skiptaskrá fylgja með. Þetta er nauðsynlegt ef þjónninn þinn er með minna en 2GB vinnsluminni til að forðast hrun á minni. Breyta swap.ymltil að innihalda eftirfarandi.

- 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

Skref 5 - Bættu við Ansible verkefni fyrir uppsetningu virtualmin

Virtualmin hefur sína eigin uppsetningarskrá sem Ansible getur hlaðið niður og keyrt. Hér erum við að nota lágmarksuppsetningu ( LINK). Viðbótaratriðin eru til að stilla MySQL miðlara lykilorðið sem er ekki stillt þegar Virtualmin er sett upp. Við þurfum að stöðva MySQL tímabundið og bæta við auðkenningarskránni áður en lykilorðinu er breytt. Breyta virtualmin.ymltil að innihalda eftirfarandi.

- 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 hlutverkinu er nú lokið og við erum tilbúin til að dreifa.

Skref 6 - Framkvæmdu uppsetningu með Ansible

Frá Ansible möppunni getum við nú einfaldlega keyrt eftirfarandi skipun og Ansible mun framkvæma öll verkefni sem við höfum búið til sjálfkrafa. Í fyrsta skipti sem þú tengist færðu SSH lyklaviðvörun, sláðu bara inn " yes" við hvetjandi leiðbeiningar.

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

Ef við viljum nota annan netþjón getum við einfaldlega breytt ip tölunni í hýsingarskránni og keyrt þá skipun aftur til að ljúka nákvæmlega sömu uppsetningu.

Skref 7 - Virtualmin eftiruppsetningarhjálp

Uppsetningunni er lokið og við getum nú farið á https://192.0.2.1:10000(notaðu ip tölu netþjónsins þíns). Vafrinn þinn mun gefa út öryggisviðvörun vegna þess að vottorðið er sjálfundirritað, svo smelltu á advancedog bættu við undantekningu. Þú verður kynnt með innskráningarsíðu. Notandanafnið er root, og lykilorðið er það sem þú slóst inn í group_vars/allskrána í skrefi 3. Í fyrsta skipti sem þú slærð inn Virtualmin muntu sjá hjálpina eftir uppsetningu. Þú getur annað hvort farið í gegnum þessar stillingar handvirkt eða smellt canceltil að samþykkja sjálfgefnar stillingar.

Skref 8 - Búðu til netþjón og settu upp WordPress

Til að koma fyrsta Wordpress netþjóninum þínum í gang skaltu smella á Virtualmin mælaborðið Create Virtual Server. Þú þarft að slá inn lén, lýsingu og lykilorð stjórnanda. Lénið ætti að vera frábrugðið Virtualmin fullgildu léninu og þú þarft að benda DNS skránni á ip tölu netþjónsins þíns.

Smelltu á Create Server. Þegar Virtualmin hefur lokið við að búa til netþjóninn þinn, smelltu Install Scriptsá valmyndina til vinstri. Veldu Wordpress, smelltu á Show install optionsog á næstu síðu veldu staðsetningu uppsetningar Wordpress. Veldu bara At top levelog smelltu Install Now.

Það er allt sem þú þarft að gera - þú getur klárað Wordpress uppsetninguna með því að heimsækja þitt http://example.net/wp-admin/install.php(hvar example.neter þetta sýndarnetþjóns lén). Ef DNS skrárnar þínar hafa ekki breiðst út enn þá geturðu farið í Services > Preview Websitefrá Virtualmin valmyndinni.

Þú getur endurtekið þetta skref mörgum sinnum til að búa til margar Wordpress síður allar á sama Vultr netþjóninum.


Að búa til Jekyll blogg á Ubuntu 16.04

Að búa til Jekyll blogg á Ubuntu 16.04

Að nota annað kerfi? Jekyll er frábær valkostur við WordPress til að blogga eða deila efni. Það krefst enga gagnagrunna og það er mjög auðvelt i

Hvernig á að setja upp MODX Revolution á Ubuntu 16.04 LAMP VPS

Hvernig á að setja upp MODX Revolution á Ubuntu 16.04 LAMP VPS

Að nota annað kerfi? MODX Revolution er hraðvirkt, sveigjanlegt, stigstærð, ókeypis og opinn uppspretta, vefumsjónarkerfi (CMS) í fyrirtækisgráðu skrifað í

Hvernig á að setja upp MODX Revolution á FreeBSD 11 FAMP VPS

Hvernig á að setja upp MODX Revolution á FreeBSD 11 FAMP VPS

Að nota annað kerfi? MODX Revolution er hraðvirkt, sveigjanlegt, stigstærð, opinn uppspretta, vefumsjónarkerfi (CMS) í fyrirtækisgráðu skrifað í PHP. Það i

Settu upp WordPress á OpenBSD 6.2

Settu upp WordPress á OpenBSD 6.2

Inngangur WordPress er ríkjandi vefumsjónarkerfi á netinu. Það knýr allt frá bloggum til flókinna vefsíðna með kraftmiklu efni

Að búa til Jekyll blogg á CentOS 7

Að búa til Jekyll blogg á CentOS 7

Að nota annað kerfi? Jekyll er góður valkostur við WordPress. Það krefst enga gagnagrunna og það virkar með tungumáli sem margir þekkja

Hvernig á að setja upp MODX Revolution á CentOS 7 LAMP VPS

Hvernig á að setja upp MODX Revolution á CentOS 7 LAMP VPS

Að nota annað kerfi? MODX Revolution er hraðvirkt, sveigjanlegt, stigstærð, ókeypis og opinn uppspretta, vefumsjónarkerfi (CMS) í fyrirtækisgráðu skrifað í

Að setja upp Fork CMS á CentOS 7

Að setja upp Fork CMS á CentOS 7

Að nota annað kerfi? Fork er opinn uppspretta CMS skrifað í PHP. Forks frumkóði er hýstur á GitHub. Þessi handbók mun sýna þér hvernig á að setja upp Fork CM

Hvernig á að setja upp Neos CMS á CentOS 7

Hvernig á að setja upp Neos CMS á CentOS 7

Neos er nýstárlegt opið efnisstjórnunarkerfi sem er frábært til að búa til og breyta efni á netinu. Með höfunda og ritstjóra í huga, Neo

Hvernig á að dreifa Ghost v0.11 LTS á CentOS 7.3

Hvernig á að dreifa Ghost v0.11 LTS á CentOS 7.3

Að nota annað kerfi? Ghost er opinn uppspretta bloggvettvangur sem hefur notið vinsælda meðal forritara og venjulegra notenda síðan 201.

Hvernig á að setja upp SilverStripe CMS á FreeBSD 11 FAMP VPS

Hvernig á að setja upp SilverStripe CMS á FreeBSD 11 FAMP VPS

Að nota annað kerfi? SilverStripe er sveigjanlegt og stækkanlegt, opinn uppspretta, vefumsjónarkerfi (CMS) fyrir fyrirtæki sem er skrifað í PHP. Það er eas

Hvernig á að dreifa Ghost v0.11 LTS á Fedora 25

Hvernig á að dreifa Ghost v0.11 LTS á Fedora 25

Að nota annað kerfi? Ghost er opinn uppspretta bloggvettvangur sem hefur notið vinsælda meðal forritara og venjulegra notenda síðan 201.

Hvernig á að dreifa mörgum Wordpress síðum með Virtualmin og Ansible á Ubuntu 16.04

Hvernig á að dreifa mörgum Wordpress síðum með Virtualmin og Ansible á Ubuntu 16.04

Algeng notkun Vultr sýndarþjóns er að hýsa WordPress vefsíður. Þessi handbók sýnir þér hvernig á að gera sjálfvirkan uppsetningu sýndarþjóns frá grunni

Setja upp Ghost Professional Publishing Platform á OpenBSD 6

Setja upp Ghost Professional Publishing Platform á OpenBSD 6

Ghost er nýjasti og besti uppkominn til að keppa við WordPress. Þemaþróun er fljótleg og auðveld að læra vegna þess að Ghost verktaki ákváðu að nota bæði þ

Settu upp og stilltu Ghost v1.0.0 blogg á Ubuntu 16.04

Settu upp og stilltu Ghost v1.0.0 blogg á Ubuntu 16.04

Ghost er nútímalegur, opinn útgáfuvettvangur byggður á Node.js með Ember.js admin biðlara, JSON API og þema API knúið af Handlebars.js. Ghos

Hvernig á að setja upp MODX Revolution á Fedora 26 LAMP VPS

Hvernig á að setja upp MODX Revolution á Fedora 26 LAMP VPS

Að nota annað kerfi? MODX Revolution er hraðvirkt, sveigjanlegt, stigstærð, ókeypis og opinn uppspretta, vefumsjónarkerfi (CMS) í fyrirtækisgráðu skrifað í

Hvernig á að setja upp Dotclear á Debian 9 (Stretch)

Hvernig á að setja upp Dotclear á Debian 9 (Stretch)

Að nota annað kerfi? Dotclear er mjög einföld bloggvél. Það er opinn uppspretta og auðvelt í notkun. Þessi kennsla mun fara í gegnum uppsetninguna á

Að setja upp Fork CMS á Ubuntu 16.04 LTS

Að setja upp Fork CMS á Ubuntu 16.04 LTS

Að nota annað kerfi? Fork er opinn uppspretta CMS skrifað í PHP. Forks frumkóði er hýstur á GitHub. Þessi handbók mun sýna þér hvernig á að setja upp Fork CM

Hvernig á að dreifa Ghost á Debian 8.7

Hvernig á að dreifa Ghost á Debian 8.7

Að nota annað kerfi? Ghost er opinn uppspretta bloggvettvangur sem nýtur vinsælda meðal forritara og venjulegra notenda síðan hann kom út árið 2013. ég

Að setja upp Fork CMS á Debian 9

Að setja upp Fork CMS á Debian 9

Að nota annað kerfi? Fork er opinn uppspretta CMS skrifað í PHP. Forks frumkóði er hýstur á GitHub. Þessi handbók mun sýna þér hvernig á að setja upp Fork CM

Hvernig á að setja upp Typesetter CMS á CentOS 7

Hvernig á að setja upp Typesetter CMS á CentOS 7

Typesetter er opinn uppspretta CMS skrifað í PHP sem einbeitir sér að auðveldri notkun með True WYSIWYG klippingu og flatskráageymslu. Í þessari grein munum við setja upp

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira