英語フランス語スペイン語

Ad


OnWorksファビコン

apxs - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーで apxs を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド apxs です。

プログラム:

NAME


apxs - APache 拡張ツール

SYNOPSIS


apx -g [-S = ] - n モジュール名

apx -q [-v ] [ -S = ] クエリー ...

apx -c [-S = ] [ -o dsofile ] [ -I インクディレクトリ ] [ -D = ] [ -L リブディレクトリ ] [
-l ライブラリ名 ] [ -トイレ、コンパイラフラグ ] [ -ウィル、リンカーフラグ ] ファイル ...

apx -i [-S = ] [ -n モジュール名 ] [ -a ] [ -A ] dsoファイル ...

apx -e [-S = ] [ -n モジュール名 ] [ -a ] [ -A ] dsoファイル ...

概要


apxs は、Apache HyperText の拡張モジュールを構築およびインストールするためのツールです。
転送プロトコル (HTTP) サーバー。 これは、動的な共有オブジェクトを構築することで実現されます。
(DSO) XNUMX つ以上のソースまたはオブジェクトから ファイル これを Apache にロードできるようになります。
mod_so からの LoadModule ディレクティブを介して実行時にサーバーを実行します。

したがって、この拡張メカニズムを使用するには、プラットフォームが DSO 機能をサポートしている必要があります。
Apache httpd バイナリは mod_so モジュールを使用してビルドする必要があります。 apxs ツールは自動的に
そうでない場合は文句を言います。 これは、手動で実行して自分で確認できます。
command

$ httpd -l

モジュール mod_so は、表示されたリストの一部である必要があります。 これらの要件がある場合、
独自の Apache サーバーをインストールすることで、Apache サーバーの機能を簡単に拡張できます。
この apxs ツールを利用して、DSO メカニズムを備えたモジュールを作成します。

$ apxs -i -a -c mod_foo.c
gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
ld -Bshareable -o mod_foo.so mod_foo.o
cp mod_foo.so /path/to/apache/modules/mod_foo.so
chmod 755 /path/to/apache/modules/mod_foo.so
[/path/to/apache/etc/httpd.conf でモジュール `foo' をアクティブ化します]
$ apachectl 再起動
/path/to/apache/sbin/apachectl restart: httpd が実行されていません。起動しようとしています
[31 年 11 月 27 日火曜日 55:1998:XNUMX] [デバッグ] mod_so.c(303): ロードされたモジュール foo_module
/path/to/apache/sbin/apachectl restart: httpd が開始されました
$_

議論 ファイル 任意の C ソース ファイル (.c)、オブジェクト ファイル (.o)、またはライブラリを指定できます。
アーカイブ (.a)。 apxs ツールはこれらの拡張子を自動的に認識し、
コンパイルには C ソース ファイルを使用し、コンパイルにはオブジェクト ファイルとアーカイブ ファイルのみを使用しました。
リンクフェーズ。 ただし、このようなプリコンパイル済みオブジェクトを使用する場合は、それらがコンパイルされていることを確認してください。
位置独立コード (PIC) を動的にロードされた共有コードに使用できるようにする
物体。 たとえば、GCC では、常に -fpic を使用するだけで済みます。 他のCコンパイラの場合
マニュアルページを参照するか、apxs がオブジェクトファイルをコンパイルするために使用するフラグを監視してください。

Apache での DSO サポートの詳細については、mod_so のドキュメントを参照するか、おそらく
src/modules/standard/mod_so.c ソース ファイルも読みます。

OPTIONS


コマンドと オプション
-n モジュール名
これにより、-i (インストール) および -g (テンプレート) のモジュール名が明示的に設定されます。
世代)オプション。 モジュール名を明示的に指定する場合に使用します。 オプション -g の場合
これは必須です。オプション -i の場合、apxs ツールは、
ソース、または(フォールバックとして)少なくともファイル名から推測してください。

クエリー オプション
-q httpd の構築に使用される変数と環境設定のクエリを実行します。 いつ
なしで呼び出される クエリー パラメータを指定すると、すべての既知の変数とその値が出力されます。
オプションの -v パラメーターは、リスト出力をフォーマットします。 .PP これを使用して手動で
モジュールをロードする httpd の構築に使用される設定を決定します。 例えば
手動が必要な場合は、独自の Makefile 内で INC=-I`apxs -q INCLUDEDIR` .PP を使用してください。
Apache の C ヘッダー ファイルへのアクセス。

  オプション
-S =
このオプションは、上記で説明した apxs 設定を変更します。

テンプレート 世代 オプション
-g サブディレクトリを生成します。 (オプション -n を参照) と XNUMX つのファイルがあります: サンプル
mod_ という名前のモジュール ソース ファイル.c を作成するためのテンプレートとして使用できます。
独自のモジュールとして、または apxs メカニズムを使って遊ぶためのクイックスタートとして。 そして、
対応する Makefile を使用すると、このモジュールのビルドとインストールがさらに簡単になります。

DSO 編集 オプション
-c これはコンパイル操作を示します。 最初に C ソース ファイル (.c) をコンパイルします。
of ファイル 対応するオブジェクト ファイル (.o) に変換し、動的に共有されるファイルを構築します。
内のオブジェクト dsofile これらのオブジェクト ファイルと残りのオブジェクト ファイル (.o
および .a) の ファイル。 -o オプションが指定されていない場合、出力ファイルは
の最初のファイル名 ファイル したがって、通常はデフォルトで mod_ になります。。それで。

-o dsofile
作成された動的共有オブジェクトのファイル名を明示的に指定します。 そうでない場合
指定されており、名前からは推測できません。 ファイル リスト、フォールバック名
mod_unknown.so が使用されます。

-D =
このオプションはコンパイル コマンドに直接渡されます。 これを使用して、
独自の定義をビルド プロセスに追加します。

-I インクディレクトリ
このオプションはコンパイル コマンドに直接渡されます。 これを使用して、
ビルド プロセスを検索するための独自のインクルード ディレクトリを追加します。

-L リブディレクトリ
このオプションはリンカ コマンドに直接渡されます。 これを使用して、
ビルドプロセスを検索するための独自のライブラリディレクトリ。

-l ライブラリ名
このオプションはリンカ コマンドに直接渡されます。 これを使用して、
ビルドプロセスで検索する独自のライブラリ。

-トイレ、コンパイラフラグ
このオプションは合格します コンパイラフラグ libtool --mode=compile への追加フラグとして
指図。 これを使用して、ローカル コンパイラ固有のオプションを追加します。

-Wl、リンカーフラグ
このオプションは合格します リンカーフラグ libtool --mode=link への追加フラグとして
指図。 これを使用して、ローカル リンカー固有のオプションを追加します。

-p このオプションにより、apx は apr/apr-util ライブラリに対してリンクされます。 これは便利です
apr/apr-util ライブラリを使用するヘルパー プログラムをコンパイルするとき。

DSO インストール &   オプション
-i これはインストール操作を示し、XNUMX つ以上を動的にインストールします。
共有オブジェクトをサーバーの モジュール ディレクトリにあります。

-a これは、対応する LoadModule 行を自動的に追加することによってモジュールをアクティブ化します。
Apache の httpd.conf 設定ファイルに追加するか、すでに存在する場合はそれを有効にします。

-A オプション -a と同じですが、作成された LoadModule ディレクティブの先頭にハッシュ記号が付きます。
(#)、 すなわち、モジュールは後でアクティブ化する準備ができていますが、最初は無効になっています。

-e これは編集操作を示し、-a および -A オプションとともに使用できます。
Apache の httpd.conf 設定ファイルを編集するための -i 操作と同様
モジュールをインストールしようとせずに。


Apache のモジュールを拡張する mod_foo.c という名前の Apache モジュールが利用可能であると仮定します。
サーバー機能。 これを実現するには、まず C ソースをコンパイルして、
以下を介して実行時に Apache サーバーにロードするのに適した共有オブジェクト
コマンド:

$ apxs -c mod_foo.c
/path/to/libtool --mode=compile gcc ... -c mod_foo.c
/path/to/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
$_

次に、LoadModule ディレクティブが次のように設定されていることを確認して、Apache 構成を更新する必要があります。
この共有オブジェクトをロードするために存在します。 このステップを簡素化するために、apxs は自動の方法を提供します
共有オブジェクトを「modules」ディレクトリにインストールし、httpd.conf ファイルを更新します。
によると。 これは、以下を実行することで実現できます。

$ apxs -i -a mod_foo.la
/path/to/instdso.sh mod_foo.la /path/to/apache/modules
/path/to/libtool --mode=install cp mod_foo.la /path/to/apache/modules
...
chmod 755 /path/to/apache/modules/mod_foo.so
[/path/to/apache/conf/httpd.conf でモジュール `foo' をアクティブ化します]
$_

このようにして、

LoadModule foo_module modules/mod_foo.so

まだ存在しない場合は、構成ファイルに追加されます。 これを無効にしたい場合は、
デフォルトでは -A オプションを使用します。 すなわち

$ apxs -i -A mod_foo.c

apxs メカニズムを簡単にテストするには、サンプルの Apache モジュール テンプレートと、
対応する Makefile 経由:

$ apxs -g -n foo
[DIR] foo の作成
[FILE] foo/Makefile の作成
[ファイル] foo/modules.mk の作成
[FILE] foo/mod_foo.c の作成
[FILE] foo/.deps の作成
$_

その後、すぐにこのサンプル モジュールを共有オブジェクトにコンパイルして、
Apache サーバー:

$ cd フー
$ すべてをリロードする
apxs -c mod_foo.c
/path/to/libtool --mode=compile gcc ... -c mod_foo.c
/path/to/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
apxs -i -a -n "foo" mod_foo.la
/path/to/instdso.sh mod_foo.la /path/to/apache/modules
/path/to/libtool --mode=install cp mod_foo.la /path/to/apache/modules
...
chmod 755 /path/to/apache/modules/mod_foo.so
[/path/to/apache/conf/httpd.conf でモジュール `foo' をアクティブ化します]
apachectl 再起動
/path/to/apache/sbin/apachectl restart: httpd が実行されていません。起動しようとしています
[31 年 11 月 27 日火曜日 55:1998:XNUMX] [デバッグ] mod_so.c(303): ロードされたモジュール foo_module
/path/to/apache/sbin/apachectl restart: httpd が開始されました
$_

onworks.net サービスを使用してオンラインで apxs を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad