1、下載apache所需軟件包
創(chuàng)新互聯(lián)是少有的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、營銷型企業(yè)網(wǎng)站、小程序開發(fā)、手機(jī)APP,開發(fā)、制作、設(shè)計(jì)、外鏈、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,成立于2013年,堅(jiān)持透明化,價(jià)格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評
安裝apache2.4.9必須先安裝apr、apr-util、pcre包
apr-1.5.1.tar.gz apr-util-1.5.3.tar.gz cd.sh httpd-2.4.9.tar.gz pcre-8.33.zip
2、安裝
# 解壓縮 tar fvxz apr-1.5.1.tar.gz tar fvxz apr-util-1.5.3.tar.gz tar httpd-2.4.9.tar.gz tar fvxz httpd-2.4.9.tar.gz tar fvxz pcre-8.33.zip unzip pcre-8.33.zip # 編譯安裝apr cd /data/apr-1.5.1 ./configure --prefix=/usr/local/apr make && make install # 編譯安裝apr-util cd ../apr-util-1.5.3 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install # 編譯安裝pcre cd ../pcre-8.33 ./configure --prefix=/usr/local/pcre make && make install # 編譯安裝apache # 安裝之前請確保系統(tǒng)之前預(yù)裝的httpd已被卸載 cd ../httpd-2.4.9 # 參數(shù)依次是: httpd安裝路徑 httpd配置文件存放路徑 啟用模塊化方式 啟用ssl安全連接# 啟用cgi腳本功能 啟用url重寫 啟用服務(wù)器壓縮 啟用正則表達(dá)式支持 apr安裝路徑 # apr util安裝路徑 啟用常用模塊以確保apache正常工作 將多進(jìn)程模型非靜態(tài)化 # 啟用事件異步模型 ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=event make && make install
3、錯(cuò)誤提示
安裝openssl依賴關(guān)系 即可解決下面問題
checking whether to enable mod_ssl... configure: error: mod_ssl has been requested but can not be built due to prerequisite failures
4、啟動(dòng)&測試
# /usr/local/apache/bin/apachectl start
如果成功,可以停止 Apache 服務(wù)器并繼續(xù)安裝 PHP:
/usr/local/apache2/bin/apachectl stop OR /usr/local/apache/bin/apachectl -k stop(推薦)
5、安裝php5.5.12
tar fvxz php-5.5.12.tar.gz ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs make && make install
6、配置php.ini
cp php.ini-development /usr/local/lib/php.ini
7、編輯 httpd.conf 文件以調(diào)用 PHP 模塊。LoadModule 達(dá)式右邊的路徑必須指向系統(tǒng)中的 PHP 模塊。以上的 make install 命令可能已經(jīng)完成了這些,但務(wù)必要檢查
LoadModule php5_module modules/libphp5.so
8、apache解析php,添加如下內(nèi)容:
# 讓Apache將擴(kuò)展名.php 解析成 PHP。為了避免潛在的危險(xiǎn),例如上傳或者創(chuàng)建類似 exploit.php.jpg 的文件并被當(dāng)做 PHP 執(zhí)行,我們不再使用 Apache 的 AddType 指令來設(shè)置。SetHandler application/x-httpd-php # 將.php,.php2,.php3,.php4,.php5,.php6,以及.phtml文件都當(dāng)做PHP來運(yùn)行SetHandler application/x-httpd-php # .phps 文件由 PHP 源碼過濾器處理,使得其在顯示時(shí)可以高亮源碼SetHandler application/x-httpd-php-source # mod_rewrite也有助于將那些不需要運(yùn)行的.php文件的源碼高亮顯示,而并不需要將他們更名.phps文件 RewriteEngine On RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]
9、安裝nagios及插件
1.創(chuàng)建nagios用戶和用戶在 # useradd -s /sbin/nologin nagios # mkdir /usr/local/nagios # chown -R nagios.nagios /usr/local/nagios 2. 編譯安裝nagios # tar fvxz nagios-4.0.5.tar.gz # cd nagios-4.0.5 # ./configure -prefix=/usr/local/nagios 指定nagios的安裝目錄,這里指定安裝在/usr/local/nagios目錄下 # make all && make install 通過make install命令來安裝nagios主程序的CGI和HTML文件 # make install-init 通過make install-init命令可以在/etc/rc.d/init.d目錄下創(chuàng)建nagios啟動(dòng)腳本 # make install-commandmode 通過make install-commandmode命令來配置目錄權(quán)限 # make install-config 通過make install-config命令來安裝nagios示例配置文件,這里安裝路徑是/usr/local/nagios/etc 3.設(shè)置開機(jī)自啟動(dòng) # chkconfig --add nagios # chkconfig --level 35 nagios on # chkconfig --list nagios nagios 0:off 1:off 2:off 3:on 4:on 5:on 6:off 4.安裝nagios插件 # tar fvxz nagios-plugins-2.0.tar.gz # cd nagios-plugins-2.0 # ./configure --prefix=/usr/local/nagios # make && make install 插件的安裝最好喝nagios安裝路徑一致,這樣插件會(huì)在nagios主程序目錄(即/usr/local/nagios下的libexec目錄)生成很多可執(zhí)行文件 5.安裝nagios漢化插件 # tar jvxf nagios-cn-3.2.3.tar.bz2 # cd nagios-cn-3.2.3 # ./configure # make all && make install
10、配置apache
# vim /etc/httpd/httpd.conf user daemon #修改為nagios group daemon #修改為nagiosDirectoryIndex index.html index.php #增加index.php LoadModule php5_module modules/libphp5.so # 去掉前面注釋 在最后增加如下內(nèi)容: ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"AuthType Basic Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthUserFile /usr/local/nagios/etc/htpasswd Require valid-user Alias /nagios "/usr/local/nagios/share"AuthType Basic Options None AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthUserFile /usr/local/nagios/etc/htpasswd Require valid-user AddType application/x-httpd-php .php
11、創(chuàng)建apache目錄驗(yàn)證文件
# /usr/local/apache2/bin/htpasswd \ > -c /usr/local/nagios/etc/htpasswd nagios New password: (輸入密碼) Re-type new password: (在輸入一次密碼) Adding password for user nagios
12、關(guān)閉selinx 和 iptables服務(wù)
兩種方法: 第一種最直接,關(guān)閉 SELinux,對于 SELinux 不是很熟悉的用戶,請選擇此。 [root@Nagios-Server ~]# cat /etc/sysconfig/selinux SELINUX=disabled 第二種給打上正確的安全脈絡(luò)。 chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ chcon -R -t httpd_sys_content_t /usr/local/nagios/share/ # /etc/init.d/iptables stop
13、啟動(dòng)apache和nagios服務(wù)
# /usr/local/apache/bin/apachectl start # /etc/init.d/nagios start
14、驗(yàn)證nagios頁面
15、錯(cuò)誤提示
用IE瀏覽器提示亂碼錯(cuò)誤 或 提示需要下載.cgi 彈窗
此時(shí)要修改apache配置文件
# vi /etc/httpd/httpd.conf 找到 并去除前面的注釋即可 LoadModule cgi_module modules/mod_cgi.so
16、重新啟動(dòng)apache服務(wù)即可
# /usr/local/apache/bin/apachectl -k stop # /usr/local/apache/bin/apachectl start
17、nagios配置文件介紹
cgi.cfg | 控制CGI訪問的配置文件 |
nagios.cfg | nagios主配置文件 |
resource.cfg | 變量定義文件,又稱為資源文件;此文件中定義變量,以便由其他配置文件引用,如$USER1$ |
objects | objects目錄下有很大配置文件模板,用于定義nagios對象 |
objects/commands.cfg | 命令定義配置文件,其中定義的命令可以被其他配置文件所引用 |
objects/contacts.cfg | 定義聯(lián)系人和聯(lián)系人組的配置文件 |
objects/localhost.cfg | 定義監(jiān)控本地主機(jī)的配置文件 |
objects/printer.cfg | 定義監(jiān)控打印機(jī)的一個(gè)配置文件模板,默認(rèn)沒有啟動(dòng) |
objects/switch.cfg | 監(jiān)控路由器的一個(gè)配置文件模板,默認(rèn)沒有啟動(dòng) |
objects/templates.cfg8 | 定義主機(jī)和服務(wù)的一個(gè)模板配置文件,可以在其他配置文件中引用 |
objects/timeperiods.cfg | 定義nagios監(jiān)控時(shí)間段的配置文件 |
objects/windows.cfg | 監(jiān)控windows主機(jī)的配置文件模板,默認(rèn)沒有啟動(dòng) |
18、配置文件
1.主機(jī)定義文件 定義你要監(jiān)控的對象,這里定義的 host_name 被應(yīng)用到其它的所有配置文件中,這個(gè)是我們配 置 Nagios 必須修改的配置文件。 [Nagios~]# vi /usr/local/nagios/etc/objects/hosts.cfg define host{ host_name Nagios-Server #設(shè)置主機(jī)的名字,該名字會(huì)出現(xiàn)在hostgroups.cfg 和 services.cfg 中。 alias Nagios Server #別名 address 192.168.140.128 #主機(jī)的 IP 地址 check_command check-host-alive #檢查的命令 check_interval 5 #檢測的時(shí)間間隔 retry_interval 1 #檢測失敗后重試的時(shí)間間隔 max_check_attempts 5 #最大重試次數(shù) check_period 24x7 #檢測的時(shí)段 process_perf_data 0 retain_nonstatus_information 0 contact_groups sagroup #聯(lián)系組 notification_interval 30 #通知的時(shí)間間隔 notification_period 24x7 #通知的時(shí)間段 notification_options d,u,r #通知的選項(xiàng) #w—報(bào)警(warning),u—未知(unkown) #c—嚴(yán)重(critical),r—從異常情況恢復(fù)正常 } define host{ host_name Nagios-Client alias Nagios Client address 192.168.140.129 check_command check-host-alive check_interval 5 retry_interval 1 max_check_attempts 5 check_period 24x7 process_perf_data 0 retain_nonstatus_information 0 contact_groups sagroup notification_interval 30 notification_period 24x7 notification_options d,u,r } 2.主機(jī)組定義文件 將剛才定義的兩個(gè)主機(jī)加入到主機(jī)組中,針對生產(chǎn)環(huán)境就像把所有的 MySQL 服務(wù)器加到一個(gè) MySQL 主機(jī)組里,方便管理和查看。 [Nagios~]# vi /usr/local/nagios/etc/objects/hostgroups.cfg define hostgroup { hostgroup_name Nagios-Example #主機(jī)組名字 alias Nagios Example #主機(jī)組別名 members Nagios-Server,Nagios-Client #主機(jī)組成員,用逗號隔開 } 3.服務(wù)定義文件 服務(wù)定義文件定義你需要監(jiān)控的對象的服務(wù),比如本例子為檢測主機(jī)是否存活,在后面會(huì)講到如 何監(jiān)控其它服務(wù),比如服務(wù)器負(fù)載、內(nèi)存、磁盤等。 [Nagios~]# vi /usr/local/nagios/etc/objects/services.cfg define service { host_name Nagios-Server #主機(jī)名 service_description check-host-alive #服務(wù)描述 check_period 24x7 #檢測的時(shí)間段 max_check_attempts 4 normal_check_interval 3 retry_check_interval 2 contact_groups sagroup notification_interval 10 notification_period 24x7 notification_options w,u,c,r check_command check-host-alive } define service { host_name Nagios-Client service_description check-host-alive check_period 24x7 max_check_attempts 4 normal_check_interval 3 retry_check_interval 2 contact_groups sagroup notification_interval 10 notification_period 24x7 notification_options w,u,c,r check_command check-host-alive } [Nagios~]# vi /usr/local/nagios/etc/objects/servicegroup.cfg define servicegroup{ servicegroup_name Host-Alive alias Host Alive members Nagios-Server,check-host-alive,Nagios-Client,check-host-alive } 5 聯(lián)系人定義文件 [Nagios~]# vi /usr/local/nagios/etc/objects/contacts.cfg define contact{ contact_name nagiosadmin use generic-contact alias System Administrator email nagios@localhost } 6 聯(lián)系人組定義文件 [Nagios-Server ~]# vi /usr/local/nagios/etc/objects/contactgroups.cfg define contactgroup{ contactgroup_name sagroup alias Nagios Administrators members nagiosadmin } 7 檢測配置是否正確 [Nagios~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg