CentOS 6.10源碼編譯及使用ansible編譯安裝httpd2.4.39
一、編譯安裝
編譯環(huán)境準(zhǔn)備
主機 | 系統(tǒng) |
---|---|
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復(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運行的用戶和組改為apache
[root@CentOS6 ~]# vim /app/httpd24/conf/httpd.conf User apache Group apache
8.配置環(huán)境變量
[root@CentOS6 ~]# echo "PATH=/app/httpd24/bin:$PATH" > /etc/profile.d/httpd24.sh
9.設(shè)置為開機啟動
[root@CentOS6 ~]# vim /etc/rc.d/rc.local /app/httpd24/bin/apachectl start ansible-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
進入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到遠程主機
[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.設(shè)置開機自啟
[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.啟動服務(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 #此目錄下存放所有需要解壓的包,注意去掉版本號 │ ├── 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,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
- 集群運維自動化工具ansible之使用playbook安裝zabbix客戶端
- 集群運維自動化工具ansible的安裝與使用(包括模塊與playbook使用)
- 集群運維自動化工具ansible使用playbook安裝mysql
- Centos下安裝Ansible的示例代碼
- python自動化測試實例解析
- ansible作為python模塊庫使用的方法實例
- Python利用ansible分發(fā)處理任務(wù)
- python ansible服務(wù)及劇本編寫
- python將ansible配置轉(zhuǎn)為json格式實例代碼
- Python集中化管理平臺Ansible介紹與YAML簡介
- python自動化之Ansible的安裝教程
相關(guān)文章
談?wù)刲inux中flock、lockf和fcntl的區(qū)別
相信大家都知道,這三個函數(shù)的作用都是給文件加鎖,那它們有什么區(qū)別呢?下面跟著小編一起來看看,有需要的可以參考借鑒。2016-08-08