Ansible 초보자가 playbook~role을 배운다 ④ (wordpress 환경 구축) -단체 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(베스트 프랙티스)편-
Reference
이 문제에 관하여(Ansible 초보자가 playbook~role을 배운다 ④ (wordpress 환경 구축) -단체 playbook편-), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/showa-engine/items/d253f8b6dc9f8efdecf2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
yum install epel-release http://rpms.famillecollet.com/enterprise/remi-release-7.rpm -y
yum install httpd --enablerepo=epel -y
wget http://wordpress.org/latest.tar.gz -P /tmp/
tar -zxvf /tmp/latest.tar.gz -C /var/www/html/
chown -R apache:apache /var/www/html/wordpress
yum install php php-cli php-pdo php-fpm php-json php-mysqlnd --enablerepo remi-php74 -y
systemctl restart httpd
systemctl enable httpd
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=mariadb-10.1
yum install mariadb-server MySQL-python -y
systemctl start mariadb
systemctl enable mariadb
mysqladmin create wordpress
mysql -e "grant all privileges on wordpress.* to [email protected] identified by 'password'"
---
- name: {Play name}
hosts: {target server} … ターゲットサーバ(ターゲットグループ)
become: yes … sudo有効化(ターゲットサーバでroot権限を持った変更が必要な場合、記述)
tasks:
- name: {task name} … task 名を付ける、実行時にどのタスクが動いているか確認する目印となる。
{modle}: …使用したいモジュールを記述ルールに従い記述。
다음 Link>> Ansible 초보자가 playbook~role을 배운다 ⑤ (wordpress 환경 구축)-roles(베스트 프랙티스)편-
Reference
이 문제에 관하여(Ansible 초보자가 playbook~role을 배운다 ④ (wordpress 환경 구축) -단체 playbook편-), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/showa-engine/items/d253f8b6dc9f8efdecf2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)