Yadda Ake Aikata Aiki Aiki Tare A Lokaci guda a cikin Sabar Linux da yawa Ta Amfani da Mai yiwuwa - Kashi na 3


A cikin kasidu biyu da suka gabata na wannan silsilar Mai yiwuwa, mun yi bayanin yadda ake girka da kuma daidaita Mai yiwuwa don gudanar da umarni da aiwatar da ayyuka masu rikitarwa a cikin sabar masu nisa da yawa a lokaci guda.

A cikin koyawa na yanzu za mu bayyana yadda ake saita WordPress a cikin sabar masu nisa iri ɗaya:

node1: 192.168.0.29
node2: 192.168.0.30

inda muka shigar, kunna, kuma muka fara Apache (wataƙila kun san yanzu dalilin da yasa muka zaɓi yin aiki tare da sabar yanar gizo azaman misali na farko a cikin koyawa ta ƙarshe).

Ina matukar ƙarfafa ku da ku karanta Sashe na 1 da Sashe na 2 kafin ku ci gaba don tabbatar da cewa kun saba da abubuwan da ke tattare da Mai yiwuwa.

Mataki na 1: Gabatar da Matsalolin Ma'asumai

Yayin da kuka fara ƙara ƙarin ayyuka zuwa wasanni, Littattafan Playbooks ɗinku na iya ƙara zama da wahala a sarrafa su. Don haka, hanyar da aka ba da shawarar a cikin waɗancan yanayi (a zahiri, a kowane yanayi) ita ce a yi amfani da tsarin kundin adireshi wanda ke ƙunshe da umarni ga kowane rukunin ayyuka a cikin fayiloli daban-daban.

Wannan tsarin yana ba mu damar sake amfani da waɗannan fayilolin sanyi a cikin ayyuka daban-daban da ke kara ƙasa hanya. Kowane ɗayan waɗannan fayilolin suna bayyana abin da ake kira a cikin yanayin muhalli mai yiwuwa rawar.

A cikin yanayinmu, za mu ƙirƙiri matsayi biyu. Ɗaya daga cikinsu (wanda ake kira wp-dependencies) za a yi amfani dashi don shigar da abubuwan dogara na WordPress (PHP da MariaDB - babu buƙatar shigar da Apache kamar yadda aka riga aka shigar).

Sauran rawar (mai suna wp-install-config) zai haɗa da duk ayyukan da suka dace da ke hade da shigarwa da daidaitawar WordPress.

Mataki na 2: Ƙirƙirar Matsaloli masu Ma'ana

Mai yiwuwa ya zo tare da mai amfani da ake kira ansible-galaxy wanda zai taimaka mana don ƙirƙirar tsarin shugabanci don ayyukanmu. Za mu yi wannan a /etc/ansible/playbooks (wanda muka ƙirƙira a Sashe na 2) amma a ka'idar za ku iya saita shi a cikin wani kundin adireshi idan kuna so.

# cd /etc/ansible/playbooks
# ansible-galaxy init wp-dependencies
# ansible-galaxy init wp-install-config

Na gaba yana tabbatar da sabbin ayyukan da aka ƙirƙira.

# ls -R /etc/ansible/playbooks

A cikin hoton da ke sama za mu iya ganin cewa galaxy mai yiwuwa ya ƙirƙiri kundayen adireshi guda biyu tare da suna iri ɗaya kamar matsayinmu, da sauran kundin adireshi (tsoho, fayiloli, masu sarrafa, meta, ɗawainiya, samfuri, da vars) da fayil ɗin README.md a cikin kowannensu. su.

Bugu da ƙari, an ƙirƙiri fayil ɗin YAML mai suna main.yml a cikin duk kundayen adireshi da aka jera a baya, ban da fayiloli da samfura.

Za mu fara da gyara fayilolin sanyi kamar yadda aka nuna:

1. /etc/ansible/playbooks/wp-dependencies/tasks/main.yml. Lura cewa muna haɗa da httpd idan ba ku bi ba tare da koyaswar da suka gabata na wannan silsilar.

---
# tasks file for wp-dependencies
- name: Update packages (this is equivalent to yum update -y)
  yum: name=* state=latest

- name: Install dependencies for WordPress
  yum: name={{ item }} state=present
  with_items:
        - httpd
        - mariadb-server 
        - mariadb
        - php 
        - php-mysql
        - MySQL-python

- name: Ensure MariaDB is running (and enable it at boot)
  service: name=mariadb state=started enabled=yes

- name: Copy ~/.my.cnf to nodes
  copy: src=/root/.my.cnf dest=/root/.my.cnf

- name: Create MariaDB database
  mysql_db: name={{ wp_mysql_db }} state=present

- name: Create MariaDB username and password
  mysql_user:
        login_user=root
        login_password=YourMariaDBRootPasswordHere
        name={{ wp_mysql_user }}
        password={{ wp_mysql_password }}
        priv=*.*:ALL

2. /etc/ansible/playbooks/wp-dependencies/defaults/main.yml

