タグ

apacheに関するojimacのブックマーク (30)

  • Apache PHP から sudo する方法

    ※以下の説明は PHP が Apache ユーザで実行されている場合です。 PHP から shell を実行して sudo したい場合は Apache から sudo が 実行できるように設定しておく必要があります。 sudo の設定は visudo というコマンドで行います。 使用方法としては、 vi と変わりません。 [root]# visudo ~ # ↓この一行を追加すると、apache から shutdown -h now が実行可能になります apache localhost=NOPASSWD: /sbin/shutdown -h now でまぁ、これを PHP から実行してみます。 例えば次のようなコードで $out = ""; $out = shell_exec("/sbin/shutdown -h now 2>&1"); echo "$out\n"; 実行結果 sudo:

  • memorycraft: Apacheユーザーでsudo

    2011年9月4日日曜日 Apacheユーザーでsudo PHPなどのサーバーサイドスクリプトなどでアクセス権のない他ユーザーのファイルなどにシステムコマンドでアクセスする場合、apacheユーザーでsudoする必要があります。 たとえば、/home/memorycraftディレクトリをmkdirとlsをしたい場合、以下のように設定します。 スクリプト(例:php) exec("sudo mkdir /home/memorycraft/hoge; sudo ls -l /home/memorycraft/;", $out, $status); sudoの設定 # yum install sudo # visudo --------------------- Defaults requiretty コメントアウト↓ #Defaults requiretty 追記↓ apache AL

  • httpd.confによるWebサーバの最適化

    スレッドの設定(worker MPM) 前述したように、Apache 2.0のデフォルト設定はプロセスベースの処理になっているため、スレッドを使用するには設定の変更(第1回参照)が必要です 以下がスレッド特有の設定です。 <IfModule worker.c> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule>

    httpd.confによるWebサーバの最適化
  • apacheの再起動でエラー (98)Address already in use: make_sock: could not bind to address [::]:80 - ギーク芸人を目指すデジタルケイタのブログ

    バーチャルホストの設定をしようとhttpd.confなどを弄って、apacheを再起動しようとしたらエラーが出て、WEBサーバーが停止したままになった。 随分あせりましたが、解決方法がみつかったのでメモしておきます。 $ /etc/rc.d/init.d/httpd restart httpd を停止中: [失敗] httpd を起動中: (98)Address already in use: make_sock: could not bind to address [::]:80 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs ↑ここでエラーが出ています。

    apacheの再起動でエラー (98)Address already in use: make_sock: could not bind to address [::]:80 - ギーク芸人を目指すデジタルケイタのブログ
  • mod_setenvif - Apache HTTP サーバ

    Please note This document refers to the 2.0 version of Apache httpd, which is no longer maintained. Upgrade, and refer to the current version of httpd instead, documented at: Current release version of Apache HTTP Server documentationYou may follow this link to go to the current version of this document.

    ojimac
    ojimac 2012/05/26
    SetEnvIf
  • [Webプログラマのための]速習コードリーディング — ありえるえりあ

    [Webプログラマのための]速習コードリーディング WEB+DB PRESS vol35 (2006年10月) 特別企画[Webプログラマのための]速習コードリーディングの原稿です。 コードブログの派生です。 https://www.codeblog.org/blog/inoue/ 前節の概論を踏まえて,Apacheのソースコードの読み方のコツを具体的に説明します.参照するソースは,執筆時点のApache2.2系の最新版の2.2.3です.また特に断りが無い限り,Unix系OSを前提にします.また,UnixのコマンドはGNU製ツールを使います. ソースコードの取得とビルド Apacheのソースコードを取得して,ビルドしてみましょう.バイナリファイルではなくソースコードを読むのだからビルドなんて必要無いと思うかもしれません.もちろん,ビルド作業はソースコードを読むための必須の作業ではありません

  • CentOS5.4のbondingインタフェースのIPV6無効化 - mikedaの日記

    CentOSを5.2から5.4にアップしたらbondingインターフェースでのIPV6を無効化が効かなくなっていた! [root@cent54 ~]# ifconfig bond0 bond0 Link encap:Ethernet HWaddr 00:0C:29:2B:3F:BC inet addr:192.168.244.132 Bcast:192.168.244.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe2b:3fbc/64 Scope:Link UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 Apacheが勝手にIPV6使ってる・・・ [root@cent54 ~]# grep dummy /var/log/access_log ::1 - - [14/Oc

    CentOS5.4のbondingインタフェースのIPV6無効化 - mikedaの日記
    ojimac
    ojimac 2012/03/15
    ApacheのIPv6 off
  • VirtualDocumentRootを使って複数ドメインをスッキリ管理(Apache) - y-kawazの日記

    最近は個人的にはnginxやnode-http-proxyを使うことが多くなってきましたが、phpを手軽に使いたいときとかhttpdもまだまだ使う機会は多いです。今日は新しいサーバの設定しながらふとTipsを一つ吐き出してみます。 Apache httpdで名前ベースで複数ドメインを管理する際、始めの頃はドメイン増やす度にVirtualHostディレクティブを1つずつ増やしていったりするんだけど、そのやり方だと数が増えてくるとコピペ修正ミスが出たりどんどん管理が大変になってきます。でもこれ実は VirtualDocumentRoot というディレクティブを使うと一つのVirtualHostで書けちゃいます。↓こんな感じ。 NameVirtualHost *:80 VirtualDocumentRoot /home/domains/%0/public_html Options All All

    VirtualDocumentRootを使って複数ドメインをスッキリ管理(Apache) - y-kawazの日記
    ojimac
    ojimac 2012/03/06
    ログフォーマット綺麗
  • mod_rewriteで特定のクエリパラメータを削除する - y-kawazの日記

    .htaccess などで特定のクエリパラメータを削除する書き方メモ。 以下は、携帯サイトで意図せず余計なパラメータが付加されてしまうことで裏にあるキャッシュシステムのヒット率が下がってしまうという問題の対策に使っている設定です。 # 不要パラメータを削除する RewriteCond %{QUERY_STRING} ^(.*&)?(?:uid|sid|pid)=[^&]*&?(.*)?$ RewriteRule (.*) $1?%1%2 [N][N]は普段あまり使わないフラグですがNextの意味で、書き換えが発生したときに最初のルールから*1やり直すという命令です。これを使うとループが書けるようになります。但し無限ループを作らないよう気を付けましょう。 あと、当然ですがここで設定したuidパラメータ等が必要なページがある場合は除外するようRewriteCondを追加したりします。 蛇足 例

    mod_rewriteで特定のクエリパラメータを削除する - y-kawazの日記
  • apacheのアクセスログ

    こんばんは、牧野です。 今回はアルゴリズムの話は置いておき、apacheの話題です。 先日、あるサイトのapacheのアクセスログを調べていて気付いたのですが、 リクエストがタイムアウトしてしまい、クライアントがデータを受信できなかった時でも アクセスログにはリクエストのあった時間のログが残ってしまうんですね。。 ステータスコード200で。。。 これは、携帯でアクセスできるウェブサーバがあれば簡単に確認することができます。 (携帯の方がタイムアウトするまでの時間が短いので) 次のようなプログラムをサーバに置いて、

    apacheのアクセスログ
  • IPA ISEC セキュア・プログラミング講座:Webアプリケーション編 第5章 暴露対策:プロキシキャッシュ対策

    第5章 暴露対策 プロキシキャッシュ対策 プロキシキャッシュへのコンテンツ残留 ブラウザとWebサーバの間には、いくつかのキャッシュメカニズムが働いていることが多い。 プロキシサーバのキャッシュ──企業等LANを運用している多くの組織体ではLANからインターネットアクセスを行う際プロキシサーバを経由して行うことが多い キャッシュサーバ─インターネットプロバイダの中には、会員のWebアクセスを円滑にする目的でキャッシュサーバを運用しているところがある これらのキャッシュメカニズムは、ブラウザからのリクエストによって得られたコンテンツをキャッシュに保持しておき、同じURLのリクエストが生じたとき、来のWebサーバにコンテンツを取りに行かず、キャッシュの内容をブラウザに渡すものである。 このようにキャッシュは、円滑なインターネットの利用に寄与してくれる。 しかし、コンテンツによっては、ただひと

  • [Apache] コマンドラインでアクセスログを解析するワンライナー | バシャログ。

    花粉ハンパねぇ~~、こんにちは nakamura です。いい加減花粉症で死人が出るんじゃないかと心配です。 今日はコマンドラインで Apache アクセスログを解析する際のコマンド例をいくつかご紹介します。最近は Google Analytics を始めフリーで多機能な解析ツールがたくさんありますが、ちょっとしたアクセスを追跡したい場合、簡単な数字をその場でちゃちゃっと出したい場合などログファイルを直接解析しちゃった方が早いし楽ですよ~。 ちなみに今回ご紹介するコマンド例は全ていわゆる combined な形式のログを対象としています。combined がよく分からない人は この辺り を参照してください。実際にはこんな感じの形式です。 192.168.0.10 - - [09/Mar/2011:00:00:08 +0900] "GET /blog/wsg/css/reset.css HTT

    [Apache] コマンドラインでアクセスログを解析するワンライナー | バシャログ。
  • Apacheログに色を付けて快適tail生活 - y-kawazの日記

    ツイッターで「Apacheログをtail中にステータスコード部分だけに色つけしたい」ってのを見たので作ってみた。 #!/bin/sed -f ## MEMO # [0m reset # [1m bold # [3m italic # [4m underline # [5m blink # [30m black # [31m red # [32m green # [33m yellow # [34m blue # [35m magenta # [36m cyan # [37m white s/\(HTTP\/1..\"\) \(2[0-9][0-9]\) /\1 \x1b[34m\2\x1b[0m / s/\(HTTP\/1..\"\) \(3[0-9][0-9]\) /\1 \x1b[32m\2\x1b[0m / s/\(HTTP\/1..\"\) \(4[0-9][0-9]\) /\1

    Apacheログに色を付けて快適tail生活 - y-kawazの日記
  • 今こそ見直すApacheの設定 - blog.nomadscafe.jp

    nginxやvarnishなどがアツいですが、Apacheもまだまだ実績や安定性から採用されていると思います。ここではデフォルトとは異なる値に変更するサーバ設定を中心に、パフォーマンス改善、安全性向上のためのApacheの設定を紹介します。 mpmの確認 > /path/to/bin/httpd -V Server version: Apache/2.2.19 (Unix) Server built: Jun 23 2011 17:13:13 Server's Module Magic Number: 20051115:28 Server loaded: APR 1.4.5, APR-Util 1.3.12 Compiled using: APR 1.4.5, APR-Util 1.3.12 Architecture: 64-bit Server MPM: Worker PreforkやW

  • Apache Log Statistics

  • [htaccess] IP制限とBasic認証を併用する | Blog | Development Reference

    htaccessで IP制限 と Basic認証 を併用する。 IP制限 と Basic認証 のそれぞれの使用・記述方法は過去のエントリが参考となる。 「[htaccess] IP制限を掛ける」 「[htaccess] Basic認証を掛ける」 両方を併用する場合は、 "Satisfy" を使用する。 AuthUserFile .htpasswdを配置した場所(rootディレクトリからのパス) AuthGroupFile /dev/null AuthName ダイアログに表示するメッセージ AuthType Basic require valid-user <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files> Satisfy any order deny,allow deny from all allow from IPアドレス

    ojimac
    ojimac 2011/05/17
    Satisfy Allがキモ
  • IP認証によるアクセス制限のテクニック

    Apacheでできるセキュリティ対策 Webサーバのセキュリティには、大別して2つのアプローチがある。1つは、ファイルシステムに対する不正な書き込みやサーバ上での不正なプログラム実行の防御。もう1つは、ファイルの不正な読み込み操作や送受信する内容の盗聴の防御である。 コラム WebサーバはWebサーバに徹するべし Apache以外の領域の話になるが、「WebサーバはWebサーバに徹するべし」といいたい。WebサーバとMailサーバを兼ねさせるだけでも危険を助長しているのに、ファイルサーバやクライアントとして利用するなどもってのほかである。そうした“兼務”はセキュリティを弱体化させ、不正なアクセスを試みるすきを与える。 可能なら、コンテンツやサーバの管理もリモートアクセスではなく直接コンソールを使うべきとさえ考える。 前者については、サーバ上の不要なプログラムの停止やファイアウォールの構築な

    IP認証によるアクセス制限のテクニック
  • サイト全体をメンテナンスページに切り替える単純な方法 | WEB制作の覚書

    http://www.○○○.com/ というページ全体を、メンテナンスなどで閉じなければならなくなった時、 htaccessで全体をアクセス禁止にすると、403エラーの画面になってしまうし、 メンテナンス用ページを作成してredirectさせようとすると、結局http://www.○○○.com/ 以下にファイルを置かなければいけないため、 redirectの処理が無限ループしてしまいます。 http://www.○○○.com/ 以下に、こちらのhtaccessをUP(属性604) order deny,allow deny from all ErrorDocument 403 /mente/mente.html http://www.○○○.com/mente/mente.htmlに、メンテナンスページを用意し http://www.○○○.com/mente/以下に、こちらのhta

    サイト全体をメンテナンスページに切り替える単純な方法 | WEB制作の覚書
  • mod_proxy_balancer配下で、cakephpのredirectを使う場合の注意点 - UNIX的なアレ

    おてがるにバランシング mod_proxy_balancerを使うと、普段から使い慣れているapacheでお手軽にロードバランシングを行うことができます。 設定もものすごく簡単ですね。Virtualhostの中に書くこともできるので、NameVirtualを使ったL7バランシングをすることも可能です。 <Virtuslhost *:80> ServerName example.com ProxyPass / balancer://balancer/ ProxyPassReverse / balancer://balancer/ <Proxy balancer://balancer> BalancerMember http://localhost.localnet:8080 </Proxy> </Virtualhsot>mod_proxy_balancer - Apache HTTP サーバ

    mod_proxy_balancer配下で、cakephpのredirectを使う場合の注意点 - UNIX的なアレ
  • 突然のTwitter砲にもなんとか耐えたさくらVPSに感謝する - As a Futurist...

    なんか、2/6 の夜に「修士論文の代わりに退学願を提出してきた」が Twitter でばずったらしく、Yahoo 砲よろしく突如としてアクセスが集中しました。下の方にリソースモニタリングのグラフを貼りつけてますが、今までがほぼ 0 に見えてしまうくらいに来てたのでびっくりでした。 まぁ色々コメントつけて頂いたりしてますが、もう2 年も前なんでこのエントリについて今更僕から突っ込むことは無くて、あのエントリはあのエントリとして見て頂ければと思います。ここでは今回そんな突然のアクセス集中にも見事耐えてくれたさくら VPS に感謝しつつ、アクセス集中の状況を鯖管的立場から分析してみましょう。 ちなみに、以前エントリに書いていますがサーバの構成としてはさくら VPS1 台で、CentOS+Apache+mod_fastcgi+PHP-FPM+MySQL5.5(InnoDB)で WordPress

    突然のTwitter砲にもなんとか耐えたさくらVPSに感謝する - As a Futurist...