Apache installeren op Windows. Installatie van Apache, PHP, MySQL. Om Apache te starten, moet u de opdracht in de console typen

Er zijn nogal wat artikelen op internet waar de auteurs geven gedetailleerde instructies met screenshots, waardoor geen enkele gebruiker de Apache-server voor PHP en de MySql DBMS kon installeren. Maar de meeste laten de gebruiker achter met veel vragen waarop hij lange tijd geen antwoord kan vinden. Laten we eens kijken naar wat Apache, MySql, PHP zijn, waarvoor ze nodig zijn en hoe je deze producten installeert.

Een beetje theorie

Apache is een gratis http-server genoemd naar de Noord-Amerikaanse stam van Apache-indianen. Het wordt veel gebruikt op alle platforms, inclusief Windows, en is de facto een standaard geworden bij de ontwikkeling van webapplicaties en -diensten. Daarnaast zullen we MySql DBMS moeten installeren, dat ook een standaard in zijn vakgebied is, en een van de meest voorkomende en universele scripttalen: PHP.

Apache (zoals gebruikers het noemen) verschilt van andere servers doordat alle applicaties en services er gegarandeerd op draaien, zonder dat de gebruiker iets hoeft te doen aanvullende instellingen. Vergeleken met zijn analogen wordt Apache niet gekenmerkt door hoge prestaties en een laag verbruik van computerbronnen, maar elke applicatie functioneert gegarandeerd op basis daarvan. Hier kunt u ook installatiegemak toevoegen en aan vrijwel alles werken moderne platforms en uitstekende documentatie.

Laten we nu eens kijken hoe we Apache op een werkende computer kunnen installeren Windows-besturing 7 (in latere edities is het proces vrijwel identiek), zodat de server op een echte hosting wordt geïnstalleerd.

Installatie Apache

In feite is er voor de ontwikkelaar vrijwel geen verschil tussen de versies van het product, tenzij de oude Apaches worden ondersteund door de nieuwste versies van de PHP-scripttaal.

  • Voer het gedownloade installatiebestand uit.
  • We vullen de eerste twee velden in zoals in de schermafbeelding: voer in beide regels “localhost” in.

  • We hebben absoluut elke mailbox ingesteld.
  • de eerste is verantwoordelijk voor het installeren van het product als een Windows-service die poortnummer 80 gebruikt;
  • de tweede verbindt de server met poortnummer 8080, waarna u deze elke keer automatisch moet starten.

Productontwikkelaars raden aan om de eerste optie te kiezen, dus laten we er wat lager naar kijken. Let bij het installeren van Apache op het pad waar de bestanden zijn opgeslagen. Het is het beste om te installeren in de map “public” in de map “users” op systeempartitie uw harde schijf.

Controleer na het sluiten van de installatiewizard of Apache actief is. Om dit te doen, gaat u naar de lade en controleert u of het onderstaande pictogram aanwezig is.

Als het niet werkt, voert u de opdrachtregel uit. Dit doet u door “cmd” in het tekstformulier in te voeren commando tolk(Win+R).

Op de opdrachtregel schrijven we “net start Apache2.2” om de server te starten.

Deze invoer is alleen geldig voor productversie 2.2; voor andere versies komen de nummers overeen.

De server wordt gestopt door een commando te typen met de volgende parameters: “net stop Apache2.2”.

Laten we nog een paar methoden bekijken voor het starten, afsluiten en opnieuw opstarten van Apache. Voor regelmatig gebruik opdrachtregel het beheren van de werking van de server is niet effectief - het zal veel tijd kosten. De uitweg uit de situatie is door het contextmenu van het systeemvakpictogram te gebruiken: klik er met de rechtermuisknop op en selecteer welke actie moet worden uitgevoerd.

Hetzelfde wordt gedaan door de gelijknamige dienst te beheren via het overeenkomstige hulpprogramma, dat toegang biedt tot Windows-services of de module Services. Het begint door zoekbalk of “Beheer” in het “Configuratiescherm”.

Apache instellen

Wanneer u de eerste serverinstallatiemethode kiest, kunt u de methode opgeven om deze te starten. Bij regelmatig gebruik en als u vrije bronnen op uw pc heeft, gebruik dan Apache autostart. Selecteer anders om het handmatig te starten via contextmenu diensten.

Na handmatig of automatisch starten het openen van de servers handige browser en ga naar het adres: //localhost. zal verschijnen blanco pagina met hetzelfde adres.

Ga als volgt te werk om aan de slag te gaan.

  • We gaan naar de map “htdocs”, gelegen in de map met de softwareproductbestanden.
  • We verwijderen het html-bestand eruit en maken een map aan met de naam van de site (mijnsite).
  • U kunt naar de toekomstige site gaan door //localhost/mysite in te voeren.
  • Ga naar de map “conf” en open het bestand “httpd.conf” in een teksteditor (bij voorkeur met syntaxisondersteuning).
  • Ga naar regelnummer 227 en vervang “geen” door “alles”. De resulterende waarde moet 'AllowOverride All' zijn.

