Kuinka ottaa käyttöön useita Wordpress-sivustoja Virtualminin ja Ansiblen avulla Ubuntu 16.04:ssä

Vultr-virtuaalipalvelimen yleinen käyttötarkoitus on isännöidä Wordpress-verkkosivustoja. Tämä opas näyttää, kuinka voit automatisoida virtuaalipalvelimen määritykset tyhjästä (Ansiblen avulla) ja ottaa käyttöön useita itsenäisiä Wordpress-sivustoja (Webmin/Virtualmin avulla). Virtualmin/Webmin on graafinen käyttöliittymä, jonka avulla voit hallita useiden virtuaalipalvelintilien käyttöönottoa samalla koneella (täydellinen LAMP/LEMP-pinolla). Virtualmin on hyvin samanlainen kuin cPanel ja Plesk, ja tässä opetusohjelmassa käytämme ilmaista GPL-versiota. Vultr-palvelimen alkuasennuksen ja Virtualminin asennuksen jälkeen voit määrittää nopeasti useita virtuaalipalvelimia Virtualmin-rajapinnasta ja asentaa Wordpressin suoraan kyseiselle virtuaalipalvelimelle omalla verkkotunnuksellaan.

Tässä opetusohjelmassa sen sijaan, että syöttäisimme manuaalisesti pitkän komentoluettelon, käytämme sen sijaan Ansiblea. Ansible on python-pohjainen automaatiotyökalu, jonka avulla voit luotettavasti ja toistuvasti automatisoida palvelintehtäviä. Tämä tarkoittaa, että kun olet noudattanut tätä opetusohjelmaa, voit ottaa toisen palvelimen käyttöön samalla tavalla vain muutamalla komennolla.

Edellytykset

  • Vähintään yksi Fully Qualified Domain Name ja pääsy DNS-tietueisiin
  • Vultr-tili

Vaihe 1 - Ansiblen asentaminen paikalliseen koneeseen

Asenna Ansible paikalliselle koneellesi tai toiselle palvelimelle.

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

Vaihe 2 - Luo SSH-avaimet ja ota palvelin käyttöön

Ansible toimii kirjautumalla palvelimellesi SSH:n kautta. SSH-yhteys on turvallisin, jos käytämme avaimia salasanan sijaan. Luodaan ensin julkinen ja yksityinen avainpari.

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

Vuonna ssh_keyshakemistosta tulee nyt kaksi tiedostoa, ssh_keysja ssh_keys.pub. ssh_keyson yksityinen avaintiedostosi ja se tulee säilyttää turvassa. Voit nyt avata ssh_keys.pub, joka sisältää julkisen avaimen.

Kirjaudu Vultr-verkkohallintapaneeliin ja napsauta Deploy New Server.

Valitse alue, Palvelimen tyyppi (Ubuntu 16.04), Palvelimen koko ja napsauta sitten osassa 6 ( SSH keys) Add New. Liitä seuraavalle sivulle julkinen avaimesi ja anna sille nimi ja napsauta Add SSH key. Varmista lopuksi, että avain on valittuna ja napsauta Deploy now.
Kun palvelin on ottanut käyttöön, sinulle näytetään sen IP-osoite. Sinun on kirjauduttava verkkotunnuksesi DNS-palvelimeen ja osoitettava se tähän osoitteeseen.

Vaihe 3 - Luo Ansible-peruskokoonpano

Ansiblen automaatiotiedostoja kutsutaan nimellä roles. Määritämme ensin hakemistorakenteen ( ansiblevaiheessa 1 luomasi hakemiston sisällä ) ja perustiedostot.

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

Muokkaa hoststiedostoa niin, että se sisältää seuraavat tiedot ja korvaa ip addressjuuri luomasi palvelin. Ansible käyttää python 2:ta, jota Ubuntu 16.04 ei ole oletuksena asentanut. Vuonna hoststiedosto kerromme Ansible käyttää python 3.

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

Muokkaa deploy.ymltiedostoa sisältämään seuraavat tiedot. Aiomme käyttää rootkäyttäjää.

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

Muokkaa /group_vars/alltiedostoa sisältämään seuraavat tiedot. Nämä muuttujat kertovat Ansiblelle SSH-avaimiesi sijainnin, swap-tiedoston parametrit, Fully Qualified Domain Name -nimesi ja pääkäyttäjän salasanan. Muista olla sisällyttämättä tiedostoa lähdehallintaan, koska se sisältää salasanasi selkeänä tekstinä.

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

