Difference between revisions of "Windows Apache PHP"

From Ilianko
Line 1: Line 1:
== Цел на упражнението ==
 
Конфигуриране на PHP/Apache Web server.
 
 
 
PHP е скриптов език за програмиране използван за сървърни приложения и e най-популярния за разработване на динамично уеб-съдържание. Автор на езика е датчанинът от канадски произход Размус Лердорф.  
 
PHP е скриптов език за програмиране използван за сървърни приложения и e най-популярния за разработване на динамично уеб-съдържание. Автор на езика е датчанинът от канадски произход Размус Лердорф.  
  
 
+
== Цел на упражнението ==
 +
Конфигуриране на PHP/Apache Windows Web server.
  
 
== Опитна постановка ==
 
== Опитна постановка ==
Line 29: Line 27:
 
Има две разновидности за Windows - "Thread Safe" - ако ще се използва Apache Web Server и "Non Thread Safe" - ако ще ползваме IIS Web Server.)
 
Има две разновидности за Windows - "Thread Safe" - ако ще се използва Apache Web Server и "Non Thread Safe" - ако ще ползваме IIS Web Server.)
  
Win
+
http://192.168.0.11/php.msi
  
 
При използване на PHP с интегриран Windows инсталатор, всички настройки се конфигурират автоматично
 
При използване на PHP с интегриран Windows инсталатор, всички настройки се конфигурират автоматично
Line 35: Line 33:
 
== DNS ==
 
== DNS ==
  
*Да се добави към зоновия файл на pcX.abv.bg '''А''' запис за домейна apache.pcX.abv.bg, който да сочи към 192.168.0.22Х.
+
*Да се се конфигурира към зоновия файл на pcX.abv.bg, така че pcX.abv.bg да сочи към 192.168.0.20Х.
*Да се добави към зоновия файл на pcX.abv.bg '''CNAME''' запис за домейна www.pcX.abv.bg, който да сочи към apache.pcX.abv.bg.
 
 
 
== Конфигуриране на няколко домейна (virtual host) ==
 
 
 
'''Задача.'''Да се конфигурират два виртуални хоста
 
 
 
Стъпки на работа:
 
*Да се създадат директории c:/web/apache и c:/web/www
 
*Да се разкоментира реда от конфигурационния файл:
 
Include conf/extra/httpd-vhosts.conf
 
*Да се редактира файла httpd-vhosts.conf:
 
<code><pre>
 
NameVirtualHost *:80
 
 
 
<VirtualHost *:80>
 
    ServerAdmin student@pc1.abv.bg
 
    DocumentRoot "C:/web/apache"
 
    ServerName apache.pc1.abv.bg
 
 
 
    <Directory "C:/web/apache">
 
      Order allow,deny
 
      Allow from all
 
    </Directory>
 
</VirtualHost>
 
 
 
<VirtualHost *:80>
 
    ServerAdmin student@pc1.abv.bg
 
    DocumentRoot "C:/web/www"
 
    ServerName www.pc1.abv.bg
 
 
 
    <Directory "C:/web/www">
 
      Order allow,deny
 
      Allow from all
 
    </Directory>
 
</VirtualHost>
 
</pre></code>
 
 
 
 
 
*Да се създадат две различни страници (index.html) и да се сложат в двете директoрии на web сървъра
 
*да се тества
 
 
 
== Копиране на HTML ==
 
*да се копира страница на abv.bg и да се сложи на www.pcX.abv.bg
 
 
 
 
 
== Инсталиране на Apache Web Server.==
 
(виж ... ) Задайте "custom" инсталация и променете инсталационната директория на c:\Apache
 
 
 
== Инсталиране на PHP ==
 
(Има две разновидности за Windows - "Thread Safe" - ако ще се използва Apache Web Server и "Non Thread Safe" - ако ще ползваме IIS Web Server.)
 
- Инсталирайте в директория c:\PHP
 
- Избираме опция "Apache 2.2.x Module"
 
- Настройка на Apache да работи с PHP. Редактираме конфигурационния файл на Apache – httpd.conf. В края на файла добавяме:
 
<code><pre>
 
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
 
  
 
== Тестване ==
 
== Тестване ==
Line 109: Line 43:
 
?>  
 
?>  
 
</pre></code>
 
</pre></code>
Качете файла на web сървъра и го заредете през web браузър. Ако след извикването на файла се изведе системната информация за php, сървърът работи нормално.
+
Качете файла на web сървъра и го заредете през web браузъра. Ако след извикването на файла се изведе системната информация за php, сървърът работи.
  
 
== Глоабални променливи ==
 
== Глоабални променливи ==
Line 174: Line 108:
  
 
== Фишинг / Phishing ==
 
== Фишинг / Phishing ==
5. Да се създаде фишинг страница на mail.abv.bg.
+
Да се създаде фишинг страница на abv.bg.
  
  
 
[[Category:Apache PHP MySQL]]
 
[[Category:Apache PHP MySQL]]

Revision as of 16:17, 16 March 2012

PHP е скриптов език за програмиране използван за сървърни приложения и e най-популярния за разработване на динамично уеб-съдържание. Автор на езика е датчанинът от канадски произход Размус Лердорф.

Цел на упражнението

Конфигуриране на PHP/Apache Windows Web server.

Опитна постановка

  1. Да се импортира инсталация на Windows XP на виртуалната машина, от директория D:/it, като файлът на диска на виртуалната машина се запише на D:/ime/*.vmdk
  2. Преди да се включи виртуалният компютър мрежовата карта да се пренасочи към мрежовата карта на хост компютъра (мостов адаптер) и да се смени MAC адресът
  3. След включване на виртуалната машина да се смени името на компютъра на phpX, където X е номера на работната станция.
  4. Да се зададат на мрежовият интерфейс на PHP-сървъра следните настройки, където X е номера на работната станция:
    • IP: 192.168.0.20X/24,
    • Gaytway: 192.168.0.11
    • DNS: 192.168.0.10X

Конфигуриране PHP, Apache, Windows

Инсталация Apache

Да се инсталира Apache със следните настройки:

  • Network Domain: pcX.abv.bg
  • Server name: apache.pcX.abv.bg
  • Administrator email: student@pcX.abv.bg

Инсталационен файл: http://192.168.0.99/apache.msi

Инсталация PHP

Има две разновидности за Windows - "Thread Safe" - ако ще се използва Apache Web Server и "Non Thread Safe" - ако ще ползваме IIS Web Server.)

http://192.168.0.11/php.msi

При използване на PHP с интегриран Windows инсталатор, всички настройки се конфигурират автоматично

DNS

  • Да се се конфигурира към зоновия файл на pcX.abv.bg, така че pcX.abv.bg да сочи към 192.168.0.20Х.

Тестване

Създайте текствов файл index.php и добавете в него:

<?php // PHP скриптът започва с <?php или <?
 phpinfo(); 
 // и завършва с ?> 
?> 

Качете файла на 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.