サーバー設定 · 2 min read · Nov 26, 2025

OpenSUSE 11.3 に PHP5 と MySQL サポートを持つ Cherokee をインストールする

OpenSUSE 11.3 に PHP5 と MySQL サポートを持つ Cherokee をインストールする

バージョン 1.0
著者: Falko Timme
Twitter でフォローしてください

Cherokee は非常に高速で柔軟性があり、設定が簡単な Web サーバーです。現在広く使用されている技術をサポートしています: FastCGI、SCGI、PHP、CGI、TLS および SSL 暗号化接続、仮想ホスト、認証、オンザフライエンコーディング、負荷分散、Apache 互換のログファイルなど。このチュートリアルでは、OpenSUSE 11.3 サーバーに PHP5 サポート (FastCGI 経由) と MySQL サポートを持つ Cherokee をインストールする方法を示します。

これがあなたにとって機能することを保証するものではありません!

1 予備ノート

このチュートリアルでは、ホスト名 server1.example.com と IP アドレス 192.168.0.100 を使用します。これらの設定はあなたの環境によって異なる場合があるため、適宜置き換えてください。

2 MySQL 5 のインストール

まず、次のようにして MySQL 5 をインストールします:

yast2 -i mysql mysql-client mysql-community-server libmysqlclient-devel

次に、MySQL のシステム起動リンクを作成し (システムが起動するたびに MySQL が自動的に起動するように)、MySQL サーバーを起動します:

chkconfig --add mysql  
/etc/init.d/mysql start

次を実行します:

mysql_secure_installation

root ユーザーのパスワードを設定します (さもなければ誰でもあなたの MySQL データベースにアクセスできます!):

server1:~ # mysql_secure_installation

NOTE: このスクリプトのすべての部分を実行することは、すべての MySQL サーバーで推奨されます。 すべてのステップを注意深く読んでください!

MySQL にログインしてセキュリティを確保するためには、root ユーザーの現在のパスワードが必要です。 もし MySQL をインストールしたばかりで、まだ root パスワードを設定していない場合、パスワードは空白のままですので、ここではただ Enter を押してください。

現在の root のパスワードを入力してください (なしの場合は Enter): <– ENTER
OK、パスワードが正常に使用されました、次に進みます…

root パスワードを設定することで、適切な認証なしに誰も MySQL root ユーザーにログインできないようにします。

root パスワードを設定しますか? [Y/n] <– Y
新しいパスワード: <– 希望する MySQL root パスワードを入力
新しいパスワードを再入力してください: <– そのパスワードを確認
パスワードが正常に更新されました!
特権テーブルを再読み込み中…
… 成功!

デフォルトでは、MySQL インストールには匿名ユーザーがあり、誰でもユーザーアカウントを作成することなく MySQL にログインできます。 これはテスト用にのみ意図されており、インストールを少しスムーズにするためのものです。 本番環境に移行する前に、これらを削除する必要があります。

匿名ユーザーを削除しますか? [Y/n] <– Y
… 成功!

通常、root は ‘localhost’ からのみ接続を許可されるべきです。 これにより、誰かがネットワークから root パスワードを推測できないようにします。

リモートでの root ログインを禁止しますか? [Y/n] <– Y
… 成功!

デフォルトでは、MySQL には誰でもアクセスできる ‘test’ という名前のデータベースがあります。 これもテスト用にのみ意図されており、本番環境に移行する前に削除する必要があります。

テストデータベースとそのアクセスを削除しますか? [Y/n] <– Y

  • テストデータベースを削除中…
    … 成功!
  • テストデータベースの特権を削除中…
    … 成功!

特権テーブルを再読み込みすることで、これまでに行ったすべての変更が即座に反映されることを保証します。

特権テーブルを今すぐ再読み込みしますか? [Y/n] <– Y
… 成功!

クリーンアップ中…

すべて完了しました! 上記のすべてのステップを完了した場合、あなたの MySQL インストールは現在安全であるはずです。

MySQL を使用していただきありがとうございます!

server1:~ #

3 PHP5 のインストール

FastCGI 経由で Cherokee で PHP5 を動作させることができます。 したがって、パッケージ php5-fastcgi (および Cherokee に必要なパッケージ rrdtool と rrdtool-devel) をインストールします:

yast2 -i php5-fastcgi rrdtool rrdtool-devel

/etc/php5/fastcgi/php.ini を修正し、行 cgi.fix_pathinfo=1 のコメントを外す必要があります:

vi /etc/php5/fastcgi/php.ini

| [...] ; cgi.fix_pathinfo は CGI のための *実際の* PATH_INFO/PATH_TRANSLATED サポートを提供します。 PHP の ; 以前の動作は PATH_TRANSLATED を SCRIPT_FILENAME に設定し、PATH_INFO が何であるかを理解しませんでした。 ; PATH_INFO についての詳細は cgi スペックを参照してください。 これを 1 に設定すると、PHP CGI が仕様に従ってパスを修正します。 ; 0 に設定すると、PHP は以前のように動作します。 デフォルトは 1 です。 スクリプトを修正して、 ; PATH_TRANSLATED ではなく SCRIPT_FILENAME を使用する必要があります。 ; http://php.net/cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |

4 Cherokee のインストール

残念ながら、OpenSUSE 11.3 用の Cherokee パッケージはありません (OpenSUSE 11.1 用のものはありますが、11.3 では動作しません)。したがって、ソースから Cherokee をビルドする必要があります:

cd /usr/src  
wget http://www.cherokee-project.com/download/1.0/1.0.15/cherokee-1.0.15.tar.gz  
tar xvfz cherokee-1.0.15.tar.gz  
cd cherokee-1.0.15/  
./configure --localstatedir=/var --prefix=/usr --sysconfdir=/etc --with-wwwroot=/srv/www/htdocs --with-wwwuser=wwwrun --with-wwwgroup=www --with-mysql --with-php=/usr/bin/php-cgi
make  
make install

64 ビットシステムの場合は、次のことも行います (Cherokee は 64 ビットシステムでは /usr/lib/ ではなく /usr/lib64/ にライブラリがあることを期待しています):

cp /usr/lib/libcherokee-* /usr/lib64/

次に、Cherokee 用の init スクリプトが必要です。自分で書く代わりに、OpenSUSE 11.1 用の Cherokee の src.rpm ファイルをダウンロードし、src.rpm パッケージから init スクリプトを使用できます:

cd /usr/src  
wget http://download.opensuse.org/repositories/server:/http/openSUSE_11.1/src/cherokee-0.98.1-4.1.src.rpm  
rpm -ivh cherokee-0.98.1-4.1.src.rpm
cd packages/SOURCES/  
cp cherokee.init /etc/init.d/cherokee

その後、init スクリプトを実行可能にし、システム起動リンクを追加します:

chmod 755 /etc/init.d/cherokee  
chkconfig --add cherokee

次に、Cherokee を起動します:

/etc/init.d/cherokee start

(出力は次のようになります - Cherokee は CTRL+C を押すまでコマンドラインに戻りません; これを行うと、Cherokee はバックグラウンドで実行され続けます。これが私たちの望むことです:

server1:~ # Cherokee Web Server 1.0.15 (Jan 10 2011): Listening on port ALL:80, TLS  
disabled, IPv6 enabled, using epoll, 4096 fds system limit, max. 2041  
connections, 5 threads, 408 connections per thread, standard scheduling  
policy

)

今、ブラウザを http://192.168.0.100 に向けると、Cherokee のプレースホルダーページが表示されるはずです:

Cherokee は、次のようにして起動できる Web ベースのコントロールパネルを介して設定できます:

cherokee-admin -b

(デフォルトでは cherokee-admin は 127.0.0.1 (localhost) のみをバインドします。これは、同じシステムからのみ接続できることを意味します。 -b パラメータを使用すると、リッスンするネットワークアドレスを指定できます。IP が提供されていない場合、すべてのインターフェースにバインドされます。)

出力は次のようになります:

server1:~ # cherokee-admin -b  
Cherokee Web Server 1.0.15 (Jan 10 2011): Listening on port ALL:9090, TLS  
disabled, IPv6 enabled, using epoll, 4096 fds system limit, max. 2041  
connections, caching I/O, 5 threads, 408 connections per thread, standard  
scheduling policy  
  
ログイン:  
  ユーザー:              admin  
  ワンタイムパスワード: Vk2yR8alQft73zzn  
  
Web インターフェース:  
  URL:               http://localhost:9090/

Web インターフェースにログインするには、http://192.168.0.100:9090/ で見つけることができるユーザー名とパスワードが必要です:

これが Web インターフェースの外観です:

cherokee-admin を停止するには、シェルで CTRL+C を入力します。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。