Muokkaa common/handlers/main.ymltiedostoa sisältämään seuraavat tiedot.

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

Vaihe 4 - Luo mahdollisia tehtäviä palvelimen perusasetuksiin

Mahdollinen automaatio on helpompi ymmärtää, jos jaamme sen tehtäviin. Luodaan tiedostot jokaiselle prosessissa olevalle tehtävällemme.

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

main.yml pitäisi osoittaa jokaiseen tiedostoon, joka sisältää Ansible-komennot, joten muokkaa sitä sisältämään seuraavat tiedot.

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

Ensimmäinen askel uuden palvelimen määrittämisessä on päivittää repo-välimuisti ja asettaa aikavyöhyke. Muokkaa common/handlers/setup.ymltiedostoa sisältämään seuraavat tiedot.

- apt: update_cache=yes
  sudo: yes

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

Annamme nyt root-käyttäjälle salasanan (joka tarvitsemme käyttääksemme virtualminin verkkokäyttöliittymää), mutta poistamme salasanan kirjautumiset SSH:n kautta (koska käytämme turvallisempaa todennusmenetelmää). Muokkaa users.ymlsisältämään seuraavat.

- 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

Turvallisuuden vuoksi tarvitsemme palomuurin. Käytämme mutkatonta palomuuria mahdollistamaan SSH-käytön portissa 22, verkkoyhteyden portissa 80ja suojatun verkkokäytön portissa 443. Muokkaa ufw.ymltiedostoa sisältämään seuraavat tiedot.

- 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

Valinnaisesti voit sisällyttää swap-tiedoston. Tämä on välttämätöntä, jos palvelimellasi on alle 2 Gt RAM-muistia, jotta vältytään muistin loppumisesta kaatumisesta. Muokkaa swap.ymlsisältämään seuraavat.

- 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

Vaihe 5 - Lisää mahdollinen tehtävä virtualmin-asennusta varten

Virtualminilla on oma asennustiedosto, jonka Ansible voi ladata ja suorittaa. Tässä käytämme minimaalista asennusta ( LINK). Muita kohteita ovat MySQL-palvelimen salasanan määrittäminen, jota ei ole asetettu Virtualminin asennuksen yhteydessä. Meidän on pysäytettävä väliaikaisesti MySQL ja lisättävä todennushakemisto ennen salasanan vaihtamista. Muokkaa virtualmin.ymlsisältämään seuraavat.

- 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-rooli on nyt valmis ja olemme valmiita ottamaan käyttöön.

Vaihe 6 - Suorita asennus Ansiblella

Ansible-kansiosta voimme nyt yksinkertaisesti suorittaa seuraavan komennon, ja Ansible suorittaa kaikki luomamme tehtävät automaattisesti. Kun muodostat yhteyden ensimmäisen kerran, saat SSH-avainvaroituksen, kirjoita yeskehotteeseen " ".

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

Jos haluamme käyttää toista palvelinta, voimme yksinkertaisesti muuttaa ip-osoitteen hosts-tiedostossa ja suorittaa komennon uudelleen suorittaaksesi täsmälleen saman asennuksen.

Vaihe 7 - Virtualminin ohjattu asennuksen jälkeen

Asennus on valmis ja voimme nyt mennä osoitteeseen https://192.0.2.1:10000(käytä palvelimesi IP-osoitetta). Selaimesi antaa suojausvaroituksen, koska varmenne on itse allekirjoitettu, joten napsauta advancedja lisää poikkeus. Sinulle esitetään kirjautumissivu. Käyttäjätunnus on root, ja salasana on se, jonka syötit group_vars/alltiedostoon vaiheessa 3. Kun avaat Virtualminin ensimmäisen kerran, näyttöön tulee ohjattu asennuksen jälkeinen toiminto. Voit joko käydä nämä asetukset läpi manuaalisesti tai cancelhyväksyä oletusasetukset napsauttamalla .

Vaihe 8 - Luo palvelin ja asenna WordPress

Saadaksesi ensimmäinen Wordpress-palvelimesi käyntiin, napsauta Virtualmin-hallintapaneelissa Create Virtual Server. Sinun on syötettävä verkkotunnuksen nimi, kuvaus ja järjestelmänvalvojan salasana. Verkkotunnuksen nimen tulee olla erilainen kuin Virtualminin täysin kelvollinen verkkotunnus, ja sinun on osoitettava DNS-tietue palvelimesi IP-osoitteeseen.