Als u dit doet, kan het "htaccess"-document worden gebruikt. Het vertegenwoordigt een verlengde configuratiebestand Apache.

  • We zoeken naar de regel met de tekst “#LoadModule rewrite_module modules/mod_rewrite.so” en verwijderen het “#” symbool.

Deze actie activeert de module die verantwoordelijk is voor het maken en bedienen van CNC-koppelingen.

  • We slaan de aangebrachte wijzigingen op en starten Apache opnieuw op.

PHP installeren

Aandacht! U hoeft niet te downloaden uitvoerbaar bestand msi- of exe-indeling en biz-archief.

  • We maken een map en decomprimeren het archief daarin met behulp van 7zip of Winrar.
  • Open “httpd.conf” als je het hebt gesloten en voeg de volgende tekst aan het einde toe:

"LoadModule php5_module "C:\Gebruikers\Public\php\php7Apache2_2.dll"

AddType applicatie/x-httpd-php .php"

De cijfers op de eerste regel en het adres veranderen afhankelijk van de versies van de gebruikte producten en de mappaden en PHP.

  • Sla opnieuw de wijzigingen op en start Apache opnieuw.

Wanneer er een informatiedialoogvenster verschijnt waarin wordt aangegeven dat er een fout is opgetreden tijdens de bewerking, start u Windows opnieuw op.

Alle parameters PHP-configuraties, wanneer het is geïnstalleerd, worden opgeslagen in het bestand “php.ini”. In plaats daarvan zijn er documenten waarvan de naam begint met “php.ini”.

  • Hernoem iemand naar “php.ini” om een ​​configuratiebestand te maken.
  • Kopieer dit document vervolgens naar de Windows-map, bijvoorbeeld “C:\Windows”.
  • We starten de server opnieuw op via het contextmenu van het pictogram.

Dit is de installatie en PHP-installatie voltooid. Het enige dat overblijft is het controleren van de functionaliteit van de server. Ga naar “htdocs” en maak een bestand in de map met een willekeurige naam (bij voorkeur Latijn) en php-extensie(bijvoorbeeld bestand.php). Wij openen het met teksteditor en voer het volgende stukje code in:

Open of maximaliseer nu het browservenster en voer het pad naar het gemaakte bestand in de adresbalk in. In ons geval is dit: //localhost/mysite/file.php

Als alles goed en zonder fouten is verlopen, ziet u een soortgelijk beeld.

Let op de regel “Geladen configuratiebestand”. Het pad naar het configuratiebestand “php.ini” moet daar worden opgegeven.

Hiermee is de installatie van Apache met PHP op een Windows-computer voltooid. Als u een CMS moet installeren, wordt het DBMS geïnstalleerd.

Installatie van het DBMS

  • Nadat u op de knop "Downloaden" hebt geklikt, klikt u op de link die in de schermafbeelding is gemarkeerd om MySql zonder registratie te downloaden.

  • We starten het installatieprogramma, waarvan de werking de .NET Framework-bibliotheekversie 4.5 vereist.
  • Wij accepteren de gebruiksvoorwaarden van MySql op Windows.
  • Verplaats de schakelaar naar de positie 'Alleen server'.

  • Klik op de knop “Uitvoeren” om de MySql-installatie te starten nadat u de vereisten heeft gecontroleerd.

  • We hebben een wachtwoord ingesteld voor MySql, dat wordt gebruikt om toegang te geven tot de database.

  • Klik op “Volgende”.

De serverinstallatie met scripttaal en MySql is voltooid. Het enige dat overblijft is om de laatste twee componenten met elkaar te verbinden, zodat ze met elkaar kunnen communiceren.

Hiervoor gaan wij alvast open bekend bestand configuratie “php.ini” en verwijder het “;” symbool in lijn met de volgende gegevens:

extensie=php_mysql.dll

extensie=php_mysqli.dll.

Zoek de tekst “; extension_dir = “ext”” en vervang het door de volgende “extension_dir = “C:\Users\Public\php\ext””, waarbij we na het “is gelijk aan” teken het pad naar de map met PHP instellen.


Kiezen nieuwste versie(op het moment dat dit artikel wordt geschreven - 2.2.17) en ga naar de lijst met distributies. Op je thuiscomputer heb je waarschijnlijk geen SSL nodig, dus download de versie Win32 Binair zonder crypto (geen mod_ssl) (MSI Installer).

Voer nu het installatieprogramma uit (de gebruiker moet beheerdersrechten hebben). In het begin is er niets interessants - alleen een welkomstscherm:

De tweede fase - we gaan akkoord met de licentievoorwaarden:

De derde fase bestaat uit een paar inleidende woorden van de ontwikkelaars. Klik onmiddellijk op Volgende:

Vierde fase. Hier moet u gegevens in alle drie de tekstvelden invoeren. U kunt een niet-bestaand domein invoeren, zoals test.test of voorbeeld.com. Deze gegevens zijn nodig om een ​​basisconfiguratiebestand te maken. Onder tekstvelden een van de meest belangrijke instellingen- installeer Apache als een service of als regulier programma. Selecteer “voor alle gebruikers, op poort 80, as a Service - Aanbevolen” - installeer als een service:

Installatietype. Selecteer Aangepast:

Zesde etappe. Componenten en installatielocatie selecteren. Ik heb alle standaardwaarden gelaten:

Zevende etappe. Alles is klaar voor installatie. Klik op Installeren:

We voltooien de installatie (Finish):

De installatie is voltooid. Er verschijnt een Apache-pictogram in de lade, waarmee u de service snel kunt stoppen/starten:

Wij controleren de functionaliteit. Open uw browser en voer http://localhost/ in de adresbalk in. Als alles klopt, zou er een pagina moeten openen met de tekst Het werkt!

Om ervoor te zorgen dat de server niet alleen op de lokale computer toegankelijk is, maar ook van buitenaf, moet u de invoer openen TCP-poort 80 in Windows Firewall.

Een poort openen in Windows Firewall

Open Start -> Configuratiescherm -> Systeem en beveiliging -> Windows Firewall. Klik in de linkerkolom op de link ‘Geavanceerde opties’. In het venster dat opent, eveneens in de linkerkolom, klik je op ‘Regels voor inkomende verbindingen’ en vervolgens op rechter kolom“Maak een regel...”:

De wizard Regel maken wordt geopend. Selecteer het regeltype “Voor poort”:

Protocollen en poorten. TCP-protocol. Selecteer hieronder de optie “Specifiek lokale havens", en voer in het tekstveld aan de rechterkant het poortnummer in - 80:

Actie. Selecteer “Verbinding toestaan”:

Profiel. Laat het op de standaardwaarde staan ​​(alle drie de opties zijn aangevinkt: domein, privé, openbaar):

Voer ten slotte de naam van de gemaakte regel in. Bijvoorbeeld Apache-web Server:

Dat is alles. Klik op Voltooien. Nu kunt u proberen verbinding te maken vanaf een andere computer.

Ik herinner u eraan dat voor verbindingen met de server niet alleen vanaf lokaal netwerk, maar ook vanaf internet, op de router (als je die hebt) moet je het doorsturen van poort 80 configureren ( port forwarding of het wordt ook vaak een virtuele server genoemd).

PHP-installatie (handmatig)

Download de nieuwste versie van PHP (5.3.5 op het moment van schrijven) van de site: http://windows.php.net/download/. Er zijn hier verschillende versies beschikbaar:

  1. VC9 x86 Niet Draad veilig- voor installatie op IIS in FastCGI-modus.
  2. VC9 x86 Draadveilig - ???
  3. VC6 x86 Non Thread Safe - voor installatie op Apache in CGI/FastCGI-modus.
  4. VC6 x86 Draadveilig- voor installatie op Apache in modulemodus - onze keuze.

Omdat We zijn de installatie handmatig gestart, download het zip-archief.

We pakken de inhoud van het archief uit in de installatiemap. Ik heb C:\Program Files\PHP geselecteerd.

Laten we naar deze map gaan. In de installatieroot vindt u twee bestanden php.ini-development en php.ini-production. Deze bestanden bevatten basisinstellingen. Het eerste bestand is geoptimaliseerd voor ontwikkelaars, het tweede voor productiesystemen. Het belangrijkste verschil is dat de instellingen voor ontwikkelaars toestaan ​​dat fouten op het scherm worden weergegeven, terwijl voor productiesystemen de weergave van fouten om veiligheidsredenen verboden is.

Selecteer dus het bestand dat je nodig hebt (ik heb php.ini-development gekozen), open het en sla het op in dezelfde map onder de naam php.ini. Deze bewerking kan in een gewoon notitieblok worden uitgevoerd, maar het is nog steeds beter om een ​​handiger editor te gebruiken, bijvoorbeeld notitieblok2.

Nu moet je een paar wijzigingen aanbrengen in php.ini:

  1. Zoek de optie extension_dir (gebruik CTRL+F zoeken) en wijzig het pad naar de ext-map in overeenstemming met het PHP-installatiepad. Voor mij ziet het er zo uit: extension_dir = “c:\program files\php\ext”
  2. Zoek de optie upload_tmp_dir. Hier moet u het pad naar de tijdelijke map opgeven. Ik heb c:\windows\temp gekozen. Alles bij elkaar: upload_tmp_dir = “c:\windows\temp”
  3. Zoek de optie session.save_path. Hier moet u ook het pad naar de tijdelijke map opgeven: session.save_path = “c:\windows\temp”
  4. Ga naar het gedeelte Dynamische extensies. Hier moet u de commentaartekens verwijderen van de regels (verwijder de puntkomma aan het begin) die overeenkomen met PHP-modules, die je nodig hebt voor je werk. Een basisset modules zou er ongeveer zo uit kunnen zien: ;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl .dll ; extensie=php_imap.dll ;extensie=php_interbase.dll ;extensie=php_ldap.dll extensie=php_mbstring.dll extensie=php_exif.dll ; Moet na mbstring staan ​​omdat dit ervan afhangt extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; Gebruik met Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_p gsql.dll ; extension =php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_phar.dll ;extension=php_pspell.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_soap.dll extension=php_sockets.dll ;extension=php_sqlite .dll extensie=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll extensie=php_xsl.dll extensie=php_zip.dll

