Denwer (server web local). Implementarea unui server local pe Windows

Timp de mulți ani, am avut Linux pe laptop și întotdeauna am rulat un server web pe el pentru a testa site-uri, a termina șabloane și așa mai departe. Dar timpul merge înainte, astăzi sistemul meu principal este Windows 10, deoarece Linux, deși mai bun, nu poate rula multe programe necesare în el. Și astăzi m-am confruntat cu o întrebare: cum se instalează un server local pe Windows?

Necesitatea a apărut după ce am descoperit (cu groază) că pe acest blog sunt mai mult de șapte H1-uri în fiecare articol - acesta este un COȘMAR! Două H1-uri pe o singură pagină sunt deja rele, dar aici sunt atât de multe!

După cum puteți vedea, toate anteturile din bara laterală din șablonul meu sunt realizate folosind H1 - programatorul care a scris șablonul și-ar smulge mâinile, în mod clar nu este familiarizat cu elementele de bază ale SEO.

Dar ce legătură au anteturile și serverul web cu asta? Și conexiunea este aceasta: toate site-urile mele sunt stocate în cache în afara serverului, pe server și, de asemenea, . Schimb ceva pe site, dar nu văd rezultatul sau îl văd doar după un timp. După cum vă puteți imagina, acest lucru este foarte incomod!

În plus, nu este foarte bine să chinuiți site-ul în timp ce funcționează, oamenii îl citesc acolo și iată experimentele mele. Prin urmare, am decis să instalez acum un server web pentru Windows pentru a remedia acest jamb, și apoi toate celelalte, sunt încă destule, cred, deoarece un astfel de pix maestru mi-a făcut șablonul 😉

Cum se instalează serverul Apache pe Windows?

În Linux, totul a fost făcut simplu, am descris cum să instalez serverul web LAMP acolo în ACEST articol. Acesta este un mediu străin pentru mine, am auzit doar despre Denwer, dar nu am lucrat niciodată cu el. Dar după cum sa dovedit, nu numai că îl puteți folosi pentru a instala serverul Apache pe Windows, ci există și XAMPP .

Nu voi descrie modul în care este descifrat și cum funcționează totul în interior, pentru mine principalul lucru este că totul funcționează DELAT. Totul este încă în rusă, ceea ce este frumos. Totul este disponibil și pentru platformele principale, ceea ce este și mai plăcut, întrucât ultima versiune de Apache pe Linux mi-a adus multe bătăi de cap, m-am săturat să o instalez. Descărcați pachetul de care avem nevoie și instalați-l.

Nu am descărcat cea mai recentă versiune, m-am hotărât pe cea din mijloc, totul nou are tendința de a se defecta și de a arăta incompatibilitate. L-am descărcat și am observat imediat pe site că există și pluginuri pentru acest server web, de exemplu, WordPress-ul meu preferat. Iată pagina de pe care se poate descărca extensii pentru server web pe Windows XAMMP.

Și apoi dezvoltatorii avertizează (traducere automată) că multe lucruri nu vor funcționa cu a șaptea versiune de PHP - despre asta vorbeam, despre ce m-am simțit. Descarc suplimentul WordPress, este singurul de care am nevoie pentru moment și îl instalez. Și uite aici:

Programul ne oferă să instalăm o grămadă de gunoaie inutile care îmi vor încetini computerul: am nevoie doar de Apache, MySQL, phpMyAdmin și PHP. Pur și simplu nu am nevoie de orice altceva, așa că am debifat casetele suplimentare.

Vă sfătuiesc să instalați serverul web Apache pentru Windows pe unitatea D, nu C, dacă apoi reinstalați sistemul, toate fișierele vor fi salvate. Acum instalez add-on-ul WordPress. La instalare, specificați limba rusă. În continuare, obținem această fereastră - trebuie să configurați propriul server web.

Dar nimic nu a funcționat pentru mine imediat și am înțeles de ce - nu am pornit serverul web în sine. Așa că m-am dus la meniu, am găsit comanda rapidă de server și am văzut această fereastră:

Am pornit manual serverul (butoane strat) și m-am gândit: cât de bine este că serverul nu pornește când pornește computerul, așa cum a fost în Linux - memoria nu este de cauciuc și nu sunt necesare procese inutile, pentru că nu voi folosiți serverul în fiecare zi!

Ei bine, treaba este gata, acum trebuie să încărcați tema și toate pluginurile pe ea și să începeți să o faceți perfectă. Așa am instalat serverul web Apache pentru Windows în 10 minute (fără a conta scrierea articolului). Totul este mai simplu decât credeam.

Da, ceea ce este, de asemenea, important, WordPress însuși se află aici - D:\DOSARUL SERVER\apps\wordpress\htdocs - nu a fost atât de ușor de găsit, așa că vă voi face mai ușor 😉

Voi scrie despre toate nuanțele de lucru cu el în comentarii; dacă nu funcționează, întrebați, voi încerca să vă ajut!

SFATUL WEBMASTER: Capacitatea de a face bani pe Internet este doar jumătate din luptă, cealaltă jumătate este capacitatea de a scoate bani electronici în mod PROFIT. Iată o listă de carduri bancare offshore din care puteți retrage fonduri și apoi să retrageți facturi clare de pe ele:

1. Payoneer- Cel mai popular sistem de plată din lume pentru freelanceri. Emite carduri, situate în SUA.

2. EpayService- Sistemul de plată american, foarte popular în multe țări, oferă un card MasterCard în EVRO gratuit pentru rezidenții CSI și Europa.

3. Skrill- Singurul sistem de plată care funcționează cu criptomonede și în același timp emite carduri bancare MasterCard gratuite.

4. AdvCash- Banca offshore este situată în Belize, puteți deschide un cont în dolari, euro, lire sterline și ruble.