Napsauta Create Server. Kun Virtualmin on luonut palvelimesi, napsauta Install Scriptsvasemmanpuoleista valikkoa. Valitse Wordpress, napsauta Show install optionsja valitse seuraavalla sivulla Wordpressin asennuspaikka. Valitse vain At top levelja napsauta Install Now.

Siinä kaikki mitä sinun tarvitsee tehdä - voit suorittaa Wordpressin asennuksen vierailemalla http://example.net/wp-admin/install.php(missä example.nettämä virtuaalipalvelimen verkkotunnus on). Jos DNS-tietueesi eivät ole vielä Services > Preview Websitelevinneet, voit siirtyä Virtualmin-valikosta kohtaan.

Voit toistaa tämän vaiheen useita kertoja luodaksesi useita Wordpress-sivustoja samalle Vultr-palvelimelle.


Jekyll-blogin luominen Ubuntuun 16.04

Jekyll-blogin luominen Ubuntuun 16.04

Käytätkö erilaista järjestelmää? Jekyll on loistava vaihtoehto WordPressille bloggaamiseen tai sisällön jakamiseen. Se ei vaadi tietokantoja ja se on erittäin helppoa i

Kuinka asentaa MODX Revolution Ubuntu 16.04 LAMP VPS:ään

Kuinka asentaa MODX Revolution Ubuntu 16.04 LAMP VPS:ään

Käytätkö erilaista järjestelmää? MODX Revolution on nopea, joustava, skaalautuva, ilmainen ja avoimen lähdekoodin yritystason sisällönhallintajärjestelmä (CMS), joka on kirjoitettu i.

Kuinka asentaa MODX Revolution FreeBSD 11 FAMP VPS:ään

Kuinka asentaa MODX Revolution FreeBSD 11 FAMP VPS:ään

Käytätkö erilaista järjestelmää? MODX Revolution on nopea, joustava, skaalautuva, avoimen lähdekoodin, yritystason sisällönhallintajärjestelmä (CMS), joka on kirjoitettu PHP:llä. Se minä

Asenna WordPress OpenBSD 6.2:een

Asenna WordPress OpenBSD 6.2:een

Johdanto WordPress on hallitseva sisällönhallintajärjestelmä Internetissä. Se tarjoaa kaiken tehon blogeista monimutkaisiin verkkosivustoihin, joissa on dynaamista sisältöä

Jekyll-blogin luominen CentOS 7:ssä

Jekyll-blogin luominen CentOS 7:ssä

Käytätkö erilaista järjestelmää? Jekyll on hyvä vaihtoehto WordPressille. Se ei vaadi tietokantoja ja se toimii monille tutulla kielellä

Kuinka asentaa MODX Revolution CentOS 7 LAMP VPS:ään

Kuinka asentaa MODX Revolution CentOS 7 LAMP VPS:ään

Käytätkö erilaista järjestelmää? MODX Revolution on nopea, joustava, skaalautuva, ilmainen ja avoimen lähdekoodin yritystason sisällönhallintajärjestelmä (CMS), joka on kirjoitettu i.

Fork CMS:n asentaminen CentOS 7:ään

Fork CMS:n asentaminen CentOS 7:ään

Käytätkö erilaista järjestelmää? Fork on avoimen lähdekoodin CMS, joka on kirjoitettu PHP:llä. Forksin lähdekoodia isännöi GitHub. Tämä opas näyttää, kuinka Fork CM asennetaan

Neos CMS:n asentaminen CentOS 7:ään

Neos CMS:n asentaminen CentOS 7:ään

Neos on innovatiivinen avoimen lähdekoodin sisällönhallintajärjestelmä, joka sopii erinomaisesti verkkosisällön luomiseen ja muokkaamiseen. Tekijät ja toimittajat mielessään, Neo

Ghost v0.11 LTS:n käyttöönotto CentOS 7.3:ssa

Ghost v0.11 LTS:n käyttöönotto CentOS 7.3:ssa

Käytätkö erilaista järjestelmää? Ghost on avoimen lähdekoodin blogialusta, joka on kasvattanut suosiotaan kehittäjien ja tavallisten käyttäjien keskuudessa vuodesta 201 lähtien.

Ghost v0.11 LTS:n käyttöönotto Fedora 25:ssä

Ghost v0.11 LTS:n käyttöönotto Fedora 25:ssä