Laten we nu verder gaan met de Apache-instellingen.

Open de Apache-installatiemap (standaard C:\Program Files\Apache Software Foundation\Apache2.2\). Open de conf-map. Open het httpd.conf-bestand.

Ga naar het einde van het bestand en voeg daar de volgende regels toe:

# Charset AddDefaultCharset windows-1251 # PHP LoadModule php5_module "c:\program files\php\php5apache2_2.dll" PHPIniDir "c:\program files\php" AddType application/x-httpd-php .php

Pad naar php-map geef degene aan die u tijdens het installatieproces hebt geselecteerd.

In hetzelfde bestand vinden we volgende regels:

DirectoryIndexindex.html

Voeg vóór index.html index.php toe, gescheiden door een spatie. Het resultaat is:

DirectoryIndex index.php index.html

Start opnieuw op om de wijzigingen door te voeren Apache-service. Als de service opnieuw wordt opgestart, is dit het geval goed teken. Als dit niet het geval is, zoekt u naar fouten in de configuratiebestanden. Controleer alle paden bijzonder zorgvuldig.

Om er zeker van te zijn dat PHP werkt, opent u de Apache-installatiemap en vervolgens de map htdocs (deze bevat de standaardwebsitebestanden). Maak in deze map een index.php-bestand met de volgende inhoud:

Open nu http://localhost/ in uw browser. Als alles in orde is, ziet u een pagina die er ongeveer zo uitziet:

Als u een pagina ziet met de tekst "Het werkt!", probeer dan de pagina te vernieuwen met CTRL+F5.

MySQL installeren

Verplaatst naar een apart artikel.

En vandaag gaan we lanceren Apache-webserver 2.2.2, en laten we eens kijken naar de basisinstellingen.
Laten we om te beginnen eens kijken hoe de installatie is verlopen: Open uw browser en typ http://localhost - U ziet de welkomstpagina: Het werkt! Bij ons is de installatie dus prima verlopen.

Klik vervolgens op het penpictogram in de taakbalk klik met de rechtermuisknop muis en selecteer "Services openen". In het servicebeheervenster dat wordt geopend, selecteert u de regel "Apache2.2" en voert u deze uit dubbelklikken en selecteer vervolgens op het tabblad "Algemeen" de handmatige start van de service - "Opstarttype: Handmatig". Dit moet gedaan worden om onnodige diensten heeft het systeem niet opgestart. Gezien dat thuiscomputer niet alleen gebruikt voor webontwikkeling, maar ook voor veel andere behoeften, is het handmatig starten en stoppen van af en toe gebruikte services het meest acceptabel.

In de hoofdmap van station C: u moet de map "apache" maken - deze bevat uw virtuele hosts (domeinen), het globale foutenlogbestand "error.log" (automatisch gemaakt door het programma bij de eerste keer opstarten), de globaal toegangsbestand "access.log" (automatisch gemaakt). In de map "apache" maken we nog een lege map - "localhost", waarin we op zijn beurt de map "www" maken, in de laatste zal ons siteproject in de vorm van lokale scripts nodig zijn. Deze ogenschijnlijk vreemde mapstructuur wordt gedicteerd door een soortgelijk mapconstructieschema in Unix-systemen, en is bedoeld om het verdere begrip en gebruik ervan te vereenvoudigen.

