IMUZA.com

Xserver<<WordPress(ConoHa)<<はてなブログ

ホーム / Linux / Plamo-5.2/ウェブサーバapache+phpを立ち上げる(prefork)

Plamo-5.2/ウェブサーバapache+phpを立ち上げる(prefork)

2014/01/30 Linux, Plamo

さて、無線LANにもつながりましたので、Windows から作業を出来るようにします。hosts.allow で、同一セグメント内の通信を許可しないとつながりません。

# cat /etc/hosts.allow
#
ALL : LOCAL
ALL : 192.168.1.
# End of hosts.allow.

プロセスを見ますと、Webサーバが立ち上がっているようですのでバージョンを見てみます。ついでに php も。

# httpd -v
Server version: Apache/2.4.7 (Unix)
Server built:   Dec 17 2013 18:06:14

# php -v
PHP 5.5.7 (cli) (built: Dec 13 2013 18:49:41)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies

 ブラウザに http://vaioくんのipアドレスを打ってみます。

It works!

と表示されますので動いていますね。ただ、ドキュメントルートや設定ファイルの場所が、私が記憶しているものと少し変わっているようです。設定ファイル /etc/httpd/http.conf を見てみますと、

DocumentRoot “/srv/httpd/htdocs”

となっていますし、各設定ファイルも /etc/httpd/extra/ ディレクトリに別ファイルとして置いて、インクルードするようになっています。phpも組み込まれていません。いくつか変更しましょう。

まず、phpを組み込んでみます。/etc/httpd/httpd.conf の以下のコメントアウトを外せばいけそうです。

(2014/02/04追記)
その後、php+mysql で苦労する羽目になり、気づいたのですが、この二行は元々の httpd.conf にはないですね。その時は確かにあったんですが、自分で書き足したのかも知れません。

# php5 conf
Include /etc/httpd/extra/php5.conf

で、apache をリスタートしてみると、

# apachectl restart
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.  You need to recompile PHP.
AH00013: Pre-configuration failed

と、叱られてしまいました。

Apacheは、マルチスレッドで動いているけど、あんたのphpはスレッドセーフでコンパイルされていない。phpをコンパイルし直せ。

ということですね。いろいろ調べてみますと、これを解決するには、

  1. ApacheのMPMをマルチスレッドのworkerからpreforkに変更する
  2. phpをcgiで動かす
  3. phpをスレッドセーフでコンパイルし直す

の3つの方法があるようです。正直、あまり詳しいことは分からないのですが、いろいろやってみましょう。

まずは、apacheをpreforkに変更

/usr/lib/httpd/module/ を見てみますと、
mod_mpm_prefork.so
mod_mpm_worker.so
2つのモジュールがありますので、httpd.conf を書き換えればいけるのかも知れません。

 #LoadModule mpm_worker_module lib/httpd/modules/mod_mpm_worker.so
LoadModule mpm_prefork_module lib/httpd/modules/mod_mpm_prefork.so

 として、apacheをリスタートすると、無事立ち上がったようです。

# apachectl -V | grep ‘Server MPM’
Server MPM:     prefork

おお、preforkで走ってますね。ドキュメントルートに

# cat /srv/httpd/htdocs/phpinfo.php
<?php
phpinfo();
?>

を作って、phpの動作確認をしてみます。

問題ないようです。確かに、Server API Apache 2.0 Handlerとモジュールで動いていますし、ThreadSafety disabled となっています。

公開するサーバではありませんので、これで問題はないと思いますが、せっかくですので、workerとpreforkの違いとか安全性を調べてみることにします。

Plamo-5.2/無線LANに挑戦(接続OK)
Plamo-5.2/apache+phpをCGIで動かす(完了なのだが…)
Twitter
Facebook
ブックマーク
LINEで送る

最初のサイドバー

最新記事

2023/03/21

WordPress:メール送信にGmailのSMTPを使う(プラグインなし)

2023/03/10

WordPress:サムネイル付き次の記事/前の記事

2023/02/28

Twitterシェアリンクはintent/tweetを使おう

2023/02/21

GoogleタグマネージャーとアナリティクスGA4

2023/02/8

WordPress:人気記事を直近の期間指定で表示する

最新記事を一覧で見る

よく読まれている記事

よく読まれている記事を一覧で見る

カテゴリー

  • はてなブログ214
  • WebTips109
  • javascript98
  • Joomla!88
  • Windows68
  • Wordpress65
  • CSS63
  • Joomla!更新53
  • Linux49
  • はてなテーマ45
  • Google34
  • Plamo33
  • はてなプラグイン25
  • php22
  • Node.js18
  • Ubuntu16
  • SASS16
  • laravel415
  • Chrome11
  • cms-style10
  • iPhone9
  • ConoHa WING6
  • Git入門6
  • genesis6
  • Python5
  • Android5
  • PC全般4
  • Facebook4
  • スマートフォン4
  • 静的サイトジェネレーター3
  • Firefox3
  • SSD3
  • Blankslate3
  • Docker3
  • Twitter2
  • GitHub2
  • Mactype2
  • はてなブクマ1
  • 映画1
  • youtube1
  • rails入門1
  • Xserver1

Footer

My Web Sites

  • @半径とことこ60分
  • そんなには褒めないよ。映画評
  • IMUZA.com
  • GitHub

Related Sites

  • WordPress公式
  • WordPress関数リファレンス
  • PHPマニュアル

Contact Us

  • お問い合わせフォーム
  • Twitter
  • Facebook
  • Feedly

Copyright © 2023 · IMUZA.com