Windows Apache PHP: Difference between revisions
m Protected "Упражнение 7. Apache PHP" ([edit=sysop] (indefinite) [move=sysop] (indefinite)) |
|||
| (22 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 | |||
AddType application/x-httpd-php .php | |||
</pre></code> | |||
Намерете записът за автоматично отваряне на файл и добавете index.php: | |||
<code><pre> | |||
<IfModule dir_module> | |||
DirectoryIndex index.php index.html | |||
</IfModule> | |||
</pre></code> | |||
- Рестартирайте Apache | |||
== DNS == | |||
*Да се се конфигурира към зоновия файл на pcX.abv.bg, така че pcX.abv.bg да сочи към 192.168.0.20Х. | |||
== Тестване == | |||
Създайте текствов файл index.php и добавете в него: | |||
<code><pre> | |||
<?php // PHP skriptyt zapochva s <?php или <? | |||
phpinfo(); | |||
// i zavyrshwa s ?> | |||
?> | |||
</pre></code> | |||
Качете файла на web сървъра и го заредете през web браузъра. Ако след извикването на файла се изведе системната информация за php, сървърът работи. | |||
== Глобални променливи == | |||
Да се тестват глобалните променливи на PHP - $_SERVER, $_POST, $_GET. | |||
<code><pre> | |||
<html> | |||
<head> | |||
<title>Globals</title> | |||
</head> | |||
<body> | |||
<?php | |||
print_r($_SERVER); | |||
print "<br />"; | |||
print_r($_GET); | |||
print "<br />"; | |||
print_r($_POST); | |||
?> | |||
</body> | |||
</html> | |||
</pre></code> | |||
== Форма за коментари == | |||
Да създаде уеб страница за оставяне на коментари. | |||
<code><pre> | |||
<?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> | |||
</pre></code> | |||
== Фишинг / Phishing == | |||
Да се създаде фишинг страница на abv.bg. | |||
[[Category:Apache PHP MySQL]] | [[Category:Apache PHP MySQL]] | ||
Latest revision as of 07:56, 26 March 2014
PHP е скриптов език за програмиране използван за сървърни приложения и e най-популярния за разработване на динамично уеб-съдържание. Автор на езика е датчанинът от канадски произход Размус Лердорф.
Цел на упражнението
Конфигуриране на 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.