apache|mysql|サーバー|戦略
PHP のインストール (UNIX)
次に、PHP 言語をインストールします。最新のベータ版をダウンロードしましたが、ベータ版ではないバージョンをダウンロードする必要がある場合があります。ベータ版には GNU make が必要であることに注意してください。
まだ root であるとみなされますが、そうでない場合は root に戻ります。
PHP では、必要なものがどこにあるかを認識できるように、Apache を事前に設定する必要があります。後で Apache サーバーをインストールするときにここに戻ってきます。ソースコードがあるディレクトリに移動します。
# cd /tmp/DOWNLOAD
# Gunzip -c apache_1.3.x.tar.gz |
# cd apache_1.3.x
# ./configure
# cd ..
さて、これで PHP のインストールを開始できます。ソース コード ファイルを抽出し、そのディレクトリに移動します。バージョン 3 をダウンロードすると、数値とコマンドが変更されますが、大きな変更はありません。
# Gunzip -c php-4.0.x.tar.gz |
# cd php-4.0.x
コードをコンパイルする場合、configure は常に味方になります。 :-) したがって、configure には多くのオプションがあります。追加するものを決定するには、configure --help を使用します。必要なのは MySQL と LDAP、そしてもちろん Apache だけです。
# ./configure --with-mysql=/usr/local/mysql
--with-xml
--with-apache=../apache_1.3.x
--enable-track-vars
--with-ldap
バイナリコードを作成してインストールします。
# make
# make install
ini ファイルを lib ディレクトリにコピーします。
# cp php.ini-dist /usr/local/lib/php.ini
PHP ファイルを編集して PHP オプションを設定できます。たとえば、php.ini ファイルに次の行を挿入することで php を追加できます。 . 最大実行時間。
max_execution_time = 60;
注: php3 ユーザーは php3.ini を使用し、php4 ユーザーは php.ini ファイルを使用します。
Apache と Mod_SSL
mod_ssl と Apache を設定してインストールします。このためには、rsaref-2.0 ファイルが必要です。 http://ftpsearch.lycos.com/ で「rsaref20.tar.Z」を検索します。 Lycos が気に入らない場合は、別の検索エンジンを選択してファイルを検索できます。もちろん、この書類が必要になるのは米国にいる場合のみです。 (とにかく、他の場所からダウンロードすることもできます。まず http://ftpsearch.ntnu.no/ で「rsaref20.tar.Z」を検索してください。たくさんあります!)
ドキュメントを抽出する rasref ディレクトリを作成します。 。知らせ。これは、一時ディレクトリをダウンロードし、そのディレクトリにいることを前提としています。
# mkdir rsaref-2.0
# cd rsaref-2.0
# gzip -d -c ../rsaref20.tar.Z tar xvf -
次に、OpenSSL ライブラリを構成して構築します。
# cd rsaref-2.0
# cp -rp install/unix local
# cd local
# make
# mv rsaref.a librsaref.a
# cd ../..
OpenSSL をインストールします。これを使用して一時証明書と CSR ファイルを作成することに注意してください。 --prefix オプションは、メインのインストール ディレクトリを指定します。
# cd openssl-0.9.x
# ./config -prefix=/usr/local/ssl
-L`pwd`/../rsaref-2.0/local/ rsaref -fPIC
さて、作成してテストしますそしてそれをインストールします。
# make
# make test
# make install
# cd ..
MOD_SSL モジュールを構成し、Apache 構成を使用してロード可能なモジュールとして指定します。
# cd mod_ssl-2.5.x-1.3.x
# ./configure
--with-apache=../apache_1.3.x
# cd ..
これで、さらに多くの Apache モジュールを配置できるようになりましたApache ソース ツリーに追加されます。オプションの --enable-shared=ssl オプションを使用すると、mod_ssl が DSO "libssl.so" として構築されます。 Apache での DSO サポートの詳細については、Apache ソース ツリーの INSTALL および htdocs/manual/dso.html ドキュメントを参照してください。 ISP とソフトウェア パッケージの管理者には、mod_ssl を最も柔軟に使用するために DSO ツールを使用することを強くお勧めしますが、DSO はすべてのプラットフォームの Apache でサポートされているわけではないことに注意してください。
# cd apache_1.3.x
# SSL_BASE=../openssl-0.9.x
RSA_BASE=../rsaref-2.0/local
./configure --enable-module=ssl
-- activate-module=src/modules/php4/libphp4.a
--enable-module=php4 --prefix=/usr/local/apache
--enable-shared=ssl
[...参加できますその他のオプション...]
Apache をビルドし、証明書を生成し、インストールします...
# make
正しく実行すると、次のような内容が得られます:
+--- - ------------------------------------------------- - -----------------+
| パッケージをインストールする前に、
コマンドを実行して SSL 証明書システムを準備する必要があります。 | さまざまな状況に応じて、次のバリアントが提供されます: |
| % make 証明書 TYPE=dummy (ダミーの Snake Oil 証明書) CA) | % 証明書 TYPE=custom (独自の CA によって署名された証明書) を作成します
| % 証明書 TYPE=existing (既存の証明書) を作成します |
| =/path/to/your.key] |
| ベンダー パッケージのメンテナーの場合は、 TYPE=dummy を使用します。| 管理者であるがテストのみを実行したい場合は TYPE=test、実際のサーバーを実行する場合は TYPE=existing | | サーバーをアップグレードする管理者
| 生成されたデータを表示するには
|
| www.engelschall.com |
+--------------------------------- --------------------------------------+
これでできるようになりますカスタマイズされた証明書を作成します。このオプションでは、住所、会社名、その他いくつかの項目の入力を求められます。証明書については、この記事の最後を参照してください。
# makecertificate TYPE=custom
Now install Apache...
# make install
すべてが正常であれば、次のようなメッセージが表示されるはずです:
+-------- -------------------------------------------------- - ------------+
| これで、Apache 1.3 HTTP サーバーが正常に構築され、インストールされました。 |
| まず、/usr/local/apache/conf/httpd.conf を確認してください。 |
| を実行すると、すぐに Apache を起動できるはずです。 SSL を使用: |
| Apache グループを使用してください |
+----------------------------------------------- -- ----------------------------------+
ここで、Apache と PHP が動作していることを確認します。ただし、srm.conf と httpd.conf を編集して、PHP タイプを構成に確実に追加する必要があります。 httpd.conf を表示し、次の行のコメントを解除します。この記事の手順に正確に従った場合、httpd.conf ファイルは /usr/local/apache/conf ディレクトリに配置されます。ファイル内に php4 の addtype のコメントを含む行があります。今すぐコメントを削除してください。 httpd.conf ファイル -- スニペット
>
> # PHP 4.x の場合は、次を使用します。 #
---> --> AddType application/x-httpd-php-source .phps
>
これで、Apache サーバーが動作しているかどうかを確認する準備が整いました。まず、SSL をサポートしていないサーバーを起動し、起動するかどうかを確認します。 PHP サポートを確認してから、サーバーを停止し、SSL サポートを有効にしてサーバーを起動し、すべてが正常であることを確認します。 configtest は、すべての構成が正しく設定されていることを確認します。
# cd /usr/local/apache/bin
# ./apachectl configtest
構文 OK
# ./apachectl start
./apachectl start: httpd が開始されました
作業をテストしてください
Apache は動作していますか?
正常に動作している場合は、Netscape を使用してサーバーに接続すると、このスクリーン キャプチャのような画面が表示されます。これは基本的に、Apache のデフォルトのインストール ページです。
注: ドメイン名またはマシンの実際の IP アドレスを使用してサーバーに接続できます。両方のシナリオをチェックして、すべてが適切に動作していることを確認します。
PHP サポートは機能していますか? ?
次に、PHP サポートをテストします... 次の情報を含むファイル (名前: test.php) を作成します。ファイルはドキュメント ルート パスの下に配置する必要があります。デフォルトは /usr/local/apache/htdocs です。これは以前に選択したプレフィックスによって異なりますが、httpd.conf で変更できることに注意してください。複数の仮想ホストの設定については別の記事で説明します。Apache をインストールするための非常に基本的なオプションとその手順について説明するので、注意してください。
test.php ファイル
?> サーバー、php、環境に関する情報が表示されます。以下は、出力ページの上部の画面キャプチャです。
PHP は素晴らしいですね。
SSL 選択は機能していますか? ?
さて、SSL をテストする準備が整いました。まずサーバーを停止し、SSL を有効にするオプションを指定して再起動します。
# /usr/local/apache/bin/apachectl stop
# /usr/local/apache/bin/apachectl startingsl
動作するかどうかをテストします: Netscape でサーバーに接続し、https プロトコルを選択します。 : https://youserver.yourdomain.com または http://yoursever.yourdomain.com:443、サーバーの IP アドレス、つまり https://xxx.xxx.xxx.xxx および http を再試行することもできます。 :/ /xxx.xxx.xxx.xxx:443。
機能する場合、サーバーは証明書をブラウザに送信して、安全な接続を確立します。これにより、署名した証明書を受け入れるようにブラウザーに要求されます。 、VeriSign または Thawte からの証明書の場合、証明書は信頼できる認証局 (CA) からのものであるため、ブラウザーはプロンプトを表示しません。私たちの場合、独自の証明書を作成して署名します...すぐに証明書を購入するつもりはありません。まず、すべてがうまく機能することを確認したいと思います。
Netscape で次のオプションが有効になっていることがわかります。これは、安全な接続が確立されたことを示します。
PHP と MySQL は連携できますか? ?
これで、「test2」データベース上で挿入およびデータ削除操作を実行する簡単なスクリプトを作成することで、php が MySQL で動作できることを確認できます。動作するかどうかをテストするための単純なスクリプトです。別の記事で、MySQL データベースに接続するための PHP スクリプトについて説明します。データベースとテーブルがすでに作成されていることを思い出してください。今すぐ終わらせてもいいのですが、やめることにしました。 root にデータベースとテーブルを作成する権限があることを再確認する必要がありましたが、PHP は MySQL をサポートしているため、テスト データベースといくつかのレコードを作成するコードを簡単に作成できました。
以前に書籍データベースを作成したことを思い出してください。前のコンテンツをスキップした場合、このセクションは機能しません。 「books」テーブルを含む test2 データベースを作成し、書籍のレコードを挿入しました。
このスクリプトは基本的にテーブルを調べてすべてのフィールド名をリストします。非常に単純です。
$dbhost = "パスワード";
$dbname = "書籍";
$mysql_link = mysql_connect($dbhost,$dbuser,$dbpass);
$column = mysql_list_fields($dbname,$dbtble,$mysql_link);
for($i< mysql_num_fields($column) ; 素晴らしい機能。