Het httpd.conf-bestand bewerken
1. Om de mod_rewrite module te laden, zoek en verwijder de commentaar (verwijder het “#” symbool aan het begin van de regel) deze regel:

LoadModule rewrite_module modules/mod_rewrite.so


2. Om de PHP-interpreter te laden, moet u de volgende regel toevoegen aan het einde van het modulelaadblok:

#LoadModule php5_module "C:/php/php5apache2_2.dll"


3. Definieer de map die de configuratie bevat PHP-bestand door de volgende regel hieronder toe te voegen:

#PHPIniDir "C:/php"


commentaar verwijderen na installatie van php

4. Zoek de lijn:

DocumentRoot "C:/server/htdocs"

Toewijzen hoofdmap websitebeheer (je hebt het al iets eerder gemaakt):

DocumentRoot "C:/apache"

5. Vind dit blok:


Opties VolgSymLinks
AllowOverride Geen
Bestelling weigeren, toestaan
Ontkennen van iedereen


En vervang het door het volgende:


Opties Inclusief indexen FollowSymLinks
ToestaanAlles overschrijven
Toestaan ​​van iedereen

6. Verwijder het originele mapbeheerblok of maak er commentaar op (we hebben het niet nodig), dat er zonder commentaar ongeveer zo uitziet:


#
# Mogelijke waarden voor de Opties-richtlijn zijn "Geen", "Alles",
# of een combinatie van:
# Indexen Inclusief FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Merk op dat "MultiViews" *expliciet* moet heten --- "Options All"
# geeft het je niet.
#
# De Optiesrichtlijn is zowel ingewikkeld als belangrijk. Zie alstublieft
# http://httpd.apache.org/docs/2.2/mod/core.html#options
#voor meer informatie.
#
Optie-indexen VolgSymLinks

#
# AllowOverride bepaalt welke richtlijnen in .htaccess-bestanden mogen worden geplaatst.
# Het kan 'Alle', 'Geen' of een combinatie van de volgende trefwoorden zijn:
# Opties FileInfo AuthConfig-limiet
#
AllowOverride Geen

#
# Bepaalt wie dingen van deze server kan krijgen.
#
Bestelling toestaan, weigeren
Toestaan ​​van iedereen

7. Zoek het blok:


DirectoryIndexindex.html

Vervang het door:


DirectoryIndex index.html index.htm index.shtml index.php

8. Zoek de lijn:

FoutLog "logs/error.log"


Vervang door het volgende (in dit geval is het handiger om het globale serverfoutbestand te bekijken):

Foutlogboek "C:/apache/error.log"

9. Zoek de lijn:

CustomLog "logs/access.log" gebruikelijk


Vervangen door:

CustomLog "C:/apache/access.log" gebruikelijk

10. Om SSI te laten werken (server-side enablement), moeten de volgende regels in het blok worden gevonden en zonder commentaar worden geplaatst:

AddType tekst/html .shtml
AddOutputFilter BEVAT .shtml

11. Voeg hieronder twee regels toe, in hetzelfde blok:

AddType-applicatie/x-httpd-php .php
AddType application/x-httpd-php-source .phps

12. Zoek ten slotte de regels op en verwijder de commentaren:

Voeg conf/extra/httpd-mpm.conf toe
Voeg conf/extra/httpd-autoindex.conf toe
Voeg conf/extra/httpd-vhosts.conf toe
Voeg conf/extra/httpd-manual.conf toe
Voeg conf/extra/httpd-default.conf toe

Sla de wijzigingen op en sluit het bestand "httpd.conf".

Open nu het bestand "C:\server\conf\extra\httpd-vhosts.conf" en breng daarin de volgende wijzigingen aan.

Bestaande voorbeeldblokken virtuele gastheren u hoeft alleen het volgende te verwijderen en in te voegen:

NaamVirtualHost *:80


DocumentRoot "C:/apache/localhost/www"
Servernaam localhost
ErrorLog "C:/apache/localhost/error.log"
CustomLog "C:/apache/localhost/access.log" gebruikelijk

Sla de wijzigingen op en sluit het bestand "httpd-vhosts.conf".

Laten we verder gaan - stel de handmatige lancering van de Apache2.2-service in, waarvoor we het pad volgen: "Start" → " Configuratiescherm"("Configuratiescherm") → "Systeembeheer" → "Services", selecteer in het geopende venster voor servicesbeheer de regel "Apache2.2" en dubbelklik erop en selecteer vervolgens op het tabblad "Algemeen" handmatig start van de service - "Opstarttype: handmatig". Dit moet worden gedaan zodat onnodige services het systeem niet laden, aangezien de thuiscomputer niet alleen wordt gebruikt voor webontwikkeling, maar ook voor vele andere behoeften, handmatig starten en het stoppen van af en toe gebruikte diensten is het meest geschikt.

Voorbeeld van het maken van een virtuele host

Als u uw eigen virtuele hosts moet installeren, doet u het volgende:

Open het bestand "httpd-vhosts.conf" en maak daarin een blok met ongeveer de volgende inhoud:

# De map waar de root van uw host zal zijn.
DocumentRoot "C:/apache/dom.ru/www"
# Het domein waarmee u toegang krijgt tot de virtuele host.
Servernaam dom.ru
# Alias ​​(extra naam) van het domein.
ServerAlias ​​www.dom.ru
# Het bestand waarin fouten worden geschreven.
ErrorLog "C:/apache/dom.ru/error.log"
# Hosttoegangslogbestand.
CustomLog "C:/apache/dom.ru/access.log" gebruikelijk

Maak vervolgens in de map "apache" een map "dom.ru", waarin u op zijn beurt een map "www" maakt.
De volgende stap om een ​​virtuele host te maken is het wijzigen van het bestand C:\WINDOWS\system32\drivers\etc\hosts besturingssysteem. Open dit bestand en voeg er twee regels aan toe:
127.0.0.1 dom.ru
127.0.0.1 www.dom.ru
Start nu de Apache-server opnieuw op, open uw browser, voer "dom.ru" of "www.dom.ru" in de adresbalk in en u bevindt zich in uw virtuele host. Wees voorzichtig, nu kunt u alleen naar de originele site met de virtuele hostnaam ("www.dom.ru" als deze bestaat) door commentaar te geven of de regel te verwijderen: "127.0.0.1 www.dom.ru" in de bovenstaand bestand "hosts".
Apache-documentatie, wanneer draaiende server, beschikbaar op http://localhost/manual/
Installatie en configuratie Apache-webserver- voltooid.





Aandacht!
Het maakt niet uit of u de server alleen installeert voor het testen van scripts of als een werkende versie, u moet weten dat deze onmiddellijk na het installeren en starten van de server toegankelijk zal worden buiten uw computer. Ook als u geen wit IP-adres heeft, kunnen andere klanten van uw provider binnen het netwerk toegang tot u krijgen.
Direct na installatie is de server niet beveiligd, alles is open en alles is zelfs zonder wachtwoord beste scenario Ze zullen uw server kapot maken en in het ergste geval kunnen ze alle bestanden op de computer wissen, inclusief Windows zelf.
Om deze reden blokkeert u na het installeren van de server de toegang tot de server met behulp van firewall of anderen soortgelijke programma's. Na alle instellingen kunt u de toegang openen.

In dit artikel vertel ik je hoe je de Apache-server en alle benodigde componenten installeert onder Windows van alle versies, inclusief VISTA (32 en 64).
Installeer apache-server op ramen eerder in totaal zit u op uw thuiscomputer, aangezien het in alle andere gevallen onwaarschijnlijk is dat u op Windows hoeft te installeren, dus ik zal dat vermelden installatie bezig specifiek op uw thuiscomputer.
Deze installatie- en configuratieoptie is niet alleen geschikt voor het testen van scripts, maar ook voor het starten van een productieserver.

Als u besluit om thuis een productieserver te installeren (niet om te testen), dan heeft u het volgende nodig:

1. Wit IP-adres(extern of uniek of speciaal). Natuurlijk zijn er diensten die verkeer via hun IP naar uw dynamische of zelfs grijze IP kunnen leiden, maar voor een normale server zal dit niet werken.
White IP wordt voor extra geld bij uw provider gekocht.

2. DNS-server. Om uw domeinnamen aan uw server te koppelen heeft u een DNS-server nodig. Het heeft geen zin om thuis een DNS te onderhouden, aangezien hier gratis diensten voor zijn.
Als uw domeinregistreerder geen DNS-services biedt, kunt u deze gebruiken gratis dienst xname.org
. Het is het beste om DNS te configureren nadat u de server hebt geïnstalleerd.

Laten we beginnen met het installeren van de server.
Om alles te installeren wat u nodig heeft, nemen wij een kant-en-klare set mee met alle benodigde servercomponenten.
XAMPP Erg nuttig ding. Dit is een set bestaande uit apache, php, mysql, ftp-server , stuur een e-mail, perl en nog veel meer. Er zijn geen wijzigingen aangebracht in al deze componenten (of in zeer kleine onderdelen), aangezien XAMPP slechts een installatieprogramma is en geen zelfstandige server.
Na de installatie krijgen we een volwaardige server, hetzelfde alsof we elk onderdeel handmatig zouden installeren.

Nog een groot pluspunt XAMPP alles wordt in één map geïnstalleerd. Alle instellingen, alle gegevens en alle bestanden staan ​​in één map. Doen reservekopie zo'n server is heel eenvoudig. We hebben de hele map opgeslagen en de hele server is opgeslagen, deze map op een andere computer geladen en de hele server draait op een andere computer.

Opmerkingen

18/02/2010 Victor
Ik heb ook zo'n server thuis.
Ik kocht een netbook voor 10.000, en stopte er stomweg xampp in, precies zoals hier geschreven staat.
En het is hier nu al drie maanden, het gebruikt bijna geen elektriciteit (ongeveer 20 watt), het internetkanaal is 5 megabit, de sites vliegen gewoon.
En waarom moet je deze dedicated servers of VDS huren.......

18/02/2010 Victor
Ik vergat toe te voegen: er staan ​​vijf sites op deze laptop, het totale verkeer is drieduizend per dag

06/07/2010 Kirill
Zijn Denver en HAMPP niet fundamenteel hetzelfde?

06/07/2010 Beheerder
Kirill, fundamenteel bijna hetzelfde.
Alleen in Denver zijn er veel wijzigingen aangebracht aan de server, waardoor de server in Denver niet naar behoren werkt. Alles daarin is aangepast comfortabel werk bij ramen.
Ik heb verschillende keren geprobeerd grote scripts te testen in Denver, maar ik kon het niet volledig debuggen omdat het helemaal niet werkte zoals verwacht.
XAMPP brengt geen wijzigingen aan op de server, het helpt alleen om alle componenten te installeren.

08/06/2010 Vlad
bedankt voor de informatie

09/02/2010 Victor
Hartelijk dank voor de informatie, het was zeer nuttig. Let op

09/12/2010 Andrej
Heel erg bedankt. Er zijn tenslotte sites waar het normaal, duidelijk en in het Russisch is geschreven.

P.S. / Beheerder, vergeet niet te corrigeren dat Apache niet wordt ingeschakeld als poort 80 bezet is in Skype en Team WiFi./

09/12/2010 beheerder
Andrey, ja, hij heeft zelf ooit op deze hark gestapt. Ik kon niet begrijpen waarom Apache niet werkt op poort 80.
Als iemand tijdens xampp-installaties zegt dat het de test op poort 80 niet heeft doorstaan, kijk in Skype in de instellingen, misschien heeft Skype deze poort bezet.
Er kunnen ook problemen optreden na de installatie.
Ik zal deze informatie later aan het artikel toevoegen.

24-10-2010 Mikan
Goededag. Beste mensen, help mij met deze vraag. Eten groot netwerk, Ik wil een interne webserver maken, ik heb xampp geprobeerd, alles werkt, nu heb ik een ander probleem: hoe kan ik voorkomen dat een client uit het netwerk in de browser het IP-adres van de server schrijft om naar de site te gaan. En ik voerde een normaal menselijk adres in, bijvoorbeeld zelfs zoiets als www.primer.primer.ru.

25-10-2010 kers
Mikan, aangezien je zulke vragen stelt, betekent dit dat dit grote netwerk niet door jou is gecreëerd?
En aangezien het niet door jou is aangemaakt, moet je contact opnemen met de beheerders die dit netwerk beheren, aangezien je alleen een domein bij hen kunt registreren, en dan zal het domein zichtbaar zijn binnen het netwerk, tenzij de beheerders dit natuurlijk willen.
Nou, dan registreer je in de xampp virtual host-instellingen dit domein en dat is alles...

En als je een wit IP-adres hebt, dan is het gemakkelijker om een ​​domein te kopen, het kost 200 roebel per jaar en het zal nog beter zijn, het is niet veel geld.

14/12/2010 Dmitri
Ik heb een vraag, zijn daar instellingen voor? spelserver bijvoorbeeld voor KS1.6
Ik heb zojuist een wit IP-adres ingesteld en ik moet het configureren. Dus ik zet de server aan en er staat lokaal IP-adres en niet internet. Ik moet het op de een of andere manier configureren zodat het internet-IP toont en ernaartoe kan gaan ... hoe moet ik dit doen???

14/12/2010 Victor
Dmitry, dit is niet een heel ander onderwerp.
Dit is het opzetten van een webserver, geen gameserver.
Als iemand het weet, kan hij het mij misschien vertellen, maar ik denk niet dat ik er met een paar zinnen mee weg kom.

18/12/2010 Konstantin
Alles werkt voor mij, maar hoe kan ik ervoor zorgen dat mijn site op internet werkt?

21/12/2010 Alexey
XAMMP-regels)))

