search
HomeBackend DevelopmentPHP TutorialInstall apache under linux to specify the installation module and compile and load other modules after installation

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

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

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

(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

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

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

3. Enter the directory where mod_rewrite.c is located

# cd modules/mappers

4. Compile mod_rewrite.c

# /usr/local/apache/bin/apxs -c mod_rewrite.c

5. Install the mod_rewrite module

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

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

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

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

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
$ _

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.


Statement
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
Optimize PHP Code: Reducing Memory Usage & Execution TimeOptimize PHP Code: Reducing Memory Usage & Execution TimeMay 10, 2025 am 12:04 AM

TooptimizePHPcodeforreducedmemoryusageandexecutiontime,followthesesteps:1)Usereferencesinsteadofcopyinglargedatastructurestoreducememoryconsumption.2)LeveragePHP'sbuilt-infunctionslikearray_mapforfasterexecution.3)Implementcachingmechanisms,suchasAPC

PHP Email: Step-by-Step Sending GuidePHP Email: Step-by-Step Sending GuideMay 09, 2025 am 12:14 AM

PHPisusedforsendingemailsduetoitsintegrationwithservermailservicesandexternalSMTPproviders,automatingnotificationsandmarketingcampaigns.1)SetupyourPHPenvironmentwithawebserverandPHP,ensuringthemailfunctionisenabled.2)UseabasicscriptwithPHP'smailfunct

How to Send Email via PHP: Examples & CodeHow to Send Email via PHP: Examples & CodeMay 09, 2025 am 12:13 AM

The best way to send emails is to use the PHPMailer library. 1) Using the mail() function is simple but unreliable, which may cause emails to enter spam or cannot be delivered. 2) PHPMailer provides better control and reliability, and supports HTML mail, attachments and SMTP authentication. 3) Make sure SMTP settings are configured correctly and encryption (such as STARTTLS or SSL/TLS) is used to enhance security. 4) For large amounts of emails, consider using a mail queue system to optimize performance.

Advanced PHP Email: Custom Headers & FeaturesAdvanced PHP Email: Custom Headers & FeaturesMay 09, 2025 am 12:13 AM

CustomheadersandadvancedfeaturesinPHPemailenhancefunctionalityandreliability.1)Customheadersaddmetadatafortrackingandcategorization.2)HTMLemailsallowformattingandinteractivity.3)AttachmentscanbesentusinglibrarieslikePHPMailer.4)SMTPauthenticationimpr

Guide to Sending Emails with PHP & SMTPGuide to Sending Emails with PHP & SMTPMay 09, 2025 am 12:06 AM

Sending mail using PHP and SMTP can be achieved through the PHPMailer library. 1) Install and configure PHPMailer, 2) Set SMTP server details, 3) Define the email content, 4) Send emails and handle errors. Use this method to ensure the reliability and security of emails.

What is the best way to send an email using PHP?What is the best way to send an email using PHP?May 08, 2025 am 12:21 AM

ThebestapproachforsendingemailsinPHPisusingthePHPMailerlibraryduetoitsreliability,featurerichness,andeaseofuse.PHPMailersupportsSMTP,providesdetailederrorhandling,allowssendingHTMLandplaintextemails,supportsattachments,andenhancessecurity.Foroptimalu

Best Practices for Dependency Injection in PHPBest Practices for Dependency Injection in PHPMay 08, 2025 am 12:21 AM

The reason for using Dependency Injection (DI) is that it promotes loose coupling, testability, and maintainability of the code. 1) Use constructor to inject dependencies, 2) Avoid using service locators, 3) Use dependency injection containers to manage dependencies, 4) Improve testability through injecting dependencies, 5) Avoid over-injection dependencies, 6) Consider the impact of DI on performance.

PHP performance tuning tips and tricksPHP performance tuning tips and tricksMay 08, 2025 am 12:20 AM

PHPperformancetuningiscrucialbecauseitenhancesspeedandefficiency,whicharevitalforwebapplications.1)CachingwithAPCureducesdatabaseloadandimprovesresponsetimes.2)Optimizingdatabasequeriesbyselectingnecessarycolumnsandusingindexingspeedsupdataretrieval.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools