Your SlideShare is downloading. ×
0
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Webサーバ勉強会#5mod sedについて

814

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
814
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. mod_sed in httpd-2.4.1 @yut148
  • 2. 自己紹介@yut148職業 雲を大量に使っているゲーム会社          or      エンターテイメント会社      インフラストラクチャーグループ      と名刺にあっても    オンプレミス対応がメイン
  • 3. お題1)mod_sedとは2)インストール3)設定方法
  • 4. https://twitter.com/#!/プライバシー保護/statuses/58351268502044672 ↑実は結構古い
  • 5. mos_sedとはapacheモジュールの一種。httpの出力(入力)にsed(文字列にデータ変更)を実行できる
  • 6. コンパイル、インストール--enable-sedを付けなくとも、インストールされます。(2.2.22には無い。とは言えexperimental)./configure --with-mpm=event --with-included-apr && make && make install && dateでOKなにも指定しなくとも80モジュールはインストールされる。
  • 7. 追加したい場合apxs -c mod_sed.c regexp.c sed0.csed1.cでもインストール出来るようです。http://src.opensolaris.org/source/xref/webstack/mod_sed/README より
  • 8. ちなみに--enable-mods-shared=allしてみました。 httpd.confより1/3 66 LoadModule authn_file_module modules/mod_authn_file.so 67 #LoadModule authn_dbm_module modules/mod_authn_dbm.so 68 #LoadModule authn_anon_module modules/mod_authn_anon.so 69 #LoadModule authn_dbd_module modules/mod_authn_dbd.so 70 #LoadModule authn_socache_module modules/mod_authn_socache.so 71 LoadModule authn_core_module modules/mod_authn_core.so 72 LoadModule authz_host_module modules/mod_authz_host.so 73 LoadModule authz_groupfile_module modules/mod_authz_groupfile.so 74 LoadModule authz_user_module modules/mod_authz_user.so 75 #LoadModule authz_dbm_module modules/mod_authz_dbm.so 76 #LoadModule authz_owner_module modules/mod_authz_owner.so 77 #LoadModule authz_dbd_module modules/mod_authz_dbd.so 78 LoadModule authz_core_module modules/mod_authz_core.so 79 LoadModule access_compat_module modules/mod_access_compat.so 80 LoadModule auth_basic_module modules/mod_auth_basic.so 81 #LoadModule auth_form_module modules/mod_auth_form.so 82 #LoadModule auth_digest_module modules/mod_auth_digest.so 83 #LoadModule allowmethods_module modules/mod_allowmethods.so 84 #LoadModule file_cache_module modules/mod_file_cache.so 85 #LoadModule cache_module modules/mod_cache.so 86 #LoadModule cache_disk_module modules/mod_cache_disk.so 87 #LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 88 #LoadModule socache_dbm_module modules/mod_socache_dbm.so 89 #LoadModule socache_memcache_module modules/mod_socache_memcache.so 90 #LoadModule watchdog_module modules/mod_watchdog.so 91 #LoadModule dbd_module modules/mod_dbd.so 92 #LoadModule dumpio_module modules/mod_dumpio.so 93 #LoadModule echo_module modules/mod_echo.so 94 #LoadModule buffer_module modules/mod_buffer.so 95 #LoadModule data_module modules/mod_data.so 96 #LoadModule ratelimit_module modules/mod_ratelimit.so 97 LoadModule reqtimeout_module modules/mod_reqtimeout.so 98 #LoadModule ext_filter_module modules/mod_ext_filter.so 99 #LoadModule request_module modules/mod_request.so 100 #LoadModule include_module modules/mod_include.so 101 LoadModule filter_module modules/mod_filter.so 102 #LoadModule reflector_module modules/mod_reflector.so 103 #LoadModule substitute_module modules/mod_substitute.so 104 #LoadModule sed_module modules/mod_sed.so 105 #LoadModule charset_lite_module modules/mod_charset_lite.so 106 #LoadModule deflate_module modules/mod_deflate.so 107 #LoadModule xml2enc_module modules/mod_xml2enc.so
  • 9. その 2/3 108 #LoadModule proxy_html_module modules/mod_proxy_html.so 109 LoadModule mime_module modules/mod_mime.so 110 LoadModule log_config_module modules/mod_log_config.so 111 #LoadModule log_debug_module modules/mod_log_debug.so 112 #LoadModule log_forensic_module modules/mod_log_forensic.so 113 #LoadModule logio_module modules/mod_logio.so 114 LoadModule env_module modules/mod_env.so 115 #LoadModule mime_magic_module modules/mod_mime_magic.so 116 #LoadModule expires_module modules/mod_expires.so 117 LoadModule headers_module modules/mod_headers.so 118 #LoadModule usertrack_module modules/mod_usertrack.so 119 #LoadModule unique_id_module modules/mod_unique_id.so 120 LoadModule setenvif_module modules/mod_setenvif.so 121 LoadModule version_module modules/mod_version.so 122 #LoadModule remoteip_module modules/mod_remoteip.so 123 #LoadModule proxy_module modules/mod_proxy.so 124 #LoadModule proxy_connect_module modules/mod_proxy_connect.so 125 #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 126 #LoadModule proxy_http_module modules/mod_proxy_http.so 127 #LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so 128 #LoadModule proxy_scgi_module modules/mod_proxy_scgi.so 129 #LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so 130 #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 131 #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 132 #LoadModule proxy_express_module modules/mod_proxy_express.so 133 #LoadModule session_module modules/mod_session.so 134 #LoadModule session_cookie_module modules/mod_session_cookie.so 135 #LoadModule session_dbd_module modules/mod_session_dbd.so 136 #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so 137 #LoadModule slotmem_plain_module modules/mod_slotmem_plain.so 138 #LoadModule ssl_module modules/mod_ssl.so 139 #LoadModule dialup_module modules/mod_dialup.so 140 #LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so 141 #LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so 142 #LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so 143 #LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so 144 LoadModule unixd_module modules/mod_unixd.so 145 #LoadModule heartbeat_module modules/mod_heartbeat.so 146 #LoadModule heartmonitor_module modules/mod_heartmonitor.so 147 #LoadModule dav_module modules/mod_dav.so 148 LoadModule status_module modules/mod_status.so 149 LoadModule autoindex_module modules/mod_autoindex.so
  • 10. その 3/3 150 #LoadModule asis_module modules/mod_asis.so 151 #LoadModule info_module modules/mod_info.so 152 #LoadModule cgid_module modules/mod_cgid.so 153 #LoadModule dav_fs_module modules/mod_dav_fs.so 154 #LoadModule dav_lock_module modules/mod_dav_lock.so 155 #LoadModule vhost_alias_module modules/mod_vhost_alias.so 156 #LoadModule negotiation_module modules/mod_negotiation.so 157 LoadModule dir_module modules/mod_dir.so 158 #LoadModule actions_module modules/mod_actions.so 159 #LoadModule speling_module modules/mod_speling.so 160 #LoadModule userdir_module modules/mod_userdir.so 161 LoadModule alias_module modules/mod_alias.so 162 #LoadModule rewrite_module modules/mod_rewrite.so実に97モジュール デフォルト有効 21 デフォルト無効 76
  • 11. allでインストールしてデフォルト有効なモジュール 21種authn_file_module   authn_core_moduleauthz_host_module   authz_groupfile_moduleauthz_user_module   authz_core_moduleaccess_compat_module auth_basic_modulereqtimeout_module    filter_modulemime_module log_config_moduleenv_moduleheaders_module setenvif_moduleversion_module unixd_modulestatus_module autoindex_moduledir_module alias_module
  • 12. マニュアルネットに有るものとほぼ同一の物が同梱されています。httpd-2.4.1/docshttpd-2.4.1/docs/manual/mod/mod_sed.html.enhttp://httpd.apache.org/docs/trunk/mod/mod_sed.html
  • 13. マニュアルよりブログが詳しい。同梱マニュアルにあるauthorsのブログはリンクが切れて404です。Basant Kukrejahttps://blogs.oracle.com/basant/entry/using_mod_sed_to_filter
  • 14. サンプルを見る限り多機能OutputSed "/Sunday/ {"OutputSed "h"OutputSed "s/.*//"OutputSed "N"OutputSed "s/^.//"OutputSed "/Monday/ {"OutputSed "x"OutputSed "s/Sunday/Monday/"OutputSed "x"OutputSed "s/Monday/Tuesday/"OutputSed "H"OutputSed "g"OutputSed "}"OutputSed "}"                  すいませんちゃんとは調べてはない
  • 15. 簡単な機能output filterinput filter がある。Adding an output filter# In the following example, the sed filter will change the string# "monday" to "MON" and the string "sunday" to SUN in html documents# before sending to the client.<Directory "/var/www/docs/sed">AddOutputFilter Sed htmlOutputSed "s/monday/MON/g"OutputSed "s/sunday/SUN/g"</Directory>Adding an input filter# In the following example, the sed filter will change the string# "monday" to "MON" and the string "sunday" to SUN in the POST data# sent to PHP.<Directory "/var/www/docs/sed">AddInputFilter Sed phpInputSed "s/monday/MON/g"InputSed "s/sunday/SUN/g"</Directory>                 docs/trunk/mod/mod_sed.htmlより  
  • 16. ソース見てみます/usr/local/src/httpd-2.4.1/modules/filters/mod_sed.c気になるところ#define MODSED_OUTBUF_SIZE 8000  まぁ限界はありそう。(当たり前)
  • 17. 物は試しmediawikiに設定してみる ↓通常画面
  • 18. 書き足した設定<Directory "/usr/local/apache2/htdocs/mediawiki-1.18.1">AddOutputFilter Sed phpOutputSed "s/MediaWiki/Puki/g"</Directory>
  • 19. 結果 変更されている。
  • 20. 例えば新たな書き込みでも
  • 21. たとえDBに書かれていても変更される 変更されている。
  • 22. まとめ1) mod_sedとは webサーバで表示する文字列を変更できる2)インストール 特別に指定しなくともインストールされてい る。3)設定方法 phpと指定すれば、DBにある文字列でも変更 が反映される。存在感はイマイチだがいつか役に立つ事もあるかも (会社の電話番号が変更された時)
  • 23. ありがとうございました。Q&A (お手柔らかにお願いします。)

×