Category Archives: Apache

django2をec2のapache2.4のvirtualhostで動かすhttpd.conf

django2をec2で動かしたいけど、apache2.4はすでに走っていてPHPのサイトがある、のでvirtualhostでdjango動かすというのが何とか起動まで確認できました。

もともとvirtualhostは動いてますのでそこの設定は省略で。
気をつけるところは、

WSGIDaemonProcess hoge.com python-path=/var/www/project/mysite python-home=/var/www/project/venv/

ではないでしょうか。python-pathもpython-homeもいるのに気付かず、venv環境が読めていなかったのと、
Directoryの中に設定を置いて、

Syntax error on line 4 of /etc/httpd/conf.d/11-django.conf:
WSGIDaemonProcess not allowed in context

などと怒られたりしていました。何にしろphpもpythonも同じapacheで動いているので節約できる・・のですが、やはりこんなことはあまりしたくないですね笑

django2をapache2 @ ec2 で動かす。

django2をec2のapacheで動かします。とりあえずvenvを起動。

django2.0でapache2で動かす。

djangoでapacheでlocalhostで動かしてみよ、と思っただけで、数時間経過しました笑
いやー、本当このあたりがややこしくて面倒ですね。私みたいにここでへこたれそうな人たちのためにメモを残しておきます。
とりあえず今起動まで出来た設定です。
こういうの考えるとPHPはいかに優しいかというのが身にしみますね。

・プロジェクトのために作ったディレクトリ:project
project
–project
–mysite
–blog
–static
みたいな感じですね。
・venvの環境:venv

として読み替えてください。

httpd.confに、

です。
どれが何の設定、というのはおいおい追っていきます・・

あ、後、mysqlを動かすためにpipで

PyMySQL

を入れていたのですが、apacheだと、

mysqlclient

を要求されたので、pip installしました。

homebrewのapacheが分かりやすくなってた

久々にmacのhomebrewでapache起動したら、起動方法分かりやすくなってますね。apacheというかbrewのupdateですね。upgradeしたら、

The default ports have been set in /usr/local/etc/httpd/httpd.conf to 8080 and in
/usr/local/etc/httpd/extra/httpd-ssl.conf to 8443 so that httpd can run without sudo.

To have launchd start httpd now and restart at login:
brew services start httpd
Or, if you don’t want/need a background service you can just run:
apachectl start

brew services start hoge
なんてのが出来たんですね。

$ brew services start httpd
==> Tapping homebrew/services
Cloning into ‘/usr/local/Homebrew/Library/Taps/homebrew/homebrew-services’…
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 14 (delta 0), reused 9 (delta 0), pack-reused 0
Unpacking objects: 100% (14/14), done.
Tapped 1 command (44 files, 58.7KB).
==> Successfully started httpd (label: homebrew.mxcl.httpd)

はー楽。今まで設定ファイルをload、unloadしてたのは格好悪いなと思ってたんですよね笑

Safariでエラー(NSPOSIXErrorDomain:100)が出たり、他のブラウザでもSSL通信で繋がりにくかったりした

何か繋がりにくい、となっていたhttpsのサイトが、mac high sieraのSafariでエラー「NSPOSIXErrorDomain:100」が出てびっくり。
他のブラウザでも繋がりにくかったりした。
どうも、Apacheからのhttp2用ヘッダーが届いたりプロキシ経由で削除されたりで失敗するらしい・・

https://qiita.com/ameyamashiro/items/8d4be0f11ffe12472052

ALBでhttp/2の属性をオフにすることで対処。

PhalconやらLaravelやらZendFrameworkやら、、PHPのフレームワークを使ってて「セッションがおかしい!」とお嘆きのあなたへ。

PHPでもフレームワーク、便利じゃないですか。

CakePHP、Symfony、Zend Framework、FuelPHP、CodeIgniter、Laravel、ほとんど使って、今はPhalconに落ち着いた私です。

で、つい最近そういうフレームワークを使っている人が、

「どうにもセッションがおかしい!ページ遷移してもindexコントローラを読んでる」

みたいなことを言う人がいて。確かにセッションの動きって怪しいな?と思う時あるし、特にフレームワークのライブラリとかを使っている場合、中をちゃんと読まないと不安ですよね。まあよく分からない場合はベタにセッションを扱えばいいんです。

でもね、上記のような事態に陥ってここに検索できた人に、少しでも助けになればとメモしておきます。フレームワーク、大体ルーターがついてるじゃないですか。document_rootのindex.phpがbootstrap的に走るじゃないですか。そうするとウェブサーバでURIをrewriteし、

みたいに書くじゃないですか。

話は変わるんですけど、ほとんどのブラウザはファビコン、「favicon.ico」を読み込みますよね? で、favicon.icoの実ファイルは置いてありますか?

ファビコンがリクエストされたらどうなりますか?

http://www.example.com/favicon.ico

にリクエストされて、Apacheが上記設定で、実ファイルがなかったら、

http://www.example.com/index.php

にアクセスがいきますよね?
つまりそういうことです。

誰かの助けになれば!

mod_pagespeed を利用して純粋に速度を高める

mod_pagespeed を利用して純粋に速度を高める: 概要: mod_pagespeed は Google が Apache HTTP サーバー用に提供しているモジュールです。このモジュールを使用すれば、Web サイトのページのロード時間を改善することができます。また、Web サイトを高速化するためのベスト・プラクティスのすべてをプログラムによって自動的にサイトに組み込むことができ、ほとんど構成を必要としません。Apache で Web サイトをホストしている場合、mod_pagespeed を使用することで、サイトの速度を迅速かつ容易に改善することができるのです。

phpとは直接関係ないですけど、読み込み速度が早くなるのはいいこと。
知らなかったので、ちょっと試してみたいです。

phpが動いているのはモジュール?cgi?

phpがモジュールモードで動いているか?cgiモードで動いているか?を知る方法 – purazumakoiの[はてな]

phpinfoを表示して

4行目あたり

CGIモード

Server API  : CGI

モジュールモード

Server API  : Apache

とか

Server API  : Apache 2.0 Handler

なるほどメモ。
いつか使うときがきそう。

basic認証を特定のディレクトリだけ解除

わすれないように. – basic認証を特定のディレクトリだけ解除する方法

公開前の仮upサイトでbasic認証を使っていて、非公開エリアでphp等によるbasic認証を使用している場合 、.htaccessの認証とphpの認証で干渉し合って永久にログイン出来な

なるほど、確かにそうなりますよね。やったことないので想像つかなかった。

特定のディレクトリ下だけ、認証を解除するには、

Satisfy Any

と、解除したいディレクトリの.htaccessに書いておけばよいらしいです。ふむふむ。

phpAwStats

SourceForge.net: phpAwStats

Apacheログファイル解析のAWStatsをphpで、というものみたいです。
これは素敵やも。ちょっと触ってみます。