Choix des lecteurs
Articles populaires
Plus tôt dans notre série sur les bases de Linux, nous avons couvert les bases du travail avec le serveur Web Apache. Il s'agit du serveur Web le plus utilisé au monde sur Internet (en juillet 2015, Apache en avait 38 %, IIS 26 % et Nginx 15 %). Par conséquent, plus vous en saurez et comprenez son fonctionnement, plus vous réussirez à le pirater.
Aujourd'hui, nous allons passer en revue les bases de la configuration d'un serveur Apache. Comme nous l'avons écrit précédemment, la configuration et la configuration de presque toutes les applications sous Linux ou Unix se font via des fichiers de configuration, qui sont en texte brut. Apache ne fait pas exception ici. Par conséquent, dans cet article, nous allons nous concentrer sur le fichier de configuration apache2.conf situé dans le répertoire /etc/apache2.
Commençons par exécuter Apache2. Nous le ferons via le shell graphique Kali en allant dans Applications -> Kali Linux -> Services système -> HTTP -> démarrage d'apache2, comme indiqué dans la capture d'écran ci-dessous.
Ou exécutez-le via la ligne de commande en tapant la commande suivante dans le terminal
Kali> service apache2 démarrer
Cela démarre le démon Apache2, et à partir de maintenant, le serveur Web devrait servir notre contenu sur Internet.
Pour vérifier si notre serveur Apache, naviguons simplement vers localhost ou 127.0.0.1 dans le navigateur. Si vous voyez la page comme dans la capture d'écran ci-dessous, cela signifie que le serveur fonctionne correctement !
Pour configurer Apache, il faut aller dans le répertoire /etc/apache2.
Kali>cd/etc/apache2
Affichez une liste de tous les fichiers de ce répertoire :
Kali> ls -l
Comme vous pouvez le voir, il y a plusieurs fichiers et sous-répertoires dans ce répertoire. Pour l'instant nous ne nous intéressons qu'au fichier apache2.conf, mais notez que nous avons un fichier ports.conf et un dossier sites_available dont nous aurons besoin un peu plus tard, et il y a plusieurs autres fichiers et dossiers de configuration.
Nous pouvons ouvrir apache2.conf dans n'importe quel éditeur de texte, mais ici, nous utiliserons Leafpad. Le fichier peut être ouvert en tapant simplement dans la console :
Kali> leafpad /etc/apache2/apache2.conf
Comme vous pouvez le voir, cette commande ouvre un fichier texte avec toutes les informations de configuration de notre serveur Web Apache. Pour mettre en place le serveur, nous allons maintenant essayer de vous familiariser avec tous les points clés de ce fichier.
Faisons défiler vers le bas, sautons tous les commentaires et trouvons la ligne # 70, où commence la section des paramètres globaux. Ici, nous voyons les paramètres ServerRoot. Il s'agit du sommet de l'arborescence des répertoires où le serveur Apache stocke tous les fichiers liés au serveur. La ligne # 84 définit ServerRoot. Nous pouvons simplement décommenter cette ligne si nous voulons définir /etc/apache2 comme ServerRoot. Nous vous recommandons de le faire.
Dans la section suivante, nous avons des variables qui définissent les valeurs des paramètres : Timeout, KeepAlive, MaxKeepAliveRequests et KeepAliveTimeout.
Nous vous suggérons de laisser toutes les valeurs par défaut, à l'exception du paramètre "Timeout". Chaque situation est différente et vous devrez peut-être modifier ces valeurs par défaut afin d'adapter les performances du serveur à votre environnement.
Faisons à nouveau défiler quelques lignes dans apache2.conf jusqu'à ce que nous arrivions à la ligne # 177. Ici, nous pouvons définir l'utilisateur et les groupes Apache2. Notez le commentaire à la ligne # 177. Il indique que nous pouvons définir ces variables dans le fichier envvars (variables d'environnement). Nous laisserons cette question pour de futurs articles, mais pour l'instant, gardez à l'esprit que l'utilisateur et le groupe sont des variables provenant de / etc / apache2 / envvars.
Enfin, la dernière section, qui est d'une grande importance pour la sécurité d'Apache, commence à la ligne # 193. Cette section garantit que les clients Web ne peuvent pas accéder aux fichiers .htaccess et .htpasswd.
La section suivante décrit comment Apache gère les journaux (logs).
Dans la première sous-section, nous nous référons au paramètre HostNameLookups. Cette directive indique à Apache2 s'il doit effectuer des recherches DNS lorsqu'il se connecte connexion établie... Avec la valeur par défaut Off, Apache2 fonctionne bien mieux.
Regardons maintenant le répertoire site_available (sites accessibles) et, surtout, le fichier qui s'y trouve par défaut. Il est souvent appelé fichier Virtual Hosts par défaut. Ouvrez ce fichier en tapant dans la console :
Kali> leafpad / etc / apache2 / site_available / default
Comme vous pouvez le voir, il y a trois domaines critiques dans ce fichier. La première ligne définit sur quel port le serveur Web écoute. Il est défini ici qu'il écoute n'importe quelle interface sur le port 80 (* : 80). La deuxième ligne définit l'adresse E-mail, auquel vous devez envoyer des notifications en cas de problème avec le serveur. Par défaut, il y a une adresse. Si vous êtes administrateur système, vous pouvez entrer votre adresse e-mail ici. Le troisième élément peut être le plus important - le DocumentRoot. Il détermine où le contenu de cet hôte virtuel sera placé, la valeur par défaut est /var/www. Nous vous suggérons de tout laisser tel qu'il a été défini par les développeurs.
Enfin, nous pouvons descendre encore plus bas dans le fichier apache2.conf jusqu'à la ligne #248 - "include port.conf". Cette directive indique simplement à Apache d'aller dans le fichier port.conf pour trouver les ports sur lesquels il doit écouter.
Maintenant, si nous ouvrons le fichier port.conf, nous pouvons voir qu'il est configuré pour écouter sur le port 80 (ligne # 9). La section suivante, qui commence à la ligne 11, vérifie si mod_ssl.c est activé et, s'il est activé, ouvre le port 443 (ligne 17).
fichier de configuration Apache
# Directive Apache
ServerRoot "C:/Serveur/web/apache"
# On écoute sur le port IP local (80 par standard)
Écouter 127.0.0.1:80
# plus loin, nous allons connecter les bibliothèques d'extension pour Apache
LoadModule rewrite_module modules / mod_rewrite.so
LoadModule php5_module "C: /Server/web/php/php5apache2_4.dll"
# indique à Apache que les fichiers avec l'extension php doivent être interprétés comme des scripts php
Application AddHandler / x-httpd-php .php
# spécifiez l'emplacement du fichier de paramètres php
PHPIniDir "C:/Serveur/web/php"
# changer le nom du serveur
Nom du serveur 127.0.0.1:80
# modifier l'accès au répertoire
Les options incluent les index FollowSymLinks
AutoriserTout remplacer
Autoriser de tous
# dossier pour les fichiers journaux
ErrorLog "C: /Server/domains/logs/error.log"
CustomLog "C: /Server/domains/logs/access.log"
# ajouter un alias pour phpMyAdmin et corriger l'alias pour cgi
Alias / pma "C:/Serveur/domaines/phpMyAdmin"
ScriptAlias / cgi-bin / "C:/Serveur/web/apache/cgi-bin/"
# modifier le chemin pour cgi
AllowOverride Aucun
Options Aucune
Exiger tout accordé
# types de fichier
…
AddType text / html .shtml
AddOutputFilter INCLUT .shtml
Application AddType / x-httpd-php .php
Application AddType / x-httpd-php-source .phps
# Autres configurations :
NavigateurMatch "MSIE 10.0 ;" mauvais_DNT
RequestHeader unset DNT env = bad_DNT
Ceci termine la configuration de httpd.conf.
Des configurations supplémentaires ont été incluses dans le fichier de configuration Apache httpd.conf :
Inclure conf / extra / httpd-mpm.conf
Inclure conf / extra / httpd-autoindex.conf
Inclure conf / extra / httpd-vhosts.conf
Inclure conf / extra / httpd-manual.conf
Inclure conf / extra / httpd-default.conf
Ouvrons le fichier "C:\Server\web\apache\conf\extra\httpd-mpm.conf" et parcourons-le rapidement.
# spécifiez où nous allons stocker le fichier pid :
PidFile "C: /Server/web/apache/logs/httpd.pid"
Laissez le reste des paramètres inchangés. Ouvrons le fichier "httpd-autoindex.conf", ne changeons que les lignes avec le chemin :
Alias/icones/"c:/Serveur/web/apache/icones/"
Options Index Multivues
AllowOverride Aucun
Exiger tout accordé
Fichier d'hôtes Apache
# par exemple domaine localhost
DocumentRoot "C:/Serveur/domaines/localhost/public_html"
Nom du serveur localhost
ErrorLog "C: /Server/domains/localhost/logs/error.log"
CustomLog "C: /Server/domains/localhost/logs/access.log" commun
Ceci termine l'édition du fichier. De plus, dans les fichiers restants, nous ne modifions que les chemins :
Le fichier "httpd-manual.conf":
AliasMatch ^ / manuel (?: / (?: da | de | en | es | fr | ja | ko | pt-br | ru | tr | zh-cn))? (/.*)? $ "C: / Serveur/web/apache/manuel 1$"
Aucune modification n'est apportée au fichier "httpd-default.conf". Ceci termine la configuration de la configuration Apache.
Configuration de php.ini
short_open_tag = Activé
zlib.output_compression = Activé
post_max_size = 64M
include_path = ".; : \ Server \ web \ php \ include"
extension_dir = "C:/Serveur/web/php/ext"
upload_tmp_dir = "C:/Serveur/web/php/upload"
upload_max_filesize = 64M
extension = php_bz2.dll
extension = php_curl.dll
extension = php_gd2.dll
extension = php_mbstring.dll
extension = php_mysql.dll
extension = php_mysqli.dll
extension = php_pdo_mysql.dll
extension = php_sockets.dll
extension = php_sqlite3.dll
; dans la section nous indiquons le fuseau horaire de notre serveur (http://php.net/date.timezone)
date.timezone = "Asie / Iekaterinbourg"
session.save_path = "С:/Serveur/web/php/tmp/"
Ensuite, démarrons notre serveur, pour ce faire, exécutez "start-server.bat" en tant qu'administrateur. Une fois le serveur démarré, ouvrez votre navigateur et entrez "localhost" dans la barre d'adresse.
La page d'informations PHP devrait s'afficher.
Dernière mise à jour : 20.10.2017
Téléchargez le package du serveur Web Apache sur http://www.apachelounge.com/. Choisissons la dernière version du serveur. Sur la page de téléchargement, nous pouvons trouver deux versions du package Apache - pour les systèmes 64 bits et pour les systèmes 32 bits.
Avant d'installer Apache, il convient de noter que si notre système d'exploitation est Windows, alors le package pour C++ doit être installé sur le système, qui se trouve à l'adresse pour 64 bits et pour 32 bits.
Après avoir téléchargé le package Apache, décompressez l'archive téléchargée. Nous y trouverons directement le dossier contenant les fichiers du serveur Web - le répertoire Apache24. Déplaçons ce répertoire sur le lecteur C afin que le chemin complet vers le répertoire soit C: / Apache24.
Nous devons maintenant installer Apache en tant que service Windows. Pour ce faire, lancez la ligne de commande Windows en tant qu'administrateur et accédez au répertoire du serveur Web à l'aide de la commande
httpd.exe -k install
Si l'installation est réussie, la ligne de commande affichera le message "Le service Apache2.4 est installé avec succès". Le serveur sera également testé :
Dans mon cas, comme le montre l'image ci-dessus, Apache n'a pas pu se connecter au port 80, qui est la valeur par défaut dans la configuration, car mon port 80 est écouté par un autre serveur Web - IIS. C'est l'un des problèmes courants lors du démarrage d'Apache. Pour résoudre ce problème, nous devons soit désactiver le service IIS, soit spécifier un nouveau port pour Apache. Je choisirai la deuxième voie.
Après l'installation, nous allons configurer le serveur pour le lier à l'interpréteur PHP précédemment installé. Pour cela, dans le dossier C:\Apache24\conf trouvez le fichier httpd.conf et ouvrez-le dans un éditeur de texte.
Le fichier httpd.conf configure le comportement du serveur Web. Nous n'aborderons pas de la même manière ses descriptions, mais apporterons seulement de petites modifications dont nous avons besoin pour travailler avec PHP.
Tout d'abord, trouvons la ligne
Écouter 80
Cette ligne indique le port d'écoute. La valeur par défaut est le port 80. S'il n'y a pas de conflits avec les ports, vous pouvez le laisser tel quel. Je vais le changer pour le port 8080.
#NomServeur www.exemple.com:80
et changer pour
Nom du serveur localhost : 8080
Connectons maintenant PHP. Pour cela, recherchez la fin du bloc de chargement du module dans le fichier httpd.conf ChargerModule
// ...................... #LoadModule watchdog_module modules / mod_watchdog.so #LoadModule xml2enc_module modules / mod_xml2enc.soEt à la fin de ce bloc, ajoutez les lignes
LoadModule php7_module "C:/php/php7apache2_4.dll" PHPIniDir "C:/php"
DocumentRoot "c:/Apache24/htdocs"
Par défaut, le répertoire "c:/Apache24/htdocs" est utilisé comme référentiel de documents. Remplaçons cette ligne par la suivante :
DocumentRoot "c:/localhost"
Modifions les chemins des fichiers dans lesquels les informations sur les erreurs ou les visites du site seront enregistrées. Pour ce faire, recherchez la ligne
ErrorLog "journaux / error.log"
Et remplacez-le par
ErrorLog "c: /localhost/error.log"
CustomLog "logs/access.log" commun
Et remplacez-le par
CustomLog "c: /localhost/access.log" commun
Et aussi trouver le bloc
Application AddType / x-httpd-php .php Application AddType / x-httpd-php-source .phps
Et à la fin nous trouverons un bloc
Et remplacez-le par ce qui suit :
Il s'agit de la configuration minimale requise pour travailler avec PHP. Pour gérer le serveur (démarrer, arrêter, redémarrer), on peut utiliser l'utilitaire fourni avec le kit -. Cet utilitaire se trouve dans le répertoire C:\Apache24\bin
Exécutons l'utilitaire. L'icône ApacheMonitor apparaîtra dans la barre d'état. Cliquez dessus et dans le menu contextuel qui apparaît, sélectionnez l'élément Démarrer.
Si tout est configuré correctement, le serveur Web doit démarrer.
Maintenant, notre tâche est de nous assurer que php est connecté et fonctionne correctement. Pour ce faire, accédez au dossier c: / localhost que nous avons créé pour stocker les documents et ajoutez-y un fichier texte brut. Renommez-le en index.php et ajoutons-y le contenu suivant :
Dans ce cas, nous avons créé script le plus simple qui affiche des informations générales sur PHP. Passons maintenant à ce script en tapant l'adresse dans la ligne du navigateur http://localhost:8080/index.php
Que s'est-il passé ici? Lors de l'accès à un site sur une machine locale, http:// localhost est spécifié comme adresse. Puisque nous avons indiqué 8080 comme port, le port est également indiqué dans l'adresse par deux points. Si nous utilisions le 80e port, qui est utilisé par défaut, il n'aurait pas besoin d'être spécifié.
Ensuite, le nom de la ressource en cours d'accès est indiqué. Dans ce cas, le fichier index.php est utilisé comme ressource. Et puisque dans le fichier httpd.conf, le répertoire est spécifié comme magasin de documents du serveur Web C: \ localhost, alors c'est dans ce répertoire que le serveur web va rechercher les fichiers nécessaires.
Et puisque plus haut, lors de la configuration, nous avons indiqué que comme page d'accueil le fichier peut être utilisé index.php alors nous pouvons également accéder à cette ressource simplement http:// localhost: 8080/
Ceci termine l'installation et la configuration du serveur web Apache, et nous pouvons créer nos sites.
andou
2016-07-23T17 : 54 : 43 + 00 : 00
2017-08-25T04 : 44 : 37 + 00 : 00
6400
L'article donne un aperçu de la configuration serveur Web Apache sur serveur Ubuntu avec installation LAMP standard sur Ubuntu. La logique et la structure de l'organisation des fichiers de configuration du serveur web sont données. Le but des configurations de serveur principal est décrit. Les commandes de base Linux Ubuntu pour la manipulation de la configuration, la configuration et la gestion du serveur Web Apache sont fournies. Le site par défaut, qui est créé lors de l'installation d'Apache, est pris en compte. L'article vous sera utile lors de la configuration et de l'administration de votre serveur LAMP.
Comment ajouter de l'assistance PHP comme moteur de script dans Apache sur le Ubuntu ou alors les fenêtres décrit en détail dans l'article Installer PHP7 sous Windows Au chapitre Personnalisation.
Lors d'une installation de serveur Web standard Apache dans Ubuntu serveur un site de test est créé, qui sert à tester les performances du serveur web après son installation. Ce site, par défaut, est configuré pour autoriser l'accès du navigateur uniquement aux fichiers et répertoires à l'intérieur / var / www répertoires Ubuntu serveur. Si, à la fin de l'installation Apache, vous ouvrirez une page Web dans votre navigateur à l'adresse IP votre serveur web, vous verrez page de démarrage serveur - Page par défaut d'Apache2 Ubuntu... Cela dira tout d'abord que Apache installé avec succès et fonctionne. Cette page est physiquement située sur le serveur dans un fichier /var/www/html/index.html et la configuration d'hôte virtuel par défaut ( /etc/apache2/sites-available/000-default.conf), qui définit l'hôte virtuel (site) du répertoire /var/www/html et est créé lors de l'installation du serveur Apache... Par conséquent, si vous placez vos fichiers dans ce dossier, ils seront traités par le serveur Web. Aussi sur ce Page par défaut dans la rubrique Présentation de la configuration vous verrez un diagramme schématique de la structure des fichiers de configuration du serveur. Ici, vous devez comprendre que la structure, les noms et les emplacements des configurations Apache dans Ubuntu différer du schéma généralement accepté, ce qui est fait pour la commodité de la gestion du serveur. Mais il y a une mise en garde ici, c'est que si vous n'étiez pas familiarisé avec l'organisation des répertoires dans le répertoire personnel Apache sur le Ubuntu, alors ce schéma ne peut que vous embrouiller, car il ne contient pas tous les dossiers, mais uniquement les répertoires dans lesquels se trouvent symbolique Liens vers activé fichiers de configuration. Par conséquent, pour plus bonne compréhension, consultez le diagramme complet du répertoire de base du serveur Web Apache ci-dessous dans cet article. De valeur dans la section de la page Web Apache, ce sont des liens vers homme« NS Debian pour les équipes a2enmod, a2dismod, a2ensite, a2dissite, a2enconf, a2disconf, qui permettent d'activer et de désactiver certains types de fichiers de configuration et seront décrits en détail. Il dit aussi ici que pour envoyer des commandes au serveur web ( démarré / arrêté etc.) vous devez contacter /etc/init.d/apache2 ou pour apache2ctl qui est également une caractéristique du serveur dans Ubuntu. Sur le serveur Ubuntu dans le fichier /usr/share/doc/apache2/README.Debian.gz vous pouvez trouver une documentation complète sur Apache.
Défaut, domicile répertoire du serveur Web Apache dans Ubuntuêtre sur /etc/apache2/ chemins dans le système de fichiers. Tous les fichiers de configuration se trouvent dans ce répertoire et ses sous-répertoires. Apache... Vous pouvez modifier la valeur du chemin du répertoire personnel du serveur Web en utilisant la directive ServerRoot "/etc/apache2" dans la configuration principale apache2.conf... Là, par défaut, la directive ServerRoot est commentée, ce qui équivaut à sa signification comme "/ etc / apache2" ( La barre oblique finale ne doit pas être dans cette directive !). Valeur du chemin du répertoire personnel Apache(ServerRoot) est nécessaire pour le serveur afin qu'il sache où dans le système de fichiers il doit rechercher ses fichiers de configuration. La valeur ServerRoot peut également remplacer server dans certaines directives attend comme argument façon dans le système de fichiers Ubuntu... Par conséquent, dans de tels cas, si le chemin est spécifié sans initiale barre alors Apache le prendre comme relatif manière par rapport à votre domicile répertoires. Ainsi, par exemple, si vous spécifiez la directive AuthUserFile .htpasswd, alors dans cette version Apache interprétera le chemin spécifié comme relatif et le transformer en /etc/apache2/.htpasswd, en substituant devant la valeur de son chemin domicile répertoires.
Dans le processus la norme Installation de serveur WEB Apache dans Ubuntu la structure de fichiers et de répertoires suivante du répertoire home du serveur Web est créée :
/ etc / apache2 / ............................... Répertoire de base Apache dans Ubuntu - ServerRoot | - conf-disponible...................... répertoire, contient différentes configurations | `- charset.conf ................... fichier pour spécifier les encodages | `- localized-error-pages.conf ..... fichier pour définir les pages d'erreur | `- other-vhosts-access-log.conf ... fichier pour la configuration des journaux d'hôtes virtuels | `- security.conf .................. fichier pour les directives de sécurité | `- serve-cgi-bin.conf ............. fichier pour les directives de configuration CGI | - conf-activé activé les configurations de conf-disponible| `- @ .............................. LIENS vers les configurations activées de conf-disponible |-- mods disponibles...................... répertoire, contient les configurations des modules Apache installés | `- ... ........................configurations disponibles pour les modules Apache | - mods activés........................ répertoire, contient des LIENS vers activé configurations de module de mods disponibles| `- @ .............................. LIENS vers les configurations activées des modules Apache | - sites-disponibles..................... répertoire contient les configurations disponibles des hôtes virtuels | `- 000-default.conf ............... fichier hôte virtuel par défaut pour le port 80, créé lors de l'installation d'Apache | `- default-ssl.conf ............... fichier hôte virtuel par défaut pour le port 443, créé lors de l'installation d'Apache | - activé pour les sites....................... répertoire, contient des LIENS vers activé configs d'hôtes virtuels de activé pour les sites| `- @ 000-default.conf .............. lien vers la configuration activée de l'hôte virtuel | - apache2.conf........................PRINCIPALE Configuration du serveur Web Apache dans Ubuntu | - envvars ............................. fichier avec les paramètres de chemin pour l'environnement Apache | - magic .. ................................. Fichier de scripts pour le module mime_magie(ce module n'est pas actif par défaut) | - ports.conf .......................... fichier à définir ports qui acceptera les connexions ApacheLes exemples donnés proviennent du serveur OS Ubuntu 16.04 LTS, mais il en sera de même dans d'autres versions et distributions d'Ubuntu, à la fois dans la version serveur et dans la version bureau.
Comme mentionné ci-dessus, dans Ubuntu utilisé par excellentà partir de la structure organisationnelle d'origine des fichiers de configuration et des répertoires du serveur Web Apache.
d'abord, dans Ubuntu, configuration Apache divisé en un tas de différentes configurations par leur fonctionnel rendez-vous. Par exemple, les directives spécifiant Port pour le serveur, déplacé vers un fichier séparé ports.conf... Les directives responsables de certains paramètres de sécurité du serveur sont placées dans un fichier security.conf... Ainsi, les directives sont en quelque sorte regroupées selon leurs propres sens dans des fichiers de configuration séparés. C'est assez logique et pratique pour lire, éditer, activer et désactiver des configs. Avec cette approche, chaque fichier individuel devient plus petit et est hautement spécialisé partie de la configuration. Cependant, vous devez comprendre qu'un tel fractionnement est effectué uniquement pour la commodité et l'automatisation de la configuration, et techniquement, si vous le souhaitez, vous pouvez écrire toutes les directives et tous les paramètres dans un seul fichier, il ne sera tout simplement pas si pratique de travailler avec de tels un fichier.
en deuxième: centre toute la configuration est principale configuration Apache serveur Web - apache2.conf fichier. C'est ce fichier dans la première la file d'attente recherche et lit le serveur web Apache au démarrage ou au redémarrage. Et déjà dans ce fichier en utilisant des directives Comprendre, à la place de leur indication, la connexion et le chargement de toutes les autres configurations spécifiées sont effectués. De cette façon, tous les fichiers de configuration sont fusionnés dans uni configuration du serveur Web et cela se produit lorsque Apache lit les fichiers par ordre leurs connexions commençant par le principal configuration. Une note importante en découle - ordre directives suivantes dans la configuration Apache et en conséquence, ordre la connexion des fichiers de configuration est importante, car les directives lues par le serveur ultérieurement peuvent écraser les directives lues par le serveur plus tôt. Gardez cela à l'esprit lors de la configuration de votre serveur.
Troisièmement: si vous regardez la structure du répertoire domicile répertoires Apache tu verras trois des couples répertoire avec des noms comme : dir_ préfixe-disponible / activé... Une telle structure logique est conçue pour distribuer vos configurations à trois groupes, basé préfixe nom du répertoire où conf- * ce sont des répertoires pour vos autres configs, mods- * ce sont les répertoires des configs des modules Apache et des sites- * ce sont les répertoires de vos configs virtuel hôtes. La deuxième partie du nom de ces répertoires -disponible / -activé indique logiquement disponible en général et seulement actif actuellement les configurations. Donc dans les répertoires * -disponible tous disponible pour utiliser des fichiers de configuration, et déjà dans des répertoires comme * -activée symbolique liens (raccourcis) uniquement pour les configurations de * -disponible répertoires qui doivent être lus par le serveur web lors du chargement de la configuration. Apache ne lit que les répertoires comme * -activée, donc, uniquement les configs pour lesquelles il y a dans ces répertoires liens... Cette approche offre un niveau de commodité supplémentaire dans la mesure où elle vous permet de stocker toutes vos configurations dans les répertoires du répertoire personnel du serveur et d'utiliser uniquement le nécessaire dans les monnaies actuelles.
Quatrième: directives de configuration du serveur Web Apache avoir le contexte() dans lequel ils opèrent. Concept le contexte directive indique où, à quel niveau et dans quelle configuration la directive donnée peut êtreêtre utilisé. Une seule et même directive peut être utilisée à la fois dans un seul type de contexte et dans plusieurs types de contexte. Si une directive est utilisée / écrite dans un contexte qui n'est pas valide pour elle, alors elle sera erreur web du serveur Apache lors du chargement de la configuration, ce qui entraînera son arrêt. Par conséquent, lors de la rédaction de vos directives, faites toujours attention au contexte de leur application, qui est toujours indiqué dans la documentation de la directive sur le site Web d'Apache.
Cinquième: vous devez comprendre que Apache lit et applique toutes les configurations actives uniquement lorsque début ou redémarrer. Après le démarrage, Apache ne relit plus la configuration. Une exception est le fichier .htaccess lequel est fichier local niveau catalogue site et est relu lorsque tous se référant à ce répertoire de sites. Par conséquent, si vous avez modifié les paramètres de configuration en dehors .htaccess fichier, alors pour qu'ils prennent effet, vous devez recharger la toile serveur Apache.
Types de contexte de directive :
Pour plus de commodité et d'automatisation de la gestion de la configuration Apache dans Ubuntu il existe des commandes spéciales, à l'aide desquelles vous pouvez inclure ou exclure certains fichiers de configuration de la configuration du serveur, démarrer et redémarrer le serveur, afficher et modifier les paramètres des variables d'environnement Apache et beaucoup plus.
Pour activer et désactiver certaines configs dans Ubuntuà condition de commandes des assistants à l'écoute disponible/activée et préfixe annuaire. Par exemple, la commande a2enconf, qui peut être déchiffré comme apache2-enable-conf, active le fichier de configuration spécifié dans son argument de conf-disponible répertoire en créant une symbolique liens dans le catalogue conf-activé... Équipe a2disconf effectue l'action inverse, c'est-à-dire supprime ce lien. Une logique similaire s'applique au reste des commandes : a2enconf/a2disconf, a2enmod/a2dismod, a2ensite/a2dissite... Mais vous pouvez également créer/supprimer manuellement des liens symboliques vers les configurations dont vous avez besoin dans des répertoires comme * -activée.
Attention: pour que les modifications apportées aux configurations prennent effet, vous devez exécuter redémarrer Paramétrage du serveur WEB Apache.
Pour activer ou désactiver la config souhaitée depuis le répertoire conf-disponible dans la configuration du serveur utilisez les commandes :
Activer la configuration:
sudo a2enconfDésactiver la configuration:
sudo a2disconfPour activer le module Apache installé depuis le répertoire mods disponibles
Activer le module Apache
sudo a2enmodDésactiver le module Apache
sudo a2dismodPour activer une configuration d'hôte virtuel à partir d'un répertoire sites-disponibles et pour le désactiver utilisez les commandes :
Activer l'hôte virtuel dans Apache
sudo a2ensiteArrêter l'hôte virtuel dans Apache
sudo a2dissiteDANS Ubuntu, grâce à l'utilisation de variables d'environnement, pour se référer à démon httpd web server, vous pouvez utiliser des appels de la forme : /etc/init.d/apache2 ou alors apache2ctl ou alors apache2:
sudo/etc/init.d/apache2 sudo apache2ctl sudo apache2Aujourd'hui, nous allons exécuter le serveur Web Apache 2.2.2 et examiner ses paramètres de base.
Pour commencer, vérifions comment s'est déroulée notre installation : Ouvrez votre navigateur et saisissez http:// localhost -Vous verrez une page d'accueil : It Works ! Notre installation s'est donc bien déroulée.
Ensuite, cliquez sur l'icône du stylo dans la barre des tâches avec le bouton droit de la souris et sélectionnez "Ouvrir les services". Dans la fenêtre de gestion des services qui s'ouvre, sélectionnez la ligne "Apache2.2" et double-cliquez dessus, puis dans l'onglet "Général", sélectionnez le démarrage manuel du service - "Type de démarrage : Manuel"... Cela doit être fait pour que les services inutiles ne chargent pas le système. Étant donné que ordinateur de famille est utilisé non seulement pour le développement Web, mais aussi pour de nombreux autres besoins, le démarrage et l'arrêt manuels des services non utilisés en permanence sont les plus acceptables.
A la racine du lecteur C:, vous devez créer un répertoire "apache" - il contiendra vos hôtes virtuels (domaines), le fichier journal d'erreur global "error.log" (créé par le programme au premier démarrage, automatiquement ), le fichier d'accès global "access.log" (généré automatiquement). Dans le répertoire "apache", créez un autre dossier vide - "localhost", dans lequel, à son tour, créez le dossier "www", c'est dans ce dernier que le projet de notre site sera ajouté sous forme de scripts locaux. Cette structure de répertoires apparemment étrange est dictée par un schéma similaire pour la construction de répertoires dans les systèmes Unix, et est destinée à simplifier sa compréhension et son utilisation à l'avenir.
Modification du fichier httpd.conf
1. Pour charger le module mod_rewrite, recherchez et décommentez (supprimez le symbole "#" en début de ligne) cette ligne :
LoadModule rewrite_module modules / mod_rewrite.so
#LoadModule php5_module "C: /php/php5apache2_2.dll"
3. Déterminez le répertoire contenant la configuration fichier PHP en ajoutant en dessous la ligne suivante :
#PHPIniDir "C:/php"
4. Trouvez la ligne :
DocumentRoot "C:/serveur/htdocs"
Attribuez le répertoire de gestion du site racine (vous l'avez déjà créé un peu plus tôt) :
DocumentRoot "C:/apache"
5. Trouvez ce bloc :
Options FollowSymLinks
AllowOverride Aucun
Ordre refuser, autoriser
Refuser de tout
Les options incluent les index FollowSymLinks
AutoriserTout remplacer
Autoriser de tous
6. Supprimez ou commentez le bloc de répertoire d'origine (nous n'en aurons pas besoin), qui ressemble à ceci sans commentaires :
#
# Les valeurs possibles pour la directive Options sont "Aucun", "Tous",
# ou toute combinaison de :
# Les index incluent FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Notez que "MultiViews" doit être nommé * explicitement * --- "Options All"
# ne vous le donne pas.
#
# La directive Options est à la fois compliquée et importante. S'il te plait regarde
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# pour plus d'informations.
#
Index des options FollowSymLinks
#
# AllowOverride contrôle quelles directives peuvent être placées dans les fichiers .htaccess.
# Il peut s'agir de "Tous", "Aucun" ou de n'importe quelle combinaison des mots-clés :
# Options FileInfo AuthConfig Limit
#
AllowOverride Aucun
#
# Contrôle qui peut obtenir des éléments de ce serveur.
#
Ordre autoriser, refuser
Autoriser de tous
7. Trouvez le bloc :
Index de répertoire index.html
Remplacez-le par :
RépertoireIndex index.html index.htm index.shtml index.php
8. Trouvez la ligne :
ErrorLog "journaux / error.log"
ErrorLog "C: /apache/error.log"
9. Trouvez la ligne :
CustomLog "logs/access.log" commun
CustomLog "C: /apache/access.log" commun
10. Pour que SSI fonctionne (activation côté serveur) lignes suivantes situé dans le bloc, vous devez trouver et décommenter :
AddType text / html .shtml
AddOutputFilter INCLUT .shtml
11. Ajoutez ci-dessous, dans le même bloc, deux lignes :
Application AddType / x-httpd-php .php
Application AddType / x-httpd-php-source .phps
12. Enfin, trouvez et décommentez les lignes :
Inclure conf / extra / httpd-mpm.conf
Inclure conf / extra / httpd-autoindex.conf
Inclure conf / extra / httpd-vhosts.conf
Inclure conf / extra / httpd-manual.conf
Inclure conf / extra / httpd-default.conf
Enregistrez les modifications et fermez le fichier "httpd.conf"
Ouvrez maintenant le fichier "C:\server\conf\extra\httpd-vhosts.conf" et apportez-y les modifications suivantes.
Les exemples de blocs d'hôte virtuel existants doivent être supprimés et seuls les suivants insérés :
NomVirtualHost * : 80
DocumentRoot "C:/apache/localhost/www"
Nom du serveur localhost
ErrorLog "C: /apache/localhost/error.log"
CustomLog "C: /apache/localhost/access.log" commun
Enregistrez les modifications et fermez le fichier "httpd-vhosts.conf"
Poursuivons - nous installons le démarrage manuel du service Apache2.2 pour lequel nous passons par le chemin: "Démarrer" → "Panneau de configuration" → "Outils d'administration" → "Services" (" Services "), dans la fenêtre de gestion des services qui s'ouvre, sélectionnez la ligne " Apache2.2 " et double-cliquez dessus, puis dans l'onglet " Général ", sélectionnez le démarrage manuel du service - " Type de démarrage : Manuel " (" Type de démarrage : manuellement "). Cela doit être fait pour que les services inutiles ne chargent pas le système. Étant donné qu'un ordinateur personnel est utilisé non seulement pour le développement Web, mais également pour de nombreux autres besoins, le démarrage et l'arrêt manuels des services non utilisés en permanence sont les plus acceptables.
Un exemple de création d'un hôte virtuel
Si vous devez configurer vos propres hôtes virtuels, procédez comme suit :
Ouvrez le fichier "httpd-vhosts.conf" et créez-y un bloc qui ressemble à ce qui suit :
# Dossier où se trouvera la racine de votre hébergeur.
DocumentRoot "C: /apache/dom.ru/www"
# Le domaine par lequel vous pouvez accéder à l'hôte virtuel.
Nom du serveur dom.ru
# Alias (nom d'extension) du domaine.
ServerAlias www.dom.ru
# Fichier où les erreurs seront écrites.
ErrorLog "C: /apache/dom.ru/error.log"
# Fichier journal d'accès à l'hôte.
CustomLog "C: /apache/dom.ru/access.log" commun
Ensuite, dans le répertoire "apache", créez un dossier "dom.ru", dans lequel, à son tour, créez un dossier "www".
La prochaine étape de la création d'un hôte virtuel consiste à modifier le fichier C:\WINDOWS\system32\drivers\etc\hosts système opérateur... S'ouvrir ce fichier et ajoutez-y deux lignes :
127.0.0.1 dom.ru
127.0.0.1 www.dom.ru
Redémarrez maintenant le serveur Apache, ouvrez votre navigateur, entrez « dom.ru » ou « www.dom.ru » dans la barre d'adresse et vous vous retrouverez dans votre hôte virtuel. Attention, vous pouvez désormais accéder au site d'origine avec le nom de l'hôte virtuel ("www.dom.ru", s'il existe), uniquement en commentant ou en supprimant la ligne : "127.0.0.1 www.dom. ru", dans le fichier ci-dessus " hosts ".
documentation Apache, à serveur en cours d'exécution, disponible sur http://localhost/manual/
L'installation et la configuration du serveur Web Apache sont maintenant terminées.
Articles Liés: | |
Comment transférer un message à une autre personne sur VKontakte
Si, pour une raison quelconque, vous souhaitez transférer un message VKontakte, mais ... Comment fermer une page sur des camarades de classe à des étrangers
Cet article explique comment fermer un profil sur Odnoklassniki avec ... Quel pseudo sur Instagram : une sélection d'idées
Qu'est-ce qui différencie les utilisateurs d'Instagram les uns des autres ? Nom unique ... |