CentOS 6.10 원본 컴파일 및 ansible 컴파일로 httpd2.4.39 설치
컴파일 환경 준비
호스트
계통
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 컴파일 설치 httpd1. 역할 디렉터리 구조 만들기
[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를 설치하는 것입니다. 여러분에게 도움이 되었으면 합니다. 만약에 궁금한 점이 있으면 저에게 메시지를 남겨 주십시오. 편집자는 제때에 여러분에게 회답할 것입니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!
만약 당신이 본문이 당신에게 도움이 된다고 생각한다면, 전재를 환영합니다. 출처를 밝혀 주십시오. 감사합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ubuntu 22.04에서 SSH를 통해 호스트에 연결하지 못했습니다.방금 Ubuntu 22.04로 업그레이드했는데 호스트에 ssh를 시도하거나 실행할 때 또는 ansible 프로비저너를 실행할 때 이미지를 빌드할 때 갑자기 오류가 발생하는 경우 이 기능이 유용할 것입니다. 너. 제 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.