---
# defaults file for wp-dependencies
  wp_mysql_db: MyWP
  wp_mysql_user: wpUser
  wp_mysql_password: wpP4ss

3. /etc/ansible/playbooks/wp-install-config/tasks/main.yml:

---
# tasks file for wp-install-config
- name: Create directory to download WordPress
  command: mkdir -p /opt/source/wordpress

- name: Download WordPress
  get_url: url=https://www.wordpress.org/latest.tar.gz dest=/opt/source/wordpress/wordpress.tar.gz validate_certs=no

- name: Extract WordPress
  command: "tar xzf /opt/source/wordpress/wordpress.tar.gz -C /var/www/html --strip-components 1"

- name: Send config file
  copy: src=/root/wp-config-sample.php dest=/var/www/html/wp-config.php mode=0644

4. wp-config-sample.php (an bayar a cikin wannan Pastebin) kamar haka kuma adana shi zuwa injin mai sarrafa ku (kamar yadda kuke gani a cikin umarnin kwafin ƙarshe da ke sama, na zazzage shi zuwa gidan directory na superuser (/ tushen). /wp-config-sample.php).

Muhimmi: Da fatan za a lura cewa ƙimar masu canjin DB_NAME, DB_USER, da DB_PASSWORD iri ɗaya suke da a /etc/ansible/playbooks/wp-dependencies/defaults/main.yml:

…
/** The name of the database for WordPress */
define('DB_NAME', 'MyWP');

/** MySQL database username */
define('DB_USER', 'wpUser');

/** MySQL database password */
define('DB_PASSWORD', 'wpP4ss');
…

5. Domin sabbin abubuwan shigar da bayanai na uwar garken inda tushen kalmar sirri ba ta da komai, kamar a wannan yanayin, abin takaici muna buƙatar saita kalmar sirri don tushen mai amfani daban-daban a cikin kowace na'ura ta mysql_secure_installation.

Kamar yadda na sani, babu wata hanyar da za ta ba ku damar saita kalmar sirri ta hanyar Mai yiwuwa a daidai wannan matakin inda kuka ƙirƙiri asusun ajiyar bayanan gudanarwa don WordPress.

Tabbatar cewa kayi amfani da kalmar sirri iri ɗaya a cikin duk runduna, sannan kwafi takaddun shaida a /root/.my.cnf (ainihin wurin yana iya bambanta a yanayin ku, amma a kowane yanayi yana buƙatar dacewa da ƙimar ma'aunin src don aikin. Kwafi ~/.my.cnf zuwa nodes a /etc/ansible/playbooks/wp-dependencies/tasks/main.yml).

A cikin wancan fayil (duba sama) mun ɗauka cewa kalmar sirri don tushen shine YourMariaDBRootPassword.

6. Na gaba, littafin wasan mu (/etc/ansible/playbooks/playbook.yml) zai yi kama da tsari da sauƙi idan aka kwatanta da koyawa ta baya:

# cat playbook.yml
- hosts: webservers
  roles:
        - wp-dependencies
        - wp-install-config

A ƙarshe, lokaci ya yi da za mu gudanar da waɗannan ayyuka ta hanyar kiran littafin wasanmu:

# ansible-playbook playbook.yml

Yanzu bari mu bincika ko za mu iya samun dama ga shafin Admin WordPress ta amfani da adiresoshin IP na node1 192.168.0.29 da node2 192.168.0.30:

Kuna iya duba matakai biyu na ƙarshe a cikin sigar allo mai zuwa:

Kamar yadda kuke gani, zaku iya saita shigarwar WordPress da yawa ba tare da ƙaramin ƙoƙari ba ta amfani da Mai yiwuwa. Sannan zaku iya amfani da mahallin mai amfani na Admin don daidaita kowane rukunin yanar gizo daban.

La'akari na ƙarshe

Idan kuna amfani da wani rarraba don tura WordPress, sunan fakiti na iya bambanta, amma ya sauko don shigar da sabar yanar gizo ta Apache, uwar garken bayanai na MariaDB, da tsarin Python MySQL. Idan haka ne, yi amfani da tsarin sarrafa software na rarraba don bincika ainihin sunan fakitin da kuke buƙatar shigarwa.

Takaitawa

A cikin wannan silsilar mun yi bayanin yadda ake amfani da Mai yiwuwa don gudanar da umarni da aiwatar da ayyuka masu rikitarwa a cikin injunan Linux da yawa a lokaci guda.

Ɗaya daga cikin irin waɗannan misalai shine kafa WordPress, kamar yadda muka tattauna a wannan jagorar. Ko kai mai kula da tsarin ne ko mai rubutun ra'ayin kanka a yanar gizo, ina fata ka sami dabaru da misalai a cikin wannan koyawa suna da amfani.

Mafi kyawun sa'a kuma kada ku yi jinkirin sauke mana layi idan kuna buƙatar taimako ko kuna da wata tsokaci ko shawarwari!