Како да примените више Вордпресс сајтова користећи Виртуалмин и Ансибле на Убунту 16.04

Уобичајена употреба Вултр виртуелног сервера је хостовање Вордпресс веб локација. Овај водич вам показује како да аутоматизујете конфигурацију виртуелног сервера од нуле (користећи Ансибле) и примените више независних Вордпресс веб локација (помоћу Вебмин/Виртуалмин). Виртуалмин/Вебмин је графички кориснички интерфејс који вам омогућава да управљате применом више налога виртуелног сервера на истој машини (у комплету са ЛАМП/ЛЕМП стеком). Виртуалмин је веома сличан цПанелу и Плеску, а у овом водичу ћемо користити бесплатно ГПЛ издање. Након почетног подешавања Вултр сервера и инсталације Виртуалмин-а, можете врло брзо подесити више виртуелних сервера из Виртуалмин интерфејса и директно инсталирати Вордпресс на том виртуелном серверу заједно са сопственим именом домена.

У овом водичу, уместо ручног уноса дугачке листе команди, користићемо Ансибле. Ансибле је алатка за аутоматизацију заснована на питхон-у која вам омогућава да поуздано и више пута аутоматизујете задатке сервера. То значи да ћете након што пратите овај водич, моћи да примените други сервер на исти начин са само неколико команди.

Предуслови

  • Најмање једно потпуно квалификовано име домена и приступ ДНС записима
  • Вултр налог

Корак 1 - Инсталирање Ансибле-а на вашој локалној машини

Инсталирајте Ансибле на вашој локалној машини или другом серверу.

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

Корак 2 - Генеришите ССХ кључеве и поставите сервер

Ансибле ради тако што се пријављује на ваш сервер преко ССХ-а. ССХ приступ је најбезбеднији ако користимо кључеве уместо лозинке. Хајде да прво генеришемо пар јавних и приватних кључева.

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

У ssh_keysдиректоријуму ће сада бити две датотеке ssh_keysи ssh_keys.pub. ssh_keysје ваш приватни кључ фајл и треба га чувати. Сада можете отворити ssh_keys.pub, који садржи јавни кључ.

Пријавите се на Вултр веб контролну таблу и кликните на Deploy New Server.

Изаберите регион, тип сервера (Убунту 16.04), величину сервера, а затим у делу 6 ( SSH keys), кликните на Add New. На следећој страници налепите свој јавни кључ и дајте му име и кликните на Add SSH key. На крају проверите да ли је кључ изабран и кликните на Deploy now.
Када сервер заврши са постављањем, биће вам приказана његова ИП адреса. Мораћете да се пријавите на ДНС сервер имена вашег домена и усмерите га на ову адресу.

Корак 3 - Креирајте основну Ансибле конфигурацију

Ансибле-ове датотеке за аутоматизацију се зову roles. Прво ћемо подесити структуру директоријума (унутар ansibleдиректоријума који сте управо креирали у кораку 1) и основне датотеке.

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

Уредите hostsдатотеку тако да садржи следеће, замењујући ip addressсервер који сте управо креирали. Ансибле користи питхон 2, који Убунту 16.04 нема подразумевано инсталиран. У hostsдатотеци кажемо Ансибле-у да користи питхон 3.

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

Уредите deploy.ymlдатотеку тако да садржи следеће. Користићемо rootкорисника.

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

Уредите /group_vars/allдатотеку тако да садржи следеће. Ове променљиве говоре Ансибле-у локацију ваших ССХ кључева, параметре замене датотеке, ваше потпуно квалификовано име домена и роот лозинку. Не заборавите да не укључујете датотеку у контролу извора јер садржи вашу лозинку у чистом тексту.

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

Уредите common/handlers/main.ymlдатотеку тако да садржи следеће.

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

Корак 4 - Креирајте Ансибле задатке за основно подешавање сервера

Ансибле аутоматизацију је лакше разумети ако је поделимо на задатке. Хајде да креирамо датотеке за сваки наш задатак у процесу.

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

main.yml треба да указује на сваку датотеку која садржи Ансибле команде, па је уредите тако да садржи следеће.

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

Први корак у постављању новог сервера је ажурирање репо кеша и подешавање временске зоне. Уредите common/handlers/setup.ymlдатотеку тако да садржи следеће.

- apt: update_cache=yes
  sudo: yes

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

Сада ћемо роот кориснику дати лозинку (која ће нам требати да приступимо виртуелном веб интерфејсу), али онемогућимо пријављивање лозинком преко ССХ-а (пошто користимо метод аутентификације са сигурнијим кључевима). Уредите тако users.ymlда садржи следеће.

- 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

За сигурност нам је потребан заштитни зид. Користићемо Некомпликовани заштитни зид да дозволимо ССХ приступ на порту 22, приступ вебу на порту 80и сигуран веб приступ на порту 443. Уредите ufw.ymlдатотеку тако да садржи следеће.

