Difference between revisions of "Windows Apache PHP"
(18 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | PHP е скриптов език за програмиране използван за сървърни приложения и e най-популярния за разработване на динамично уеб-съдържание. Автор на езика е датчанинът от канадски произход Размус Лердорф. | |
− | + | == Цел на упражнението == | |
+ | Конфигуриране на PHP/Apache Windows Web server. | ||
− | + | == Опитна постановка == | |
− | + | ||
− | + | #Да се импортира инсталация на Windows XP на виртуалната машина | |
− | + | # <span style="color:red">Преди да се включи виртуалният компютър </span> мрежовата карта да се [[VirtualBox#Мостов адаптер / Bridged adapter|пренасочи към мрежовата карта на хост компютъра (мостов адаптер) и да се смени MAC адресът]] | |
+ | #След включване на виртуалната машина [[Windows Name|да се смени името на компютъра]] на phpX, където X е номера на работната станция. | ||
+ | #Да се зададат на [[Windows Network| мрежовият интерфейс]] на PHP-сървъра следните настройки, където X е номера на работната станция: | ||
+ | |||
+ | #*IP: 10.3.45.14'''X'''/24, | ||
+ | #*Gaytway: 10.3.0.1 | ||
+ | #*DNS: 10.3.45.10'''X''' | ||
+ | |||
+ | == Конфигуриране PHP, Apache, Windows== | ||
+ | |||
+ | === Инсталация Apache === | ||
+ | [[Video Apache#Windows XP Install|Да се инсталира Apache със следните настройки:]] | ||
+ | *Network Domain: pcX.abv.bg | ||
+ | *Server name: apache.pcX.abv.bg | ||
+ | *Administrator email: student@pcX.abv.bg | ||
+ | Инсталационен файл: http://10.3.45.12/apache.msi | ||
+ | |||
+ | === Инсталация PHP === | ||
+ | Има две разновидности за Windows - "Thread Safe" - ако ще се използва Apache Web Server и "Non Thread Safe" - ако ще ползваме IIS Web Server.) | ||
+ | |||
+ | http://10.3.45.12/php.msi | ||
+ | |||
+ | При използване на PHP с интегриран Windows инсталатор, всички настройки се конфигурират автоматично. | ||
+ | |||
+ | *Apache 2.2.x Module | ||
+ | *Apache configuraton directory: C:\Program Files\Apache Software Foundation\Apache2.2\conf\ | ||
+ | |||
+ | |||
+ | проверете за следните настройки в httpd.conf | ||
+ | <code><pre> | ||
+ | PHPIniDir "C:/Program Files/PHP/" | ||
LoadModule php5_module c:/PHP/php5apache2_2.dll | LoadModule php5_module c:/PHP/php5apache2_2.dll | ||
AddType application/x-httpd-php .php | AddType application/x-httpd-php .php | ||
+ | </pre></code> | ||
Намерете записът за автоматично отваряне на файл и добавете index.php: | Намерете записът за автоматично отваряне на файл и добавете index.php: | ||
+ | <code><pre> | ||
<IfModule dir_module> | <IfModule dir_module> | ||
DirectoryIndex index.php index.html | DirectoryIndex index.php index.html | ||
</IfModule> | </IfModule> | ||
+ | </pre></code> | ||
- Рестартирайте Apache | - Рестартирайте Apache | ||
+ | |||
+ | == DNS == | ||
+ | |||
+ | *Да се се конфигурира към зоновия файл на pcX.abv.bg, така че pcX.abv.bg да сочи към 192.168.0.20Х. | ||
== Тестване == | == Тестване == | ||
Създайте текствов файл index.php и добавете в него: | Създайте текствов файл index.php и добавете в него: | ||
<code><pre> | <code><pre> | ||
− | <?php | + | <?php // PHP skriptyt zapochva s <?php или <? |
phpinfo(); | phpinfo(); | ||
− | // | + | // i zavyrshwa s ?> |
?> | ?> | ||
</pre></code> | </pre></code> | ||
− | |||
− | == | + | Качете файла на web сървъра и го заредете през web браузъра. Ако след извикването на файла се изведе системната информация за php, сървърът работи. |
+ | |||
+ | == Глобални променливи == | ||
Да се тестват глобалните променливи на PHP - $_SERVER, $_POST, $_GET. | Да се тестват глобалните променливи на PHP - $_SERVER, $_POST, $_GET. | ||
<code><pre> | <code><pre> | ||
Line 54: | Line 93: | ||
if( isset($_POST['name'])) //проверка за съществуване на променлива | if( isset($_POST['name'])) //проверка за съществуване на променлива | ||
{ // В PHP има асоциативни променливи | { // В PHP има асоциативни променливи | ||
− | fwrite($fd, "<p>Име: $_POST[name] \r\n"); | + | fwrite($fd, "<p>Име: $_POST[name] \r\n"); //Когато стрингът е в двойни кавички, той се интерпретира |
− | fwrite($fd, "<br /> $_POST[comment] </p> \r\n"); | + | fwrite($fd, "<br /> $_POST[comment] </p> \r\n"); // Заместват се променливите и специалните символи |
} | } | ||
− | fseek($fd, 0); | + | fseek($fd, 0); // връщане на показалеца на файла в 0 байт |
− | $comments = fread($fd, filesize($file)); | + | $comments = fread($fd, filesize($file)); // четене от файл |
fclose($fd ); | fclose($fd ); | ||
?> | ?> | ||
Line 85: | Line 124: | ||
</body> | </body> | ||
</html> | </html> | ||
+ | </pre></code> | ||
== Фишинг / Phishing == | == Фишинг / Phishing == | ||
− | + | Да се създаде фишинг страница на abv.bg. | |
[[Category:Apache PHP MySQL]] | [[Category:Apache PHP MySQL]] |
Latest revision as of 07:56, 26 March 2014
PHP е скриптов език за програмиране използван за сървърни приложения и e най-популярния за разработване на динамично уеб-съдържание. Автор на езика е датчанинът от канадски произход Размус Лердорф.
Contents
Цел на упражнението
Конфигуриране на PHP/Apache Windows Web server.
Опитна постановка
- Да се импортира инсталация на Windows XP на виртуалната машина
- Преди да се включи виртуалният компютър мрежовата карта да се пренасочи към мрежовата карта на хост компютъра (мостов адаптер) и да се смени MAC адресът
- След включване на виртуалната машина да се смени името на компютъра на phpX, където X е номера на работната станция.
- Да се зададат на мрежовият интерфейс на PHP-сървъра следните настройки, където X е номера на работната станция:
- IP: 10.3.45.14X/24,
- Gaytway: 10.3.0.1
- DNS: 10.3.45.10X
Конфигуриране PHP, Apache, Windows
Инсталация Apache
Да се инсталира Apache със следните настройки:
- Network Domain: pcX.abv.bg
- Server name: apache.pcX.abv.bg
- Administrator email: student@pcX.abv.bg
Инсталационен файл: http://10.3.45.12/apache.msi
Инсталация PHP
Има две разновидности за Windows - "Thread Safe" - ако ще се използва Apache Web Server и "Non Thread Safe" - ако ще ползваме IIS Web Server.)
При използване на PHP с интегриран Windows инсталатор, всички настройки се конфигурират автоматично.
- Apache 2.2.x Module
- Apache configuraton directory: C:\Program Files\Apache Software Foundation\Apache2.2\conf\
проверете за следните настройки в httpd.conf
PHPIniDir "C:/Program Files/PHP/"
LoadModule php5_module c:/PHP/php5apache2_2.dll
AddType application/x-httpd-php .php
Намерете записът за автоматично отваряне на файл и добавете index.php:
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
- Рестартирайте Apache
DNS
- Да се се конфигурира към зоновия файл на pcX.abv.bg, така че pcX.abv.bg да сочи към 192.168.0.20Х.
Тестване
Създайте текствов файл index.php и добавете в него:
<?php // PHP skriptyt zapochva s <?php или <?
phpinfo();
// i zavyrshwa s ?>
?>
Качете файла на web сървъра и го заредете през web браузъра. Ако след извикването на файла се изведе системната информация за php, сървърът работи.
Глобални променливи
Да се тестват глобалните променливи на PHP - $_SERVER, $_POST, $_GET.
<html>
<head>
<title>Globals</title>
</head>
<body>
<?php
print_r($_SERVER);
print "<br />";
print_r($_GET);
print "<br />";
print_r($_POST);
?>
</body>
</html>
Форма за коментари
Да създаде уеб страница за оставяне на коментари.
<?php
$file = 'comments.txt'; // Променливите в PHP започват с $ и не е нужно да се инициализират
$fd = fopen( $file, 'a+'); // отваряне на файл за четене
if( isset($_POST['name'])) //проверка за съществуване на променлива
{ // В PHP има асоциативни променливи
fwrite($fd, "<p>Име: $_POST[name] \r\n"); //Когато стрингът е в двойни кавички, той се интерпретира
fwrite($fd, "<br /> $_POST[comment] </p> \r\n"); // Заместват се променливите и специалните символи
}
fseek($fd, 0); // връщане на показалеца на файла в 0 байт
$comments = fread($fd, filesize($file)); // четене от файл
fclose($fd );
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="" method="post">
<table>
<tr>
<td>ime</td>
<td><input type="text" name="name" value="" maxlength="100" /></td>
</tr>
<tr>
<td>komentar</td>
<td><textarea rows="3" cols="20" name="comment"></textarea></td>
</tr>
<tr>
<td colspan="2"><input name="submit" type="submit" value="Submit" /></td>
</tr>
</table>
</form>
<?php print $comments ?>
</body>
</html>
Фишинг / Phishing
Да се създаде фишинг страница на abv.bg.