CentOS 6.10 원본 컴파일 및 ansible 컴파일로 httpd2.4.39 설치

6663 단어 ansible설치httpd
1. 컴파일 설치
컴파일 환경 준비
호스트
계통
A
centos6.10
컴파일에 필요한 httpd, apr, apr-util

apr-1.7.0.tar.gz
apr-util-1.6.1.tar.gz
httpd-2.4.39.tar.gz
1. 컴파일링에 필요한 소프트웨어 설치

yum install gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel zlib-devel vim lrzsz tree screen lsof tcpdump wget ntpdate net-tools iotop bc zip unzip nfs-utils expat-devel -y
2. 모든 압축 팩 압축 해제

[root@CentOS6 ~]# tar -xf apr-util-1.6.1.tar.gz 
[root@CentOS6 ~]# tar -xf apr-1.7.0.tar.gz 
[root@CentOS6 ~]# tar -xf httpd-2.4.39.tar.gz
3. apr 및 apr-util을 httpd-2.4.39/srclib 디렉터리에 복사

[root@CentOS6 ~]# cp -a apr-1.7.0 httpd-2.4.39/srclib/apr
[root@CentOS6 ~]# cp -a apr-util-1.6.1 httpd-2.4.39/srclib/apr-util
4. httpd 컴파일

[root@CentOS6 ~]# cd httpd-2.4.39
[root@CentOS6 httpd-2.4.39]# ./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr=/root/httpd-2.4.39/srclib/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
5. 설치

[root@CentOS6 ~]# make && make install
6. httpd를 위한 시스템 사용자 만들기

[root@CentOS6 ~]# useradd -r -s /sbin/nologin apache
7. 프로필을 수정하여 httpd가 실행되는 사용자와 그룹을apache로 변경

[root@CentOS6 ~]# vim /app/httpd24/conf/httpd.conf 
User apache
Group apache
8. 환경 변수 구성

[root@CentOS6 ~]# echo "PATH=/app/httpd24/bin:$PATH" > /etc/profile.d/httpd24.sh
9. 전원 켜기로 설정

[root@CentOS6 ~]# vim /etc/rc.d/rc.local 
/app/httpd24/bin/apachectl start
ansible-playbook httpd2.4
ansible 컴파일 설치 httpd
1. 역할 디렉터리 구조 만들기

[root@localhost data]# mkdir -pv roles/httpd2.4/{tasks,files,vars,templates,handlers}
mkdir: created directory ‘roles'
mkdir: created directory ‘roles/httpd2.4'
mkdir: created directory ‘roles/httpd2.4/tasks'
mkdir: created directory ‘roles/httpd2.4/files'
mkdir: created directory ‘roles/httpd2.4/vars'
mkdir: created directory ‘roles/httpd2.4/templates'
mkdir: created directory ‘roles/httpd2.4/handlers'
2. task 만들기
tasks 디렉터리 진입[root@localhost ~]# cd /data/roles/httpd2.4/tasks/1. httpserver에 설치 디렉터리 만들기

[root@localhost tasks]# vim createdir.yaml 
- name: Create dir
 file: path=/app state=directory
2. httpd, apr, apr-util에서 원격 호스트로 압축 해제

[root@localhost tasks]# vim ungzhttpd.yaml 
- name: ungz httpd24
 unarchive: src=httpd.tar.gz dest=/app copy=yes
- name: ungz apr to srclib
 unarchive: src=apr.tar.gz dest=/app/httpd-2.4.39/srclib copy=yes
- name: ungz apr-util to srclib
 unarchive: src=apr-util.tar.gz dest=/app/httpd-2.4.39/srclib copy=yes
3. 압력 해제 후 apr.tar.gz 및 apr-util.tar.gz 소프트 연결

[root@localhost tasks]# vim links.yaml
- name: link apr-util
 file: src=/app/httpd-2.4.39/srclib/apr-util-1.6.1 dest=/app/httpd-2.4.39/srclib/apr-util state=link
- name: link apr
 file: src=/app/httpd-2.4.39/srclib/apr-1.7.0 dest=/app/httpd-2.4.39/srclib/apr state=link
4. httpd 컴파일

[root@localhost tasks]# vim configure.yaml 
- name: configer httpd
 shell: /app/httpd-2.4.39/configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr=/root/httpd-2.4.39/srclib/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
5.make

[root@localhost tasks]# vim make.yaml 
- name: make
 shell: make
6.make install

[root@localhost tasks]# vim install.yaml 
- name: install
 shell: make install
7. 자동 켜기 설정

[root@localhost tasks]# vim chkconf.yaml 
- name: chkconfig
 lineinfile: path=/etc/rc.d/rc.local insertafter="^touch.*" line="/app/httpd24/bin/apachectl start"
8. 아파치 사용자 추가

[root@localhost tasks]# vim useradd.yaml 
- name: add user
 user: name=apache system=yes shell=/sbin/nologin create_home=no
9. 템플릿 파일 생성 환경 변수 및 httpd 프로필 호출

[root@localhost tasks]# vim template.yaml
- name: httpd config
 template: src=httpd.conf.j2 dest=/app/httpd24/conf/httpd.conf
- name: Path
 template: src=httpd.sh.j2 dest=/etc/profile.d/httpd.sh
10. 읽기 환경 변수

[root@localhost tasks]# vim source.yaml 
- name: source path
 shell: source /etc/profile.d/httpd.sh
11. 서비스 시작

[root@localhost tasks]# vim service.yaml 
- name: start service
 shell: apachectl start
12. main을 만듭니다.yaml

[root@localhost tasks]# vim main.yaml 
- include: createdir.yaml
- include: ungzhttpd.yaml
- include: links.yaml
- include: configure.yaml
- include: make.yaml
- include: install.yaml
- include: chkconf.yaml
- include: useradd.yaml
- include: template.yaml
- include: source.yaml
- include: service.yaml
3. 플레이북 만들기

[root@localhost data]# vim role_httpd.yaml 
[root@localhost tasks]# cd /data
[root@localhost data]# vim role_httpd.yaml 
---
- hosts: all
 roles:
 - role: httpd2.4
4. 디렉터리 구조

[root@localhost data]# tree /data
/data
├── role_httpd.yaml
└── roles
 └── httpd2.4
  ├── files       # , 
  │ ├── apr.tar.gz
  │ ├── apr-util.tar.gz
  │ └── httpd.tar.gz
  ├── handlers
  ├── tasks
  │ ├── chkconf.yaml
  │ ├── configure.yaml
  │ ├── createdir.yaml
  │ ├── install.yaml
  │ ├── links.yaml
  │ ├── main.yaml
  │ ├── make.yaml
  │ ├── service.yaml
  │ ├── source.yaml
  │ ├── template.yaml
  │ ├── ungzhttpd.yaml
  │ └── useradd.yaml
  ├── templates      # 
  │ ├── httpd.conf.j2
  │ └── httpd.sh.j2
  └── vars

5. 플레이북 실행

[root@localhost ansible]# ansible-playbook role_httpd.yaml
총결산
위에서 말한 것은 편집자가 여러분께 소개한 CentOS 6.10 원본 컴파일과 ansible 컴파일로 httpd 2.4.39를 설치하는 것입니다. 여러분에게 도움이 되었으면 합니다. 만약에 궁금한 점이 있으면 저에게 메시지를 남겨 주십시오. 편집자는 제때에 여러분에게 회답할 것입니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!
만약 당신이 본문이 당신에게 도움이 된다고 생각한다면, 전재를 환영합니다. 출처를 밝혀 주십시오. 감사합니다!

좋은 웹페이지 즐겨찾기