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)

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é.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket