Több Wordpress webhely üzembe helyezése a Virtualmin és az Ansible segítségével az Ubuntu 16.04 rendszeren

A Vultr virtuális szerverek gyakori használata Wordpress-webhelyek tárolására. Ez az útmutató bemutatja, hogyan automatizálhatja a virtuális szerver konfigurációját a semmiből (az Ansible használatával), és hogyan telepíthet több független Wordpress-webhelyet (Webmin/Virtualmin használatával). A Virtualmin/Webmin egy grafikus felhasználói felület, amely lehetővé teszi több virtuális kiszolgáló fiók telepítésének kezelését ugyanazon a gépen (LAMP/LEMP veremmel kiegészítve). A Virtualmin nagyon hasonlít a cPanelhez és a Pleskhez, és ebben az oktatóanyagban az ingyenes GPL-kiadást fogjuk használni. A Vultr szerver kezdeti beállítása és a Virtualmin telepítése után nagyon gyorsan beállíthat több virtuális kiszolgálót a Virtualmin felületről, és közvetlenül telepítheti a Wordpress-t arra a virtuális szerverre, saját tartománynévvel kiegészítve.

Ebben az oktatóanyagban a parancsok hosszú listájának manuális bevitele helyett az Ansible-t használjuk. Az Ansible egy python alapú automatizálási eszköz, amely lehetővé teszi a szerverfeladatok megbízható és ismételt automatizálását. Ez azt jelenti, hogy miután követte ezt az oktatóanyagot, néhány paranccsal ugyanígy telepíthet egy másik szervert.

Előfeltételek

  • Legalább egy teljesen minősített tartománynév és hozzáférés a DNS-rekordokhoz
  • Vultr fiók

1. lépés – Az Ansible telepítése a helyi gépre

Telepítse az Ansible-t a helyi gépére vagy egy másik kiszolgálóra.

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

2. lépés – SSH-kulcsok létrehozása és kiszolgáló üzembe helyezése

Az Ansible úgy működik, hogy SSH-n keresztül bejelentkezik a szerverére. Az SSH hozzáférés akkor a legbiztonságosabb, ha jelszó helyett kulcsokat használunk. Először generáljunk egy nyilvános és privát kulcspárt.

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

A ssh_keyskönyvtárban most két fájl lesz, ssh_keysés ssh_keys.pub. ssh_keysaz Ön privát kulcsának fájlja, amelyet biztonságban kell tartani. Most megnyithatja ssh_keys.puba nyilvános kulcsot tartalmazó .

Jelentkezzen be a Vultr webes irányítópultjára, és kattintson a gombra Deploy New Server.

Válassza ki a régiót, a kiszolgáló típusát (Ubuntu 16.04), a kiszolgáló méretét, majd a 6. részben ( SSH keys) kattintson a gombra Add New. A következő oldalon illessze be nyilvános kulcsát, nevezze el, majd kattintson a gombra Add SSH key. Végül ellenőrizze, hogy a kulcs ki van választva, és kattintson a gombra Deploy now.
Amint a szerver befejezte a telepítést, megjelenik az IP-címe. Be kell jelentkeznie a domain név DNS-kiszolgálójára, és erre a címre kell irányítania.

3. lépés – Hozzon létre egy alap Ansible konfigurációt

Az Ansible automatizálási fájljai a roles. Először beállítjuk a könyvtárstruktúrát (az ansible1. lépésben létrehozott könyvtáron belül ), és az alapvető fájlokat.

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

Szerkessze a hostsfájlt úgy, hogy az tartalmazza a következőket, helyettesítve az ip addressimént létrehozott szervert. Az Ansible a python 2-t használja, amely az Ubuntu 16.04-ben alapértelmezés szerint nincs telepítve. A hostsfájlban megmondjuk az Ansible-nek, hogy használja a python 3-at.

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

Szerkessze a deploy.ymlfájlt úgy, hogy az tartalmazza a következőket. A felhasználót fogjuk használni root.

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

