標籤:puppet 縱向擴充 apache+passenger passenger puppet+passenger
1、功能說明
puppet預設使用基於Ruby的WEBRickHTTP來處理HTTPS請求,
單個伺服器使用Apache+Passenger替換掉WEBRickHTTP,
Passenger是用於將Ruby程式進行嵌入執行的Apache模組,
在安裝前,首先至少要執行一次service puppetmaster start,產生本地認證
官方配置指南:https://docs.puppetlabs.com/guides/passenger.html
2、安裝apache
[[email protected] ~]# yum install -y httpd httpd-devel openssl mod_ssl ruby-devel libcurl-devel rubygems gcc
前面已安裝了apache,這裡主要安裝mod_ssl ruby-devel libcurl-devel三個。
3、安裝passenger
[[email protected] ~]# gem install rack passenger[[email protected] ~]# passenger-install-apache2-module
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/53/41/wKiom1RlnCyTos7eAAE6NKo5ZUM598.jpg" style="float:none;" title="映像 (1).png" alt="wKiom1RlnCyTos7eAAE6NKo5ZUM598.jpg" />
直接斷行符號
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/53/41/wKiom1RlnC2xwyjjAABaPfWHCQ8592.jpg" title="映像.png" style="float:none;" alt="wKiom1RlnC2xwyjjAABaPfWHCQ8592.jpg" />
預設選擇了Ruby,直接斷行符號
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/53/3F/wKioL1RlnJvzjxpjAAD15DmsjkY804.jpg" style="float:none;" title="映像 (2).png" alt="wKioL1RlnJvzjxpjAAD15DmsjkY804.jpg" />
檢查需要安裝的包,根據提示安裝需要的軟體包,再重新執行
[[email protected] ~]# yum install libcurl-devel
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/53/41/wKiom1RlnCzQMC2UAADpdNlslNE630.jpg" style="float:none;" title="映像 (3).png" alt="wKiom1RlnCzQMC2UAADpdNlslNE630.jpg" />
需要將此段寫入passenger.conf中:
[[email protected] ~]# vi /etc/httpd/conf.d/passenger.conf LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.53 PassengerDefaultRuby /usr/bin/ruby </IfModule>
繼續斷行符號完成,可以看到一個虛擬機器主機的配置範例。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/53/3F/wKioL1RlnJyS8mFvAAEbBaA53Ng198.jpg" style="float:none;" title="映像 (4).png" alt="wKioL1RlnJyS8mFvAAEbBaA53Ng198.jpg" />
4、配置rack
config.ru檔案會告訴Rack如何產生puppet master進程
[[email protected] ~]# cd /usr/share/puppet[[email protected] puppet]# mkdir -p rack/puppetmasterd/{public,tmp}[[email protected] puppet]# cp ext/rack/config.ru rack/puppetmasterd/[[email protected] puppet]# chown puppet:puppet rack/puppetmasterd/config.ru
5、配置passenger和vhost
[[email protected] puppet]# cp ext/rack/example-passenger-vhost.conf /etc/httpd/conf.d/puppetmaster.conf[[email protected] puppet]# vi /etc/httpd/conf.d/puppetmaster.conf# This Apache 2 virtual host config shows how to use Puppet as a Rack# application via Passenger. See# http://docs.puppetlabs.com/guides/passenger.html for more information.# You can also use the included config.ru file to run Puppet with other Rack# servers instead of Passenger.# you probably want to tune these settingsPassengerHighPerformance onPassengerMaxPoolSize 12PassengerPoolIdleTime 1500# PassengerMaxRequests 1000PassengerStatThrottleRate 120#RackAutoDetect Off #注釋掉這行#RailsAutoDetect Off #注釋掉這行Listen 8140<VirtualHost *:8140> SSLEngine on SSLProtocol ALL -SSLv2 -SSLv3 SSLCipherSuite EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA SSLHonorCipherOrder on SSLCertificateFile /var/lib/puppet/ssl/certs/puppet.ewin.com.pem #修改路徑和認證名稱 SSLCertificateKeyFile /var/lib/puppet/ssl/private_keys/puppet.ewin.com.pem #修改路徑和認證名稱 SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem #修改路徑 SSLCACertificateFile /var/lib/puppet/ssl/ca/ca_crt.pem #修改路徑 # If Apache complains about invalid signatures on the CRL, you can try disabling # CRL checking by commenting the next line, but this is not recommended. SSLCARevocationFile /var/lib/puppet/ssl/ca/ca_crl.pem #修改路徑 # Apache 2.4 introduces the SSLCARevocationCheck directive and sets it to none # which effectively disables CRL checking; if you are using Apache 2.4+ you must # specify ‘SSLCARevocationCheck chain‘ to actually use the CRL. # SSLCARevocationCheck chain SSLVerifyClient optional SSLVerifyDepth 1 # The `ExportCertData` option is needed for agent certificate expiration warnings SSLOptions +StdEnvVars +ExportCertData # This header needs to be set if using a loadbalancer or proxy RequestHeader unset X-Forwarded-For RequestHeader set X-SSL-Subject %{SSL_CLIENT_S_DN}e RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e DocumentRoot /usr/share/puppet/rack/puppetmasterd/public #修改路徑 RackBaseURI / <Directory /usr/share/puppet/rack/puppetmasterd/> #修改路徑 Options None AllowOverride None Order allow,deny allow from all </Directory></VirtualHost>
6、服務
[[email protected] ~]# service puppetmaster stop[[email protected] ~]# service httpd restart[[email protected] ~]# chkconfig httpd on[[email protected] ~]# netstat -nlp | grep 8140
7、測試
(1)WEB網頁訪問測試
用戶端修改IE設定,去掉標黃的勾:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/53/43/wKioL1Rlp6KADqhEAAGbhgVzqAE050.jpg" title="映像 (5).png" alt="wKioL1Rlp6KADqhEAAGbhgVzqAE050.jpg" />
使用IE瀏覽https://10.188.1.73:8140/
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/53/43/wKioL1Rlp7CRkRgKAACfg2OqUUs349.jpg" title="映像 (6).png" alt="wKioL1Rlp7CRkRgKAACfg2OqUUs349.jpg" />
出現這一行表示配置成功,下一節配置Dashboard後就有內容了。
(2)linux用戶端測試
[[email protected] ~]# puppet agent --server puppet.ewin.com --test
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/53/46/wKiom1Rlp1WShm4OAABxLysRRbQ141.jpg" title="映像 (7).png" alt="wKiom1Rlp1WShm4OAABxLysRRbQ141.jpg" />
沒有報錯,顯示配置版本號碼及完成時間表示成功。
(3)puppet服務端測試
[[email protected] ~]# tailf /var/log/httpd/access_log
10.188.1.172是windows客戶機ywzhou-pc:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/53/46/wKiom1Rlp3LCo2R7AAHUjIYNg50263.jpg" style="float:none;" title="映像 (8).png" alt="wKiom1Rlp3LCo2R7AAHUjIYNg50263.jpg" />
10.188.1.103是linux客戶機zabbix:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/53/44/wKioL1Rlp-GjQKFWAADOVhr1E5Y245.jpg" style="float:none;" title="映像 (9).png" alt="wKioL1Rlp-GjQKFWAADOVhr1E5Y245.jpg" />
客戶機發出HTTP GET請求,狀態代碼200表示請求成功,再使用PUT請求提交了一個報告
本文出自 “月晴星飛” 部落格,請務必保留此出處http://ywzhou.blog.51cto.com/2785388/1576529
Puppet擴充(一):縱向擴充Apache+Passenger