5. Payeer- Sediul acestui sistem de plată este situat în Georgia, aici puteți deschide și un cont în dolari, euro și ruble.


Domeniul RU - 99 RUR
Domeniul RF - 99 RUR

Bună ziua, astăzi vom vorbi despre alegerea și crearea unui server local pe computerul dvs. (localhost), de care orice webmaster are nevoie pentru a testa un site dinamic (modulele sale, pluginurile, temele, șabloanele, actualizările de motor etc.) pe un computer, și nu pe un serviciu de găzduire pe Internet, adică poți testa site-ul chiar și fără conexiune la Internet.

Puteți descărca sursele articolului de mai jos

Site-urile de pe motoare (wordpress, joomla, Bitrix etc.) sunt site-uri dinamice, spre deosebire de site-urile statice - nu pot fi deschise pe un computer printr-un browser obișnuit, pentru a le edita și vizualiza trebuie să instalați un server local (localhost) pe dvs. computer - „program” - care va crea găzduire pe computerul dvs. - după care veți putea vizualiza site-ul dinamic printr-un browser obișnuit, chiar și fără o conexiune la internet.

Ce server local (localhost) ar trebui să aleg?

1. Denwer (Denver) („denwer.ru/”)

Denver – server local gratuit pentru Windows.
Creat de programatori ruși!
Site-ul conține un videoclip în limba rusă despre instalarea și configurarea unui server local - Denver.
Proiectul acceptă donații - așa că merită să sprijiniți producătorul autohton!

2. MAMP („mamp.info/en/”)
MAMP înseamnă Macintosh, Apache, MySQL și PHP.
MAMP este gratuit, dar există și o versiune plătită care vă permite să instalați modul multisite pentru WordPress (MultiSite).
MAMP dezvoltat pentru sistemul de operare OS X(succesorul Mac OS de la Apple), dar există și o versiune beta disponibilă pentru Windows.

3. XAMPP („apachefriends.org/ru/index.html”)
XAMPP este cel mai popular mediu de dezvoltare PHP, așa este gratuit și open source, dezvoltat pentru Windows, OS X și Linux.
Vă permite să creați site-uri WordPress MultiSite.

Site-ul web și instrucțiunile pentru XAMPP au fost traduse în multe limbi, inclusiv rusă.

Acest produs are o extensie pentru diferite motoare numită – Bitnami este un instrument gratuit all-in-one pentru instalarea Drupal, Joomla, WordPress etc.

„bitnami.com/”

Pe ce platforme funcționează Bitnami:

Sisteme de operare: Windows, OS X și toate distribuțiile Linux, inclusiv Red Hat Enterprise Linux, CentOS, Amazon, Linux, Ubuntu, Fedora, Debian etc.
Platforme de virtualizare: VMWare, VirtualBox, Xen, KVM, Parallels, altele
Platforme cloud: Amazon Web Services, Microsoft Azure, VMWare vCloud, OpenStack, CloudStack, altele.

Bitnami este uimitor de ușor de instalat și utilizat!

Pentru dezvoltatorii de site-uri web care folosesc motorul WordPress, Bitnami poate fi descărcat aici:
„bitnami.com/stack/wordpress”

4. DesktopServer (serverpress.com/”)
Un produs gratuit excelent care vă permite să creați un server local în 5 minute.
Versiunea gratuită vă permite să creați 3 site-uri web și nu puteți utiliza MultiSite pentru WordPress - toate aceste restricții sunt eliminate în versiunea plătită a produsului.

5. WampServer (wampserver.com/ru/)

WampServer este o platformă de dezvoltare web Windows pentru aplicații web dinamice care utilizează serverul Apache2, interpretul de script PHP și baza de date MySQL.
Site-ul web și instrucțiuni de instalare în limba rusă.

Utilizatorii site-urilor WordPress vor fi, de asemenea, interesați de următoarele produse informative:

1. Plugin Duplicator

Disponibil pe „wordpress.org”:

Număr de descărcări: 745.009 – o mulțime de descărcări!

Site-ul de plugin: „wordpress.org/plugins/duplicator/”

Un plugin gratuit și popular, vă permite să clonați un site WordPress pentru a fi utilizat în altă parte. Este necesar să creați o copie exactă a site-ului dvs. pentru a o utiliza ca mediu de testare pe computerul dvs. local sau pe contul dvs. de găzduire.
Crearea unei copii exacte a site-ului vă va permite să testați pluginuri, teme și chiar actualizări ale motorului WordPress înainte de a face modificări site-ului web real.
Din păcate, acest plugin nu acceptă MultiSite.

2. Plugin Sandbox

Disponibil pe „wordpress.org”:

Număr de descărcări: 1.883

Site-ul pluginului: „wordpress.org/plugins/sandbox/”

Pluginul creează o copie exactă a unui site WordPress pe găzduirea dvs. existentă, permițându-vă să testați modificări independent de site-ul dvs. real, modificările vor fi ascunse de vizitatori și motoarele de căutare.

Un alt produs interesant:
3. WordPress instantaneu („instantwp.com”)

Instant WordPress este un mediu portabil de dezvoltare WordPress.

Un videoclip despre cum să instalați și să utilizați rapid și ușor acest produs poate fi vizionat aici:

„instantwp.com/documentation/video/”

Asta e tot!

Acum câteva zile am fost din nou vizitat de un gând. Ideea nu era nouă și destul de intruzivă: „să trecem la Windows8. Ei bine, vă rog.” Și din moment ce nu aveam cum să o alung, mi-am făcut aprovizionare cu ceai și prăjituri și am început.

Nu a durat mai mult de două ore pentru a instala sistemul și toate programele necesare, dar apoi a venit momentul cel mai interesant: aveam nevoie să implementez un mediu de lucru, și anume GIT + server local (Apache, MySQL, PHP, nginx, memcached, mongodb). ). Amintindu-mi de experiența instalărilor anterioare, de data aceasta am decis să documentez întregul proces și să-l păstrez pentru posteritate.

