Ansible 초보자가 playbook~role을 배운다 ④ (wordpress 환경 구축) -단체 playbook편-

4105 단어 AnsibleWordPress
wordpress 구축을 위한 Ansible playbook을 작성합니다.

wordpress 환경
-작동 요구 사항-
· PHP 버전 7.4 이상
· MariaDB 버전 10.1 이상
참고 wordpress 공식: htps : // 그럼. rdp s. 오 rg / 도 w 응 아 d /

-playbook 요구 사항-
・PHP, MariaDB의 버전 지정을 할 수 있도록 해, 유용성의 배려.
・ansible의 체크 모드 실행(--check)으로 에러에 의해 Task 정지하지 않게 배려.

-서버 구성-
· 웹 서버 (IP 주소 : 192.168.16.12)
· db 서버 (IP address : 192.168.16.13)

playbook을 시작하기 전에 수동 빌드 절차를 만듭니다.



웹 서버 구축

① epel,php의 repository를 인스톨
yum install epel-release http://rpms.famillecollet.com/enterprise/remi-release-7.rpm -y

②ahapche 설치
yum install httpd --enablerepo=epel -y    

③wordpress 패키지 다운로드
wget http://wordpress.org/latest.tar.gz -P /tmp/

④wordpress 패키지의 해동(해동처 지정)
tar -zxvf /tmp/latest.tar.gz -C /var/www/html/

⑤ wordpress 디렉토리(하하 포함)의 소유자, 그룹을 apache로 변경
chown -R apache:apache /var/www/html/wordpress

⑥php 설치(버전 7.4 지정)
yum install php php-cli php-pdo php-fpm php-json php-mysqlnd --enablerepo remi-php74 -y

⑦ apache 기동, 활성화
systemctl restart httpd
systemctl enable httpd


DB 서버 구축

①mariadb repository(version10.1용) 다운로드
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=mariadb-10.1

②mariadb-server,MySQL-python 설치
yum install mariadb-server MySQL-python -y

③mariadb 기동
systemctl start mariadb

④mariadb 활성화
systemctl enable mariadb

⑤DB:wordpress 작성
mysqladmin create wordpress

⑥DB:wordpress에 유저:web_user 작성(접속원:web서버:192.168.16.12, 비밀번호:password)
mysql -e "grant all privileges on wordpress.* to [email protected] identified by 'password'"


wordpress의 setup ※설치 순서가 아닌, 참고로서 적는다.

ht tp // 192. 168. 16. 13 / rdp s / wp-d dmin / in s tar. php


ansible playbook 작성(web,db 수동 구축 순서를 바탕으로 작성한다)



playbook의 주요 기술 방법 ※ 거친 기술 규칙


---
- name: {Play name}
  hosts: {target server}   … ターゲットサーバ(ターゲットグループ)
  become: yes        … sudo有効化(ターゲットサーバでroot権限を持った変更が必要な場合、記述)
  tasks:
    - name: {task name}  … task 名を付ける、実行時にどのタスクが動いているか確認する目印となる。
      {modle}:       …使用したいモジュールを記述ルールに従い記述。

playbook에서 사용한 ansible 모듈


modlue name
개요


yum
yum을 사용한 설치

get_url
wget 변함없이 pkg DL

stat
파일 정보 취득


Linx 명령 실행, command와 달리 파이프 등을 사용할 수 있습니다

unarchive
압축 파일 압축 해제

파일
파일 조작(권한 변경 등)

서비스
서비스 운영

mysql_db
DB 생성

mysql_user
DB 사용자 생성


수동 절차에 따라
요건인 체크 모드로 Task 정지하지 않도록 배려(stat와 when에 의한 조건 분기)한 playbook을 작성.
git hab에 게시하고 있습니다.

htps : // 기주 b. 코 m/히로 0413 이케/안시 b〇_s개 dy/bぉ b/마인/안시 bぇ/우ぇ b. yml
htps : // 기주 b. 코 m / 히로 0413 이케 / 안시 b ぇ_s dy / b ぉ b / 마이 / 안시 b ぇ / db. yml

다음에, 진정한 목적이었던 roles 이해를 추천합니다.
-추신-

다음 Link>> Ansible 초보자가 playbook~role을 배운다 ⑤ (wordpress 환경 구축)-roles(베스트 프랙티스)편-

좋은 웹페이지 즐겨찾기