23/12/2010 Victor
Vertel me eens, is het mogelijk om uw website te hosten met HAMMR??? de site is gemaakt op het Yukoza-platform)) Ik wil dat schijf D wordt gebruikt als hosting voor mijn site!!

24/12/2010 beheerder
Victor, als je het Yukoza-script hebt, kun je de site hosten.

24.12.2010
Bedoel je script????? Ik moet films uploaden naar mijn D-schijf, zodat mensen ze via mijn website kunnen bekijken!! waarom een ​​script??

28-12-2010 Alexander
Geïnstalleerd.
Ik heb alles gedaan zoals je zei.
Bij het opstarten geeft hij aan dat de poort bezet is.
Ik heb alles gecontroleerd, de poort is vrij,
(gebruikte Windows Worms Doors Cleaner om te controleren en te zoeken... ook zonder resultaten. Help alstublieft...
(screenshot: http://imagepost.ru/images/419/21552347.jpg)

28/12/2010 Vitaly
Alexander, hoe zit het met Skype? Gebruik je het?
Zo ja, dan betekent dit dat poort 80 bezet is. Bekijk het eens.
Schakel in de Skype-instellingen het gebruik van poort 80 uit.

19/01/2011 Andrej
Vertel me, beste beheerder, is xamp sendmail slechts een emulator en verzenden ze niets per e-mail of is het geen emulator?:

Apache is de meest gebruikte internetserver op Linux-systemen. Internetservers worden gebruikt om internetpagina's op verzoek van clientcomputers aan te bieden. Klanten vragen en bekijken internetpagina's doorgaans met behulp van internetbrowserapplicaties zoals Firefox, Opera, Chromium of Mozilla.

Gebruikers voeren een Uniform Resource Locator (URL) in om een ​​internetserver te identificeren aan de hand van de volledige kwalificatie domeinnaam(FQDN) en pad naar de vereiste bron. Om bijvoorbeeld de startpagina van de Ubuntu-website te zien, hoeft de gebruiker alleen de FQDN in te voeren:

www.ubuntu.com

SymLinksIfOwnerMatch- Volgt symbolische verbanden als het doelbestand of de doelmap dezelfde eigenaar heeft als de link.

httpd-instellingen

In dit gedeelte worden enkele basiszaken behandeld configuratie-instellingen dienst httpd.

Bestand vergrendelen- De LockFile-instructie stelt het pad naar het lockfile in wanneer de server wordt gecompileerd met de optie USE_FCNTL_SERIALIZED_ACCEPT of USE_FLOCK_SERIALIZED_ACCEPT. Het moet op een lokale schijf worden opgeslagen. Het is de moeite waard om de standaardwaarde te laten staan, tenzij de logmap zich op een NFS-share bevindt. Anders oorspronkelijke waarde Het is de moeite waard om naar een lokale schijfmap te gaan met alleen leesrechten voor root.

PidBestand- de PidFile-instructie stelt een bestand in waarin de server zijn proces-ID (pid) schrijft. Dit bestand zou alleen leesbaar moeten zijn voor root. In de meeste gevallen moet deze parameter ongewijzigd blijven.

Gebruiker - Gebruiksinstructies stelt het gebruikers-ID in dat door de server wordt gebruikt om op verzoeken te reageren. Deze instelling bepaalt de toegangsrechten van de server. Bestanden die niet toegankelijk zijn voor deze gebruiker, zijn ook niet toegankelijk voor bezoekers van uw site. De standaardgebruiker is "www-data".

Groep- de groepsinstructie is vergelijkbaar met de gebruikersrichtlijn. Groep stelt de groep in waaronder de server op verzoeken zal reageren. De standaardwaarde is ook "www-data".

Apache2-modules

Apache2 is een modulaire server. Dit betekent dat alleen de meest basale functionaliteit in de kern van de server is opgenomen. Geavanceerde functies zijn beschikbaar via modules die in Apache2 kunnen worden geladen. Standaard basisset modules worden in de compilatiefase op de server opgenomen. Als de server is gecompileerd om dynamisch geladen modules te gebruiken, kunnen de modules afzonderlijk worden gecompileerd en op elk gewenst moment worden toegevoegd met behulp van de instructie Laadmodule. Anders moet Apache2 opnieuw worden gecompileerd om modules toe te voegen of te verwijderen.

Ubuntu compileert Apache2 met de mogelijkheid dynamische belasting modules. Configuratie-instructies kunnen worden opgenomen op basis van de aanwezigheid van de overeenkomstige module in het blok .

U kunt extra Apache2-modules installeren en deze gebruiken met uw internetserver. Voer bijvoorbeeld de volgende opdracht uit in een terminal om de MySQL-autorisatiemodule te installeren:

Sudo apt-get installeer libapache2-mod-auth-mysql

Zoek naar aanvullende modules in de map /etc/apache2/mods-available.

Gebruik het hulpprogramma a2enmod om de module in te schakelen:

Sudo a2enmod auth_mysql sudo service apache2 opnieuw opstarten

Op dezelfde manier zal a2dismod de module uitschakelen:

Sudo a2dismod auth_mysql sudo service apache2 opnieuw opstarten

HTTPS instellen

Module mod_ssl voegt toe belangrijke kans voor de Apache2-server - de mogelijkheid van gecodeerde verbindingen. Wanneer uw browser verbinding maakt via SSL, wordt daarom het voorvoegsel https:// gebruikt aan het begin van de URL in de navigatiebalk.

Module mod_ssl beschikbaar in het apache2-common-pakket. Voer de volgende opdracht uit in een terminal om deze module in te schakelen:

Sudo a2enmod ssl

De standaardinstellingen voor HTTPS staan ​​in het bestand /etc/apache2/sites-available/default-ssl. Om ervoor te zorgen dat Apache2 HTTPS levert, zijn ook sleutel- en certificaatbestanden vereist. De initiële HTTPS-installatie maakt gebruik van een certificaat en sleutel die zijn gegenereerd door het ssl-cert-pakket. Deze zijn prima om te testen, maar moeten worden vervangen door een certificaat dat overeenkomt met uw site of server. Zie de sectie Certificaten voor informatie over het maken van sleutels en het verkrijgen van certificaten.

Om Apache2 voor HTTPS te configureren, voert u het volgende in:

Sudo a2ensite standaard-ssl

De mappen /etc/ssl/certs en /etc/ssl/private worden standaard gebruikt. Als u het certificaat en de sleutel in andere mappen hebt geïnstalleerd, zorg er dan voor dat u de opties SSLCertificateFile en SSLCertificateKeyFile dienovereenkomstig wijzigt.

Nu Apache2 is geconfigureerd voor HTTPS, starten we de service opnieuw op om de nieuwe instellingen toe te staan:

Sudo-service apache2 opnieuw opstarten

Afhankelijk van hoe u uw certificaat heeft uitgegeven, moet u mogelijk deelnemen wachtwoordzin wanneer Apache2 start.

U kunt toegang krijgen tot de pagina's van de beveiligde server door https://uw_hostnaam/url/ in de adresbalk van uw browser te typen.

Rechten voor het delen van records

Om ervoor te zorgen dat meer dan één gebruiker schrijftoegang heeft tot dezelfde directory, moet u schrijftoegang verlenen aan de groep die hen verenigt. In het volgende voorbeeld wordt schrijfmachtiging verleend aan de directory /var/www voor de groep "webmasters".

Sudo chgrp -R webmasters /var/www sudo find /var/www -type d -exec chmod g=rwxs "()" \; sudo find /var/www -type f -exec chmod g=rws "()" \;

Als toegang moet worden verleend aan meer dan één groep per directory, gebruikt u Controlled Access Lists (ACL's).