Apache HTTP Server Version 2.0
This document refers to the 2.0 version of Apache httpd, which is no longer maintained. Upgrade, and refer to the current version of httpd instead, documented at:
You may follow this link to go to the current version of this document.
apxs
�� ����ġ �������ؽ�Ʈ ���� ��������
(HTTP) ������ Ȯ������ �������ϰ� ��ġ�ϴ� �����̴�. ��
������ ���� �ҽ��� ������Ʈ������ ������,
mod_so
�� LoadModule
���þ�� �����߿�
����ġ ������ �о���� �� �ִ� ����������ü(DSO)�� �����.
���� �̷� Ȯ������ ����Ϸ��� �÷����� DSO �����
�����ϰ� ����ġ httpd
����������
mod_so
���� ���� �������ؾ� �Ѵ�.
apxs
������ �� ������ �������������� ��������
�ʴ´�. ���� ���ɾ �����Ͽ� ������ �����ϴ��� �˾ƺ�
�� �ִ�
$ httpd -l
��Ͽ� mod_so
����� ���;� �Ѵ�. ������
�����ϸ� 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
[activating module `foo' in /path/to/apache/etc/httpd.conf]
$ apachectl restart
/path/to/apache/sbin/apachectl restart: httpd not running, trying to start
[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
/path/to/apache/sbin/apachectl restart: httpd started
$ _
�ƱԸ�Ʈ files���� C �ҽ����� (.c) �̳�
������Ʈ���� (.o), ���̺귯������ (.a)�� ����� �� �ִ�.
apxs
������ Ȯ���ڸ� ���� �ڵ����� C �ҽ�������
�������ϰ�, ������Ʈ�� ���������� ��ũ���� ����Ѵ�. ����
�������� ������Ʈ�� ����Ϸ��� �������� �о���� �� �ִ�
������ü�� ����ϱ����� �ݵ�� ������Ʈ�� ��ġ�����ڵ�(PIC,
position independent code)�� �������ؾ� �Ѵ�. GCC�� ���
-fpic
�� ����ϸ� �ȴ�. �ٸ� C �����Ϸ��� ��������
�����ϰų� apxs
�� ������Ʈ������ �������Ҷ�
����ϴ� �ɼ��� �����϶�.
����ġ�� DSO ������ ���� �� �ڼ��� ������
mod_so
������ �����ϰų�
src/modules/standard/mod_so.c
�ҽ������� �о����.
apxs -g
[ -S name=value ]
-n modname
apxs -q
[ -S name=value ]
query ...
apxs -c
[ -S name=value ]
[ -o dsofile ]
[ -I incdir ]
[ -D name=value ]
[ -L libdir ]
[ -l libname ]
[ -Wc,compiler-flags ]
[ -Wl,linker-flags ]
files ...
apxs -i
[ -S name=value ]
[ -n modname ]
[ -a ]
[ -A ]
dso-file ...
apxs -e
[ -S name=value ]
[ -n modname ]
[ -a ]
[ -A ]
dso-file ...
-n modname
-i
(install)�� -g
(template
generation) �ɼ��� ����Ҷ� ���� ������ �����Ѵ�. ��
�ɼ��� ����Ͽ� ������ ���� �����Ѵ�. -g
�ɼ��� ����Ѵٸ� �� �ɼ��� �ݵ�� ����ؾ��ϰ�,
-i
�ɼ��� ����Ѵٸ� apxs
������
�ҽ��� (������ �õ���) ���ϸ��� ������ �̸��� �����Ѵ�.-q
apxs
�� �������� �˾Ƴ���. query����
������ ����� �� �ִ�: CC
, CFLAGS
,
CFLAGS_SHLIB
, INCLUDEDIR
,
LD_SHLIB
, LDFLAGS_SHLIB
,
LIBEXECDIR
, LIBS_SHLIB
,
SBINDIR
, SYSCONFDIR
, TARGET
.
������ ���� �˾Ƴ��� ����Ѵ�.
INC=-I`apxs -q INCLUDEDIR`
���� ���, ����ġ C ��������� ���� �����Ѵٸ� Makefile���� ���� ���� ����Ѵ�.
-S name=value
-g
-n
�ɼ� ����) �װ��� ���� �ΰ��� �����: �� ������
mod_name.c
��� �ߺ� ���ҽ����Ϸ�,
�ڽ��� ����� ���鶧 �ߺ����� ����ϰų� apxs �����
�����غ��� ����Ѵ�. �ٸ� ������ �� ����� ���� �������ϰ�
��ġ�ϱ����� Makefile
�̴�.-c
-o
�ɼ��� ������������� files��
ù��° ���ϸ����� �̸��� �����Ͽ� ����
mod_name.so
�� ����Ѵ�.-o dsofile
mod_unknown.so
�� �̸�����
����Ѵ�.-D name=value
-I incdir
-L libdir
-l libname
-Wc,compiler-flags
-Wl,linker-flags
-i
-a
httpd.conf
�������Ͽ� ������
LoadModule
����
�߰��ϰų� �̹� �ִٸ� Ȱ��ȭ�Ͽ� ����� ����ϵ���
�����.-A
-a
�� ���������, LoadModule
���þ� �տ�
�칰����(#
)�� ���δ�. ��, �����
������������� ���߿� ����� �� �ֵ��� ����� �غ��Ѵ�.-e
-a
Ȥ�� -A
�ɼǰ� ���� ����� �� ������, -i
���ɰ�
��������� ����� ��ġ�����ʰ� ����ġ
httpd.conf
�������ϸ� �����Ѵ�.����ġ������ ����� Ȯ���ϴ� mod_foo.c
���
����ġ ����� �ִٰ� ��������. ���� ���� ���ɾ ����Ͽ�
C �ҽ��� ����ġ ������ �о���� ������ü�� �������Ѵ�:
$ apxs -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
$ _
���� �� ������ü�� �о���̴� LoadModule
���þ ����ġ
������ �߰��Ѵ�. apxs
�� �ڵ����� ������ü��
"modules" ���丮�� ��ġ�ϰ� httpd.conf
������
�˸°� �����Ͽ� ������ �۾��� ��ģ��. ���� ���� �����Ѵ�:
$ apxs -i -a mod_foo.c
cp mod_foo.so /path/to/apache/modules/mod_foo.so
chmod 755 /path/to/apache/modules/mod_foo.so
[activating module `foo' in /path/to/apache/etc/httpd.conf]
$ _
���� ������ ���� ����
LoadModule foo_module modules/mod_foo.so
�������Ͽ� ���ٸ� �߰��Ѵ�. �� ������ �⺻������ �������
�ʴ´ٸ� -A
�ɼ��� ����Ѵ�. ��
$ apxs -i -A mod_foo.c
apxs�� ���� ����Ϸ��� ������ ���� ����ġ ��� �ߺ��� Makefile�� ���� �� �ִ�:
$ apxs -g -n foo
Creating [DIR] foo
Creating [FILE] foo/Makefile
Creating [FILE] foo/mod_foo.c
$ _
���� �ٷ� �ߺ� ����� ������ü�� �������Ͽ� ����ġ ������ �е����Ѵ�:
$ cd foo
$ make all reload
apxs -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
apxs -i -a -n "foo" mod_foo.so
cp mod_foo.so /path/to/apache/modules/mod_foo.so
chmod 755 /path/to/apache/modules/mod_foo.so
[activating module `foo' in /path/to/apache/etc/httpd.conf]
apachectl restart
/path/to/apache/sbin/apachectl restart: httpd not running, trying to start
[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
/path/to/apache/sbin/apachectl restart: httpd started
$ _
������ ����ġ �ҽ� �ۿ��� apxs
�� ����Ͽ�
PHP3�� ���� ������ ����� �������� �� �ִ�:
$ cd php3
$ ./configure --with-shared-apache=../apache-1.3
$ apxs -c -o libphp3.so mod_php3.c libmodphp3-so.a
gcc -fpic -DSHARED_MODULE -I/tmp/apache/include -c mod_php3.c
ld -Bshareable -o libphp3.so mod_php3.o libmodphp3-so.a
$ _
apxs
�� �ڵ����� C �ҽ����ϰ� ������Ʈ������
�����Ѵ�. C �ҽ����ϸ� �������ϰ� ������ ������Ʈ������
��ũ�Ҷ� ����Ѵ�.