- 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

Опционо, можете укључити датотеку за замену. Ово је неопходно ако ваш сервер има мање од 2 ГБ РАМ-а да бисте избегли пад меморије. Уредите тако swap.ymlда садржи следеће.

- 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 - Додајте Ансибле задатак за подешавање виртуелног минута

Виртуалмин има сопствену датотеку за инсталацију коју Ансибле може преузети и покренути. Овде користимо минималну инсталацију ( LINK). Додатне ставке су конфигурисање лозинке МиСКЛ сервера која није постављена када је Виртуалмин инсталира. Морамо привремено да зауставимо МиСКЛ и додамо директоријум за аутентификацију пре него што променимо лозинку. Уредите тако virtualmin.ymlда садржи следеће.

- 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

Ансибле улога је сада готова и спремни смо за распоређивање.

Корак 6 - Извршите инсталацију помоћу Ансибле-а

Из фасцикле ансибле сада можемо једноставно покренути следећу команду и Ансибле ће аутоматски извршити све задатке које смо креирали. Када се први пут повежете, добићете упозорење о ССХ кључу, само укуцајте „ yes“ у одзивнику.

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

Ако желимо да користимо други сервер, можемо једноставно променити ИП адресу у датотеци хостс и поново покренути ту команду да бисмо завршили потпуно исто подешавање.

Корак 7 - Виртуалмин чаробњак за инсталацију

Инсталација је завршена и сада можемо да идемо на https://192.0.2.1:10000(користите ИП адресу вашег сервера). Ваш претраживач ће издати безбедносно упозорење јер је сертификат самопотписан, па кликните advancedи додајте изузетак. Биће вам представљена страница за пријаву. Корисничко име је root, а лозинка је она коју сте унели у group_vars/allдатотеку у кораку 3. Када први пут уђете у Виртуалмин, приказаће вам се чаробњак за инсталацију. Можете да прођете кроз ова подешавања ручно или да кликнете cancelда бисте прихватили подразумеване вредности.

Корак 8 - Креирајте сервер и инсталирајте ВордПресс

Да бисте покренули свој први Вордпресс сервер, на контролној табли Виртуалмин кликните на Create Virtual Server. Мораћете да унесете име домена, опис и лозинку администратора. Име домена би требало да се разликује од потпуно квалификованог имена домена Виртуалмин и мораћете да усмерите ДНС запис на ИП адресу вашег сервера.

Кликните на Create Server. Када Виртуалмин заврши креирање вашег сервера, кликните Install Scriptsна мени са леве стране. Изаберите Wordpress, кликните Show install optionsи на следећој страници изаберите локацију за инсталацију Вордпресс-а. Само изаберите At top levelи кликните Install Now.

То је све што треба да урадите – можете да завршите инсталацију Вордпресс-а тако што ћете посетити свој http://example.net/wp-admin/install.php(где се example.netналази име домена овог виртуелног сервера). Ако се ваши ДНС записи још увек нису Services > Preview Websiteпроширили, можете да одете на мени из Виртуалмин.

Овај корак можете поновити више пута да бисте креирали више Вордпресс локација на истом Вултр серверу.


Креирање Јекилл блога на Убунту 16.04

Креирање Јекилл блога на Убунту 16.04

Користите другачији систем? Јекилл је одлична алтернатива ВордПресс-у за блоговање или дељење садржаја. Не захтева никакве базе података и веома је лако и

Како инсталирати МОДКС Револутион на Убунту 16.04 ЛАМП ВПС

Како инсталирати МОДКС Револутион на Убунту 16.04 ЛАМП ВПС

Користите другачији систем? МОДКС Револутион је брз, флексибилан, скалабилан, бесплатан и отвореног кода, систем за управљање садржајем (ЦМС) за предузећа написан и

Како инсталирати МОДКС Револутион на ФрееБСД 11 ФАМП ВПС

Како инсталирати МОДКС Револутион на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? МОДКС Револутион је брз, флексибилан, скалабилан, опен соурце систем за управљање садржајем (ЦМС) за предузећа написан у ПХП-у. Ит и

Инсталирајте ВордПресс на ОпенБСД 6.2

Инсталирајте ВордПресс на ОпенБСД 6.2

Увод ВордПресс је доминантан систем за управљање садржајем на интернету. Покреће све, од блогова до сложених веб локација са динамичким садржајем

Креирање Јекилл блога на ЦентОС 7

Креирање Јекилл блога на ЦентОС 7

Користите другачији систем? Јекилл је добра алтернатива ВордПресс-у. Не захтева никакве базе података и ради са језиком који је многима познат

Како инсталирати МОДКС Револутион на ЦентОС 7 ЛАМП ВПС

Како инсталирати МОДКС Револутион на ЦентОС 7 ЛАМП ВПС

