Home > Backend Development > PHP Tutorial > Install apache under linux to specify the installation module and compile and load other modules after installation

Install apache under linux to specify the installation module and compile and load other modules after installation

伊谢尔伦
Release: 2016-11-25 15:23:03
Original
1321 people have browsed it

1. Install the mod_proxy module when installing apache

1. Download apache
I downloaded httpd-2.2.12.tar.bz2 and saved it to /home/sxs/software.

2. Unzip the apache file
Enter the /home/sxs/software folder and execute:

# tar -xjf httpd-2.2.12.tar.bz2
Copy after login

A httpd-2.2.12 folder will be generated under /home/sxs/software.

If the suffix of the downloaded file is tar.gz, you need to use the following command

# tar -xzf httpd-2.2.12.tar.gz
Copy after login

3. Set the installation directory and parameters
Enter the newly decompressed httpd-2.2.12 folder and execute:

# ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=proxy
Copy after login

(usually said on the Internet ./configure --prefix=/usr/local/apache, here is to specify the mod_proxy module to install. How to specify other modules is not clear yet, but you can add modules through the second part after installing apache)

4. Compile and deploy apache

# make WITH_PROXY_MODULES=yes //(网上文章一般都是直接:make)
# make install
Copy after login

5. You will see the apache folder in /usr/local. Open the httpd.conf file and you can see:

LoadModule proxy_module modules/mod_proxy.so
Copy after login

and other codes. You can also see the corresponding mod_proxy.so file in the modules folder.

By default, mod_proxy and other modules are not installed when installing apache under Linux.

2. After installing apache, compile and load other modules

Assume that you need to compile and load mod_rewrite.so now

1. Enter the decompressed apache directory. The first part is /home/sxs/software/httpd-2.2.12

2. Find the file to be compiled

# find ./ -name mod_rewrite.c
Copy after login

3. Enter the directory where mod_rewrite.c is located

# cd modules/mappers
Copy after login

4. Compile mod_rewrite.c

# /usr/local/apache/bin/apxs -c mod_rewrite.c
Copy after login

5. Install the mod_rewrite module

# /usr/local/apache/bin/apxs -ian rewrite mod_rewrite.la
Copy after login

Note: The above two steps 4 and 5 can also be combined As a step

# /usr/local/apache/bin/apxs -iac mod_rewrite.c
Copy after login

Note:
apxs is a tool for compiling and installing extension modules for the Apache HTTP server. It is used to compile one or more source programs or object code files into dynamic shared objects so that they can be used by mod_so The LoadModule directive loads into the Apache server at runtime.

Therefore, to use this extension mechanism, your platform must support the DSO feature, and Apache httpd must have the mod_so module built-in.

apxs tool can automatically detect whether such conditions are met. You can also use this command to detect manually:

$ httpd -l
Copy after login

The mod_so module should be in the output list of this command. If all these conditions are met, you can easily install your own DSO module with the help of apxs to extend the functionality of the Apache server:

$ 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
$ _
Copy after login

The parameter files can be any C source program file (.c), object code file (.o), or even a library (.a). The apxs tool will automatically compile C source programs or link object codes and libraries based on their suffixes. However, when using precompiled object codes, you must ensure that they are address independent code (PIC) so that they can be loaded dynamically. If you use GCC to compile, you should use the -fpic parameter; if you use other C compilers, you should consult its manual and use the corresponding compilation parameters for apxs.


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template