Apache est un serveur web public développé par un petit groupe de programmeurs. Une licence du domaine public désigne tout programme qui n'est pas protégé par le droit d'auteur. Les logiciels du domaine public sont gratuits et peuvent être utilisés sans restriction. Le terme « domaine public » est souvent associé à tort aux logiciels gratuits, qui sont des logiciels libres mais toujours protégés par le droit d'auteur. La première version d'Apache, basée sur le serveur web NCSA httpd, a été développée en 1995. Comme Apache a été développé à partir du code NCSA existant avec diverses corrections, il a été appelé « serveur patché », d'où le nom Apache Server.
Grâce à ses fonctionnalités sophistiquées, ses excellentes performances et son prix modique (il est gratuit), Apache est devenu le serveur web le plus populaire au monde. Selon Netcraft (http://news.netcraft.com), il est utilisé pour héberger plus de 60 % de tous les sites web dans le monde.
Le développement principal du serveur web Apache est assuré par un groupe d'environ 20 programmeurs bénévoles, connu sous le nom de « Apache Group ». Cependant, comme le code source est librement accessible, n'importe qui peut adapter le serveur à des besoins spécifiques, et il existe une grande bibliothèque publique d'extensions pour Apache. Une « extension » désigne un produit qui complète un autre produit. À bien des égards, le développement d'Apache est similaire à celui du système d'exploitation Linux.
La version originale d'Apache a été écrite sur UNIX, mais il existe désormais des versions qui fonctionnent sur OS/2, Windows et d'autres plateformes.
Apache s'est révélé plus robuste, plus stable et plus riche en fonctionnalités que les autres serveurs web. Certains serveurs commerciaux ont toutefois prétendu surpasser Apache en termes de vitesse.
Apache fonctionne sur plus de 6 millions de serveurs sur Internet (en février 2000). Il a été testé de manière approfondie par les développeurs et les utilisateurs. Le groupe Apache applique des normes strictes avant de publier de nouvelles versions de son serveur, et lorsque des bogues apparaissent, les développeurs publient des correctifs pour les nouvelles versions dès qu'ils sont disponibles.
Qui aurait cru qu'un petit serveur web gratuit pourrait résister à l'attaque combinée de Netscape et Microsoft ? Eh bien, le projet Apache se porte plutôt bien. Selon la plupart des observateurs, Apache reste le serveur HTTP n° 1 sur le web. En fait, selon Netcraft, Apache héberge actuellement plus de sites web que les serveurs Microsoft, avec une avance de plusieurs dizaines de pourcents.
C'est une belle réussite, étant donné que le groupe Apache n'est même pas une société. Il s'agit plutôt d'un groupe de contributeurs qui proposent et approuvent les modifications du code par vote.
Le groupe Apache et le serveur HTTP Apache gratuit rappellent les débuts moins commerciaux du Web, où il semblait que les choses devaient être faites par amour, et non pour l'argent. Les normes ouvertes prises en charge et maintenues par les personnes qui les utilisent restent une bonne chose pour Internet.
Le serveur Apache httpd est un serveur puissant et flexible, compatible avec HTTP/1.1. Il implémente les derniers protocoles, y compris HTTP/1.1 (RFC2616), et est très facile à configurer et à étendre avec des modules tiers. Il peut être personnalisé en écrivant des « modules » à l'aide du module API Apache, fournit le code source complet et est livré avec une licence sans restriction. Il fonctionne sous Windows NT/9x, Netware 5.x et supérieur, OS/2 et la plupart des versions d'Unix, ainsi que plusieurs autres systèmes d'exploitation. Il est activement développé et encourage les commentaires des utilisateurs par le biais de nouvelles idées, de rapports de bogues et de correctifs. Il implémente de nombreuses fonctionnalités demandées par les utilisateurs, notamment :
Bases de données DBM pour l'authentification
Cela vous permet de configurer facilement des pages protégées par mot de passe avec un grand nombre d'utilisateurs autorisés, ce qui ne surcharge pas le serveur.
Réponses personnalisées aux erreurs et aux problèmes
Vous permet de configurer des fichiers, ou même des scripts CGI, qui sont renvoyés par le serveur en réponse à des erreurs et des problèmes, par exemple en installant un script pour intercepter les erreurs 500 du serveur et effectuer des diagnostics en temps réel pour les visiteurs et vous-même.
Directives d'indexation de répertoires multiples
Vous permet de dire Directory Index index.cgi index.html, ce qui indique au serveur de renvoyer index.cgi index.html ou de s'exécuter lorsqu'une URL dans le répertoire est demandée, quel que soit le contenu du répertoire. Réécriture flexible des URL aliasing.
Apache n'impose aucune limite fixe au nombre d'alias et de redirections pouvant être trouvés dans les fichiers de configuration. De plus, un puissant moteur de réécriture peut être utilisé pour résoudre la plupart des problèmes de manipulation d'URL.
Négociation de contenu
Il s'agit de la capacité à servir automatiquement des clients de différents niveaux de sophistication et de compatibilité HTML avec des documents qui offrent la meilleure représentation des informations que le client est capable de recevoir. Hôtes
virtuels
Une fonctionnalité très demandée, parfois appelée serveurs multi-homed. Ce serveur vous permet de distinguer les différentes requêtes adressées à des adresses IP ou à des noms (mappés sur la même machine). Apache offre également une configuration dynamique des hôtes virtuels.
Configuration fiable Journaux Tweet
Vous pouvez configurer Apache pour créer des journaux dans le format souhaité. De plus, sur la plupart des architectures Unix, Apache peut envoyer des fichiers journaux vers un canal, ce qui permet la rotation des journaux, le filtrage des accès, la division en temps réel de plusieurs hôtes virtuels en journaux distincts et la résolution DNS asynchrone à la volée.
Vos premiers pas dans le monde Apache sont beaucoup plus faciles que vous ne le pensez. Si vous êtes un utilisateur régulier d'Unix, vous serez bien préparé pour configurer Apache. Et la version Windows s'installe comme n'importe quelle autre application Windows.
La première étape consiste à obtenir une copie d'Apache. Comme il est gratuit, il n'y a aucune raison de ne pas l'essayer. Les fichiers à télécharger font 2,7 Mo pour la version Windows et un peu plus de 1 Mo pour la version Unix. Oui, il est possible d'écrire des applications légères et haut de gamme.