Käytätkö erilaista järjestelmää? Ghost on avoimen lähdekoodin blogialusta, joka on kasvattanut suosiotaan kehittäjien ja tavallisten käyttäjien keskuudessa vuodesta 201 lähtien.

Kuinka ottaa käyttöön useita Wordpress-sivustoja Virtualminin ja Ansiblen avulla Ubuntu 16.04:ssä

Kuinka ottaa käyttöön useita Wordpress-sivustoja Virtualminin ja Ansiblen avulla Ubuntu 16.04:ssä

Vultr-virtuaalipalvelimen yleinen käyttötarkoitus on isännöidä Wordpress-verkkosivustoja. Tämä opas näyttää, kuinka voit automatisoida virtuaalipalvelimen konfiguroinnin tyhjästä

Ghost Professional Publishing Platformin asettaminen OpenBSD 6:lle

Ghost Professional Publishing Platformin asettaminen OpenBSD 6:lle

Ghost on kilpailijan WordPressin uusin ja paras aloittelija. Teeman kehittäminen on nopeaa ja helppoa oppia, koska Ghostin kehittäjät päättivät käyttää molempia th

Asenna ja määritä Ghost v1.0.0 -blogi Ubuntu 16.04:ään

Asenna ja määritä Ghost v1.0.0 -blogi Ubuntu 16.04:ään

Ghost on moderni, avoimen lähdekoodin julkaisualusta, joka on rakennettu Node.js:lle, jossa on Ember.js-hallintaohjelma, JSON-sovellusliittymä ja Handlebars.js:n tarjoama teemasovellusliittymä. Ghos

Kuinka asentaa MODX Revolution Fedora 26 LAMP VPS:ään

Kuinka asentaa MODX Revolution Fedora 26 LAMP VPS:ään

Käytätkö erilaista järjestelmää? MODX Revolution on nopea, joustava, skaalautuva, ilmainen ja avoimen lähdekoodin yritystason sisällönhallintajärjestelmä (CMS), joka on kirjoitettu i.

Dotclearin asentaminen Debian 9:ään (Stretch)

Dotclearin asentaminen Debian 9:ään (Stretch)

Käytätkö erilaista järjestelmää? Dotclear on hyvin yksinkertainen blogikone. Se on avoimen lähdekoodin ja helppokäyttöinen. Tämä opetusohjelma käy asennuksen läpi

SilverStripe CMS:n asentaminen Fedora 26 LAMP VPS:ään

SilverStripe CMS:n asentaminen Fedora 26 LAMP VPS:ään

Käytätkö erilaista järjestelmää? SilverStripe on joustava ja laajennettava ilmainen ja avoimen lähdekoodin yritystason sisällönhallintajärjestelmä (CMS), joka on kirjoitettu PHP:llä. minä

Fork CMS:n asentaminen Ubuntu 16.04 LTS:ään

Fork CMS:n asentaminen Ubuntu 16.04 LTS:ään

Käytätkö erilaista järjestelmää? Fork on avoimen lähdekoodin CMS, joka on kirjoitettu PHP:llä. Forksin lähdekoodia isännöi GitHub. Tämä opas näyttää, kuinka Fork CM asennetaan

Kuinka ottaa Ghost käyttöön Debianissa 8.7

Kuinka ottaa Ghost käyttöön Debianissa 8.7

Käytätkö erilaista järjestelmää? Ghost on avoimen lähdekoodin blogialusta, joka on kasvattanut suosiotaan kehittäjien ja tavallisten käyttäjien keskuudessa vuoden 2013 julkaisustaan ​​lähtien. minä

Fork CMS:n asentaminen Debian 9:ään

Fork CMS:n asentaminen Debian 9:ään

Käytätkö erilaista järjestelmää? Fork on avoimen lähdekoodin CMS, joka on kirjoitettu PHP:llä. Forksin lähdekoodia isännöi GitHub. Tämä opas näyttää, kuinka Fork CM asennetaan

Typesetter CMS:n asentaminen CentOS 7:ään

Typesetter CMS:n asentaminen CentOS 7:ään

Typesetter on PHP-kielellä kirjoitettu avoimen lähdekoodin sisällönhallintajärjestelmä, joka keskittyy helppokäyttöisyyteen True WYSIWYG -editoinnin ja litteän tiedostojen tallennuksen kanssa. Tässä artikkelissa asennamme

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja