Tuesday, March 17, 2020

How To Install and Get Started with Apache 2

1.  Install Apache 2 (For Windows)

Apache HTTP Server, a popular industrial-strength web server, is provided free (with source codes) by the Apache Software Foundation (@ http://www.apache.org).
The mother site for Apache HTTP Server is http://httpd.apache.org. There are a few production versions available currently: 2.0, 2.2 and 2.4 (known as Apache 2). The legacy release 1.3 (Apache 1) is no longer supported.
At the time of re-writing (September 2014), the latest stable "source" release is 2.4.10 (you need to compile yourself). But the latest Windows "binaries" is 2.2.25 (32-bit version). Surprising, the AMP bundles such as WampServer 2.5 has Apache 2.4.9, XAMPP 1.8.3 has Apache 2.4.10?!
Download: From Apache HTTP Server mother site http://httpd.apache.org ⇒ Choose the latest release (2.4.xx) ⇒ Download ⇒ Binaries ⇒ Win32 ⇒ Select the win32 with openssl, e.g., "httpd-2.2.25-win32-x86-openssl-0.9.8y.msi".
Read the installation guide @ http://httpd.apache.org/docs ⇒ "Documentation 2.4/2.2" ⇒ "Reference Manual, Compiling and Installing".
Install: Run the downloaded installer.
  • Provide your "domain", "server name" and "administrator's email".
    For testing, enter "test.com" for domain name, "localhost" as the server name, and something for the administrator's email. We shall re-configure them later after the installation.
  • For testing, select "Only for for current user, on port 8000, when started manually".
  • Choose "typical" installation.
  • Select your installation directory. I shall assume that Apache HTTP Server is installed in the directory "d:\myProject\apache2". Hereafter, I shall denote the Apache installed directory as "<APACHE_HOME>".
You shall get these sub-directories upon successful installation:
  • bin: contains the binaries (or executables), such as Apache ("httpd.exe") and Apache Monitor ("ApacheMonitor.exe").
  • conf: contains the configuration files, such as the main configuration file "httpd.conf".
  • manual: Apache HTTP server documentation. Start with "index.html" or "index.html.en".
  • htdocs: the default Apache's document root directory.

2.  Configuring Apache 2

The configuration file for Apache HTTP server is called "httpd.conf" (in directory "<APACHE_HOME>\conf"). Browse through the configuration file and check these directives:
  • Listen: The original "httpd.conf" uses TCP port 80 (pre-assigned default for HTTP) for production and 8000 for testing. For testing, you may choose a port number between 1024 to 65535 (which is not used by an existing application - you can issue the command "netstat" to check the existing connections). We shall run the Apache at port 8000.
    # Listen: Allows you to bind Apache to specific IP addresses and/or ports.
    Listen 8000
  • ServerName: Set to your DNS hostname, or IP address (to find out your IP address, run command "ipconfig"), or your computer name, or "localhost" (localhost is meant for local loop-back testing only, you can also use the localhost's IP address 127.0.0.1), followed by the port number chosen above.
    # ServerName gives the name and port that the server uses to identify itself.
    # If your host doesn't have a registered DNS name, enter its IP address here.
    ServerName localhost:8000
  • ServerRoot: your Apache installed directory <APACHE_HOME>.
  • DocumentRoot: the document root directory, i.e., home directory of the server. It is set to "<APACHE_HOME>\htdocs" by default.
    DocumentRoot "<APACHE_HOME>/htdocs"
     
    # First, configure the "default" to be a very restrictive
    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
    </Directory>
     
    # Document Root Directory
    <Directory "D:/bin/Apache2.2/htdocs">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

3.  Start/Shutdown Apache 2

Start the Server: The Apache executable is called "httpd.exe" located in "<APACHE_HOME>\bin". To display the help menu and check all the available options, start a CMD shell, and issue:
// change directory to <APACHE_HOME>\bin
// Assume that Apache was installed in d:\myProject\apache2
prompt> d:
> cd \myProject\apache2\bin
  
// Display the help menu
> httpd -h
Before you can run your server, you need to install the Apache Service by running the following command (You need administrator right to install services).
// Install Apache HTTP server as a Windows service
> httpd -k install
You can start the Apache by:
// Start the Apache HTTP server
> httpd -k start
Apache 2 provide a GUI Apache Monitor ("ApacheMonitor.exe" in "<APACHE_HOME>\bin"), which can be used to start/stop Apache, after the Apache servicce is installed. Apache monitor starts automatically with an icon in the task bar. Otherwise, run "ApacheMonitor.exe".
After the Apache server is started, launch a web browser and access the server using URL:
http://ServerHostNameOrIPAddress:port
You could use "localhost" (IP address 127.0.0.1) for local loop-back testing if your browser runs in the same machine as the server.
http://localhost:8000
it works
You could shutdown the Apache server either from the Apache Monitor or by running command:
> httpd -k stop
You could uninstall the Apache service by:
> httpd -k uninstall
You could remove the "Apache Monitor" from the "Startup" list.

4.  If Things Go Wrong...

  • Check the error message on the Apache's console.
  • Check the log files at "logs\errors.log".
  • [TODO]

No comments:

Post a Comment

Recent Post

Databricks Delta table merge Example

here's some sample code that demonstrates a merge operation on a Delta table using PySpark:   from pyspark.sql import SparkSession # cre...