Webbstackar
IIS, MySQL & PHP - Installationsguide (Windows 10)
Obs: Du måste vara inloggad i ett konto med administratörsrättigheter medan du utför anvisningarna i den här guiden.
För att slippa en krånglig konfiguration, börja med att ladda ner och installera den utmärkta textredigeraren Notepad++.
Installera IIS 10
Högerklicka på Windows-ikonen i aktivitetsfältet.
Fr.o.m Windows 10 version 1703 har alternativet Kontrollpanelen ersatts av alternativet Inställningar i menyn som öppnas när du högerklickar på Windows-ikonen i aktivitetsfältet. Kontrollpanelen finns dock kvar och det är enkelt att öppna dess startsida; i menyn som öppnas när du högerklickar på Windows-ikonen i aktivitetsfältet klickar du på alternativet Kör, skriv control i Öppna-textfältet och klicka på OK.
Gå till: Kontrollpanelen > Program > Program och funktioner.
Klicka på Aktivera eller inaktivera Windows-funktioner i navigeringslisten till vänster. Vänta tills listan med funktioner laddats klart.
Klicka i checkrutan vid Internet Information Services för att välja funktionen.
Expandera Internet Information Services genom att klicka på plustecknet till vänster om checkrutan.
Expandera World Wide Web-tjänster.
Expandera Programutvecklingsfunktioner.
Klicka i checkrutan vid CGI för att välja funktionen.
Expandera Webbhanteringsverktyg.
Klicka i checkrutan vid IIS-hanteringskonsol för att välja funktionen.
Klicka på OK.
Vänta medan Windows utför ändringar i funktioner.
Testa installationen:
Starta en webbläsare, skriv 127.0.0.1/ i adressfältet och tryck Enter. Om allt fungerar visar webbläsaren IIS 10:s välkomstsida.
Installera MySQL 5.7.20 (64-bitars)
Gå till: http://dev.mysql.com/downloads/
Klicka på länken MySQL Community Server.
Scrolla ner till sektionen MySQL Community Server 5.7.20
Om alternativet inte är förvalt, välj Microsoft Windows i Select Platform drop-downmenyn.
I listan med filer tillgängliga för nedladdning, klicka på Download-knappen vid alternativet Windows (x86, 64-bit), ZIP Archive.
Klicka på länken No thanks, just start my download (länken finns nedanför Login / Sign Up-knapparna).
När nedladdningen är klar, stäng nedladdningsfönstret/listen och gå till mappen där mysql-5.7.20-winx64.zip sparats.
Packa upp mysql-5.7.20-winx64.zip och kopiera mappen mysql-5.7.20-winx64 till C:\.
Skapa en knutpunkt till mysql-5.7.20-winx64:
Starta Kommandotolken (högerklicka på Windows-startknappen, klicka på alternativet Kommandotolken) och kör följande kommandon:
cd \ C:\>mklink /J mysql mysql-5.7.20-winx64
Stäng Kommandotolken.
Skapa och redigera konfigurationsfilen my.ini:
Öppna textredigeraren Notepad++, skapa en ny fil och spara den som my.ini (Filformat: All types(*.*)) i mappen mysql-5.7.20-winx64.
I mappen mysql-5.7.20-winx64, skapa en ny mapp och döp den till uploads
I den nya filen my.ini, redigera sektionen [mysqld] så innehållet i sektionen stämmer överens med exemplet nedan.
basedir = "C:\\mysql-5.7.20-winx64" datadir = "C:\\mysql-5.7.20-winx64\\data" port = 3306 server_id = 1 explicit_defaults_for_timestamp secure_file_priv = "C:\\mysql-5.7.20-winx64\\uploads"
Spara ändringarna och stäng Notepad++.
Mer info om my.ini: Creating an Option File (MySQL Server Documentation)
Initiera mysql-5.7.20:
Kör Kommandotolken som administratör och kör följande kommandon.
cd \ cd mysql-5.7.20-winx64\bin C:\mysql-5.7.20-winx64\bin>mysqld --defaults-file=C:\mysql-5.7.20-winx64\my.ini --initialize-insecure
Parametern --initialize-insecure innebär att MySQL-servern initieras utan att ett lösenord skapas för root-kontot.
Vänta tills operationen slutförts. Det kan ta en stund.
Testa installationen:
För att starta MySQL-servern, kör följande kommandon i Kommandotolken:
cd \ C:\>cd mysql\bin C:\mysql\bin\>mysqld --console
Om ett fönster med en säkerhetsvarning visas, tillåt mysqld att kommunicera i privata nätverk och klicka på Tillåt åtkomst-knappen för att fortsätta.
Starta en ny instans av Kommandotolken så att ett nytt Kommandotolken-fönster öppnas. Arbeta med MySQL i det nya fönstret. För att logga in i MySQL-servern, kör följande kommandon:
cd C:\mysql\bin C:\mysql\bin\>mysql -u root -p
Eftersom inget lösenord för root-kontot har skapats ännu, tryck bara Enter vid raden Enter password:
Om allt fungerar ska du ny vara inloggad och vid MySQL-prompten:
mysql>
Vid MySQL-prompten, kör följande kommando:
show databases;
Du borde se något som liknar detta:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)
Skapa ett lösenord för root-kontot
Vid MySQL-prompten, kör något av följande kommandon (byt ut password mot det lösenord du vill använda):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
eller
ALTER USER USER() IDENTIFIED BY 'password';
Mer info: https://dev.mysql.com/doc/refman/5.7/en/assigning-passwords.html
Nästa gång du använder kommandot
mysql -u root -p
för att logga in, använder du det nya lösenordet.
När du är klar, kör följande kommando vid MySQL-prompten:
exit;
Detta loggar ut dig från servern. Stäng Kommandotolkenfönstret.
Aktivera det Kommandotolkenfönster i vilket du startade MySQL-servern och tryck ner tangenterna Ctrl+C för att stänga av MySQL-servern.
När servern stängts av kan du stänga Kommandotolkenfönstret.
Om du inte vill starta MySQL-servern manuellt varje gång databasen ska användas kan du installera MySQL-servern som en Windows-tjänst.
För att göra detta; kör Kommandotolken som administratör och följ därefter exemplet nedan.
cd \ cd mysql-5.7.20-winx64\bin mysqladmin -u root shutdown mysqld --install
Tjänsten MySQL installeras. När installationen är klar får du ett meddelande om att installationen lyckats.
Nu måste du starta tjänsten manuellt.
För att starta tjänsten, kör följande kommando i Kommandotolken:
net start MySQL
Hädanefter kommer tjänsten att starta automatiskt varje gång du startar datorn.
Installera PHP (64-bitars)
OBS: För att PHP 7.2.0 ska fungera krävs att du har Visual C++ Redistributable for Visual Studio 2017 (64-bitarsversionen) installerat.
Visual C++ Redistributable for Visual Studio 2017-installationsfilen (vc_redist.x64.exe) hittar du här:
Visual C++ Redistributable for Visual Studio 2017
Visual C++ Redistributable for Visual Studio 2017
I rullgardin-menyn Select Language är alternativet engelska (English) förvalt. Välj det alternativet.
Ladda ner och packa upp php-7.2.0-nts-Win32-VC15-x64.zip
Gå till: http://windows.php.net/download/
I PHP 7.2 (7.2.0)-sektionen, klicka på Zip-länken i VC15 x64 Non Thread Safe-subsektionen.
Ladda ner filen php-7.2.0-nts-Win32-VC15-x64.zip.
Skapa en ny mapp under C:\ och döp mappen till php.
I mappen till vilken du laddat ner php-7.2.0-nts-Win32-VC15-x64.zip, skapa en ny mapp, ge den namnet php-7.2.0 och kopiera php-7.2.0-nts-Win32-VC15-x64.zip dit.
Packa upp php-7.2.0-nts-Win32-VC15-x64.zip i mappen php-7.0.1 och kopiera filerna till C:\php.
Redigera php.ini
I mappen C:\php folder finns en fil med namnet php.ini-production. Döp om den till php.ini.
Klicka Ja för att godkänna att namnet ändras.
Starta Notepad++ och öppna php.ini-filen.
I sektionen Paths and Directories, sätt sökvägen för doc_root till "C:\Inetpub\wwwroot" sökvägen för extension_dir till "C:\php\ext":
doc_root = "C:\Inetpub\wwwroot" extension_dir = "C:\php\ext"
I sektionen Paths and Directories, ställ även in cgi.force_redirect, cgi.fix_pathinfo, fastcgi.impersonate och fastcgi.logging enligt exemplen nedan. Dessa inställningar styr hur FastCgiModule hanterar PHP-förfrågningar.
cgi.force_redirect = 0 cgi.fix_pathinfo = 1 fastcgi.impersonate = 1 fastcgi.logging = 0
För att aktivera stöd för MySQL, avkommentera följande rad i sektionen Dynamic Extensions:
;extension=mysqli
I sektionen Module Settings, sätt date.timezone till den tidszon som bäst motsvarar din geografiska placering (t.ex Europe/Stockholm). För en lista över de tidszoner som kan användas, gå till http://php.net/manual/en/timezones.php
date.timezone = "Europe/Stockholm"
Spara ändringarna och stäng Notepad++.
Lägg till stöd för PHP i IIS
Högerklicka på Windows Start-knappen.
Klicka på alternativet Kör, skriv inetmgr i textfältet och klicka på OK. Internet Information Services (IIS)-hanteraren öppnas.
I Internet Information Services (IIS)-hanterarenfönstret, dubbelklicka på Hanteramappningar.
I den högra navigeringslisten (Åtgärder), klicka på länken Lägg till modulmappning...
I Lägg till modulmappning-fönstret:
Skriv *.php i Sökväg för begäran-textfältet.
Öppna Modul-drop downmenyn and och klicka på FastCgiModule för att välja den modulen.
Klicka på Bläddraknappen vid Körbar fil (tillval) och gå till C:\php.
I Öppna-fonstret, öppna drop down-menyn för filtyp och klicka på (*.exe) för att välja den filtypen.
Klicka på php-cgi för att välja den filen och klicka sedan på Öppna-knappen.
I Namn-textfältet, döp modulmappningen till något beskrivande, som PHP7-FastCgi (det kommer att bli phpmodulens namn i
Handler Mappings module list). Klicka på OK.
Om det visas en förfrågan om du vill skapa ett FastCGI-program för den körbara filen, klicka Ja.
I listan över Hanterarmappningar, klicka på PHP7-FastCgi för att markera modulen.
I den högra navigeringslisten (Åtgärder), klicka på länken Redigera...
Klicka på knappen Begränsningar för begäran.
Under fliken Mappning, klicka i checkrutan vid Anropa hanterare endast om begäran mappas till: för att välja funktionen.
Klicka sedan i radioknappen Fil eller mapp för att välja det alternativet.
Klicka på OK.
Klicka på OK.
Om det visas en förfrågan om du vill skapa ett FastCGI-program för den körbara filen, klicka Ja.
Följande steg i guiden utgår från att du använder webbplatsen Default Web Site.
Återanvänd programpool
I Internet Information Services (IIS)-hanterarenfönstret, i den vänstra kolumnen (Anslutningar):
Klicka på pilen till vänster om servernamnet för att visa underkategorierna.
Klicka på pilen till vänster om Webbplatser för att visa de webbplatser som finns på IIS-servern.
Klicka på Default Web Site för att markera den webbplatsen.
I den högra navigeringslisten (Åtgärder), klicka på länken Avancerade inställningar...
Kontrollera vilken programpool webbplatsen använder (standard är DefaultAppPool).
Klicka på OK för att stänga Avancerade inställningar-fönstret.
I den vänstra kolumnen (Anslutningar), klicka på Programpooler. En lista över de programpooler
som finns på IIS-servern visas i mitten av (IIS)-hanterarenfönstret.
Klicka på den programpool Default Web Site använder.
I den högra navigeringslisten (Åtgärder), klicka på Återanvänd...
Testa installationen
Starta Notepad++ och kopiera in följande:
<?php
phpinfo();
?>
Döp dokumentet till phpinfo.php (var noga med att välja Alla filer som filtyp så att filen inte får dubbla filändelser) och spar dokumentet in din användarmapp. Kopiera sedan phpinfo.php till C:\Inetpub\wwwroot. Du behöver godkänna att filen kopieras till C:\Inetpub\wwwroot. Klicka på Fortsätt när du bli ombedd.
Starta en webbläsare och skriv in sökvägen till filen i webbläsarens adressfält (ex: 127.0.0.1/php/phpinfo.php).
Om allt fungerar ska information om din PHP-installation visas i webbläsarfönstret.
En påminnelse: För att webbservern ska kunna nås från andra datorer i ditt LAN, behöver du konfigurera Windows brandvägg så att den tillåter inkommande HTTP-trafik. När man arbetar med IT-relaterade grejor, händer det då och då att man glömmer det mest uppenbara. :) OK:
Högerklicka på Windows-startknappen.
Gå till: Kontrollpanelen > System och säkerhet > Windows-brandväggen.
Klicka på Avancerade inställningar i den vänstra navigeringslisten.
I fönstret Windows-brandväggen med avancerad säkerhet, klicka på Regler för inkommande trafik i den vänstra navigeringslisten.
Vänta medan listan laddas.
Scrolla ner till regeln World Wide Web Services (inkommande HTTP-trafik), (World Wide Web Services (HTTP), Privat).
Klicka på regeln för att välja den.
Högerklicka på regeln och klicka på Aktivera regel i menyn som öppnas.
När regeln har aktiverats (Aktiverad-status är Ja), stäng fönstret Windows-brandväggen med avancerad säkerhet.
Stäng fönstret Windows-brandväggen.
Klart! :)