一、編譯安裝
編譯環(huán)境準(zhǔn)備
| 主機(jī) | 系統(tǒng) |
|---|---|
| A | centos6.10 |
編譯所需的httpd、apr、apr-util
apr-1.7.0.tar.gzapr-util-1.6.1.tar.gzhttpd-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復(fù)制到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創(chuàng)建系統(tǒng)用戶
[root@CentOS6 ~]# useradd -r -s /sbin/nologin apache
7.修改配置文件,將httpd運(yùn)行的用戶和組改為apache
[root@CentOS6 ~]# vim /app/httpd24/conf/httpd.conf User apacheGroup apache
8.配置環(huán)境變量
[root@CentOS6 ~]# echo "PATH=/app/httpd24/bin:$PATH" > /etc/profile.d/httpd24.sh
9.設(shè)置為開機(jī)啟動(dòng)
[root@CentOS6 ~]# vim /etc/rc.d/rc.local /app/httpd24/bin/apachectl startansible-playbook編譯安裝httpd2.4
ansible 編譯安裝httpd
一、創(chuàng)建角色目錄結(jié)構(gòu)
[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'二、創(chuàng)建task
進(jìn)入tasks目錄
[root@localhost ~]# cd /data/roles/httpd2.4/tasks/
1.為httpserver創(chuàng)建安裝目錄
[root@localhost tasks]# vim createdir.yaml - name: Create dir file: path=/app state=directory
2.解壓httpd,apr,apr-util到遠(yuǎn)程主機(jī)
[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.對(duì)解壓后的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.設(shè)置開機(jī)自啟
[root@localhost tasks]# vim chkconf.yaml - name: chkconfig lineinfile: path=/etc/rc.d/rc.local insertafter="^touch.*" line="/app/httpd24/bin/apachectl start"
8.添加apache用戶
[root@localhost tasks]# vim useradd.yaml - name: add user user: name=apache system=yes shell=/sbin/nologin create_home=no
9.調(diào)用模板文件生成環(huán)境變量及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.讀取環(huán)境變量
[root@localhost tasks]# vim source.yaml - name: source path shell: source /etc/profile.d/httpd.sh
11.啟動(dòng)服務(wù)
[root@localhost tasks]# vim service.yaml - name: start service shell: apachectl start
12.創(chuàng)建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
三、創(chuàng)建playbook
[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
四、目錄結(jié)構(gòu)
[root@localhost data]# tree /data/data├── role_httpd.yaml└── roles └── httpd2.4 ├── files #此目錄下存放所有需要解壓的包,注意去掉版本號(hào) │ ├── 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 #此目錄下存放配置文件和環(huán)境變量的模板文件 │ ├── httpd.conf.j2 │ └── httpd.sh.j2 └── vars
五、執(zhí)行playbook
[root@localhost ansible]# ansible-playbook role_httpd.yaml
總結(jié)
以上所述是小編給大家介紹的CentOS 6.10源碼編譯及使用ansible編譯安裝httpd2.4.39,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
新聞熱點(diǎn)
疑難解答
圖片精選