Instalare IIS

Câteva lămuriri înainte. Internet Information Services (IIS) – denumit anterior Internet Information Server – reprezintă un set de servicii de Internet destinate serverelor produse de Microsoft şi care folosesc sistemul Microsoft Windows. Acesta este al doilea cel mai popular server web, fiind devansat doar de liderul industriei Apache HTTP Server. În prezent, serverele includ protocoale precum FTP, FTPS, SMTP, NNTP, şi HTTP/HTTPS.

În acest tutorial nu o să discut despre diferenţele şi avantajele celor 2 tipuri (IIS şi Apache) ci o să mă axez strict pe instalarea şi configurarea serverului IIS. Instalarea prezentată aici este facută pe windows 7 dar nu există decât mici diferenţe faţă de celelalte versiuni ale sistemului de operare.

Deci să începem.

Kit-ul de instalare se descarcă gratuit de aici. O să folosim Microsoft Web Platform Installer (Web PI), care este o sculă gratuită ce ne ajută să descărcăm ultimele actualizări pentru IIS, MSSQL, .NET Framework şi altele. După ce am descărcat kit-ul (fişierul wpilauncher.exe) dăm clik pe el şi începem instalarea.

Pasul 1 – selectarea componentelor pentru instalare

pasul 1 - selectarea componentelor pentru instalarea IIS

Din fereastra curentă (Web Platform) selectăm Web Server şi dăm clik pe “Customize” pentru a selecta componentele de care avem nevoie (recomand să le selectaţi pe toate) după care avem sus link “Back to Web Platform”, dăm clik pe el pentru a include la instalare ce mai avem nevoie.

selectare componente pentru web server

Selectăm în continuare Frameworks and Runtimes după care facem la fel clik pe “Customize” şi selectăm componentele de care avem nevoie (recomand toate), după care înapoi la “Back to Web Platform”

selectare componente frameworks

Selectăm apoi Database şi la fel componentele de care avem nevoie

selectare componente pentru baya de date

Ultimul de selectat este “Tools” şi componentele respective.

componentele pentru tools

După ce am selectat tot ar trebui să aveti toate componentele bifate ca în imaginea de mai jos:

selectare componente web platform iis

Pasul 2 – “What’s New?” – vedem ce ne trebuie şi de acolo şi le selectăm.

selectare componente aditionale

Atenţie aici la ce selectaţi pentru că după instalare va fi nevoie să le configuraţi.

Pasul 3 – alegerea aplicaţiilor web preinstalate – “Web Applications”

selectarea aplicatiilor web preinstalate

Bănuiesc că o să alegeţi Joomla şi eventual WordPress pe care va trebui să le configuraţi după instalare.

Bun, după ce aţi selectat cam tot ce vă trebuie pasul următor este instalarea propriuzisă.

Pasul 4 – Install – clik pe butonul “Install” şi va apărea o fereastră ca cea de mai jos în care vedeţi toate componentele selectate şi dacă sunteţi sigur că asta e tot daţi clik pe butonul “I Accept” iar dacă nu atunci clik pe celalalt buton şi adăugaţi sau scoateţi ce elemente doriţi.

ultima sansa inaintea instalarii

Dacă aţi selectat şi instalarea lui SQL Server Express va trebui să specificaţi acum tipul de autentificare şi parola de acces:

autentificare sql

La fel vă întreabă şi dacă aţi specificat instalarea MySQL:

parola mysql pentru iis

Pasul 5 – descărcarea aplicaţiilor specificate şi instalarea lor

După ce aţi specificat parole şi ce va mai cerut el acolo, începe să descarce de pe internet toate aplicaţiile bifate anterior şi le instalează. Acest pas durează ceva timp şi ocupă multe resurse, aşa că între timp puteţi să va uitaţi la televizor sau să ieşiti pe afară, până vă întoarceţi e posibil să nu fi terminat 😛 (la mine în cadrul acestui test pe un sistem virtual a durat ceva mai mult de o oră – oare cine m-a pus să bifez toate prostiile 😀 )

descarcare aplicatii si instalare

La sfârşit vi se va cere să restartaţi sistemul pentru a se iniţializa noile componente instalate. După restartare este posibil să continuie cu instalarea aplicatiilor adiţionale şi probabil vi se va cere să restartaţi sistemul de mai multe ori.

Pasul 6 – configurare

Ultima parte a instalării trebuie să specificaţi căile pentru aplicaţiile specificate la instalare precum şi numele fiecărei aplicaţii în parte.

site information

Dacă lasaţi selectat “Default Web Site” atunci serverul va rula pe portul 80 iar directorul de lucru va fi C:\inetpub\wwwroot\
Dacă doriţi să specificaţi alte date selectaţi din acea fereastră “New Web Site” şi apoi puteţi specifica port diferit si altă locaţie pe harddisk. Atenţie ce user şi parole treceţi la fiecare pentru că altfel nu le mai puteţi accesa decât dacă modificaţi direct din baza de date user şi parola de acces.

setarea numelui serverului si a aplicatiilor

Pasul 7 – instalare aplicaţii web

După configurarea aplicaţiilor specificate iniţial urmează acum instalarea lor pe serverul IIS şi crearea tabelelor în baza de date pentru fiecare aplicaţie în parte.

instalare aplicatii web pe server

Dacă totul a decurs ok, la final o să vă apară o fereastră în care se specifică ce anume sa instalat.

log instalare iis

Apăsăm pe butonul “Finish” şi ne trezim iar la pasul iniţial unde putem selecta alte aplicaţii web pentru a le instala dacă dorim. Puteţi da clik pe butonul “Exit” în acest moment şi apoi să restartaţi calculatorul.

În orice caz, după ce se termină de instalat tot şi îi daţi restartare, puteţi verifica serverul în browser accesând adresa http://localhost/ şi ar trebui să vedeţi o pagină asemănătoare cu cea de mai jos:

rulare iis in browser

Pasul 8 – Hello Word

În continuare vom crea un script php şi un script asp de test pentru a vedea că rulează pe serverul nou instalat.
Creaţi un director nou în C:\inetpub\wwwroot\ să zicem spre exemplificare directorul TEST
Daţi clik dreapta pe el şi setaţi drepturile de acces şi de scriere în acest director (dacă sunteti în windows XP nu trebuie).

setare drepturi de acces

În acest director salvăm un fişier test.php în care scriem ceva de test, de exemplu:

helo word php in iis

Mai departe deschidem browserul şi testăm scriptul:

helo word php in browser pe server iis

La fel putem face şi cu un script asp:

hello word in asp pe server iis

Pentru a accesa baza de date MSSQL sau MySQL aveţi deja instalate câteva unelte minimale, dar vă recomand să instalaţi sculele cu care sunteţi obişnuiti să lucraţi când accesaţi baza de date.

mssql si mysql query tools

Sper ca mica mea introducere în IIS va făcut curioşi şi vă las pe voi să exploraţi mai departe.

Resurse utile

Read more...

IIS Manager

IIS Manager reprezinta panoul de administrare al IIS. Mai jos avem versiunile IIS corespunzatoare fiecarui sistem de operare.

Sistem de operareVersiune IIS
Windows Server 2008 R2, Windows 7IIS 7.5
Windows Server 2008, Windows VistaIIS 7.0
Windows Server 2003, Windows XP Professional x64 EditionIIS 6.0
Windows XP ProfessionalIIS 5.1
Windows 2000IIS 5.0

Puteti porni IIS Manager folosind introducand inetmgr in fereastra Run…

In momentul in care deschideti IIS Manager veti gasi lista de facilitati. Acestea pot fi diferite de la o versiune la alta sau de la un sistem de operare la altul.

IIS

  • Authentication
  • CGI
  • Compression
  • Default Document
  • Directory Browsing
  • Error Pages
  • Failed Request Tracing Rules
  • Fast CGI Settings
  • Handler Mappings
  • HTTP Response Headers
  • ISAPI and CGI Restrictions
  • Logging
  • MIME Types
  • Modules
  • Output Caching
  • Request Filtering
  • Server Certificates
  • URL Rewrite
  • Worker Processes

Management

  • Configuration Editor
  • Database Manager
  • Feature Delegation
  • Shared Configuration

CGI

Puteti configura setarile de baza ale CGI.

Compression

Facilitatea Compression permite setarea nivelului compresiei si prin aceasta imbunatatirea performantei si reducerea latimii de banda.

Default Document

Aveti posibilitatea de a seta fisierele implicite si ordinea in care sunt cautate ele in directorul cerut in momentul in care nu se specifica fisierul.

Error Pages

Prin intermediul acestei facilitati se pot configura paginile de eroare HTTP.

Failed Request Tracing Rules

Puteti urmari codurile de eroare generate sau momentele in care anumite cereri depasesc timpul prestabilit.

