Categories
Windows

XAMPP – pachet de programe pentru web server

XAMPP - Panou de Control
XAMPP – Panou de Control

Folosit în scopuri educaţionale  sau pentru a vă ajuta în cazul în care nu aveţi acces la un server și doriţi să testaţi paginile web create înainte de a le urca pe server, cu XAMPP vă puteţi crea singuri un server web local. Acesta este un pachet ce rulează cu Apache, adică un server HTTP (Hypertext Transfer Protocol ), un sistem de gestiune a bazelor de date relaționale (SGBD)/ Relational Database Management System (RDBMS) MariaDB, un limbaj de programare PHP (Hypertext Preprocessor) şi Perl. Suportă Linux, Windows, Mac OS X şi Solaris (X-ul de la XAMPP indică multiplatformă/cross-platform software). După instalare se mai pot activa modulele FileZillaMercury şi Tomcat. Voi parcurge paşii de instalare pe un sistem Windows.

Înainte de a descărca programul trebuie să facem o modificare în fişierul host din C:\Windows\System32\drivers\etc şi anume adăugăm linia 127.0.0.1 localhost; dacă însă folosiţi acest program să ruleze paginile direct pe Internet trebuie să înlocuiţi 127.0.0.1 cu adresa dumneavoastră de IP iar localhost cu domeniul cumpărat (ex: www.nume-domeniu.ro);

Descărcăm XAMPP Windows Installer de la https://www.apachefriends.org/download.html şi apoi lansăm instalarea; alternativ puteți descărca varianta portabilă a pachetuluiu XAMPP de la https://sourceforge.net/projects/xampp/files/ sau chiar o versiune .7z; am optat ultima variantă (ex: xampp-windows-x64-7.3.8-2-VC15.7z) pentru a evita atenționarea User Account Control (UAC) ce poate fi dezactivată în momentul în care optați pentru Windows Installer;

Instalarea se va efectua în folderul C:\xampp iar la Service Section am bifat Apache şi MySQL să ruleze de fiecare dată când intru în Windows. Odată instalat apare Control Panel pentru XAMPP unde ne indică ce servicii rulează; pentru varianta .7z a fost extras folderul xampp direct in C:\ , iar pentru instalare am executat comanda din C:\xampp\setup_xampp.bat ca user și nu ca administrator, pornim apoi aplicația prin C:\xampp\xampp-control.exe ca administrator;

Dacă aveţi o versiune de Skype mai veche este bine să mergeţi la Tools\Options\Advanced\ şi să debifaţi Use port 80 and 443 as alternatives for incoming connections pentru că Apache din programul XAMPP va folosi acel port. Un alt program vechi ce va folosi portul 443 este VMWare Workstation Player, veţi edita fişierul httpd-ssl.conf din C:\xampp\apache\conf\extra şi veţi înlocui 443 cu 4430. Sunt două modificări:

...
#Listen 0.0.0.0:443
#Listen [::]:443
Listen 4430
...
ServerName localhost:4430

Folosind browser-ul favorit tastați localhost de unde puteți învăța de la ghidurile locale de exemplu CUM-SĂ schimbați parola de la MySQL. Deci, la Reset the MySQL/MariaDB Root Password vom folosi linia de comanda pentru utilitarul mysqladmin prin XAMPP Control Panel\Shell

mysqladmin --user=root password "newpassword"

După ce parola a fost schimbată phpMyAdmin nu o va recunoaște așa că am adăugat „newpassword” în C:\xampp\phpMyAdmin\config.inc.php

/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'newpassword';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

Vom modifica acuma fişierul  httpd-vhosts.conf din folderul C:\xampp\apache\conf\extra adică vom spune serverului unde vor rula paginile, dar asta numai în cazul când rulaţi paginile web pe Internet şi nu în localhost aşa că lasaţi nemodificat fişierul pentru localhost. Nu voi şterge nimica din fişier, acolo sunt date nişte exemple iar eu voi insera un cod pentru cele două pagini web, de exemplu site1 şi site2:

NameVirtualHost *:80

<VirtualHost *:80>
ServerName localhost
DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">
Options IncludesNoExec
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerName site1
DocumentRoot "C:/xampp/htdocs/site1"
<Directory "C:/xampp/htdocs/site1">
Options Indexes +FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerName site2
DocumentRoot "C:/xampp/htdocs/site2"
<Directory "C:/xampp/htdocs/site2">
Options Indexes +FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

Mai puteţi să îl personalizaţi după exemplul din fişier, cel comentat. După salvare e bine să resetaţi din XAMPP Control Panel Apache şi MySQL prin Stop şi Start;

În folderul C:\xampp\htdocs creaţi cele două foldere site1 şi site2, acolo pentru fiecare voi crea câte un fişier test index.php cu codul

pentru site1\index.php

<?php
Print "Hello, SITE 1!";
?>

pentru site2\index.php

<?php
Print "Hello, SITE 2!";
?>

În browser tastaţi http://localhost/site1/respectiv http://localhost/site2/ ca să primiţi mesajul de întâmpinare. Acuma puteţi să vă testaţi paginile web create folosind folderele respective sau creaţi altele, dar nu uitaţi să modificaţi httpd-vhosts.conf şi să creaţi alte foldere dacă este cazul să rulaţi pe Internet paginile web.

Ultima versiune de XAMPP o puteţi găsi la www.apachefriends.org în sectorul Download.