Szerkessze a /group_vars/allfájlt úgy, hogy az tartalmazza a következőket. Ezek a változók megmondják az Ansible számára az SSH-kulcsok helyét, a swap fájl paramétereit, a Teljesen minősített tartománynevet és a root jelszót. Kérjük, ne feledje, hogy a fájl ne szerepeljen a forrásvezérlőben, mivel az egyértelmű szövegben tartalmazza a jelszavát.

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

Szerkessze a common/handlers/main.ymlfájlt úgy, hogy az tartalmazza a következőket.

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

4. lépés – Hozzon létre lehetséges feladatokat az alapvető szerverbeállításokhoz

A lehetséges automatizálás könnyebben érthető, ha feladatokra bontjuk. A folyamat során minden egyes feladatunkhoz hozzunk létre fájlokat.

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

main.yml minden olyan fájlra kell mutatnia, amely az Ansible parancsokat tartalmazza, ezért szerkessze úgy, hogy a következőket tartalmazza.

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

Az új szerver beállításának első lépése a repo gyorsítótár frissítése és az időzóna beállítása. Szerkessze a common/handlers/setup.ymlfájlt úgy, hogy az tartalmazza a következőket.

- apt: update_cache=yes
  sudo: yes

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

Most a root felhasználónak adunk egy jelszót (amelyre szükségünk lesz a virtualmin webes felület eléréséhez), de letiltjuk az SSH-n keresztüli jelszavas bejelentkezést (mivel a biztonságosabb kulcsos hitelesítési módszert használjuk). Szerkessze users.ymla következőket.

- 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

A biztonság kedvéért tűzfalra van szükségünk. Az egyszerű tűzfalat használjuk, hogy lehetővé tegyük az SSH-hozzáférést a porton 22, a webes hozzáférést a porton 80és a biztonságos webes hozzáférést a porton 443. Szerkessze a ufw.ymlfájlt úgy, hogy az tartalmazza a következőket.

- 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

Opcionálisan beilleszthet egy swap fájlt is. Ez elengedhetetlen, ha a kiszolgáló kevesebb, mint 2 GB RAM-mal rendelkezik, hogy elkerülje a memória összeomlását. Szerkessze swap.ymla következőket.

- 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. lépés – Adjon hozzá lehetséges feladatot a virtualmin beállításához

A Virtualmin saját telepítőfájllal rendelkezik, amelyet az Ansible letölthet és futtathat. Itt a minimális telepítést ( LINK) használjuk. A további elemek a MySQL-kiszolgáló jelszavának konfigurálása, amely nincs beállítva, amikor a Virtualmin telepíti. A jelszó megváltoztatása előtt ideiglenesen le kell állítani a MySQL-t, és hozzá kell adnunk a hitelesítési könyvtárat. Szerkessze virtualmin.ymla következőket.

- 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

Az Ansible szerepkör befejeződött, és készen állunk a telepítésre.

6. lépés – Hajtsa végre a telepítést az Ansible segítségével

Az ansible mappából most egyszerűen lefuttathatjuk a következő parancsot, és az Ansible automatikusan végrehajtja az összes általunk létrehozott feladatot. Az első csatlakozáskor SSH-kulcsra figyelmeztető figyelmeztetést kap, csak írja be a " yes" karaktersort a promptba.

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

Ha másik kiszolgálót szeretnénk használni, egyszerűen megváltoztathatjuk az IP-címet a hosts fájlban, és újra futtathatjuk a parancsot, hogy pontosan ugyanazt a beállítást végezzük el.

7. lépés – Virtualmin utótelepítési varázsló

A telepítés befejeződött, és most már mehetünk https://192.0.2.1:10000(használd a szervered IP-címét). Böngészője biztonsági figyelmeztetést ad ki, mert a tanúsítvány önaláírt, ezért kattintson, advancedés adjon hozzá kivételt. Ekkor megjelenik egy bejelentkezési oldal. A felhasználónév root, a jelszó pedig az, amelyet a group_vars/all3. lépésben a fájlba írt be. Amikor először lép be a Virtualminbe, megjelenik a telepítés utáni varázsló. Ezeket a beállításokat manuálisan is végrehajthatja, vagy kattintson cancelaz alapértékek elfogadásához.