Putem seta sa urmarim toate paginile sau doar anumite pagini (de exemplu *.php)


Pasul urmator ne da posibilitatea sa alegem ce conditii trebuie sa indeplineasca cererea pentru a putea fi urmarita:

  • sa aiba un anumit status code (ex: 404, 405, etc)
  • cererea sa nu depaseasca un numar prestabilit de secunde
  • eroare generata sa aiba un anumit nivel de severitate.

FastCGI Settings

IIS Manager ofera posibilitatea de a configura parametrii FastCGI (Max. Instances, Instance Max. Requests, etc.)

Handler Mappings

Pentru fiecare tip de cerere putem seta executabilul, DLL-ul, resursa care va trata aceea cerere.

Logging

Se pot configura logurile generate de IIS intr-un mod simplu.

MIME Types

Lista de tipuri de fisiere cu extensiile asociate care sunt procesate ca fisiere statice de catre IIS. Acestea se pot configura globale sau pe fiecare site in parte.

Output Caching

IIS Manager permite setarea unui cache care poate stoca continutul paginilor dinamice PHP in memorie, rezultand o imbunatatire a performantei de vreme ce nu este necesar ca scriptul sa fie rulat la fiecare cerere.

Request Filtering

Request Filtering reprezinta o facilitate de securitate, noua in IIS 7, care inlocuieste add-on-ul UrlScan din IIS 6.0. Se pot bloca cereri web in functie de extensia fisierului cerut, URL-ul, header, etc. In momentul in care o cerere este blocata, IIS 7 returneaza o eroare 404 catre client si inregistreaza in log-uri starea 404 impreuna cu substare care identifica motivul pentru care s-a blocat cererea.

HTTP SubstatusDescription
404.5URL Sequence Denied
404.6Verb Denied
404.7File Extension Denied
404.8Hidden Namespace
404.10Request Header Too Long
404.11URL Double Escaped
404.12URL Has High Bit Chars
404.13Content Length Too Large
404.14URL Too Long
404.15Query String Too Long
404.18Query String Sequence Denied
404.19Denied by Filtering Rule

Server Certificates

Aceasta facilitate permite managementul certificatelor pe care IIS le foloseste pentru site-urile configurate cu SSL.

URL Rewrite

Permite setarea regulilor URL Rewrite (similar mod_rewrite din Apache)

Worker Processes

Permite vizualizarea proceselor care ruleaza pe IIS. Pe fiecare proces in parte se poate vedea, de asemenea, cererile asociate.

Configuration Editor

Permite modificarea tuturor sectiunilor din cadrul fisierelor de configurare IIS.

Feature Delegation

Feature Delegation permite:

  • setarea sectiunilor din fisierul de configurare web.config care pot fi modificate.
  • setarea utilizatorilor care au drepturi sa administreze IIS Manager si a site-urilor pe care au drepturi de configurare.

Shared Configuration

Aceasta facilitate permite ca mai multe servere web sa partajeze acelasi fisier de configurare (applicationhost.config). Applicationhost.config.xml este principalul fisier de configurare din IIS7, care contine toate informatiile referitoare la site-uri, directoare virtuale, aplicatii si setari globale ale serverului web.

Resurse

http://learn.iis.net/page.aspx/113/getting-started-with-iis-manager/
http://learn.iis.net/page.aspx/159/configuring-remote-administration-and-feature-delegation-in-iis-70/
Read more...

Instalare PHP/IIS. Exemplu aplicat pe WP Installer si phpMyAdmin

Instalare WordPress pe IIS

WordPress este o aplicatie de publicare de bloguri. Cea mai simpla cale de a instala WordPress este de a-l descarca de pe Windows Web App Gallery, sectiunea Blogs.

Instalarea s-a facut pe urmatoarea configuratie:

  • Windows 7
  • IIS 7.5
  • PHP 5.3.2
  • MySQL 5.1.41
  • WordPress 2.9.2

Download

Ultima versiunea poate fi descarcata de la adresa: http://wordpress.org/download/. Dezarhivati fisierele in directorul C:\Inetpub\wwwroot\wordpress sau alt director pe care il doriti.

Baza de date

Creati o baza de date pentru WordPress. De asemenea creati un utilizator care sa aiba drepturi pe aceea baza de date.

Fisierul de configurare

In directorul C:\Inetpub\wwwroot\wordpress redenumiti fisierul wp-config-sample.php in wp-config.php.