Користите другачији систем? МОДКС Револутион је брз, флексибилан, скалабилан, бесплатан и отвореног кода, систем за управљање садржајем (ЦМС) за предузећа написан и

Инсталирање Форк ЦМС-а на ЦентОС 7

Инсталирање Форк ЦМС-а на ЦентОС 7

Користите другачији систем? Форк је ЦМС отвореног кода написан у ПХП-у. Изворни код Форкс се налази на ГитХуб-у. Овај водич ће вам показати како да инсталирате Форк ЦМ

Како инсталирати Неос ЦМС на ЦентОС 7

Како инсталирати Неос ЦМС на ЦентОС 7

Неос је иновативни систем за управљање садржајем отвореног кода који је одличан за креирање и уређивање онлајн садржаја. Имајући на уму ауторе и уреднике, Нео

Како да примените Гхост в0.11 ЛТС на ЦентОС 7.3

Како да примените Гхост в0.11 ЛТС на ЦентОС 7.3

Користите другачији систем? Гхост је платформа за блогове отвореног кода која постаје све популарнија међу програмерима и обичним корисницима од 201.

Како инсталирати СилверСтрипе ЦМС на ФрееБСД 11 ФАМП ВПС

Како инсталирати СилверСтрипе ЦМС на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? СилверСтрипе је флексибилан и проширив систем за управљање садржајем (ЦМС) отвореног кода написан у ПХП-у. То је лако

Како применити Гхост в0.11 ЛТС на Федора 25

Како применити Гхост в0.11 ЛТС на Федора 25

Користите другачији систем? Гхост је платформа за блогове отвореног кода која постаје све популарнија међу програмерима и обичним корисницима од 201.

Како да примените више Вордпресс сајтова користећи Виртуалмин и Ансибле на Убунту 16.04

Како да примените више Вордпресс сајтова користећи Виртуалмин и Ансибле на Убунту 16.04

Уобичајена употреба Вултр виртуелног сервера је хостовање Вордпресс веб локација. Овај водич вам показује како да аутоматизујете конфигурацију виртуелног сервера од нуле

Постављање Гхост Профессионал Публисхинг Платформе на ОпенБСД 6

Постављање Гхост Профессионал Публисхинг Платформе на ОпенБСД 6

Гхост је најновији и највећи почетник у конкуренцији ВордПресс-а. Развој теме је брз и лак за учење јер су програмери Гхост-а одлучили да користе оба

Инсталирајте и конфигуришите Гхост в1.0.0 блог на Убунту 16.04

Инсталирајте и конфигуришите Гхост в1.0.0 блог на Убунту 16.04

Гхост је модерна платформа за објављивање отвореног кода изграђена на Ноде.јс са Ембер.јс администраторским клијентом, ЈСОН АПИ-јем и АПИ-јем за тему који покреће Хандлебарс.јс. Гхос

Како инсталирати МОДКС Револутион на Федора 26 ЛАМП ВПС

Како инсталирати МОДКС Револутион на Федора 26 ЛАМП ВПС

Користите другачији систем? МОДКС Револутион је брз, флексибилан, скалабилан, бесплатан и отвореног кода, систем за управљање садржајем (ЦМС) за предузећа написан и

Како инсталирати Дотцлеар на Дебиан 9 (развлачење)

Како инсталирати Дотцлеар на Дебиан 9 (развлачење)

Користите другачији систем? Дотцлеар је веома једноставан механизам за блоговање. Он је отвореног кода и једноставан за коришћење. Овај водич ће проћи кроз инсталацију

Како инсталирати СилверСтрипе ЦМС на Федора 26 ЛАМП ВПС

Како инсталирати СилверСтрипе ЦМС на Федора 26 ЛАМП ВПС

Користите другачији систем? СилверСтрипе је флексибилан и проширив бесплатан систем за управљање садржајем (ЦМС) отвореног кода написан у ПХП-у. И

Инсталирање Форк ЦМС-а на Убунту 16.04 ЛТС

Инсталирање Форк ЦМС-а на Убунту 16.04 ЛТС

Користите другачији систем? Форк је ЦМС отвореног кода написан у ПХП-у. Изворни код Форкс се налази на ГитХуб-у. Овај водич ће вам показати како да инсталирате Форк ЦМ

Како применити Гхост на Дебиан 8.7

Како применити Гхост на Дебиан 8.7

Користите другачији систем? Гхост је платформа за блогове отвореног кода која постаје све популарнија међу програмерима и обичним корисницима од свог издања 2013. године. И

Инсталирање Форк ЦМС-а на Дебиан 9

Инсталирање Форк ЦМС-а на Дебиан 9

Користите другачији систем? Форк је ЦМС отвореног кода написан у ПХП-у. Изворни код Форкс се налази на ГитХуб-у. Овај водич ће вам показати како да инсталирате Форк ЦМ

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више