Table of Contents
If you don’t ask for a thorough understanding of everything, you will be blinded when something happens - PHP develops the Apache server configuration memorandum.
Home Backend Development PHP Tutorial If you don't ask for a deep understanding of everything, you will be blind when something happens - PHP development Apache server configuration memo, don't ask for a deep understanding of apache_PHP tutorial

If you don't ask for a deep understanding of everything, you will be blind when something happens - PHP development Apache server configuration memo, don't ask for a deep understanding of apache_PHP tutorial

Jul 13, 2016 am 09:46 AM
apache php memorandum develop server Configuration

If you don’t ask for a thorough understanding of everything, you will be blinded when something happens - PHP develops the Apache server configuration memorandum.

I made a PHP applet yesterday and wanted to run it locally to test it, but my work computer didn’t have an installation environment, so I downloaded a wamp and everything went smoothly, including Apache, Mysql, and PHP. Start the wamp service, enter "http://localhost" in the browser, the access is normal, and the wamp homepage pops up. Therefore, I want to configure my own CrashServer website into Apache and test it by accessing it locally through a virtual domain name. As a result, I encountered a lot of problems. After researching on Google today, I finally found that both Ren and Du are connected.

1. First of all, Apache’s configuration files are httpd.conf and httpd-vhosts.conf. Let’s first look at the default configuration of httpd.conf after wamp is installed.

# Virtual hosts

#Include conf/extra/httpd-vhosts.conf
<span>DocumentRoot "d:/wamp/www/"

</span><span><</span><span>Directory </span><span>/></span><span>
    AllowOverride none
    Require all denied
</span><span></</span><span>Directory</span><span>></span>

<span><</span><span>Directory </span><span>"d:/wamp/www/"</span><span>></span><span>
    Options Indexes FollowSymLinks
    AllowOverride all
    Require local
</span><span></</span><span>Directory</span><span>><br /></span>
Copy after login


To access the website through a virtual domain name, you need to configure httpd-vhosts.conf. Then you need to start httpd-vhosts.conf, because it is closed by default, so remove the # in front of #Include conf/extra/httpd-vhosts.conf in the configuration file. So httpd-vhosts.conf is enabled, then we edit the httpd-vhosts.conf file.

<span> </span>
Copy after login
2. The location of the httpd-vhosts.conf file is in conf/extra in the apache directory. The Include conf/extra/httpd-vhosts.conf above actually tells you its location.

In this file, add the configuration for my CrashServer website above:

First of all, my CrashServer is placed under wamp/www, which is the default website directory of wamp. Secondly, I want to use crash.com to access the CrashServer when testing locally, so the configuration is as above.

<span>NameVirtualHost *:80</span>

<span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span>
    DocumentRoot "D:/wamp/www/CrashServer"
    ServerName crash.com
</span><span></</span><span>VirtualHost</span><span>></span>
Copy after login
Here, in order for us to access the local site through crash.com, we need to modify the hosts file and add 127.0.0.1 crash.com.

At this point, the configuration is completed, so I restarted Apache, entered crash.com to access, and the result was normal access. However, when accessing with localhost, the homepage of wamp originally appeared, but now CrashServer is displayed, so we need to add 127.0.0.1 localhost to hosts, and add the site configuration of localhost to httpd-vhosts.conf. Now This is what it looks like:

OK, this is basically the end. The website is configured and it looks very, very simple. But this is not the case for me. I encountered the following problem yesterday.

<span>NameVirtualHost *:80

</span><span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span>
    DocumentRoot "D:/wamp/www"
    ServerName localhost
</span><span></</span><span>VirtualHost</span><span>></span>

<span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span>
    DocumentRoot "D:/wamp/www/CrashServer"
    ServerName crash.com
</span><span></</span><span>VirtualHost</span><span>></span>
Copy after login
First of all, my CrashServer was not placed under wamp/www at the beginning, but under E:360Downloads, so I had the following configuration:

This is correct, the path is correct and the virtual domain name is correct, but when accessing, it prompts 403 Forbidden, no permission. So Google, oh, realized that it was necessary to add permissions to the CrashServer directory, so it modified the configuration as follows:

<span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span>
    DocumentRoot "E:/360Downloads/CrashServer"
    ServerName crash.com
</span><span></</span><span>VirtualHost</span><span>></span>
Copy after login

Restart Apache and access is normal. First of all, the new Directory can be added in httpd.conf or httpd-vhosts.conf. I think it is better to add it in the latter. The configuration content is clearer and the project directory permissions follow the project. Site configuration. In the newly added Directory above, we have added permissions to the CrashServer directory under 360Downloads and allowed access, so we no longer prompt 403 Forbidden.

<span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span>
    DocumentRoot "E:/360Downloads/CrashServer"
    ServerName crash.com

    </span><span><</span><span>Directory </span><span>E:/360Downloads/CrashServer</span><span>></span><span>
        Order Allow,Deny
        Allow from All
        Require all granted
    </span><span></</span><span>Directory</span><span>></span>
<span></</span><span>VirtualHost</span><span>></span>
Copy after login
This problem is so simple and easy to write now, but when the problem occurs, it is very disturbing and depressing. For projects outside wamp/www, you need to give permission to the project directory. Note:

These three items are indispensable. This is configured to allow external computers to access the server site.

<span>Order Allow,Deny
Allow from All
Require all granted</span>
Copy after login
3. After solving the problem today, I thought of accessing my site through other devices under the same LAN, so I used my mobile phone to enter my computer’s IP in the browser, but it couldn’t be accessed. I Googled it again and found that it needed to be modified in httpd. Configuration in conf:

Among them, Require local is not available from Google, but as you can see from the name, it only allows local access, so it was changed to Require all granted, which allows all requested access, and the mobile phone can access it.

<span><</span><span>Directory </span><span>"d:/wamp/www/"</span><span>></span><span>
    Options Indexes FollowSymLinks
    AllowOverride all
    Require local
</span><span></</span><span>Directory</span><span>></span>
Copy after login
Reference, http://roteg.iteye.com/blog/1465380, here is an explanation of access verification configuration.

Here, there is a configuration blog post written by a foreigner, which is very good, https://www.kristengrote.com/blog/articles/how-to-set-up-virtual-hosts-using-wamp#wamp-step- 7, but the only thing is that in his Step 7, add permissions to the project directory:

However, Require all granted was missing, which resulted in 403 Forbidden in the end, which made me very depressed.

<span><</span><span>Directory </span><span>C:/Users/Kristen/Documents/Projects</span><span>></span><span>
    Order Deny,Allow   
    Allow from all 
</span><span></</span><span>Directory</span><span>></span>
Copy after login
This configuration is performed in the following wamp environment:

At this point, configuring the PHP site under Apache is complete.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1030385.htmlTechArticleIf you don’t ask for a thorough understanding of everything, you will be blind when something happens - PHP development Apache server configuration memo, don’t ask for a thorough understanding of apache. Follow this configuration process, absolutely The journey is smooth and safe. I got a P yesterday...
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

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

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP's Purpose: Building Dynamic Websites PHP's Purpose: Building Dynamic Websites Apr 15, 2025 am 12:18 AM

PHP is used to build dynamic websites, and its core functions include: 1. Generate dynamic content and generate web pages in real time by connecting with the database; 2. Process user interaction and form submissions, verify inputs and respond to operations; 3. Manage sessions and user authentication to provide a personalized experience; 4. Optimize performance and follow best practices to improve website efficiency and security.

PHP and Python: Code Examples and Comparison PHP and Python: Code Examples and Comparison Apr 15, 2025 am 12:07 AM

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.

PHP and Python: Different Paradigms Explained PHP and Python: Different Paradigms Explained Apr 18, 2025 am 12:26 AM

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

Choosing Between PHP and Python: A Guide Choosing Between PHP and Python: A Guide Apr 18, 2025 am 12:24 AM

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

Why Use PHP? Advantages and Benefits Explained Why Use PHP? Advantages and Benefits Explained Apr 16, 2025 am 12:16 AM

The core benefits of PHP include ease of learning, strong web development support, rich libraries and frameworks, high performance and scalability, cross-platform compatibility, and cost-effectiveness. 1) Easy to learn and use, suitable for beginners; 2) Good integration with web servers and supports multiple databases; 3) Have powerful frameworks such as Laravel; 4) High performance can be achieved through optimization; 5) Support multiple operating systems; 6) Open source to reduce development costs.

PHP: Handling Databases and Server-Side Logic PHP: Handling Databases and Server-Side Logic Apr 15, 2025 am 12:15 AM

PHP uses MySQLi and PDO extensions to interact in database operations and server-side logic processing, and processes server-side logic through functions such as session management. 1) Use MySQLi or PDO to connect to the database and execute SQL queries. 2) Handle HTTP requests and user status through session management and other functions. 3) Use transactions to ensure the atomicity of database operations. 4) Prevent SQL injection, use exception handling and closing connections for debugging. 5) Optimize performance through indexing and cache, write highly readable code and perform error handling.

PHP and Python: A Deep Dive into Their History PHP and Python: A Deep Dive into Their History Apr 18, 2025 am 12:25 AM

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

PHP's Impact: Web Development and Beyond PHP's Impact: Web Development and Beyond Apr 18, 2025 am 12:10 AM

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

See all articles