8. lépés – Hozzon létre egy szervert, és telepítse a WordPress-t

Az első Wordpress-szerver üzembe helyezéséhez a Virtualmin irányítópultján kattintson a ikonra Create Virtual Server. Meg kell adnia egy domain nevet, leírást és egy rendszergazdai jelszót. A domain névnek különböznie kell a Virtualmin teljesen minősített tartománynévtől, és a DNS rekordot a szerver IP-címére kell irányítania.

Kattintson a gombra Create Server. Miután a Virtualmin befejezte a szerver létrehozását, kattintson Install Scriptsa bal oldali menüre. Válassza ki a lehetőséget Wordpress, kattintson a gombra Show install options, és a következő oldalon válassza ki a Wordpress telepítésének helyét. Csak válassza ki At top levelés kattintson a gombra Install Now.

Csak ennyit kell tennie – befejezheti a Wordpress telepítését úgy, hogy felkeresi a http://example.net/wp-admin/install.php(hol example.netvan ez a virtuális szerver domain neve). Ha a DNS-rekordok még nem Services > Preview Websiteterjedtek el, a Virtualmin menüből léphet a következő helyre.

Ezt a lépést többször megismételheti több Wordpress-webhely létrehozásához ugyanazon a Vultr-kiszolgálón.


Jekyll blog létrehozása Ubuntu 16.04-en

Jekyll blog létrehozása Ubuntu 16.04-en

Más rendszert használ? A Jekyll nagyszerű alternatíva a WordPress helyett blogíráshoz vagy tartalommegosztáshoz. Nem igényel adatbázist, és nagyon egyszerű i

A MODX Revolution telepítése Ubuntu 16.04 LAMP VPS-re

A MODX Revolution telepítése Ubuntu 16.04 LAMP VPS-re

Más rendszert használ? A MODX Revolution egy gyors, rugalmas, méretezhető, ingyenes és nyílt forráskódú, vállalati szintű tartalomkezelő rendszer (CMS)

Jekyll blog létrehozása a CentOS 7 rendszeren

Jekyll blog létrehozása a CentOS 7 rendszeren

Más rendszert használ? A Jekyll a WordPress jó alternatívája. Nem igényel adatbázisokat, és sokak által ismert nyelven működik

A MODX Revolution telepítése CentOS 7 LAMP VPS-re

A MODX Revolution telepítése CentOS 7 LAMP VPS-re

Más rendszert használ? A MODX Revolution egy gyors, rugalmas, méretezhető, ingyenes és nyílt forráskódú, vállalati szintű tartalomkezelő rendszer (CMS)

A Fork CMS telepítése CentOS 7 rendszeren

A Fork CMS telepítése CentOS 7 rendszeren

Más rendszert használ? A Fork egy PHP nyelven írt nyílt forráskódú CMS. A Forks forráskódja a GitHubon található. Ez az útmutató megmutatja, hogyan kell telepíteni a Fork CM-et

A Neos CMS telepítése a CentOS 7 rendszeren

A Neos CMS telepítése a CentOS 7 rendszeren

A Neos egy innovatív, nyílt forráskódú tartalomkezelő rendszer, amely kiválóan alkalmas online tartalom létrehozására és szerkesztésére. A szerzőkre és a szerkesztőkre gondolva, Neo

A Ghost v0.11 LTS telepítése CentOS 7.3 rendszeren

A Ghost v0.11 LTS telepítése CentOS 7.3 rendszeren

Más rendszert használ? A Ghost egy nyílt forráskódú blogplatform, amely 201 óta egyre népszerűbb a fejlesztők és a hétköznapi felhasználók körében.

A Ghost v0.11 LTS telepítése Fedora 25 rendszeren

A Ghost v0.11 LTS telepítése Fedora 25 rendszeren

Más rendszert használ? A Ghost egy nyílt forráskódú blogplatform, amely 201 óta egyre népszerűbb a fejlesztők és a hétköznapi felhasználók körében.

Több Wordpress webhely üzembe helyezése a Virtualmin és az Ansible segítségével az Ubuntu 16.04 rendszeren

Több Wordpress webhely üzembe helyezése a Virtualmin és az Ansible segítségével az Ubuntu 16.04 rendszeren

A Vultr virtuális szerverek gyakori használata Wordpress-webhelyek tárolására. Ez az útmutató bemutatja, hogyan automatizálhatja a virtuális szerver konfigurációját a semmiből

Telepítse és konfigurálja a Ghost v1.0.0 blogot az Ubuntu 16.04 rendszeren

Telepítse és konfigurálja a Ghost v1.0.0 blogot az Ubuntu 16.04 rendszeren

A Ghost egy modern, nyílt forráskódú közzétételi platform, amely Node.js-re épül, Ember.js adminisztrátori klienssel, JSON API-val és Handlebars.js-t futtató téma API-val. Ghos

A MODX Revolution telepítése Fedora 26 LAMP VPS-re

A MODX Revolution telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A MODX Revolution egy gyors, rugalmas, méretezhető, ingyenes és nyílt forráskódú, vállalati szintű tartalomkezelő rendszer (CMS)

A Dotclear telepítése Debian 9-re (Stretch)

A Dotclear telepítése Debian 9-re (Stretch)

Más rendszert használ? A Dotclear egy nagyon egyszerű blogíró motor. Nyílt forráskódú és könnyen használható. Ez az oktatóprogram végigmegy a telepítésen

A SilverStripe CMS telepítése Fedora 26 LAMP VPS-re

A SilverStripe CMS telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A SilverStripe egy rugalmas és bővíthető ingyenes és nyílt forráskódú vállalati szintű tartalomkezelő rendszer (CMS), PHP nyelven írva. én

A Fork CMS telepítése Ubuntu 16.04 LTS-re

A Fork CMS telepítése Ubuntu 16.04 LTS-re

Más rendszert használ? A Fork egy PHP nyelven írt nyílt forráskódú CMS. A Forks forráskódja a GitHubon található. Ez az útmutató megmutatja, hogyan kell telepíteni a Fork CM-et

A Ghost telepítése a Debian 8.7 rendszeren

A Ghost telepítése a Debian 8.7 rendszeren

Más rendszert használ? A Ghost egy nyílt forráskódú blogplatform, amely 2013-as megjelenése óta egyre népszerűbb a fejlesztők és a hétköznapi felhasználók körében. én

A Fork CMS telepítése Debian 9-re

A Fork CMS telepítése Debian 9-re

Más rendszert használ? A Fork egy PHP nyelven írt nyílt forráskódú CMS. A Forks forráskódja a GitHubon található. Ez az útmutató megmutatja, hogyan kell telepíteni a Fork CM-et

A Typesetter CMS telepítése CentOS 7 rendszeren

A Typesetter CMS telepítése CentOS 7 rendszeren

A Typesetter egy PHP nyelven írt nyílt forráskódú CMS, amely a True WYSIWYG szerkesztéssel és a sima fájlok tárolásával a könnyű használhatóságra összpontosít. Ebben a cikkben telepítjük

A WordPress beállítása a WooCommerce segítségével CentOS 6 rendszeren

A WordPress beállítása a WooCommerce segítségével CentOS 6 rendszeren

A Vultr-példányok nagyszerű módja a WordPress-blog futtatásának, de a WordPress jelentősebb kiterjesztése a WooCommerce, egy e-kereskedelmi bővítmény, amely kiterjeszti

A Fork CMS telepítése Fedora 28-ra

A Fork CMS telepítése Fedora 28-ra

Más rendszert használ? A Fork egy PHP nyelven írt nyílt forráskódú CMS. A Forks forráskódja a GitHubon található. Ez az útmutató megmutatja, hogyan kell telepíteni a Fork CM-et

A MODX Revolution telepítése Debian 9 LAMP VPS-re

A MODX Revolution telepítése Debian 9 LAMP VPS-re

Más rendszert használ? A MODX Revolution egy gyors, rugalmas, méretezhető, ingyenes és nyílt forráskódú, vállalati szintű tartalomkezelő rendszer (CMS)

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <<strong>>Windows ISO<<strong>> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.