Declinarea răspunderii numărul unu:„Nu sunt programator” (c), ci un designer de interfețe și un tehnolog front-end (dar în unele cazuri îmi pot ajuta colegii și pot codifica așa ceva și chiar și atunci nu mă vor învinge pentru asta)

Declinarea răspunderii numărul doi: Da, îmi imaginez perfect că în Ubuntu toate acestea se fac mult mai repede. Dar lucrez pe Windows, așa s-a întâmplat istoric.

Asadar, haideti sa începem.

Planul nostru de lucru include instalarea următoarelor produse:

  1. Chit
  2. Denwer (Apache, MySQL, PHP)
  3. Nginx
  4. Memcached
  5. MongoDB

1. Chit

Chit- un client distribuit gratuit pentru diverse protocoale de acces la distanță, inclusiv SSH, Telnet, rlogin.

PuTTY include mai multe utilitare, dar în munca mea am nevoie doar de el și de Pegeant (un agent de autentificare SSH care stochează cheile pentru depozitele git).
În afara locației:
Dacă nu aveți nevoie de niciun SSH, uitați de acest punct și treceți mai departe.

2.GIT

A lucra cu gitÎl folosesc de ani de zile TortoiseGit, care este stabil, flexibil și îmi acoperă toate nevoile cu 146%. In general il recomand.


În afara locației:

2.1 TortoiseGit necesită git pentru Windows, care poate fi preluat de pe Googlecode;
2.2 eu insumi TortoiseGit instala de aici

3. Denwer

Denver- Un kit de gentleman pentru un dezvoltator Web („Dn.w.r”, citiți „Denver”) - un proiect de Dmitry Koterov, un set de distribuții (Apache, PHP, MySQL, Perl etc.) și un shell software utilizat de Web - dezvoltatorii să dezvolte site-uri web pe o mașină Windows „acasă” (locală).
În afara locației:

3.1 Instalare

Va trebui să descarcăm trusa de bazași module suplimentare PHP5.

Digresiune lirică:

nu, nu doar descărcați, ci primiți link-uri de descărcare prin e-mail! Adică, va trebui să introduceți adresa dvs. de e-mail, precum și numele și prenumele, de două ori în formularul de sub rubrica mare „Înregistrare”. „Înregistrarea este necesară datorită lansării viitoare a Denver 4.” De mulți ani, formularul își cere scuze, dar nu mai cred (.

De obicei, instalarea Denver este rapidă și nedureroasă, dar pe Windows8 am fost atacat de o eroare care se plângea de lipsa unei biblioteci msvcr71.dll. Puteți pune biblioteca într-un folder „\Windows\System32\”(x32) sau „\Windows\SysWOW64\”(x64). După ce fișierul se află în folder, deschideți proprietățile acestuia și faceți clic pe butonul „Deblocare”.

3.2 Verificare funcțională

După instalarea Denver, vom crea un script de testare, care va fi folosit pentru a verifica funcționalitatea a tot ceea ce vom instala ulterior.
Să mergem la Z:\acasăși adăugați un nou site: creați un folder test.local, există un folder în el "www", la care adăugăm fișierul index.php cu un text incredibil de creativ:

";

Reporniți Denver, deschideți în browser www.test.local, lasă-te impresionat și mergi mai departe

4. Memcached

Memcached- middleware care implementează un serviciu de stocare în cache a datelor în RAM bazat pe paradigma tabelului hash.

Memcache- Extensia PHP, oferă o interfață procedurală și orientată pe obiecte convenabilă pentru memcached, un demon de stocare în cache extrem de eficient, care a fost conceput special pentru a reduce încărcarea bazei de date în aplicațiile web dinamice.

4.1 Instalarea memcached

A. descărcați arhiva cu binarul: Memcached 1.4.5 pentru Windows de aici
ÎN. \usr\local\memcached

4.2 Instalarea memcache

A. descărcați arhiva cu biblioteca de aici
ÎN. despachetați conținutul arhivei în \usr\local\php5\ext\
CU. deschide fișierul php.ini (\usr\local\php5\php.ini) și conectați extensia:
extensie=php_memcache.dll

4.3 Configurarea lansării Memcached împreună cu lansarea Denwer

Pentru a rula scriptul cu Denver avem nevoie de:
  1. scrieți un script care conține comenzi pentru a porni și opri aplicația/serviciul și puneți-l într-un folder \denwer\scripts\init.d
  2. creați un link către acest script în folderul de configurare pornire/oprire \denwer\scripts\principal\

A. creați un fișier numit „memcached.pl” în director \denwer\scripts\init.d\
#!perl -w pachet Starters::Memcached; BEGIN ( unshift @INC, "../lib"; ) folosește StartManager; my $basedir = "/usr/local/memcached/"; chdir($basedir); StartManager::action $ARGV, start => sub ( ### ### START. ### print "Se pornește memcached\n"; system("memcached.exe -d"); print "Pornit!\n"; ), stop => sub ( ### ### STOP. ### print "Oprire memcached\n"; system("TASKKILL /F /IM memcached.exe"); print " Stopped!\n"; ); returnează 1 dacă apelant;

B. Acum să creăm un link către script - un fișier text obișnuit care conține instrucțiuni pe care la pornirea, repornirea și oprirea Denver, trebuie să le executați. init.d/memcached.pl
Scriem într-un editor de text
init.d/memcached
și salvați fișierul sub numele „40_memcached”în următoarele foldere:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

4.4 Verificarea rezultatului

Adăugăm la scriptul nostru de testare (index.php):
$memcache = Memcache nou; $memcache->connect("127.0.0.1", 11211); echo 'Memcache ver: ' . $memcache->getVersion();

Să repornim Denver și să vedem ce se întâmplă

5. Nginx

Nginx- un server simplu, rapid și de încredere, nu supraîncărcat cu funcții.

În afara locației:

5.1 Configurarea Nginx

A. descărcați versiunea Windows din offsite și despachetați-o în \usr\local\nginx
B. configurarea unei gazde virtuale pentru site-ul nostru de testare. Pentru a face asta deschidem \usr\local\nginx\conf\nginx.conf si adauga-l acolo

Server ( asculta 127.0.0.1:80; nume_server www.test.local test.local; if ($host = "test.local")( rescrie ^/(.*)$ http://www.test.local$1 permanent ; ) locație ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar)$ ( root Z:\home\/test.local\www; ) locație / ( ssi on; proxy_pass http ://127.0.0.1:8080/; proxy_set_header X-REQUEST_URI $request_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Gazdă $gazdă; proxy_end_connect;timeout proxy_90;timeout_proxy_90; ; proxy_ redirecționare dezactivată; proxy_set_header Închidere conexiune; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; root Z:\home\/test.local\www; ) )
Acesta este un exemplu de setări dintr-un proiect real, setările dvs. pot varia în mod evident.

5.2 Configurarea Apache

În mod implicit, Apache rulează pe portul 80, dar tocmai am dat acest port lui Nginx, așa că acum trebuie să schimbăm șablonul pentru gazda virtuală în setările Apache și să îi atribuim un alt port decât 80 (de exemplu, 8080).
Deschidere \usr\local\apache\conf\httpd.confși schimbați numărul portului

## ## ÎNCEPERE șablonul gazdă virtuală. ## ## Dacă doriți ca Apache să ruleze pe un alt port decât 80 în mod implicit, ## schimbați numărul portului în următoarea directivă. ## #Ascultă $&(ip:-127.0.0.1):$&(port:-8080) #NameVirtualHost $&(ip:-127.0.0.1):$&(port:-8080) # # DocumentRootMatch „/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)” # DocumentRootMatch „/home/(?!cgi-)(.*)/ public_html^1" # DocumentRootMatch "/home/(?!cgi-)(.*)/public^1" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/html/(.*) " # DocumentRootMatch "/home/(?!cgi-)(.*)^1/domains/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/var/www/html/(?!cgi$ -)~(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRoot "$&" # ServerName "%&/-www" # ServerAlias ​​​​"%&/-www" „% &/-www/www” $&(gazdă:-) # # $&(directive:-) # # ScriptAlias ​​​​/cgi/ "$^1/cgi/" # ScriptAlias ​​​​/cgi-bin/ „$^1/cgi -bin/” # AllowEncodedSlashes pe #

5.3 Configurarea lansării Nginx împreună cu lansarea Denwer

A. creați un fișier numit „nginx.pl” în director \denwer\scripts\init.d\
#!perl -w pachet Starters::Nginx; BEGIN ( unshift @INC, "../lib"; ) folosește StartManager; my $basedir = "/usr/local/nginx/"; chdir($basedir); StartManager::action $ARGV, start => sub ( ### ### START. ### print "Pornirea Nginx\n"; system("start nginx.exe"); tipar "Start!\n"; ) , stop => sub ( ### ### STOP. ### print "Oprirea Nginx\n"; system("nginx.exe -s stop"); print "Oprit!\n"; ); returnează 1 dacă apelant;

B. scrieți într-un editor de text
init.d/nginx
și salvați fișierul sub numele „50_memcached”în următoarele foldere:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

5.4 Verificarea rezultatului

Plasați fișierul lângă script stil.css cu continut
h1(culoare: roșu; ) h2(culoare: verde; )

Și ne vom înnobila index.php:
Testeaza-ma

Testeaza-ma

Memcached

connect("127.0.0.1", 11211); echo "Memcached ver: " . $memcache->getVersion(); ?>
Acum repornim Denver și admirăm rezultatul. Dacă fișierul CSS este conectat, Nginx funcționează bine.

6. MongoDB

MongoDB- un sistem de management al bazelor de date (DBMS) orientat pe documente cu cod sursă deschis care nu necesită o descriere a schemei tabelului.

În afara locației:

Driver PHP 6.1

A. Descărcați biblioteca php_mongo.dll de pe acest site: și puneți-l într-un folder \usr\local\php5\ext\
Prin încercare și eroare, s-a constatat că un driver adecvat este conținut în arhivă mongo-1.2.5.zip/mongo-1.2.5-php5.3vc9ts.zip. Dacă dintr-un motiv oarecare nu pornește, încercați alte versiuni.

B. conectați extensia la php.ini
extensie=php_mongo.dll

6.2 Instalarea Mongo

A. descărcați arhiva din Mongo și despachetați-o într-un folder \usr\local\mongodb . În același folder creăm încă două foldere:

B. instalați serviciul
> cd C:\WebServers\usr\local\mongodb\bin\
> mongod.exe --install --dbpath=C:\WebServers\usr\local\mongodb\db\ --logpath=C:\WebServers\usr\local\mongodb\logs\

6.3 Configurarea MongoDB pentru lansare împreună cu Denver

A. creați un fișier cu numele "mongod.pl"în director \denwer\scripts\init.d\
#!perl -w pachet Starters::mongoDB; BEGIN ( unshift @INC, "../lib"; ) folosește StartManager; StartManager::action $ARGV, start => sub ( ### ### START. ### print "Pornire mongoDB\n"; system("net start mongoDB"); imprimare "Start!\n"; ), stop => sub ( ### ### STOP. ### print "Oprirea mongoDB\n"; system("net stop mongoDB"); print "Oprit!\n"; ); returnează 1 dacă apelant;

B. scrieți într-un editor de text
init.d/mongod
și salvați fișierul sub numele „60_mongod” către foldere deja familiare nouă:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

6.4 Verificarea rezultatului

Să lansăm interfața consolei mongo
> Z:\usr\local\mongodb\bin\mongo.exe

Și vom insera și scoatem valoarea de test în baza de date „test”.
> db.test.save(( nume: „Habr!” ))
> db.test.find()

Rezultatul ar trebui să arate astfel:

6.5. Instalarea interfeței de gestionare a bazei de date Mongo

Există o listă și scurte recenzii ale panourilor de administrare pe site-ul MongoDB, astfel încât să puteți alege după gustul dvs.
Am ales RockMongo pentru mine, așa că cu ajutorul lui ne vom asigura în sfârșit că totul funcționează pentru noi și nu se prăbușește nicăieri.

A. descărcați arhiva cu panoul de administrare de pe această pagină. Normal, noi alegem Versiunea Windows. La momentul scrierii acestui articol RockMongo-on-Windows v0.0.4

B. luați un folder din arhivă \rockmongo-on-windows\web\rockmongo și copiați-l în directorul site-ului nostru de testare
Deschidere config.phpși modificați valoarea parametrului
$MONGO["servere"][$i]["control_auth"] = adevărat;
pe
$MONGO["servere"][$i]["control_auth"] = fals;

C. Verificați rezultatul folosind link-ul www.test.local/rockmongo/index.php

Felicitări! Acum suntem complet și irevocabil bine făcut.

Bonus #1. Lucrul cu php din consola Windows

Poate că va fi de folos cuiva. Mi-a fost util atunci când liderul nostru tehnologic a decis că „fișierele SQL sunt de domeniul trecutului, să folosim migrațiile”. Desigur, de dragul decenței, am încercat să prefac o neînțelegere completă și chiar să vărs o lacrimă, dar am fost expus și trimis să-mi dau seama cum funcționează pe Windows.
S-a dovedit că tot ce ai nevoie pentru fericire este adăugați directorul PHP la PATH.


Faceți clic pe „Editați” și adăugați la sfârșitul rândului
;Z:\usr\local\php5

Acum să verificăm dacă totul a funcționat.
Să creăm un fișier în directorul site-ului de testare console.php

Deschide consola(puteți face direct din același folder - faceți clic dreapta cu SHIFT apăsat pe un spațiu gol și selectați „Deschideți fereastra de comandă”).
Introduce:
> php console.php „Nume utilizator”

Consola răspunde:
> „Bună ziua, Nume de utilizator!”

PHP este învins, bucurie generală, aplauze, cortină.

Bonus #2.

Toate fișierele și exemplele menționate în articol într-o arhivă gratuit fără SMS: pe Github

Sper că acest material va fi de folos.
As fi recunoscator pentru comentarii si sugestii.

Etichete: Adăugați etichete

Acum câteva zile am fost din nou vizitat de un gând. Ideea nu era nouă și destul de intruzivă: „să trecem la Windows8. Ei bine, vă rog.” Și din moment ce nu aveam cum să o alung, mi-am făcut aprovizionare cu ceai și prăjituri și am început.

Nu a durat mai mult de două ore pentru a instala sistemul și toate programele necesare, dar apoi a venit momentul cel mai interesant: aveam nevoie să implementez un mediu de lucru, și anume GIT + server local (Apache, MySQL, PHP, nginx, memcached, mongodb). ). Amintindu-mi de experiența instalărilor anterioare, de data aceasta am decis să documentez întregul proces și să-l păstrez pentru posteritate.

Declinarea răspunderii numărul unu:„Nu sunt programator” (c), ci un designer de interfețe și un tehnolog front-end (dar în unele cazuri îmi pot ajuta colegii și pot codifica așa ceva și chiar și atunci nu mă vor învinge pentru asta)

Declinarea răspunderii numărul doi: Da, îmi imaginez perfect că în Ubuntu toate acestea se fac mult mai repede. Dar lucrez pe Windows, așa s-a întâmplat istoric.

Asadar, haideti sa începem.

Planul nostru de lucru include instalarea următoarelor produse:

  1. Chit
  2. Denwer (Apache, MySQL, PHP)
  3. Nginx
  4. Memcached
  5. MongoDB

1. Chit

Chit- un client distribuit gratuit pentru diverse protocoale de acces la distanță, inclusiv SSH, Telnet, rlogin.

PuTTY include mai multe utilitare, dar în munca mea am nevoie doar de el și de Pegeant (un agent de autentificare SSH care stochează cheile pentru depozitele git).
În afara locației:
Dacă nu aveți nevoie de niciun SSH, uitați de acest punct și treceți mai departe.

2.GIT

A lucra cu gitÎl folosesc de ani de zile TortoiseGit, care este stabil, flexibil și îmi acoperă toate nevoile cu 146%. In general il recomand.


În afara locației:

2.1 TortoiseGit necesită git pentru Windows, care poate fi preluat de pe Googlecode;
2.2 eu insumi TortoiseGit instala de aici

3. Denwer

Denver- Un kit de gentleman pentru un dezvoltator Web („Dn.w.r”, citiți „Denver”) - un proiect de Dmitry Koterov, un set de distribuții (Apache, PHP, MySQL, Perl etc.) și un shell software utilizat de Web - dezvoltatorii să dezvolte site-uri web pe o mașină Windows „acasă” (locală).
În afara locației:

3.1 Instalare

Va trebui să descarcăm trusa de bazași module suplimentare PHP5.

Digresiune lirică:

nu, nu doar descărcați, ci primiți link-uri de descărcare prin e-mail! Adică, va trebui să introduceți adresa dvs. de e-mail, precum și numele și prenumele, de două ori în formularul de sub rubrica mare „Înregistrare”. „Înregistrarea este necesară datorită lansării viitoare a Denver 4.” De mulți ani, formularul își cere scuze, dar nu mai cred (.

De obicei, instalarea Denver este rapidă și nedureroasă, dar pe Windows8 am fost atacat de o eroare care se plângea de lipsa unei biblioteci msvcr71.dll. Puteți pune biblioteca într-un folder „\Windows\System32\”(x32) sau „\Windows\SysWOW64\”(x64). După ce fișierul se află în folder, deschideți proprietățile acestuia și faceți clic pe butonul „Deblocare”.

3.2 Verificare funcțională

După instalarea Denver, vom crea un script de testare, care va fi folosit pentru a verifica funcționalitatea a tot ceea ce vom instala ulterior.
Să mergem la Z:\acasăși adăugați un nou site: creați un folder test.local, există un folder în el "www", la care adăugăm fișierul index.php cu un text incredibil de creativ:

";

Reporniți Denver, deschideți în browser www.test.local, lasă-te impresionat și mergi mai departe

4. Memcached

Memcached- middleware care implementează un serviciu de stocare în cache a datelor în RAM bazat pe paradigma tabelului hash.

Memcache- Extensia PHP, oferă o interfață procedurală și orientată pe obiecte convenabilă pentru memcached, un demon de stocare în cache extrem de eficient, care a fost conceput special pentru a reduce încărcarea bazei de date în aplicațiile web dinamice.

4.1 Instalarea memcached

A. descărcați arhiva cu binarul: Memcached 1.4.5 pentru Windows de aici
ÎN. \usr\local\memcached

4.2 Instalarea memcache

A. descărcați arhiva cu biblioteca de aici
ÎN. despachetați conținutul arhivei în \usr\local\php5\ext\
CU. deschide fișierul php.ini (\usr\local\php5\php.ini) și conectați extensia:
extensie=php_memcache.dll

4.3 Configurarea lansării Memcached împreună cu lansarea Denwer

Pentru a rula scriptul cu Denver avem nevoie de:
  1. scrieți un script care conține comenzi pentru a porni și opri aplicația/serviciul și puneți-l într-un folder \denwer\scripts\init.d
  2. creați un link către acest script în folderul de configurare pornire/oprire \denwer\scripts\principal\

A. creați un fișier numit „memcached.pl” în director \denwer\scripts\init.d\
#!perl -w pachet Starters::Memcached; BEGIN ( unshift @INC, "../lib"; ) folosește StartManager; my $basedir = "/usr/local/memcached/"; chdir($basedir); StartManager::action $ARGV, start => sub ( ### ### START. ### print "Se pornește memcached\n"; system("memcached.exe -d"); print "Pornit!\n"; ), stop => sub ( ### ### STOP. ### print "Oprire memcached\n"; system("TASKKILL /F /IM memcached.exe"); print " Stopped!\n"; ); returnează 1 dacă apelant;

B. Acum să creăm un link către script - un fișier text obișnuit care conține instrucțiuni pe care la pornirea, repornirea și oprirea Denver, trebuie să le executați. init.d/memcached.pl
Scriem într-un editor de text
init.d/memcached
și salvați fișierul sub numele „40_memcached”în următoarele foldere:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

4.4 Verificarea rezultatului

Adăugăm la scriptul nostru de testare (index.php):
$memcache = Memcache nou; $memcache->connect("127.0.0.1", 11211); echo 'Memcache ver: ' . $memcache->getVersion();

Să repornim Denver și să vedem ce se întâmplă

5. Nginx

Nginx- un server simplu, rapid și de încredere, nu supraîncărcat cu funcții.

În afara locației:

5.1 Configurarea Nginx

A. descărcați versiunea Windows din offsite și despachetați-o în \usr\local\nginx
B. configurarea unei gazde virtuale pentru site-ul nostru de testare. Pentru a face asta deschidem \usr\local\nginx\conf\nginx.conf si adauga-l acolo

Server ( asculta 127.0.0.1:80; nume_server www.test.local test.local; if ($host = "test.local")( rescrie ^/(.*)$ http://www.test.local$1 permanent ; ) locație ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar)$ ( root Z:\home\/test.local\www; ) locație / ( ssi on; proxy_pass http ://127.0.0.1:8080/; proxy_set_header X-REQUEST_URI $request_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Gazdă $gazdă; proxy_end_connect;timeout proxy_90;timeout_proxy_90; ; proxy_ redirecționare dezactivată; proxy_set_header Închidere conexiune; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; root Z:\home\/test.local\www; ) )
Acesta este un exemplu de setări dintr-un proiect real, setările dvs. pot varia în mod evident.

5.2 Configurarea Apache

În mod implicit, Apache rulează pe portul 80, dar tocmai am dat acest port lui Nginx, așa că acum trebuie să schimbăm șablonul pentru gazda virtuală în setările Apache și să îi atribuim un alt port decât 80 (de exemplu, 8080).
Deschidere \usr\local\apache\conf\httpd.confși schimbați numărul portului

## ## ÎNCEPERE șablonul gazdă virtuală. ## ## Dacă doriți ca Apache să ruleze pe un alt port decât 80 în mod implicit, ## schimbați numărul portului în următoarea directivă. ## #Ascultă $&(ip:-127.0.0.1):$&(port:-8080) #NameVirtualHost $&(ip:-127.0.0.1):$&(port:-8080) # # DocumentRootMatch „/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)” # DocumentRootMatch „/home/(?!cgi-)(.*)/ public_html^1" # DocumentRootMatch "/home/(?!cgi-)(.*)/public^1" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/html/(.*) " # DocumentRootMatch "/home/(?!cgi-)(.*)^1/domains/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/var/www/html/(?!cgi$ -)~(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRoot "$&" # ServerName "%&/-www" # ServerAlias ​​​​"%&/-www" „% &/-www/www” $&(gazdă:-) # # $&(directive:-) # # ScriptAlias ​​​​/cgi/ "$^1/cgi/" # ScriptAlias ​​​​/cgi-bin/ „$^1/cgi -bin/” # AllowEncodedSlashes pe #

5.3 Configurarea lansării Nginx împreună cu lansarea Denwer

A. creați un fișier numit „nginx.pl” în director \denwer\scripts\init.d\
#!perl -w pachet Starters::Nginx; BEGIN ( unshift @INC, "../lib"; ) folosește StartManager; my $basedir = "/usr/local/nginx/"; chdir($basedir); StartManager::action $ARGV, start => sub ( ### ### START. ### print "Pornirea Nginx\n"; system("start nginx.exe"); tipar "Start!\n"; ) , stop => sub ( ### ### STOP. ### print "Oprirea Nginx\n"; system("nginx.exe -s stop"); print "Oprit!\n"; ); returnează 1 dacă apelant;

B. scrieți într-un editor de text
init.d/nginx
și salvați fișierul sub numele „50_memcached”în următoarele foldere:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

5.4 Verificarea rezultatului

Plasați fișierul lângă script stil.css cu continut
h1(culoare: roșu; ) h2(culoare: verde; )

Și ne vom înnobila index.php:
Testeaza-ma

Testeaza-ma

Memcached

connect("127.0.0.1", 11211); echo "Memcached ver: " . $memcache->getVersion(); ?>
Acum repornim Denver și admirăm rezultatul. Dacă fișierul CSS este conectat, Nginx funcționează bine.

6. MongoDB

MongoDB- un sistem de management al bazelor de date (DBMS) orientat pe documente cu cod sursă deschis care nu necesită o descriere a schemei tabelului.

În afara locației:

Driver PHP 6.1

A. Descărcați biblioteca php_mongo.dll de pe acest site: și puneți-l într-un folder \usr\local\php5\ext\
Prin încercare și eroare, s-a constatat că un driver adecvat este conținut în arhivă mongo-1.2.5.zip/mongo-1.2.5-php5.3vc9ts.zip. Dacă dintr-un motiv oarecare nu pornește, încercați alte versiuni.

B. conectați extensia la php.ini
extensie=php_mongo.dll

6.2 Instalarea Mongo

A. descărcați arhiva din Mongo și despachetați-o într-un folder \usr\local\mongodb . În același folder creăm încă două foldere:

B. instalați serviciul
> cd C:\WebServers\usr\local\mongodb\bin\
> mongod.exe --install --dbpath=C:\WebServers\usr\local\mongodb\db\ --logpath=C:\WebServers\usr\local\mongodb\logs\

6.3 Configurarea MongoDB pentru lansare împreună cu Denver

A. creați un fișier cu numele "mongod.pl"în director \denwer\scripts\init.d\
#!perl -w pachet Starters::mongoDB; BEGIN ( unshift @INC, "../lib"; ) folosește StartManager; StartManager::action $ARGV, start => sub ( ### ### START. ### print "Pornire mongoDB\n"; system("net start mongoDB"); imprimare "Start!\n"; ), stop => sub ( ### ### STOP. ### print "Oprirea mongoDB\n"; system("net stop mongoDB"); print "Oprit!\n"; ); returnează 1 dacă apelant;

B. scrieți într-un editor de text
init.d/mongod
și salvați fișierul sub numele „60_mongod” către foldere deja familiare nouă:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

6.4 Verificarea rezultatului

Să lansăm interfața consolei mongo
> Z:\usr\local\mongodb\bin\mongo.exe

Și vom insera și scoatem valoarea de test în baza de date „test”.
> db.test.save(( nume: „Habr!” ))
> db.test.find()

Rezultatul ar trebui să arate astfel:

6.5. Instalarea interfeței de gestionare a bazei de date Mongo

Există o listă și scurte recenzii ale panourilor de administrare pe site-ul MongoDB, astfel încât să puteți alege după gustul dvs.
Am ales RockMongo pentru mine, așa că cu ajutorul lui ne vom asigura în sfârșit că totul funcționează pentru noi și nu se prăbușește nicăieri.

A. descărcați arhiva cu panoul de administrare de pe această pagină. Normal, noi alegem Versiunea Windows. La momentul scrierii acestui articol RockMongo-on-Windows v0.0.4

B. luați un folder din arhivă \rockmongo-on-windows\web\rockmongo și copiați-l în directorul site-ului nostru de testare
Deschidere config.phpși modificați valoarea parametrului
$MONGO["servere"][$i]["control_auth"] = adevărat;
pe
$MONGO["servere"][$i]["control_auth"] = fals;

C. Verificați rezultatul folosind link-ul www.test.local/rockmongo/index.php

Felicitări! Acum suntem complet și irevocabil bine făcut.

Bonus #1. Lucrul cu php din consola Windows

Poate că va fi de folos cuiva. Mi-a fost util atunci când liderul nostru tehnologic a decis că „fișierele SQL sunt de domeniul trecutului, să folosim migrațiile”. Desigur, de dragul decenței, am încercat să prefac o neînțelegere completă și chiar să vărs o lacrimă, dar am fost expus și trimis să-mi dau seama cum funcționează pe Windows.
S-a dovedit că tot ce ai nevoie pentru fericire este adăugați directorul PHP la PATH.


Faceți clic pe „Editați” și adăugați la sfârșitul rândului
;Z:\usr\local\php5

Acum să verificăm dacă totul a funcționat.
Să creăm un fișier în directorul site-ului de testare console.php

Deschide consola(puteți face direct din același folder - faceți clic dreapta cu SHIFT apăsat pe un spațiu gol și selectați „Deschideți fereastra de comandă”).
Introduce:
> php console.php „Nume utilizator”

Consola răspunde:
> „Bună ziua, Nume de utilizator!”

PHP este învins, bucurie generală, aplauze, cortină.

Bonus #2.

Toate fișierele și exemplele menționate în articol într-o arhivă gratuit fără SMS: pe Github

Sper că acest material va fi de folos.
As fi recunoscator pentru comentarii si sugestii.

Etichete:

  • denwer
  • server local
Adaugă etichete

Server local - Acesta este un program special care este instalat pe un computer local (citește acasă, de aceea se numește LOCAL) care permite dezvoltatorilor web (webmasters) să dezvolte site-uri web pe un computer local (acasă), fără a fi nevoie să acceseze Internetul. Acesta nu este nici măcar un program, ci un complex de programe care îndeplinesc diverse funcții. Un server local este similar cu un server real real situat pe Internet de către compania Hoster.

Pentru ce este? După cum știți deja, paginile HTML obișnuite cu design CSS sunt procesate de browsere fără probleme. Acestea. Dacă site-ul dvs. este creat din pagini web simple construite pe HTML și CSS, atunci un astfel de site poate fi dezvoltat perfect pe un computer local fără niciun server. Doar faceți clic pe fișierul html ca de obicei cu butonul stâng al mouse-ului și pagina web se deschide în browser. Ați lucrat cu codul, ați proiectat, ați adăugat sau eliminat ceva, salvați, actualizați (F5) și vedeți rezultatul.

Dar dacă dezvoltați un site web dinamic creat folosind, de exemplu, baze de date PHP, Perl, MySQL, niște scripturi gata făcute, Acea Pentru a testa și a depana astfel de site-uri, trebuie neapărat să instalați un server local pe computer.

Pentru ce? Cert este că astfel de site-uri (pagini web ale site-urilor) înainte de a fi trimise vizitatorului în browser, preprocesate de server, și numai atunci sub formă de cod HTML obișnuit sunt date browserului. Acest lucru se întâmplă foarte repede pe partea de server, de exemplu. pe Internet și vizitatorii nici măcar nu observă o astfel de preprocesare.

De exemplu, site-urile realizate folosind PHP sunt asamblate ca din piese separate, fișiere separate. Să ne uităm la o diagramă simplificată a unui astfel de site. De regulă, orice astfel de site (orice pagină web) conține mai multe componente principale:

    Antetul site-ului;

    Subsolul site-ului;

    Meniul;

    Conținutul paginii principale (conținut).

Când creați un site web în PHP, fiecare astfel de piesă este un fișier separat cu extensia .php

O diagramă simplificată a site-ului în PHP, prezentată la figura 1 de mai jos:

Figura 1. Diagrama site-ului simplificată în PHP.

Desigur, aceasta nu este o listă completă de componente (piese); uneori există o mulțime de astfel de piese (fișiere). Dar principiul de funcționare este întotdeauna același. Pe server, o pagină web este asamblată din fișiere separate (în acest caz, header.php, footer.php, menu.php, content.php) și vizitatorului site-ului i se oferă rezultatul final sub formă de cod html. Ați observat deja că toate fișierele de aici au extensia .php

Ce este PHP?

PHP este un limbaj de programare special conceput pentru scrierea de aplicații web (scripturi) care rulează pe un server Web.

Acronimul PHP înseamnă „Hypertext Preprocessor”. Sintaxa limbajului provine din C, Java și Perl. PHP este destul de ușor de învățat. Avantajul PHP este că permite dezvoltatorilor web să creeze rapid pagini web generate dinamic. Site-ul meu a fost creat folosind limbajul PHP.

Deci, dacă doriți să vizualizați codul unei astfel de pagini PHP (butonul din dreapta, vizualizați codul HTML), atunci nu veți observa diferența cu o pagină web obișnuită creată în HTML. Dar să știți că toate paginile web cu extensia .php funcționează astfel (sunt asamblate bucată cu bucată din fișiere separate).

În plus, PHP are o altă caracteristică grozavă: scriptul de cod PHP poate fi integrat cu ușurință în orice cod HTML.

Pe computerul local, pentru a „asambla” și procesa fișierele PHP, este instalat un server local, care în acest caz acționează ca un procesor.

În prezent, majoritatea paginilor web dinamice: forumuri, bloguri, cărți de oaspeți, majoritatea formularelor de feedback și doar scripturi PHP, va funcționa pe un computer de acasă numai dacă există un server local.

În practica mea, folosesc un server local numit Denver (denwer). Puteți descărca și vizualiza instrucțiuni detaliate de instalare pe site-ul oficial http://www.denwer.ru/. Sau pe site-ul nostru în secțiunea.

Cu noi o poți face gratuit. Ce este Zend Optimizer?

Zend Optimizer este un utilitar special care este folosit pentru a codifica și optimiza script-urile (programe PHP) criptate folosind Zend Guard (scripturile sunt criptate pentru a proteja codul programului de plagiat și utilizare neautorizată). Acest utilitar vă permite să vă optimizați codul pentru o execuție și mai rapidă a scripturilor (aplicații PHP) și crește viteza de încărcare a site-ului cu 40%.

Ca să-l spun într-un limbaj „simplu”, atunci Fără utilitarul Zend Optimizer instalat pe computerul dvs. din apropiere de Denver, multe scripturi pur și simplu nu vor funcționa, deoarece majoritatea dezvoltatorilor își protejează produsele software (scripturi, programe etc.) împotriva intervențiilor neautorizate și a furtului..

Zend Optimizer este instalat după instalarea Denver la computerul dvs. de acasă prin simpla înlocuire a folderelor: denwer, home, tmp și usr, care vin cu acest ansamblu.

Server local „Denver” este proiectul original al programatorului rus Dmitri Koterov. Prin urmare, totul aici este în rusă, există instrucțiuni și recomandări foarte detaliate. În plus, totul este absolut gratuit. Există lecții video educaționale. Mai mult Denver se numește - Gentleman's Web Developer Kit.

Dacă intenționați să creați site-uri web dinamice, descărcați, instalați și utilizați.

Citiți și celelalte materiale ale noastre.