Modificati apoi in fisierul wp-config.php

  • DB_NAME – numele bazei de date
  • DB_USER – numele utilizator cu drepturi pe baza de date
  • DB_PASSWORD – parola utilizator
  • DB_HOST – localhost daca se afla pe acelasi server sau IP-ul serverului in caz ca se afla pe alt server
  • AUTH_KEY, SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY- chei unice

<?

define(‘DB_NAME’, ‘wordpress’);

/** MySQL database username */
define(‘DB_USER’, ‘nume_utilizator_cu_drepturi_pe_baza_de_date_wordpress’);

/** MySQL database password */
define(‘DB_PASSWORD’, ‘parola_utilizator’);

/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’);

** Database Charset to use in creating database tables. */
define(‘DB_CHARSET’, ‘utf8’);

/** The Database Collate type. Don’t change this if in doubt. */
define(‘DB_COLLATE’, ”);

/**#@+
* Authentication Unique Keys.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define(‘AUTH_KEY’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
define(‘NONCE_KEY’, ‘put your unique phrase here’);
/**#@-*/

/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each a unique
* prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = ‘wp_’;

/**
* WordPress Localized Language, defaults to English.
*
* Change this to localize WordPress. A corresponding MO file for the chosen
* language must be installed to wp-content/languages. For example, install
* de.mo to wp-content/languages and set WPLANG to ‘de’ to enable German
* language support.
*/
define (‘WPLANG’, ”);

/* That’s all, stop editing! Happy blogging. */

/** Absolute path to the WordPress directory. */
if ( !defined(‘ABSPATH’) )
define(‘ABSPATH’, dirname(__FILE__) . ‘/’);

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . ‘wp-settings.php’);
?>

Instalare

Accesati linkul http://localhost/wordpress/wp-admin/install.php

Dupa instalare se va genera o parola pentru utilizatorul admin. cu care puteti intra in contul de administrator.

Intrati cu numele de utilizator si parola creata in contul de administrator.

Dupa ce veti intra in contul de administrator ecranul va arata ca in imaginea urmatoare.

Rewrite URL

Pentru a crea “linkuri prietenoase” este necesar sa mai faceti cateva modificari.

Intrati in contul de administrator la adresa: http://localhost/wordpress/wp-admin/ si accesati meniul Permalinks de unde selectati unul din formatele existente.

Am ales in acest exemplu: http://localhost/wordpress/2010/04/sample-post/ si salvati.

Creati fisierul web.config (daca nu exista) in acelasi director in care e instalat WordPress si introduceti urmatoarea regula:

<?xml version=”1.0″ encoding=”UTF-8″?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=”Main Rule” stopProcessing=”true”>
<match url=”.*” />
<conditions logicalGrouping=”MatchAll”>
<add input=”{REQUEST_FILENAME}” matchType=”IsFile” negate=”true” />
<add input=”{REQUEST_FILENAME}” matchType=”IsDirectory” negate=”true” />
</conditions>
<action type=”Rewrite” url=”index.php” />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

Puteti observa in IIS Manager regulile sub forma:

Salvati si acum puteti vedea in browser rezultatul:

Instalare phpMyAdmin

phpMyAdmin reprezinta o aplicatie scrisa in PHP pentru administrarea bazelor de date MySQL.

Download

Ultima versiunea poate fi descarcata de la adresa: http://www.phpmyadmin.net/home_page/downloads.php. Dezarhivati fisierele in directorul C:\Inetpub\wwwroot\phpmyadmin sau alt director pe care il doriti.

Baza de date

Creati o baza de date pentru phpMyAdmin. De asemenea creati un utilizator care sa aiba drepturi pe aceea baza de date.

Fisierul de configurare

In directorul C:\Inetpub\wwwroot\phpmyadmin redenumiti fisierul config.sample.inc.php in config.inc.php.

Modificati urmatoarele variabile din fisierul de configurare:

//Necesar pentru decriptarea cookie-urilor. Ar trebui sa fie cat mai complex.
$cfg[‘blowfish_secret’] = ”;

//Vom seta o autentificare bazata pe cookie
$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;

Acum accesati http://localhost/phpmyadmin/ si introduceti utilizatorul si parola:

Daca numele de utilizator si parola sunt in regula veti vedea urmatorul ecran.

Resurse

http://learn.iis.net/page.aspx/724/install-and-configure-php/
http://learn.iis.net/page.aspx/280/install-wordpress-on-iis/

Read more...