Apache is a powerful server whose name comes from an English phrase associated with the name of the Apache tribe of North American Indians. Among Russian users, it has a common name "Apache". This is open source software with a GPL license. One of its biggest advantages is its cross-platform server, meaning it can run on a variety of operating systems while maintaining excellent performance.
Since 1996, this is the most popular server in the world due to its stability and security. Apache is developed by a community of user-developers, which is led by the Apache Software Foundation.
History of Apache
In March 1989, Tim Berners Lee, an English scientist working at CERN (Switzerland), proposed a new way to manage the huge amount of information in CERN projects. At that time no one knew what Apache was. The initial development of the hyperlinked document network, as Ted Nelson called them in 1965, led to the creation of the WWW.- the first software that was released in November 1990 under the name World Wide Web, with a web browser, graphical interface and WYSIWYG editor. Two years later, there were only about thirty entries in the list of WWW servers, among which was HTTPs NCSA.
The real Apache story begins in March 1995 with the release of Apache 0.2 based on the NCSA HTTPD 1.3 server. Many users are interested in knowing what Apache is today and what the program was like in the first months of its existence. It was just a set of edits applied to the NCSA server. Then Robert Thau released Shambhala 0.1 with APIs for modules that proved to be very successful.
The project's biggest milestones were full compliance with the HTTP 1.1 standard, which was included in April 1997 as version 1.2. This version already included the Windows NT platform, which launched in July 1997. Merging configuration files was implemented in release 1.3.3.
Apache Group is responsible for the evolution of the web server and specific development decisions. This group should be distinguished from the core developers - Core group. The voluntary nature of most developers makes it unlikely that they are all active in Apache at the same time, so the kernel is responsible for keeping it up and running. In general, the decisions that developers have to make belong to the kernel and are limited to votes to include the code. On the other hand, they usually have write access to the CVS repository, so they act as a gateway to the code, ensuring it's correct and of good quality.
Minimum requirements andbenefits
Apache has gained wide acceptance on the web, and has been the most commonly used HTTP server since 1996. Reached its highest market share in 2005 when the server was used by 70% of sites worldwide. In recent years, its market share has declined. It is noteworthy that for Apache, such a decline does not indicate the unpopularity and degradation of technology.
Minimum requirements for operation:
- Processor - Pentium.
- RAM - 64 MB.
- OS-Microsoft Windows, GNU/Linux.
- Installation size - 50 MB.
Benefits:
- Modular design.
- Open source.
- Multiplatform design.
- Extensibility.
- Popular - easy to get help and support.
Server architecture
Apache modular server consists of a main section and various modules that provide most of the basic functionality. Some of these modules:
- mod_ssl - secure communication over TLS;
- mod_rewrite - address rewrite, commonly used to convert dynamic pages such as php to static pages to fool search engines as to where they were designed;
- mod_dav - WebDAV protocol support (RFC 2518);
- mod_deflate - the compression algorithm is transparent when the content is sent to the client;
- mod_auth_ldap - allows users to authenticate to an LDAP server;
- mod_proxy_ajp -connector to communicate with Jakarta Tomcat dynamic pages in Java (servlets and JSP).
The base server can be expanded to include external modules, including:
- mod_cband - traffic control and bandwidth limitation;
- mod_perl - dynamic in Perl;
- mod_php - dynamic in PHP;
- mod_python - dynamic in Python;
- mod_rexx - dynamic in REXX and REXX object;
- mod_ruby - dynamic in Ruby;
- mod asp dot net - dynamic in Microsoft. NET;
- mod_mono - dynamic to mono;
- mod_security - App level filtering for security.
Configuration and security
In order to understand what Apache is in terms of security, we need to consider its configuration. Most of the configuration is done in the apache2.conf and httpd.conf files, depending on the system the software is running on. Any change to this file requires a server restart or forced read again.
The software license under which the core Apache software is distributed is a hallmark of the history of Apache HTTP Server and the open source community. The license allows distribution of open source and closed source products.
The Free Software Foundation does not consider the Apache License compatible with version 2 of the GNU General Public License (GPL), in which the software is licensed and not integrated with the software. This must be taken into account beforeset up an Apache web server distributed under the GPL license. However, version 3 of the GPL includes a provision that allows it to be compatible with licenses that have patent indemnity clauses.
Most of the security vulnerabilities discovered and fixed can only be exploited by local users, not remotely. However, some still run remotely in certain situations. Or if they are used by malicious local users to violate shared hosting agreements using PHP as a module of the free Apache web server.
Checking the functioning of Apache
To make sure Apache is working properly, open a web browser and type in the following address: https://localhost. Then press Enter, a white page appears with the message "This is working", which is proof that the web server is working fine.
Apache allows you to create custom configurations to customize and adapt to your needs. To do this, find the http.conf file in C:appserv Apache2.2 conf. It is backed up to avoid runtime errors, then it is opened with any editor and the necessary lines are changed.
In order to perform these steps correctly, you need to have a good knowledge of the Apache worker, as any changes made will be reflected in Apache performance and startup. Thanks to the latest recommendations, the server will be installed. It will work in a basic configuration that allows you to downloadpages or network applications on the Internet.
Information management
Apache is the most used web server, the leader with the most installations in the world, well ahead of other solutions such as Microsoft Internet Information Server (IIS). This project is open for use because it is multi-platform, has versions for all major operating systems, is very reliable and stands out for its security and performance.
The computer on which this software is running is given the same name. This is critical as it is responsible for accepting page requests coming from visitors who access the site and managing their delivery or rejection according to the established security policy. Although this process may seem simple, it includes many aspects and functions that must be completed:
- Query performance.
- A large number of HTTP requests, including multitasking, may leave the service collapsed.
- Restrictions on file access, controlling user authentication or filtering requests according to their origin.
- Handling errors on visitor information pages and redirecting to predefined pages.
- Managing the information to be transmitted according to its format and adequately informing the browser requesting the specified resource.
- Management log for storing requests received, errors that occurred, andin general, all information that is registered and analyzed to obtain site access statistics.
Apache allows you to set up virtual hosting based on IP addresses or names, that is, to have several websites on one computer.
File apache2.conf
Undoubtedly, apache2.conf is the most important file, as it defines the general behavior of web pages and is also responsible for accessing various modules that extend the functionality of the server.
It is located in the /etc/apache2 directory and since it is a text file it can be easily edited with a text editor. Configuration File Properties - Server Global Variables and Functionality Extensions.
Global server variables are variables that define the overall operation:
- Table of Apache directives. The server name is denoted by the ServerName variable, so any redirect or link that exists in HTML documents works fine. Most configuration variables are distributed among other small files stored in mods-available.
- .htaccess is a hidden text file that allows you to customize how the server works.
- "Apache" is a specific directory without having to modify the main apache2.conf configuration file. When a web client requests a file from the server, it looks from the root directory to the subdirectory containing the requested.htaccess and takes into account the directives it contains before making the request.
Principle.htaccess:
- Prohibits listing files in the directory.
- Redirects web traffic.
- Sets up error pages.
- Restrict access to certain files.
- Deny access to specific IP addresses or ranges of IP addresses.
- Extends functionality related to other module calls and configuration files. All directives associated with this item will be preceded by the word "Enable".
Installing the Apache Web Server
Apache was originally designed to work with PHP technology, but it can also work with. NET without problems, which makes it more successful than Microsoft's IIS, which is a collaborator for servers using IIS and provides full support PHP without having to change the configuration.
To install and run a web server, you first need to download it from the official site. Always find the latest version of available software and check if it will be identified as Win32 Binary including OpenSSL.
The version has a built-in installation and data protection system. Once selected, it is downloaded to the PC. Double click on the file icon to start the process, which is simple as it is accompanied by an assistant.
One of the first windows that will provide the necessary information so that the web server can connect to the network is the information window. There, the user fills out a short form by adding the network domain name, server name, and email addressadministrator. For the first two options choose localhost.
Next, the installation window will appear, where all available components are listed. Select them all and check if the c:appserv Apache2.2 folder exists. Next, configure the Apache web server.
Web Monitor on the taskbar
After installing Apache make sure it was done correctly. To do this, go to the "Start" menu and find the "Run" option. A pop-up window will appear in which you enter cmd, a system pop-up screen occurs. To make sure the user is running as an administrator, right-click on the window and select "Run as administrator".
Installation algorithm:
- Find the Apache bin folder in the Windows console, to do this, write the following sentence in the console - c: appserv Apache2.2? in.
- After entering, press Enter and the system component will look like this - C: appserv Apache2.2? In>.
- In the bin folder, type http:.exe -k install and press Enter.
- A message similar to ". Apache 2.2: service already installed" will appear. This message will verify that Apache was successfully installed.
One of the most effective ways to check if Apache is running properly is to check if the application monitor is active. It can be seen on the taskbar. If it is not active, activate it by going to the Start menu, All Programs and Apache http Server 2.2., click on Monitor Apache Server and activate it.
Monitor is useful because it allows you to stop the server,pause and activate it in complete comfort without going to the console window, just by clicking on the icon on the taskbar to open the control window.
Linux Installation Tips
If a user has a website and needs a platform to host it, you can use the services of one of the hosting providers or try to host your website on the server yourself.
Installation algorithm:
- Download the latest stable version of Apache.
- Download source files according to the system.
- Extract software files.
- After that, the downloaded files will need to be unpacked: gunzip -d httpd-2_0_NN.tar.gz; tar xvf
- This creates a new directory in the current directory with the source files.
- As soon as the files appear, tell the machine where to find all the original ones. The easiest way to do this is to accept all the defaults and just type:./configure.
- Set up Apache, provided that there were no problems with installation and build. The user adjusts the configuration, which is equivalent to editing the httpd.conf file. It is usually edited with a text editor - vi PREFIX /conf/httpd.conf. You must be root to make any changes.
- Check server operation.
Application on the World Wide Web
Apach is mainly used to submit static and dynamic pages to the World Wide Web. Many applications are designed withApache implementation environments or will use the characteristics of this server. Apach is a server component in the popular LAMP application platform along with the MySQL and PHP, Perl, Python and Ruby programming languages, including the Oracle database and the IBM WebSphere application server. Mac OS X integrates it as part of its own web server and support for WebObjects applications.
Apache is used for many other tasks where content needs to be accessed in a secure and reliable manner. For example, when sharing files from a personal computer to the Internet. A user who has Apache installed on their desktop can arbitrarily place files in the document root, from where they can become shared.
Web application developers sometimes use a local version of Apache to preview and test code during development. Microsoft Internet Information Services (IIS) is Apache's main competitor, as well as Sun Microsystems' Sun Java System web server and many other applications such as the Zeus Web-Server.
Some of the biggest websites in the world are powered by Apache. The front end of the Google search engine is based on a modified version of it called the Google Web Server (GWS). Many Wikipedia projects also run on Apache servers.