<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.nc.ut.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pavel</id>
	<title>TÜ Narva Kolledži Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nc.ut.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pavel"/>
	<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Special:Contributions/Pavel"/>
	<updated>2026-10-30T15:54:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Main_Page&amp;diff=2195</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Main_Page&amp;diff=2195"/>
		<updated>2026-10-27T20:28:17Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tartu Ülikooli Narva Kolledži wiki ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Õppetöö ===&lt;br /&gt;
&lt;br /&gt;
* [[Windows administreerimine]]&lt;br /&gt;
* [[Linux administreerimine]]&lt;br /&gt;
&lt;br /&gt;
=== Enesearendamiseks ===&lt;br /&gt;
&lt;br /&gt;
* [[Programmeerimise alused]]&lt;br /&gt;
&lt;br /&gt;
* [[3D Modelleerimine]]&lt;br /&gt;
&lt;br /&gt;
* [[Excel]]&lt;br /&gt;
&lt;br /&gt;
* [[Gimp]]&lt;br /&gt;
&lt;br /&gt;
* [[Arvutikasutamine uurimistöös]]&lt;br /&gt;
&lt;br /&gt;
=== Manuals ===&lt;br /&gt;
&lt;br /&gt;
* [[Fog Project]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Do_While&amp;diff=2194</id>
		<title>Do While</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Do_While&amp;diff=2194"/>
		<updated>2026-07-14T12:19:49Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# Do While&lt;br /&gt;
&lt;br /&gt;
key = &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
while key != &#039;q&#039;:&lt;br /&gt;
    key = input(&#039;Нажмите q чтобы выйти: &#039;)&lt;br /&gt;
    print(&#039;Вы нажали клавишу &#039; + key)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Do_While&amp;diff=2193</id>
		<title>Do While</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Do_While&amp;diff=2193"/>
		<updated>2026-07-14T12:19:36Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# Do While&lt;br /&gt;
&lt;br /&gt;
key = &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
while key != &#039;q&#039;:&lt;br /&gt;
    key = input(&#039;Нажмите q чтобы выйти: &#039;)&lt;br /&gt;
    print(&#039;Вы нажали клавишу &#039; + key)&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Do_While&amp;diff=2192</id>
		<title>Do While</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Do_While&amp;diff=2192"/>
		<updated>2026-07-14T12:18:33Z</updated>

		<summary type="html">&lt;p&gt;Pavel: Created page with &amp;quot;&amp;lt;pre&amp;gt; # Do While  key = &amp;#039;&amp;#039;  while key != &amp;#039;q&amp;#039;:     print(&amp;#039;Вы нажали клавишу &amp;#039; + key)     key = input(&amp;#039;Нажмите q чтобы выйти: &amp;#039;)  &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# Do While&lt;br /&gt;
&lt;br /&gt;
key = &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
while key != &#039;q&#039;:&lt;br /&gt;
    print(&#039;Вы нажали клавишу &#039; + key)&lt;br /&gt;
    key = input(&#039;Нажмите q чтобы выйти: &#039;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2191</id>
		<title>Примеры Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2191"/>
		<updated>2026-07-14T12:18:18Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Add Two Numbers]]&lt;br /&gt;
&lt;br /&gt;
[[Pension]]&lt;br /&gt;
&lt;br /&gt;
[[More Less]]&lt;br /&gt;
&lt;br /&gt;
[[Odd or Even]]&lt;br /&gt;
&lt;br /&gt;
[[Find the Square Root]]&lt;br /&gt;
&lt;br /&gt;
[[Calculate the Area of a Triangle]]&lt;br /&gt;
&lt;br /&gt;
[[Solve Quadratic Equation]]&lt;br /&gt;
&lt;br /&gt;
[[Guess Number]]&lt;br /&gt;
&lt;br /&gt;
[[Divide by 3]]&lt;br /&gt;
&lt;br /&gt;
[[Do While]]&lt;br /&gt;
&lt;br /&gt;
[[Calculator]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.programiz.com/python-programming/examples Дополнительно]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Divide_by_3&amp;diff=2190</id>
		<title>Divide by 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Divide_by_3&amp;diff=2190"/>
		<updated>2026-07-14T12:03:24Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Divide by 3&lt;br /&gt;
&lt;br /&gt;
num = 100&lt;br /&gt;
&lt;br /&gt;
for i in range (1, num) :&lt;br /&gt;
    if i % 3 == 0 :&lt;br /&gt;
        print (i)&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание 1: Модифицировать программу таким образом чтобы она запрашивала у пользователя любое число от 1 до 100 и выводила на экран все числа кратные 3 от 1 до введенного пользователем числа.&lt;br /&gt;
&lt;br /&gt;
Задание 2: модифицировать программу так, чтобы пользователь сам мог вводить кратное число&lt;br /&gt;
&lt;br /&gt;
Задание 3: модифицировать программу таким образом, что если пользователь введет число больше 100, равное или меньше 0, то программа запрашивала ввод числа от 1 до 100 снова (используйте цикл while)&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Divide_by_3&amp;diff=2189</id>
		<title>Divide by 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Divide_by_3&amp;diff=2189"/>
		<updated>2026-07-14T12:02:09Z</updated>

		<summary type="html">&lt;p&gt;Pavel: Created page with &amp;quot;&amp;lt;pre&amp;gt;  # Divide by 3  num = 100  for i in range (1, num) :     if i % 3 == 0 :         print (i)           &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Divide by 3&lt;br /&gt;
&lt;br /&gt;
num = 100&lt;br /&gt;
&lt;br /&gt;
for i in range (1, num) :&lt;br /&gt;
    if i % 3 == 0 :&lt;br /&gt;
        print (i)&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2188</id>
		<title>Примеры Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2188"/>
		<updated>2026-07-14T12:01:47Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Add Two Numbers]]&lt;br /&gt;
&lt;br /&gt;
[[Pension]]&lt;br /&gt;
&lt;br /&gt;
[[More Less]]&lt;br /&gt;
&lt;br /&gt;
[[Odd or Even]]&lt;br /&gt;
&lt;br /&gt;
[[Find the Square Root]]&lt;br /&gt;
&lt;br /&gt;
[[Calculate the Area of a Triangle]]&lt;br /&gt;
&lt;br /&gt;
[[Solve Quadratic Equation]]&lt;br /&gt;
&lt;br /&gt;
[[Guess Number]]&lt;br /&gt;
&lt;br /&gt;
[[Divide by 3]]&lt;br /&gt;
&lt;br /&gt;
[[Calculator]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.programiz.com/python-programming/examples Дополнительно]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Calculator&amp;diff=2187</id>
		<title>Calculator</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Calculator&amp;diff=2187"/>
		<updated>2026-07-14T11:48:45Z</updated>

		<summary type="html">&lt;p&gt;Pavel: Created page with &amp;quot;&amp;lt;pre&amp;gt;  while True:     num1 = float(input(&amp;quot;Введите первое число: &amp;quot;))     op = input(&amp;quot;Введите операцию (+, -, *, /): &amp;quot;)     num2 = float(input(...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    num1 = float(input(&amp;quot;Введите первое число: &amp;quot;))&lt;br /&gt;
    op = input(&amp;quot;Введите операцию (+, -, *, /): &amp;quot;)&lt;br /&gt;
    num2 = float(input(&amp;quot;Введите второе число: &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    if op == &amp;quot;+&amp;quot;:&lt;br /&gt;
        print(&amp;quot;Результат:&amp;quot;, num1 + num2)&lt;br /&gt;
    elif op == &amp;quot;-&amp;quot;:&lt;br /&gt;
        print(&amp;quot;Результат:&amp;quot;, num1 - num2)&lt;br /&gt;
    elif op == &amp;quot;*&amp;quot;:&lt;br /&gt;
        print(&amp;quot;Результат:&amp;quot;, num1 * num2)&lt;br /&gt;
    elif op == &amp;quot;/&amp;quot;:&lt;br /&gt;
        if num2 != 0:&lt;br /&gt;
            print(&amp;quot;Результат:&amp;quot;, num1 / num2)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Ошибка: деление на ноль!&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Неизвестная операция.&amp;quot;)&lt;br /&gt;
    vastus = input(&amp;quot;Хотите выйти из программы (y/n)? &amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    if vastus == &amp;quot;y&amp;quot;:&lt;br /&gt;
        print(&amp;quot;До завтра!&amp;quot;)&lt;br /&gt;
        break&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Продолжим&amp;quot;)&lt;br /&gt;
            &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2186</id>
		<title>Примеры Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2186"/>
		<updated>2026-07-14T11:47:52Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Add Two Numbers]]&lt;br /&gt;
&lt;br /&gt;
[[Pension]]&lt;br /&gt;
&lt;br /&gt;
[[More Less]]&lt;br /&gt;
&lt;br /&gt;
[[Odd or Even]]&lt;br /&gt;
&lt;br /&gt;
[[Find the Square Root]]&lt;br /&gt;
&lt;br /&gt;
[[Calculate the Area of a Triangle]]&lt;br /&gt;
&lt;br /&gt;
[[Solve Quadratic Equation]]&lt;br /&gt;
&lt;br /&gt;
[[Guess Number]]&lt;br /&gt;
&lt;br /&gt;
[[Calculator]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.programiz.com/python-programming/examples Дополнительно]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Odd_or_Even&amp;diff=2185</id>
		<title>Odd or Even</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Odd_or_Even&amp;diff=2185"/>
		<updated>2026-07-14T11:44:14Z</updated>

		<summary type="html">&lt;p&gt;Pavel: Created page with &amp;quot;&amp;lt;pre&amp;gt; # Odd or Even  # Python program to check if the input number is odd or even. # A number is even if division by 2 gives a remainder of 0. # If the remainder is 1, it is a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# Odd or Even&lt;br /&gt;
&lt;br /&gt;
# Python program to check if the input number is odd or even.&lt;br /&gt;
# A number is even if division by 2 gives a remainder of 0.&lt;br /&gt;
# If the remainder is 1, it is an odd number.&lt;br /&gt;
&lt;br /&gt;
num = int(input(&amp;quot;Введите число: &amp;quot;))&lt;br /&gt;
if (num % 2) == 0:&lt;br /&gt;
   print(&amp;quot;{0} кратно 2&amp;quot;.format(num))&lt;br /&gt;
else:&lt;br /&gt;
   print(&amp;quot;{0} не кратно 2&amp;quot;.format(num))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Задание: модифицировать программу так, чтобы пользователь сам мог вводить кратное число&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2184</id>
		<title>Примеры Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2184"/>
		<updated>2026-07-14T11:43:31Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Add Two Numbers]]&lt;br /&gt;
&lt;br /&gt;
[[Pension]]&lt;br /&gt;
&lt;br /&gt;
[[More Less]]&lt;br /&gt;
&lt;br /&gt;
[[Odd or Even]]&lt;br /&gt;
&lt;br /&gt;
[[Find the Square Root]]&lt;br /&gt;
&lt;br /&gt;
[[Calculate the Area of a Triangle]]&lt;br /&gt;
&lt;br /&gt;
[[Solve Quadratic Equation]]&lt;br /&gt;
&lt;br /&gt;
[[Guess Number]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.programiz.com/python-programming/examples Дополнительно]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2183</id>
		<title>Примеры Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2183"/>
		<updated>2026-07-14T11:37:53Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Add Two Numbers]]&lt;br /&gt;
&lt;br /&gt;
[[Pension]]&lt;br /&gt;
&lt;br /&gt;
[[More Less]]&lt;br /&gt;
&lt;br /&gt;
[[Find the Square Root]]&lt;br /&gt;
&lt;br /&gt;
[[Calculate the Area of a Triangle]]&lt;br /&gt;
&lt;br /&gt;
[[Solve Quadratic Equation]]&lt;br /&gt;
&lt;br /&gt;
[[Guess Number]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.programiz.com/python-programming/examples Дополнительно]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Main_Page&amp;diff=2182</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Main_Page&amp;diff=2182"/>
		<updated>2026-07-14T11:37:06Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tartu Ülikooli Narva Kolledži wiki ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Muutmiseks kasutage Narva Kolledži kasutajanime ja parooli!&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
=== Õppetöö ===&lt;br /&gt;
&lt;br /&gt;
* [[Windows administreerimine]]&lt;br /&gt;
* [[Linux administreerimine]]&lt;br /&gt;
&lt;br /&gt;
=== Enesearendamiseks ===&lt;br /&gt;
&lt;br /&gt;
* [[Programmeerimise alused]]&lt;br /&gt;
&lt;br /&gt;
* [[3D Modelleerimine]]&lt;br /&gt;
&lt;br /&gt;
* [[Excel]]&lt;br /&gt;
&lt;br /&gt;
* [[Gimp]]&lt;br /&gt;
&lt;br /&gt;
* [[Arvutikasutamine uurimistöös]]&lt;br /&gt;
&lt;br /&gt;
=== Manuals ===&lt;br /&gt;
&lt;br /&gt;
* [[Fog Project]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2181</id>
		<title>Примеры Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2181"/>
		<updated>2026-07-14T11:36:13Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Add Two Numbers]]&lt;br /&gt;
&lt;br /&gt;
[[Pension]]&lt;br /&gt;
&lt;br /&gt;
[[More Less]]&lt;br /&gt;
&lt;br /&gt;
[[Find the Square Root]]&lt;br /&gt;
&lt;br /&gt;
[[Calculate the Area of a Triangle]]&lt;br /&gt;
&lt;br /&gt;
[[Solve Quadratic Equation]]&lt;br /&gt;
&lt;br /&gt;
[[Guess Number]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Дополнительно https://www.programiz.com/python-programming/examples?utm_source=programiz.com&amp;amp;utm_medium=referral&amp;amp;utm_audience=ORGANIC-FREEMIUM&amp;amp;utm_campaign=course_promotion&amp;amp;utm_content=interests_learn_python&amp;amp;utm_term=nav_examples_banner]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2180</id>
		<title>Примеры Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2180"/>
		<updated>2026-07-14T11:34:59Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Add Two Numbers]]&lt;br /&gt;
&lt;br /&gt;
[[Pension]]&lt;br /&gt;
&lt;br /&gt;
[[More Less]]&lt;br /&gt;
&lt;br /&gt;
[[Find the Square Root]]&lt;br /&gt;
&lt;br /&gt;
[[Calculate the Area of a Triangle]]&lt;br /&gt;
&lt;br /&gt;
[[Solve Quadratic Equation]]&lt;br /&gt;
&lt;br /&gt;
[[Guess Number]]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=More_Less&amp;diff=2179</id>
		<title>More Less</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=More_Less&amp;diff=2179"/>
		<updated>2026-07-14T11:34:13Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# More or Less than 100&lt;br /&gt;
&lt;br /&gt;
# Сохраняем в строковой переменной введенное пользователем слово&lt;br /&gt;
text = input(&#039;Введите число: &#039;)&lt;br /&gt;
&lt;br /&gt;
# Преобразуем строку типа String в число типа Integer&lt;br /&gt;
number = int(text)&lt;br /&gt;
&lt;br /&gt;
if number &amp;gt;= 100 :&lt;br /&gt;
    print(&amp;quot;Число больше 100!&amp;quot;)&lt;br /&gt;
else :&lt;br /&gt;
    print(&amp;quot;Число меньше 100!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Задание: допишите программу чтобы она реагировала на число равное 100 и выводила сообщение &amp;quot;Число равно 100!&amp;quot;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=More_Less&amp;diff=2178</id>
		<title>More Less</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=More_Less&amp;diff=2178"/>
		<updated>2026-07-14T11:34:07Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# More or Less than 100&lt;br /&gt;
&lt;br /&gt;
# Сохраняем в строковой переменной введенное пользователем слово&lt;br /&gt;
text = input(&#039;Введите число: &#039;)&lt;br /&gt;
&lt;br /&gt;
# Преобразуем строку типа String в число типа Integer&lt;br /&gt;
number = int(text)&lt;br /&gt;
&lt;br /&gt;
if number &amp;gt;= 100 :&lt;br /&gt;
    print(&amp;quot;Число больше 100!&amp;quot;)&lt;br /&gt;
else :&lt;br /&gt;
    print(&amp;quot;Число меньше 100!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Задание: допишите программу чтобы она реагировала на число равное 100 и выводила сообщение &amp;quot;Число равно 100!&amp;quot;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=More_Less&amp;diff=2177</id>
		<title>More Less</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=More_Less&amp;diff=2177"/>
		<updated>2026-07-14T11:33:41Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# More or Less than 100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Сохраняем в строковой переменной введенное пользователем слово&lt;br /&gt;
text = input(&#039;Введите число: &#039;)&lt;br /&gt;
&lt;br /&gt;
# Преобразуем строку типа String в число типа Integer&lt;br /&gt;
number = int(text)&lt;br /&gt;
&lt;br /&gt;
if number &amp;gt;= 100 :&lt;br /&gt;
    print(&amp;quot;Число больше 100!&amp;quot;)&lt;br /&gt;
else :&lt;br /&gt;
    print(&amp;quot;Число меньше 100!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Задание: допишите программу чтобы она реагировала на число равное 100 и выводила сообщение &amp;quot;Число равно 100!&amp;quot;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=More_Less&amp;diff=2176</id>
		<title>More Less</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=More_Less&amp;diff=2176"/>
		<updated>2026-07-14T11:32:44Z</updated>

		<summary type="html">&lt;p&gt;Pavel: Created page with &amp;quot;#More or Less than 100  # Сохраняем в строковой переменной введенное пользователем слово text = input(&amp;#039;Введите...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#More or Less than 100&lt;br /&gt;
&lt;br /&gt;
# Сохраняем в строковой переменной введенное пользователем слово&lt;br /&gt;
text = input(&#039;Введите число: &#039;)&lt;br /&gt;
&lt;br /&gt;
# Преобразуем строку типа String в число типа Integer&lt;br /&gt;
number = int(text)&lt;br /&gt;
&lt;br /&gt;
if number &amp;gt;= 100 :&lt;br /&gt;
    print(&amp;quot;Число больше 100!&amp;quot;)&lt;br /&gt;
else :&lt;br /&gt;
    print(&amp;quot;Число меньше 100!&amp;quot;)&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2175</id>
		<title>Примеры Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2175"/>
		<updated>2026-07-14T11:32:19Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Add Two Numbers]]&lt;br /&gt;
&lt;br /&gt;
[[More Less]]&lt;br /&gt;
&lt;br /&gt;
[[Pension]]&lt;br /&gt;
&lt;br /&gt;
[[Find the Square Root]]&lt;br /&gt;
&lt;br /&gt;
[[Calculate the Area of a Triangle]]&lt;br /&gt;
&lt;br /&gt;
[[Solve Quadratic Equation]]&lt;br /&gt;
&lt;br /&gt;
[[Guess Number]]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Pension&amp;diff=2174</id>
		<title>Pension</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Pension&amp;diff=2174"/>
		<updated>2026-07-14T11:07:17Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# Age&lt;br /&gt;
# Количество лет для выхода на пенсию&lt;br /&gt;
limit = 65&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Сохраняем в строковой переменной введенное пользователем имя&lt;br /&gt;
eesnimi = input(&amp;quot;Введите Имя : &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Сохраняем в строковой переменной введенное пользователем фамилию&lt;br /&gt;
perenimi = input(&amp;quot;Введите Фамилию : &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Сохраняем в строковой переменной введенное пользователем отчество&lt;br /&gt;
isanimi = input(&amp;quot;Введите Отчество : &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Соединяем 3 переменные (конкатенация) и записываем в другую строковую переменную pei&lt;br /&gt;
pei = perenimi + &amp;quot; &amp;quot; + eesnimi + &amp;quot; &amp;quot; + isanimi&lt;br /&gt;
&lt;br /&gt;
# Выводим на экран текст и переменную pei&lt;br /&gt;
print(&amp;quot;Ваше полное имя : &amp;quot; + pei);&lt;br /&gt;
&lt;br /&gt;
age = input(&amp;quot;Введите ваш возраст : &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Конвертируем значение строковой переменной в числовой тип Integer и присваиваем значение переменной age&lt;br /&gt;
age = int(age)&lt;br /&gt;
&lt;br /&gt;
pension = limit - age&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Вам на пенсию через {} года/лет&amp;quot;.format(pension))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание: модифицируйте программу таким образом чтобы при введенном возрасте большем или равном 65 выводилось сообщение: &amp;quot;Вы уже пенсионер!&amp;quot;, а если введенный возраст меньше чем 18, то выводилась надпись &amp;quot;Пенсию надо заработать!&amp;quot;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Pension&amp;diff=2173</id>
		<title>Pension</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Pension&amp;diff=2173"/>
		<updated>2026-07-14T11:06:49Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# Age&lt;br /&gt;
# Количество лет для выхода на пенсию&lt;br /&gt;
limit = 65&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Сохраняем в строковой переменной введенное пользователем имя&lt;br /&gt;
eesnimi = input(&amp;quot;Введите Имя : &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Сохраняем в строковой переменной введенное пользователем фамилию&lt;br /&gt;
perenimi = input(&amp;quot;Введите Фамилию : &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Сохраняем в строковой переменной введенное пользователем отчество&lt;br /&gt;
isanimi = input(&amp;quot;Введите Отчество : &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Соединяем 3 переменные (конкатенация) и записываем в другую строковую переменную pei&lt;br /&gt;
pei = perenimi + &amp;quot; &amp;quot; + eesnimi + &amp;quot; &amp;quot; + isanimi&lt;br /&gt;
&lt;br /&gt;
# Выводим на экран текст и переменную pei&lt;br /&gt;
print(&amp;quot;Ваше полное имя : &amp;quot; + pei);&lt;br /&gt;
&lt;br /&gt;
age = input(&amp;quot;Введите ваш возраст : &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Конвертируем значение строковой переменной в числовой тип Integer и присваиваем значение переменной age&lt;br /&gt;
age = int(age)&lt;br /&gt;
&lt;br /&gt;
pension = limit - age&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Вам на пенсию через {} года/лет&amp;quot;.format(pension))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание: модифицируйте программу таким образом чтобы при введенном возрасте большем или равном 65 выводилось сообщение: &amp;quot;Вы уже пенсионер!&amp;quot;, а если введенный возраст меньше чем 18, то выводилось количество лет до пенсии и надпись &amp;quot;Пенсию надо заработать!&amp;quot;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Pension&amp;diff=2172</id>
		<title>Pension</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Pension&amp;diff=2172"/>
		<updated>2026-07-14T11:03:37Z</updated>

		<summary type="html">&lt;p&gt;Pavel: Created page with &amp;quot;&amp;lt;pre&amp;gt; # Age # Количество лет для выхода на пенсию limit = 65   # Сохраняем в строковой переменной введенное...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# Age&lt;br /&gt;
# Количество лет для выхода на пенсию&lt;br /&gt;
limit = 65&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Сохраняем в строковой переменной введенное пользователем имя&lt;br /&gt;
eesnimi = input(&amp;quot;Введите Имя : &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Сохраняем в строковой переменной введенное пользователем фамилию&lt;br /&gt;
perenimi = input(&amp;quot;Введите Фамилию : &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Сохраняем в строковой переменной введенное пользователем отчество&lt;br /&gt;
isanimi = input(&amp;quot;Введите Отчество : &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Соединяем 3 переменные (конкатенация) и записываем в другую строковую переменную pei&lt;br /&gt;
pei = perenimi + &amp;quot; &amp;quot; + eesnimi + &amp;quot; &amp;quot; + isanimi&lt;br /&gt;
&lt;br /&gt;
# Выводим на экран текст и переменную pei&lt;br /&gt;
print(&amp;quot;Ваше полное имя : &amp;quot; + pei);&lt;br /&gt;
&lt;br /&gt;
age = input(&amp;quot;Введите ваш возраст : &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Конвертируем значение строковой переменной в числовой тип Integer и присваиваем значение переменной age&lt;br /&gt;
age = int(age)&lt;br /&gt;
&lt;br /&gt;
pension = limit - age&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Вам на пенсию через {} года/лет&amp;quot;.format(pension))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2171</id>
		<title>Примеры Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2171"/>
		<updated>2026-07-14T11:03:23Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Add Two Numbers]]&lt;br /&gt;
&lt;br /&gt;
[[Pension]]&lt;br /&gt;
&lt;br /&gt;
[[Find the Square Root]]&lt;br /&gt;
&lt;br /&gt;
[[Calculate the Area of a Triangle]]&lt;br /&gt;
&lt;br /&gt;
[[Solve Quadratic Equation]]&lt;br /&gt;
&lt;br /&gt;
[[Guess Number]]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2170</id>
		<title>Примеры Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2170"/>
		<updated>2026-07-14T11:02:56Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Add Two Numbers]]&lt;br /&gt;
&lt;br /&gt;
[[Age]]&lt;br /&gt;
&lt;br /&gt;
[[Find the Square Root]]&lt;br /&gt;
&lt;br /&gt;
[[Calculate the Area of a Triangle]]&lt;br /&gt;
&lt;br /&gt;
[[Solve Quadratic Equation]]&lt;br /&gt;
&lt;br /&gt;
[[Guess Number]]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Guess_Number&amp;diff=2169</id>
		<title>Guess Number</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Guess_Number&amp;diff=2169"/>
		<updated>2026-07-14T10:46:05Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# Guess Number&lt;br /&gt;
&lt;br /&gt;
import random&lt;br /&gt;
&lt;br /&gt;
# Компьютер придумывает число от 1 до 100&lt;br /&gt;
compnumber = random.randint(0,100)&lt;br /&gt;
print(compnumber)&lt;br /&gt;
attempt = 20&lt;br /&gt;
print(&amp;quot;У вас {0} попыток чтобы отгадать число!&amp;quot;.format(attempt))&lt;br /&gt;
&lt;br /&gt;
for i in range(1, attempt) :&lt;br /&gt;
    number = int(input(&#039;Введите число от 1 до 100: &#039;))&lt;br /&gt;
    if compnumber == number :&lt;br /&gt;
        print (&#039;Вы угадали! Поздравляем!&#039;)&lt;br /&gt;
        break&lt;br /&gt;
    else :&lt;br /&gt;
        if compnumber &amp;lt; number :&lt;br /&gt;
            print (&#039;Мое число меньше!&#039;)&lt;br /&gt;
        if compnumber &amp;gt; number :&lt;br /&gt;
            print (&#039;Мое число больше!&#039;)&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Задание: Модифицировать программу чтобы в конце сообщения с поздравлениями она выводила сообщение о количестве использованных попыток, а также выводило сообщение &amp;quot;Вы проиграли&amp;quot; в случае если количество попыток закончилось.&lt;br /&gt;
&lt;br /&gt;
Дополнительно: модифицировать код таким образом, чтобы программа давала возможность пользователю сыграть еще раз (используйте цикл do while)&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Guess_Number&amp;diff=2168</id>
		<title>Guess Number</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Guess_Number&amp;diff=2168"/>
		<updated>2026-07-14T10:45:11Z</updated>

		<summary type="html">&lt;p&gt;Pavel: Created page with &amp;quot;&amp;lt;pre&amp;gt; # Guess Number  import random  # Компьютер придумывает число от 1 до 100 compnumber = random.randint(0,100) print(compnumber) attempt = 20 p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# Guess Number&lt;br /&gt;
&lt;br /&gt;
import random&lt;br /&gt;
&lt;br /&gt;
# Компьютер придумывает число от 1 до 100&lt;br /&gt;
compnumber = random.randint(0,100)&lt;br /&gt;
print(compnumber)&lt;br /&gt;
attempt = 20&lt;br /&gt;
print(&amp;quot;У вас {0} попыток чтобы отгадать число!&amp;quot;.format(attempt))&lt;br /&gt;
&lt;br /&gt;
for i in range(1, attempt) :&lt;br /&gt;
    number = int(input(&#039;Введите число от 1 до 100: &#039;))&lt;br /&gt;
    if compnumber == number :&lt;br /&gt;
        print (&#039;Вы угадали! Поздравляем!&#039;)&lt;br /&gt;
        break&lt;br /&gt;
    else :&lt;br /&gt;
        if compnumber &amp;lt; number :&lt;br /&gt;
            print (&#039;Мое число меньше!&#039;)&lt;br /&gt;
        if compnumber &amp;gt; number :&lt;br /&gt;
            print (&#039;Мое число больше!&#039;)&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2167</id>
		<title>Примеры Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2167"/>
		<updated>2026-07-14T10:44:54Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Add Two Numbers]]&lt;br /&gt;
&lt;br /&gt;
[[Find the Square Root]]&lt;br /&gt;
&lt;br /&gt;
[[Calculate the Area of a Triangle]]&lt;br /&gt;
&lt;br /&gt;
[[Solve Quadratic Equation]]&lt;br /&gt;
&lt;br /&gt;
[[Guess Number]]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Solve_Quadratic_Equation&amp;diff=2166</id>
		<title>Solve Quadratic Equation</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Solve_Quadratic_Equation&amp;diff=2166"/>
		<updated>2026-07-14T10:05:15Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Solve the quadratic equation ax**2 + bx + c = 0&lt;br /&gt;
&lt;br /&gt;
# import complex math module&lt;br /&gt;
import math&lt;br /&gt;
&lt;br /&gt;
#ax2 + bx + c = 0, where&lt;br /&gt;
#a, b and c are real numbers and&lt;br /&gt;
#a ≠ 0&lt;br /&gt;
&lt;br /&gt;
#the discriminant&lt;br /&gt;
#d = (b**2) - (4*a*c)&lt;br /&gt;
&lt;br /&gt;
#(-b ± (d) ** 0.5) / (2 * a)&lt;br /&gt;
&lt;br /&gt;
print (&#039;Solve the quadratic equation ax**2 + bx + c = 0&#039;)&lt;br /&gt;
&lt;br /&gt;
a = float(input(&#039;Enter a: &#039;))&lt;br /&gt;
b = float(input(&#039;Enter b: &#039;))&lt;br /&gt;
c = float(input(&#039;Enter c: &#039;))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# calculate the discriminant&lt;br /&gt;
d = (b**2) - (4*a*c)&lt;br /&gt;
#где d = b2 - 4ac — дискриминант многочлена ax2 + bx + c.&lt;br /&gt;
#Если D &amp;gt; 0, то уравнение имеет два различных вещественных корня.&lt;br /&gt;
#например при a = 1, b = 1 и c = –6, корни уравнения будут -3 и 2&lt;br /&gt;
#Если D = 0, то оба корня равны. Например: a = 1, b = −6, c = 9;&lt;br /&gt;
#Если D &amp;lt; 0, то решений нет. Например: a = 1, b = 1, c = 6;&lt;br /&gt;
&lt;br /&gt;
if d &amp;gt; 0 :&lt;br /&gt;
    # find two solutions&lt;br /&gt;
    sol1 = (-b-math.sqrt(d))/(2*a)&lt;br /&gt;
    sol2 = (-b+math.sqrt(d))/(2*a)&lt;br /&gt;
    print(&#039;The solution are {0} and {1}&#039;.format(sol1,sol2))&lt;br /&gt;
&lt;br /&gt;
if d == 0 :&lt;br /&gt;
    sol1 = (-b)/(2*a)&lt;br /&gt;
    print(&#039;The solution has the only root {0}&#039;.format(sol1))&lt;br /&gt;
&lt;br /&gt;
if d &amp;lt; 0 :&lt;br /&gt;
    print(&#039;There are no solutions!&#039;)&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Solve_Quadratic_Equation&amp;diff=2165</id>
		<title>Solve Quadratic Equation</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Solve_Quadratic_Equation&amp;diff=2165"/>
		<updated>2026-07-14T10:04:51Z</updated>

		<summary type="html">&lt;p&gt;Pavel: Created page with &amp;quot;&amp;lt;pre&amp;gt;  # Solve the quadratic equation ax**2 + bx + c = 0  # import complex math module import math  #ax2 + bx + c = 0, where #a, b and c are real numbers and #a ≠ 0  #the di...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Solve the quadratic equation ax**2 + bx + c = 0&lt;br /&gt;
&lt;br /&gt;
# import complex math module&lt;br /&gt;
import math&lt;br /&gt;
&lt;br /&gt;
#ax2 + bx + c = 0, where&lt;br /&gt;
#a, b and c are real numbers and&lt;br /&gt;
#a ≠ 0&lt;br /&gt;
&lt;br /&gt;
#the discriminant&lt;br /&gt;
#d = (b**2) - (4*a*c)&lt;br /&gt;
&lt;br /&gt;
#(-b ± (d) ** 0.5) / (2 * a)&lt;br /&gt;
&lt;br /&gt;
print (&#039;Solve the quadratic equation ax**2 + bx + c = 0&#039;)&lt;br /&gt;
&lt;br /&gt;
a = float(input(&#039;Enter a: &#039;))&lt;br /&gt;
b = float(input(&#039;Enter b: &#039;))&lt;br /&gt;
c = float(input(&#039;Enter c: &#039;))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# calculate the discriminant&lt;br /&gt;
d = (b**2) - (4*a*c)&lt;br /&gt;
#где d = b2 - 4ac — дискриминант многочлена ax2 + bx + c.&lt;br /&gt;
#Если D &amp;gt; 0, то уравнение имеет два различных вещественных корня.&lt;br /&gt;
#например при a = 1, b = 1 и c = –6, корни уравнения будут -3 и 2&lt;br /&gt;
#Если D = 0, то оба корня равны. Например: a = 1, b = −6, c = 9;&lt;br /&gt;
#Если D &amp;lt; 0, то решений нет. Например: a = 1, b = 1, c = 6;&lt;br /&gt;
&lt;br /&gt;
if d &amp;gt; 0 :&lt;br /&gt;
    # find two solutions&lt;br /&gt;
    sol1 = (-b-math.sqrt(d))/(2*a)&lt;br /&gt;
    sol2 = (-b+math.sqrt(d))/(2*a)&lt;br /&gt;
    print(&#039;The solution are {0} and {1}&#039;.format(sol1,sol2))&lt;br /&gt;
&lt;br /&gt;
if d ==0 :&lt;br /&gt;
    sol1 = (-b)/(2*a)&lt;br /&gt;
    print(&#039;The solution has the only root {0}&#039;.format(sol1))&lt;br /&gt;
&lt;br /&gt;
if d &amp;lt; 0 :&lt;br /&gt;
    print(&#039;There are no solutions!&#039;)&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Calculate_the_Area_of_a_Triangle&amp;diff=2164</id>
		<title>Calculate the Area of a Triangle</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Calculate_the_Area_of_a_Triangle&amp;diff=2164"/>
		<updated>2026-07-14T10:03:24Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#Python Program to find the area of triangle&lt;br /&gt;
&lt;br /&gt;
a = 5&lt;br /&gt;
b = 6&lt;br /&gt;
c = 7&lt;br /&gt;
&lt;br /&gt;
# Uncomment below to take inputs from the user&lt;br /&gt;
# a = float(input(&#039;Enter first side: &#039;))&lt;br /&gt;
# b = float(input(&#039;Enter second side: &#039;))&lt;br /&gt;
# c = float(input(&#039;Enter third side: &#039;))&lt;br /&gt;
&lt;br /&gt;
# calculate the semi-perimeter&lt;br /&gt;
s = (a + b + c) / 2&lt;br /&gt;
&lt;br /&gt;
# calculate the area. ** 0.5 is a square root of s*(s-a)*(s-b)*(s-c)&lt;br /&gt;
area = (s*(s-a)*(s-b)*(s-c)) ** 0.5&lt;br /&gt;
print(&#039;The area of the triangle is {}&#039;.format (area))&lt;br /&gt;
#print(&#039;The area of the triangle is %0.2f&#039; %area)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Calculate_the_Area_of_a_Triangle&amp;diff=2163</id>
		<title>Calculate the Area of a Triangle</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Calculate_the_Area_of_a_Triangle&amp;diff=2163"/>
		<updated>2026-07-14T10:03:11Z</updated>

		<summary type="html">&lt;p&gt;Pavel: Created page with &amp;quot;&amp;lt;pre&amp;gt;  Python Program to find the area of triangle  a = 5 b = 6 c = 7  # Uncomment below to take inputs from the user # a = float(input(&amp;#039;Enter first side: &amp;#039;)) # b = float(inpu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
 Python Program to find the area of triangle&lt;br /&gt;
&lt;br /&gt;
a = 5&lt;br /&gt;
b = 6&lt;br /&gt;
c = 7&lt;br /&gt;
&lt;br /&gt;
# Uncomment below to take inputs from the user&lt;br /&gt;
# a = float(input(&#039;Enter first side: &#039;))&lt;br /&gt;
# b = float(input(&#039;Enter second side: &#039;))&lt;br /&gt;
# c = float(input(&#039;Enter third side: &#039;))&lt;br /&gt;
&lt;br /&gt;
# calculate the semi-perimeter&lt;br /&gt;
s = (a + b + c) / 2&lt;br /&gt;
&lt;br /&gt;
# calculate the area. ** 0.5 is a square root of s*(s-a)*(s-b)*(s-c)&lt;br /&gt;
area = (s*(s-a)*(s-b)*(s-c)) ** 0.5&lt;br /&gt;
print(&#039;The area of the triangle is {}&#039;.format (area))&lt;br /&gt;
#print(&#039;The area of the triangle is %0.2f&#039; %area)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Find_the_Square_Root&amp;diff=2162</id>
		<title>Find the Square Root</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Find_the_Square_Root&amp;diff=2162"/>
		<updated>2026-07-14T10:01:56Z</updated>

		<summary type="html">&lt;p&gt;Pavel: Created page with &amp;quot;&amp;lt;pre&amp;gt; num1 = input (&amp;#039;Sisestage arv: &amp;#039;) num2 = float (num1)  num_sqrt = num2 ** 0.5  #print (&amp;#039;Ruutjuur {0} on võrnde {1}&amp;#039;.format(num1, num_sqrt)) print (&amp;#039;Ruutjuur {0}-st on v...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
num1 = input (&#039;Sisestage arv: &#039;)&lt;br /&gt;
num2 = float (num1)&lt;br /&gt;
&lt;br /&gt;
num_sqrt = num2 ** 0.5&lt;br /&gt;
&lt;br /&gt;
#print (&#039;Ruutjuur {0} on võrnde {1}&#039;.format(num1, num_sqrt))&lt;br /&gt;
print (&#039;Ruutjuur {0}-st on võrdne {1:0.1f}&#039;.format(num1, num_sqrt))&lt;br /&gt;
#print(&#039;The square root of %0.1f is %0.1f&#039;%(num2 ,num_sqrt))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Add_Two_Numbers&amp;diff=2161</id>
		<title>Add Two Numbers</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Add_Two_Numbers&amp;diff=2161"/>
		<updated>2026-07-14T09:58:29Z</updated>

		<summary type="html">&lt;p&gt;Pavel: Created page with &amp;quot;&amp;lt;pre&amp;gt; num1 = input (&amp;#039;Sisestage esimene arv: &amp;#039;) num2 = input (&amp;#039;Sisestage teine arv: &amp;#039;)  sum = float(num1) + float(num2)  print (&amp;quot;Summa &amp;quot; + num1 + &amp;quot; ja &amp;quot; + num2 + &amp;quot; on võrdne&amp;quot;,...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
num1 = input (&#039;Sisestage esimene arv: &#039;)&lt;br /&gt;
num2 = input (&#039;Sisestage teine arv: &#039;)&lt;br /&gt;
&lt;br /&gt;
sum = float(num1) + float(num2)&lt;br /&gt;
&lt;br /&gt;
print (&amp;quot;Summa &amp;quot; + num1 + &amp;quot; ja &amp;quot; + num2 + &amp;quot; on võrdne&amp;quot;,  sum)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание: модифицируйте программу таким образом чтобы она спрашивала от пользователя по порядку сначала имя, которое вводит пользователь и нажимает кл. ВВОД, потом фамилию, затем отчество. В результате на экране должна быть выведена одна строка из введенного текста разделенных пробелом.&lt;br /&gt;
Пример: Иванов Иван Иванович&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2160</id>
		<title>Примеры Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2160"/>
		<updated>2026-07-14T09:57:26Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Add Two Numbers]]&lt;br /&gt;
&lt;br /&gt;
[[Find the Square Root]]&lt;br /&gt;
&lt;br /&gt;
[[Calculate the Area of a Triangle]]&lt;br /&gt;
&lt;br /&gt;
[[Solve Quadratic Equation]]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2159</id>
		<title>Примеры Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_Python&amp;diff=2159"/>
		<updated>2026-07-14T09:54:29Z</updated>

		<summary type="html">&lt;p&gt;Pavel: Created page with &amp;quot;Add Two Numbers  Find the Square Root  Calculate the Area of a Triangle  Solve Quadratic Equation&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Add Two Numbers&lt;br /&gt;
&lt;br /&gt;
Find the Square Root&lt;br /&gt;
&lt;br /&gt;
Calculate the Area of a Triangle&lt;br /&gt;
&lt;br /&gt;
Solve Quadratic Equation&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Programmeerimise_alused&amp;diff=2158</id>
		<title>Programmeerimise alused</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Programmeerimise_alused&amp;diff=2158"/>
		<updated>2026-07-14T09:51:51Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scratch ==&lt;br /&gt;
&lt;br /&gt;
[https://scratch.mit.edu Сайт среды разработки]&lt;br /&gt;
&lt;br /&gt;
[http://гребневв.рф/wp-content/uploads/2012/02/kniga-yunyh-programmistov-na-scratch.pdf Книга юных программистов на Scratch]&lt;br /&gt;
&lt;br /&gt;
[[Scratch|Примеры на языке Scratch для начинающих]]&lt;br /&gt;
&lt;br /&gt;
[https://kobras.eio.ee/2223/1voor_ben_rus/all.html Kobras]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Python ==&lt;br /&gt;
&lt;br /&gt;
[[Примеры Python | Примеры на языке Python для начинающих]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MS Visual C# ==&lt;br /&gt;
&lt;br /&gt;
Среда программирования:&lt;br /&gt;
&lt;br /&gt;
* Старая версия [https://wiki.nc.ut.ee/files/vcs_web.zip MS Visual C# Express 2010] (PQT8W-68YB2-MPY6C-9JV9X-42WJV)&lt;br /&gt;
* Новая версия [https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx MS Visual Studio Express]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Примеры | Примеры на языке C# для начинающих]] &lt;br /&gt;
&lt;br /&gt;
[[Работа с файлами]]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Programmeerimise_alused&amp;diff=2157</id>
		<title>Programmeerimise alused</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Programmeerimise_alused&amp;diff=2157"/>
		<updated>2026-07-14T09:51:42Z</updated>

		<summary type="html">&lt;p&gt;Pavel: /* Python */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scratch ==&lt;br /&gt;
&lt;br /&gt;
[https://scratch.mit.edu Сайт среды разработки]&lt;br /&gt;
&lt;br /&gt;
[http://гребневв.рф/wp-content/uploads/2012/02/kniga-yunyh-programmistov-na-scratch.pdf Книга юных программистов на Scratch]&lt;br /&gt;
&lt;br /&gt;
[[Scratch|Примеры на языке Scratch для начинающих]]&lt;br /&gt;
&lt;br /&gt;
[https://kobras.eio.ee/2223/1voor_ben_rus/all.html Kobras]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Python ==&lt;br /&gt;
&lt;br /&gt;
[[Примеры Python | Примеры на языке Python для начинающих]]&lt;br /&gt;
&lt;br /&gt;
== MS Visual C# ==&lt;br /&gt;
&lt;br /&gt;
Среда программирования:&lt;br /&gt;
&lt;br /&gt;
* Старая версия [https://wiki.nc.ut.ee/files/vcs_web.zip MS Visual C# Express 2010] (PQT8W-68YB2-MPY6C-9JV9X-42WJV)&lt;br /&gt;
* Новая версия [https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx MS Visual Studio Express]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Примеры | Примеры на языке C# для начинающих]] &lt;br /&gt;
&lt;br /&gt;
[[Работа с файлами]]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Programmeerimise_alused&amp;diff=2156</id>
		<title>Programmeerimise alused</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Programmeerimise_alused&amp;diff=2156"/>
		<updated>2026-07-14T09:51:11Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scratch ==&lt;br /&gt;
&lt;br /&gt;
[https://scratch.mit.edu Сайт среды разработки]&lt;br /&gt;
&lt;br /&gt;
[http://гребневв.рф/wp-content/uploads/2012/02/kniga-yunyh-programmistov-na-scratch.pdf Книга юных программистов на Scratch]&lt;br /&gt;
&lt;br /&gt;
[[Scratch|Примеры на языке Scratch для начинающих]]&lt;br /&gt;
&lt;br /&gt;
[https://kobras.eio.ee/2223/1voor_ben_rus/all.html Kobras]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Python ==&lt;br /&gt;
&lt;br /&gt;
[[Примеры | Примеры на языке Python для начинающих]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MS Visual C# ==&lt;br /&gt;
&lt;br /&gt;
Среда программирования:&lt;br /&gt;
&lt;br /&gt;
* Старая версия [https://wiki.nc.ut.ee/files/vcs_web.zip MS Visual C# Express 2010] (PQT8W-68YB2-MPY6C-9JV9X-42WJV)&lt;br /&gt;
* Новая версия [https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx MS Visual Studio Express]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Примеры | Примеры на языке C# для начинающих]] &lt;br /&gt;
&lt;br /&gt;
[[Работа с файлами]]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Arvutikasutamine_uurimist%C3%B6%C3%B6s&amp;diff=2155</id>
		<title>Arvutikasutamine uurimistöös</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Arvutikasutamine_uurimist%C3%B6%C3%B6s&amp;diff=2155"/>
		<updated>2026-03-31T21:10:51Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Praktilised ülesanded:&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/5/56/AKU02ulesanne.docx AKU02ulesanne.docx ]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/d/da/AKU02ess.xlsx AKU02ess.xlsx]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/8/87/AKU03opilased.xlsx AKU03opilased.xlsx]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/d/d6/AKU03naidis.xlsx AKU03naidis_rus.xlsx]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/e/e4/AKU03treening.xlsx AKU03treening.xlsx]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/9/96/AKU03keemia.xlsx AKU03keemia.xlsx]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/0/00/AKU04telefon.xlsx AKU04telefon.xlsx]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/f/fe/AKU04ess.xlsx AKU04ess.xlsx]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/e/e7/AKU04globe.xlsx AKU04globe.xlsx]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/7/79/AKU04emhi.xlsx AKU04emhi.xlsx]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/a/a5/AKU04vererohk.xlsx AKU04vererohk.xlsx]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/b/b5/AKU05uurimistoo_naide1.docx AKU05uurimistoo_naide.docx]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/1/12/AKU05uurimistoo_rus.docx AKU05uurimistoo_naide_rus.docx]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/c/cc/AKU05mall.dotx AKU05mall.dotx]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/a/ab/AKU05ylekaalulisus_jupp.pdf AKU05ylekaalulisus_jupp.pdf]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.nc.ut.ee/images/9/94/AKU05ylekaalulisus.xlsx AKU05ylekaalulisus.xlsx]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Main_Page&amp;diff=2154</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Main_Page&amp;diff=2154"/>
		<updated>2026-03-31T21:09:38Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tartu Ülikooli Narva Kolledži wiki ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Muutmiseks kasutage Narva Kolledži kasutajanime ja parooli!&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
=== Õppetöö ===&lt;br /&gt;
&lt;br /&gt;
* [[Windows administreerimine]]&lt;br /&gt;
* [[Linux administreerimine]]&lt;br /&gt;
&lt;br /&gt;
=== Enesearendamiseks ===&lt;br /&gt;
&lt;br /&gt;
* [[Programmeerimise alused]]&lt;br /&gt;
&lt;br /&gt;
* [[3D Modelleerimine]]&lt;br /&gt;
&lt;br /&gt;
* [[Excel]]&lt;br /&gt;
&lt;br /&gt;
* [[Gimp]]&lt;br /&gt;
&lt;br /&gt;
* [[Arvutikasutamine uurimistöös]]&lt;br /&gt;
&lt;br /&gt;
=== Manuals ===&lt;br /&gt;
&lt;br /&gt;
* [[Fog Project]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;br /&gt;
* [https://nc.ut.ee/oldwiki/index.php?title=Main_Page Oldwiki]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Main_Page&amp;diff=2153</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Main_Page&amp;diff=2153"/>
		<updated>2026-03-31T21:09:25Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tartu Ülikooli Narva Kolledži wiki ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Muutmiseks kasutage Narva Kolledži kasutajanime ja parooli!&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
=== Õppetöö ===&lt;br /&gt;
&lt;br /&gt;
* [[Windows administreerimine]]&lt;br /&gt;
* [[Linux administreerimine]]&lt;br /&gt;
&lt;br /&gt;
=== Enesearendamiseks ===&lt;br /&gt;
&lt;br /&gt;
* [[Programmeerimise alused]]&lt;br /&gt;
&lt;br /&gt;
* [[3D Modelleerimine]]&lt;br /&gt;
&lt;br /&gt;
* [[Excel]]&lt;br /&gt;
&lt;br /&gt;
* [[Gimp]]&lt;br /&gt;
&lt;br /&gt;
* [[Informaatika]]&lt;br /&gt;
&lt;br /&gt;
* [[Arvutikasutamine uurimistöös]]&lt;br /&gt;
&lt;br /&gt;
=== Manuals ===&lt;br /&gt;
&lt;br /&gt;
* [[Fog Project]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;br /&gt;
* [https://nc.ut.ee/oldwiki/index.php?title=Main_Page Oldwiki]&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Main_Page&amp;diff=2152</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Main_Page&amp;diff=2152"/>
		<updated>2026-03-30T08:57:31Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tartu Ülikooli Narva Kolledži wiki ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Muutmiseks kasutage Narva Kolledži kasutajanime ja parooli!&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
=== Õppetöö ===&lt;br /&gt;
&lt;br /&gt;
* [[Windows administreerimine]]&lt;br /&gt;
* [[Linux administreerimine]]&lt;br /&gt;
&lt;br /&gt;
=== Enesearendamiseks ===&lt;br /&gt;
&lt;br /&gt;
* [[Programmeerimise alused]]&lt;br /&gt;
&lt;br /&gt;
* [[3D Modelleerimine]]&lt;br /&gt;
&lt;br /&gt;
* [[Excel]]&lt;br /&gt;
&lt;br /&gt;
* [[Gimp]]&lt;br /&gt;
&lt;br /&gt;
* [[Informaatika]]&lt;br /&gt;
&lt;br /&gt;
* [[Arvutikasutamine uurimistöös]]&lt;br /&gt;
&lt;br /&gt;
=== Manuals ===&lt;br /&gt;
&lt;br /&gt;
* [[Fog Project]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;br /&gt;
* [https://nc.ut.ee/oldwiki/index.php?title=Main_Page Oldwiki]&lt;br /&gt;
&lt;br /&gt;
0 0 * * * /sbin/shutdown -h now&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Linux_praktikum_4&amp;diff=2151</id>
		<title>Linux praktikum 4</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Linux_praktikum_4&amp;diff=2151"/>
		<updated>2025-12-09T17:22:20Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation of a name-based virtual web server with PHP support ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Task&#039;&#039;&#039;: learn to set up and configure popular web servers Apache and Nginx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conditions&#039;&#039;&#039;: this praktikum assumes that the Linux server IP address is 192.168.1.136&lt;br /&gt;
&lt;br /&gt;
Make sure that nothing is launched on port 80&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo lsof -i :80&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update package list from the repositories&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install the Apache web server&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check which catalogues Apache was installed to&lt;br /&gt;
&amp;lt;pre&amp;gt;dpkg -L apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Search for the PHP module for Apache&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache search mod-php&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install the PHP module&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install libapache2-mod-php&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create catalogues for virtual hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mkdir -p /var/www/example.com/public_html&lt;br /&gt;
sudo mkdir -p /var/www/test.com/public_html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recursively change the owner of directories&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown -R www-data:www-data /var/www/example.com/public_html&lt;br /&gt;
sudo chown -R www-data:www-data /var/www/test.com/public_html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change allowances for catalogue /var/www rwx r-x r-x&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chmod -R 755 /var/www&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file index.html&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/example.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Welcome to Example.com!&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h1&amp;gt;Success! The example.com virtual host is working!&amp;lt;/h1&amp;gt; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save and copy this file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the contents of the copied file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/test.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change &amp;quot;example&amp;quot; to &amp;quot;test&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Welcome to Test.com!&amp;lt;/title&amp;gt;&lt;br /&gt;
   &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt;&lt;br /&gt;
   &amp;lt;h1&amp;gt;Success! The test.com virtual host is working!&amp;lt;/h1&amp;gt; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Create file /var/www/html/index.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/html/index.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
with the following contents&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
phpinfo();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Remove port 80 from the default host /etc/apache2/sites-available/000-default.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VirtualHost *:80&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the configuration file for the first virtual host&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the content to the following&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/sites-available/example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
  ServerAdmin admin@example.com&lt;br /&gt;
  ServerName example.com&lt;br /&gt;
  ServerAlias www.example.com&lt;br /&gt;
  DocumentRoot /var/www/example.com/public_html&lt;br /&gt;
  ErrorLog ${APACHE_LOG_DIR}/error.log&lt;br /&gt;
  CustomLog ${APACHE_LOG_DIR}/access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy this file to the virtual host directory&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And change its contents&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/sites-available/test.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
  ServerAdmin admin@test.com&lt;br /&gt;
  ServerName test.com&lt;br /&gt;
  ServerAlias www.test.com&lt;br /&gt;
  DocumentRoot /var/www/test.com/public_html&lt;br /&gt;
  ErrorLog ${APACHE_LOG_DIR}/error.log&lt;br /&gt;
  CustomLog ${APACHE_LOG_DIR}/access.log combined &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Activate the virtual hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo a2ensite example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/apache2/sites-enabled&lt;br /&gt;
sudo ln -s ../sites-available/test.com.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the configuration and restart&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apachectl configtest&lt;br /&gt;
sudo service apache2 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we don&#039;t have a DNS server installed, write the IP address and names of our virtual servers manually in file /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add your IP number&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
192.168.1.136 example.com&lt;br /&gt;
192.168.1.136 test.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we want to check this on a Windows machine, add these lines to the file&lt;br /&gt;
C:\Windows\System32\drivers\etc\hosts&lt;br /&gt;
&lt;br /&gt;
Check the health of virtual servers by name on Windows&lt;br /&gt;
&lt;br /&gt;
http://example.com , http://test.com , http://192.168.1.136&lt;br /&gt;
&lt;br /&gt;
or by using curl in the Linux terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -v http://example.com&lt;br /&gt;
curl -v http://test.com&lt;br /&gt;
curl -v http://192.168.1.136&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Installation of Nginx=====&lt;br /&gt;
&lt;br /&gt;
Stop the Apache server since since it&#039;s not possible to keep 2 servers on the same port&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service apache2 stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go to catalogue&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /etc/nginx/sites-available&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the default configuration file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp default nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the config file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The contents should look like this&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux5.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Create html file with any content, such as «hello Nginx»&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/html/nginx.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go to the site activation directory&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /etc/nginx/sites-enabled/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the link to default site&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rm default&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the link to the new site&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ln -s /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check nginx syntax&lt;br /&gt;
&amp;lt;pre&amp;gt;nginx -t&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service nginx restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -v http://192.168.1.136&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Simultaneous use of Apache and Nginx =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/ports.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#Listen 80 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Listen 127.0.0.1:81 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save changes&lt;br /&gt;
&lt;br /&gt;
Make sure that all Apache&#039;s configuration files have &lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initiate apache&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl start apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can make sure that each port is listening&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo netstat -nlpt | grep :8[01]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux6.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Check whether Apache works through 127.0.0.1 with curl&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl http://127.0.0.1:81&lt;br /&gt;
curl http://127.0.0.1:81/index.php&lt;br /&gt;
curl -H &#039;Host: example.com&#039; http://127.0.0.1:81&lt;br /&gt;
curl -H &#039;Host: test.com&#039; http://127.0.0.1:81&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the nginx configuration file so that all requests on port 80 redirected to apache&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux7.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Listen to port 81 on a local interface&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ngrep&lt;br /&gt;
sudo ngrep -W byline -d lo &amp;quot;&amp;quot; port 81&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
At the same time, on a different machine, try to open the sites test.com, example.com and 192.168.1.136&lt;br /&gt;
&lt;br /&gt;
Now apache will respond to all requests&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Server: Apache/2.4.18 (Ubuntu).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add these lines to the config nginx file before location /&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux8.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Listen to port 80 on interface&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ngrep -W byline -d enp0s8 &amp;quot;&amp;quot; port 80&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At the same time, on a different machine, try opening the html file &lt;br /&gt;
&lt;br /&gt;
http://192.168.1.136/nginx.html&lt;br /&gt;
&lt;br /&gt;
Now all the requests with an html file in the address will be handled by nginx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Server: nginx/1.10.0 (Ubuntu).&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Linux_praktikum_4&amp;diff=2150</id>
		<title>Linux praktikum 4</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Linux_praktikum_4&amp;diff=2150"/>
		<updated>2025-12-09T17:19:05Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation of a name-based virtual web server with PHP support ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Task&#039;&#039;&#039;: learn to set up and configure popular web servers Apache and Nginx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conditions&#039;&#039;&#039;: this praktikum assumes that the Linux server IP address is 192.168.1.136&lt;br /&gt;
&lt;br /&gt;
Make sure that nothing is launched on port 80&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo lsof -i :80&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update package list from the repositories&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install the Apache web server&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check which catalogues Apache was installed to&lt;br /&gt;
&amp;lt;pre&amp;gt;dpkg -L apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Search for the PHP module for Apache&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache search mod-php&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install the PHP module&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install libapache2-mod-php&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create catalogues for virtual hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mkdir -p /var/www/example.com/public_html&lt;br /&gt;
sudo mkdir -p /var/www/test.com/public_html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recursively change the owner of directories&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown -R www-data:www-data /var/www/example.com/public_html&lt;br /&gt;
sudo chown -R www-data:www-data /var/www/test.com/public_html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change allowances for catalogue /var/www rwx r-x r-x&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chmod -R 755 /var/www&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file index.html&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/example.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Welcome to Example.com!&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h1&amp;gt;Success! The example.com virtual host is working!&amp;lt;/h1&amp;gt; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save and copy this file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the contents of the copied file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/test.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change &amp;quot;example&amp;quot; to &amp;quot;test&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Welcome to Test.com!&amp;lt;/title&amp;gt;&lt;br /&gt;
   &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt;&lt;br /&gt;
   &amp;lt;h1&amp;gt;Success! The test.com virtual host is working!&amp;lt;/h1&amp;gt; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Create file /var/www/html/index.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/html/index.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
with the following contents&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
phpinfo();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Remove port 80 from the default host /etc/apache2/sites-available/000-default.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VirtualHost *:80&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the configuration file for the first virtual host&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the content to the following&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/sites-available/example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
  ServerAdmin admin@example.com&lt;br /&gt;
  ServerName example.com&lt;br /&gt;
  ServerAlias www.example.com&lt;br /&gt;
  DocumentRoot /var/www/example.com/public_html&lt;br /&gt;
  ErrorLog ${APACHE_LOG_DIR}/error.log&lt;br /&gt;
  CustomLog ${APACHE_LOG_DIR}/access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy this file to the virtual host directory&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And change its contents&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/sites-available/test.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
  ServerAdmin admin@test.com&lt;br /&gt;
  ServerName test.com&lt;br /&gt;
  ServerAlias www.test.com&lt;br /&gt;
  DocumentRoot /var/www/test.com/public_html&lt;br /&gt;
  ErrorLog ${APACHE_LOG_DIR}/error.log&lt;br /&gt;
  CustomLog ${APACHE_LOG_DIR}/access.log combined &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Activate the virtual hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo a2ensite example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/apache2/sites-enabled&lt;br /&gt;
sudo ln -s ../sites-available/test.com.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the configuration and restart&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apachectl configtest&lt;br /&gt;
sudo service apache2 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we don&#039;t have a DNS server installed, write the IP address and names of our virtual servers manually in file /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add your IP number&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
192.168.1.136 example.com&lt;br /&gt;
192.168.1.136 test.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we want to check this on a Windows machine, add these lines to the file&lt;br /&gt;
C:\Windows\System32\drivers\etc\hosts&lt;br /&gt;
&lt;br /&gt;
Check the health of virtual servers by name on Windows&lt;br /&gt;
&lt;br /&gt;
http://example.com , http://test.com , http://192.168.1.136&lt;br /&gt;
&lt;br /&gt;
or by using curl in the Linux terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -v http://example.com&lt;br /&gt;
curl -v http://test.com&lt;br /&gt;
curl -v http://192.168.1.136&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Installation of Nginx=====&lt;br /&gt;
&lt;br /&gt;
Stop the Apache server since since it&#039;s not possible to keep 2 servers on the same port&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service apache2 stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go to catalogue&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /etc/nginx/sites-available&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the default configuration file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp default nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the config file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The contents should look like this&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux5.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Create html file with any content, such as «hello Nginx»&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/html/nginx.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go to the site activation directory&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /etc/nginx/sites-enabled/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the link to default site&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rm default&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the link to the new site&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ln -s /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check nginx syntax&lt;br /&gt;
&amp;lt;pre&amp;gt;nginx -t&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service nginx restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -v http://192.168.1.136&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Simultaneous use of Apache and Nginx =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/ports.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#Listen 80 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Listen 127.0.0.1:81 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save changes&lt;br /&gt;
&lt;br /&gt;
Make sure that all Apache&#039;s configuration files have &lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initiate apache&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl start apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can make sure that each port is listening&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo netstat -nlpt | grep :8[01]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux6.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Check whether Apache works through 127.0.0.1 with curl&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl http://127.0.0.1:81&lt;br /&gt;
curl http://127.0.0.1:81/index.php&lt;br /&gt;
curl -H &#039;Host: example.com&#039; http://127.0.0.1:81&lt;br /&gt;
curl -H &#039;Host: test.com&#039; http://127.0.0.1:81&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the nginx configuration file so that all requests on port 80 redirected to apache&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux7.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Listen to port 81 on a local interface&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ngrep&lt;br /&gt;
sudo ngrep -W byline -d lo &amp;quot;&amp;quot; port 81&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
At the same time, on a different machine, try to open the sites test.com, example.com and 192.168.1.136&lt;br /&gt;
&lt;br /&gt;
Now apache will respond to all requests&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Server: Apache/2.4.18 (Ubuntu).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add these lines to the config nginx file before location /&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux8.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Listen to port 80 on interface c&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ngrep -W byline -d enp0s8 &amp;quot;&amp;quot; port 80&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At the same time, on a different machine, try opening the html file 192.168.1.136/nginx.html&lt;br /&gt;
Now all the requests with an html file in the address will be handled by nginx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Server: nginx/1.10.0 (Ubuntu).&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Linux_praktikum_4&amp;diff=2149</id>
		<title>Linux praktikum 4</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Linux_praktikum_4&amp;diff=2149"/>
		<updated>2025-12-09T17:18:00Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation of a name-based virtual web server with PHP support ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Task&#039;&#039;&#039;: learn to set up and configure popular web servers Apache and Nginx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conditions&#039;&#039;&#039;: this praktikum assumes that the Linux server IP address is 192.168.1.136&lt;br /&gt;
&lt;br /&gt;
Make sure that nothing is launched on port 80&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo lsof -i :80&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update package list from the repositories&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install the Apache web server&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check which catalogues Apache was installed to&lt;br /&gt;
&amp;lt;pre&amp;gt;dpkg -L apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Search for the PHP module for Apache&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache search mod-php&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install the PHP module&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install libapache2-mod-php&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create catalogues for virtual hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mkdir -p /var/www/example.com/public_html&lt;br /&gt;
sudo mkdir -p /var/www/test.com/public_html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recursively change the owner of directories&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown -R www-data:www-data /var/www/example.com/public_html&lt;br /&gt;
sudo chown -R www-data:www-data /var/www/test.com/public_html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change allowances for catalogue /var/www rwx r-x r-x&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chmod -R 755 /var/www&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file index.html&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/example.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Welcome to Example.com!&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h1&amp;gt;Success! The example.com virtual host is working!&amp;lt;/h1&amp;gt; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save and copy this file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the contents of the copied file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/test.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change &amp;quot;example&amp;quot; to &amp;quot;test&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Welcome to Test.com!&amp;lt;/title&amp;gt;&lt;br /&gt;
   &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt;&lt;br /&gt;
   &amp;lt;h1&amp;gt;Success! The test.com virtual host is working!&amp;lt;/h1&amp;gt; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Create file /var/www/html/index.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/html/index.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
with the following contents&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
phpinfo();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Remove port 80 from the default host /etc/apache2/sites-available/000-default.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VirtualHost *:80&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the configuration file for the first virtual host&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the content to the following&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/sites-available/example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
  ServerAdmin admin@example.com&lt;br /&gt;
  ServerName example.com&lt;br /&gt;
  ServerAlias www.example.com&lt;br /&gt;
  DocumentRoot /var/www/example.com/public_html&lt;br /&gt;
  ErrorLog ${APACHE_LOG_DIR}/error.log&lt;br /&gt;
  CustomLog ${APACHE_LOG_DIR}/access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy this file to the virtual host directory&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And change its contents&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/sites-available/test.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
  ServerAdmin admin@test.com&lt;br /&gt;
  ServerName test.com&lt;br /&gt;
  ServerAlias www.test.com&lt;br /&gt;
  DocumentRoot /var/www/test.com/public_html&lt;br /&gt;
  ErrorLog ${APACHE_LOG_DIR}/error.log&lt;br /&gt;
  CustomLog ${APACHE_LOG_DIR}/access.log combined &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Activate the virtual hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo a2ensite example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/apache2/sites-enabled&lt;br /&gt;
sudo ln -s ../sites-available/test.com.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the configuration and restart&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apachectl configtest&lt;br /&gt;
sudo service apache2 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we don&#039;t have a DNS server installed, write the IP address and names of our virtual servers manually in file /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add your IP number&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
192.168.1.136 example.com&lt;br /&gt;
192.168.1.136 test.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we want to check this on a Windows machine, add these lines to the file&lt;br /&gt;
C:\Windows\System32\drivers\etc\hosts&lt;br /&gt;
&lt;br /&gt;
Check the health of virtual servers by name on Windows&lt;br /&gt;
&lt;br /&gt;
http://example.com and http://test.com&lt;br /&gt;
&lt;br /&gt;
or by using curl in the Linux terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -v http://example.com&lt;br /&gt;
curl -v http://test.com&lt;br /&gt;
curl -v http://192.168.1.136&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Installation of Nginx=====&lt;br /&gt;
&lt;br /&gt;
Stop the Apache server since since it&#039;s not possible to keep 2 servers on the same port&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service apache2 stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go to catalogue&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /etc/nginx/sites-available&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the default configuration file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp default nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the config file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The contents should look like this&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux5.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Create html file with any content, such as «hello Nginx»&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/html/nginx.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go to the site activation directory&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /etc/nginx/sites-enabled/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the link to default site&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rm default&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the link to the new site&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ln -s /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check nginx syntax&lt;br /&gt;
&amp;lt;pre&amp;gt;nginx -t&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service nginx restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -v http://192.168.1.136&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Simultaneous use of Apache and Nginx =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/ports.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#Listen 80 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Listen 127.0.0.1:81 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save changes&lt;br /&gt;
&lt;br /&gt;
Make sure that all Apache&#039;s configuration files have &lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initiate apache&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl start apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can make sure that each port is listening&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo netstat -nlpt | grep :8[01]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux6.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Check whether Apache works through 127.0.0.1 with curl&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl http://127.0.0.1:81&lt;br /&gt;
curl http://127.0.0.1:81/index.php&lt;br /&gt;
curl -H &#039;Host: example.com&#039; http://127.0.0.1:81&lt;br /&gt;
curl -H &#039;Host: test.com&#039; http://127.0.0.1:81&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the nginx configuration file so that all requests on port 80 redirected to apache&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux7.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Listen to port 81 on a local interface&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ngrep&lt;br /&gt;
sudo ngrep -W byline -d lo &amp;quot;&amp;quot; port 81&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
At the same time, on a different machine, try to open the sites test.com, example.com and 192.168.1.136&lt;br /&gt;
&lt;br /&gt;
Now apache will respond to all requests&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Server: Apache/2.4.18 (Ubuntu).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add these lines to the config nginx file before location /&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux8.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Listen to port 80 on interface c&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ngrep -W byline -d enp0s8 &amp;quot;&amp;quot; port 80&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At the same time, on a different machine, try opening the html file 192.168.1.136/nginx.html&lt;br /&gt;
Now all the requests with an html file in the address will be handled by nginx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Server: nginx/1.10.0 (Ubuntu).&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Linux_praktikum_4&amp;diff=2148</id>
		<title>Linux praktikum 4</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Linux_praktikum_4&amp;diff=2148"/>
		<updated>2025-12-09T17:15:19Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation of a name-based virtual web server with PHP support ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Task&#039;&#039;&#039;: learn to set up and configure popular web servers Apache and Nginx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conditions&#039;&#039;&#039;: this praktikum assumes that the Linux server IP address is 192.168.1.136&lt;br /&gt;
&lt;br /&gt;
Make sure that nothing is launched on port 80&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo lsof -i :80&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update package list from the repositories&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install the Apache web server&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check which catalogues Apache was installed to&lt;br /&gt;
&amp;lt;pre&amp;gt;dpkg -L apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Search for the PHP module for Apache&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache search mod-php&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install the PHP module&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install libapache2-mod-php&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create catalogues for virtual hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mkdir -p /var/www/example.com/public_html&lt;br /&gt;
sudo mkdir -p /var/www/test.com/public_html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recursively change the owner of directories&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown -R www-data:www-data /var/www/example.com/public_html&lt;br /&gt;
sudo chown -R www-data:www-data /var/www/test.com/public_html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change allowances for catalogue /var/www rwx r-x r-x&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chmod -R 755 /var/www&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file index.html&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/example.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Welcome to Example.com!&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h1&amp;gt;Success! The example.com virtual host is working!&amp;lt;/h1&amp;gt; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save and copy this file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the contents of the copied file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/test.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change &amp;quot;example&amp;quot; to &amp;quot;test&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Welcome to Test.com!&amp;lt;/title&amp;gt;&lt;br /&gt;
   &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt;&lt;br /&gt;
   &amp;lt;h1&amp;gt;Success! The test.com virtual host is working!&amp;lt;/h1&amp;gt; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Create file /var/www/html/index.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/html/index.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
with the following contents&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
phpinfo();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Remove port 80 from the default host /etc/apache2/sites-available/000-default.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VirtualHost *:80&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the configuration file for the first virtual host&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the content to the following&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/sites-available/example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
  ServerAdmin admin@example.com&lt;br /&gt;
  ServerName example.com&lt;br /&gt;
  ServerAlias www.example.com&lt;br /&gt;
  DocumentRoot /var/www/example.com/public_html&lt;br /&gt;
  ErrorLog ${APACHE_LOG_DIR}/error.log&lt;br /&gt;
  CustomLog ${APACHE_LOG_DIR}/access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy this file to the virtual host directory&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And change its contents&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/sites-available/test.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
  ServerAdmin admin@test.com&lt;br /&gt;
  ServerName test.com&lt;br /&gt;
  ServerAlias www.test.com&lt;br /&gt;
  DocumentRoot /var/www/test.com/public_html&lt;br /&gt;
  ErrorLog ${APACHE_LOG_DIR}/error.log&lt;br /&gt;
  CustomLog ${APACHE_LOG_DIR}/access.log combined &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Activate the virtual hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo a2ensite example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/apache2/sites-enabled&lt;br /&gt;
sudo ln -s ../sites-available/test.com.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the configuration and restart&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apachectl configtest&lt;br /&gt;
sudo service apache2 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we don&#039;t have a DNS server installed, write the IP address and names of our virtual servers manually in file /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add your IP number&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
192.168.1.136 example.com&lt;br /&gt;
192.168.1.136 test.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we want to check this on a Windows machine, add these lines to the file&lt;br /&gt;
C:\Windows\System32\drivers\etc\hosts&lt;br /&gt;
&lt;br /&gt;
Check the health of virtual servers by name&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://example.com&lt;br /&gt;
http://test.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or by using curl in the Linux terminal or Windows browser&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -v http://example.com&lt;br /&gt;
curl -v http://test.com&lt;br /&gt;
curl -v http://192.168.1.136&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Installation of Nginx=====&lt;br /&gt;
&lt;br /&gt;
Stop the Apache server since since it&#039;s not possible to keep 2 servers on the same port&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service apache2 stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go to catalogue&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /etc/nginx/sites-available&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the default configuration file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp default nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the config file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The contents should look like this&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux5.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Create html file with any content, such as «hello Nginx»&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/html/nginx.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go to the site activation directory&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /etc/nginx/sites-enabled/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the link to default site&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rm default&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the link to the new site&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ln -s /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check nginx syntax&lt;br /&gt;
&amp;lt;pre&amp;gt;nginx -t&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service nginx restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -v http://192.168.1.136&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Simultaneous use of Apache and Nginx =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/ports.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#Listen 80 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Listen 127.0.0.1:81 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save changes&lt;br /&gt;
&lt;br /&gt;
Make sure that all Apache&#039;s configuration files have &lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initiate apache&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl start apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can make sure that each port is listening&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo netstat -nlpt | grep :8[01]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux6.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Check whether Apache works through 127.0.0.1 with curl&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl http://127.0.0.1:81&lt;br /&gt;
curl http://127.0.0.1:81/index.php&lt;br /&gt;
curl -H &#039;Host: example.com&#039; http://127.0.0.1:81&lt;br /&gt;
curl -H &#039;Host: test.com&#039; http://127.0.0.1:81&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the nginx configuration file so that all requests on port 80 redirected to apache&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux7.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Listen to port 81 on a local interface&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ngrep&lt;br /&gt;
sudo ngrep -W byline -d lo &amp;quot;&amp;quot; port 81&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
At the same time, on a different machine, try to open the sites test.com, example.com and 192.168.1.136&lt;br /&gt;
&lt;br /&gt;
Now apache will respond to all requests&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Server: Apache/2.4.18 (Ubuntu).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add these lines to the config nginx file before location /&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux8.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Listen to port 80 on interface c&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ngrep -W byline -d enp0s8 &amp;quot;&amp;quot; port 80&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At the same time, on a different machine, try opening the html file 192.168.1.136/nginx.html&lt;br /&gt;
Now all the requests with an html file in the address will be handled by nginx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Server: nginx/1.10.0 (Ubuntu).&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Linux_praktikum_4&amp;diff=2147</id>
		<title>Linux praktikum 4</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Linux_praktikum_4&amp;diff=2147"/>
		<updated>2025-12-09T17:13:00Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation of a name-based virtual web server with PHP support ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Task&#039;&#039;&#039;: learn to set up and configure popular web servers Apache and Nginx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conditions&#039;&#039;&#039;: this praktikum assumes that the Linux server IP address is 192.168.1.136&lt;br /&gt;
&lt;br /&gt;
Make sure that nothing is launched on port 80&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo lsof -i :80&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update package list from the repositories&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install the Apache web server&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check which catalogues Apache was installed to&lt;br /&gt;
&amp;lt;pre&amp;gt;dpkg -L apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Search for the PHP module for Apache&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache search mod-php&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install the PHP module&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install libapache2-mod-php&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create catalogues for virtual hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mkdir -p /var/www/example.com/public_html&lt;br /&gt;
sudo mkdir -p /var/www/test.com/public_html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recursively change the owner of directories&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown -R www-data:www-data /var/www/example.com/public_html&lt;br /&gt;
sudo chown -R www-data:www-data /var/www/test.com/public_html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change allowances for catalogue /var/www rwx r-x r-x&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chmod -R 755 /var/www&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file index.html&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/example.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Welcome to Example.com!&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h1&amp;gt;Success! The example.com virtual host is working!&amp;lt;/h1&amp;gt; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save and copy this file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the contents of the copied file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/test.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change &amp;quot;example&amp;quot; to &amp;quot;test&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Welcome to Test.com!&amp;lt;/title&amp;gt;&lt;br /&gt;
   &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt;&lt;br /&gt;
   &amp;lt;h1&amp;gt;Success! The test.com virtual host is working!&amp;lt;/h1&amp;gt; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Create file /var/www/html/index.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/html/index.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
with the following contents&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
phpinfo();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Remove port 80 from the default host /etc/apache2/sites-available/000-default.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VirtualHost *:80&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the configuration file for the first virtual host&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the content to the following&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/sites-available/example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
  ServerAdmin admin@example.com&lt;br /&gt;
  ServerName example.com&lt;br /&gt;
  ServerAlias www.example.com&lt;br /&gt;
  DocumentRoot /var/www/example.com/public_html&lt;br /&gt;
  ErrorLog ${APACHE_LOG_DIR}/error.log&lt;br /&gt;
  CustomLog ${APACHE_LOG_DIR}/access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy this file to the virtual host directory&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And change its contents&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/sites-available/test.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
  ServerAdmin admin@test.com&lt;br /&gt;
  ServerName test.com&lt;br /&gt;
  ServerAlias www.test.com&lt;br /&gt;
  DocumentRoot /var/www/test.com/public_html&lt;br /&gt;
  ErrorLog ${APACHE_LOG_DIR}/error.log&lt;br /&gt;
  CustomLog ${APACHE_LOG_DIR}/access.log combined &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Activate the virtual hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo a2ensite example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/apache2/sites-enabled&lt;br /&gt;
sudo ln -s ../sites-available/test.com.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the configuration and restart&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apachectl configtest&lt;br /&gt;
sudo service apache2 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we don&#039;t have a DNS server installed, write the IP address and names of our virtual servers manually in file /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
192.168.1.136 example.com&lt;br /&gt;
&lt;br /&gt;
192.168.1.136 test.com&lt;br /&gt;
&lt;br /&gt;
If we want to check this on a Windows machine, add these lines to the file&lt;br /&gt;
C:\Windows\System32\drivers\etc\hosts&lt;br /&gt;
&lt;br /&gt;
Check the health of virtual servers by name&lt;br /&gt;
&lt;br /&gt;
http://example.com&lt;br /&gt;
&lt;br /&gt;
http://test.com&lt;br /&gt;
&lt;br /&gt;
or by using curl in the Linux terminal or Windows browser&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -v http://example.com&lt;br /&gt;
curl -v http://test.com&lt;br /&gt;
curl -v http://192.168.1.136&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Installation of Nginx=====&lt;br /&gt;
&lt;br /&gt;
Stop the Apache server since since it&#039;s not possible to keep 2 servers on the same port&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service apache2 stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go to catalogue&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /etc/nginx/sites-available&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the default configuration file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp default nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the config file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The contents should look like this&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux5.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Create html file with any content, such as «hello Nginx»&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/html/nginx.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go to the site activation directory&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /etc/nginx/sites-enabled/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the link to default site&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rm default&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the link to the new site&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ln -s /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check nginx syntax&lt;br /&gt;
&amp;lt;pre&amp;gt;nginx -t&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service nginx restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -v http://192.168.1.136&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Simultaneous use of Apache and Nginx =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/ports.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#Listen 80 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Listen 127.0.0.1:81 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save changes&lt;br /&gt;
&lt;br /&gt;
Make sure that all Apache&#039;s configuration files have &lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initiate apache&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl start apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can make sure that each port is listening&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo netstat -nlpt | grep :8[01]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux6.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Check whether Apache works through 127.0.0.1 with curl&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl http://127.0.0.1:81&lt;br /&gt;
curl http://127.0.0.1:81/index.php&lt;br /&gt;
curl -H &#039;Host: example.com&#039; http://127.0.0.1:81&lt;br /&gt;
curl -H &#039;Host: test.com&#039; http://127.0.0.1:81&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the nginx configuration file so that all requests on port 80 redirected to apache&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux7.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Listen to port 81 on a local interface&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ngrep&lt;br /&gt;
sudo ngrep -W byline -d lo &amp;quot;&amp;quot; port 81&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
At the same time, on a different machine, try to open the sites test.com, example.com and 192.168.1.136&lt;br /&gt;
&lt;br /&gt;
Now apache will respond to all requests&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Server: Apache/2.4.18 (Ubuntu).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add these lines to the config nginx file before location /&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux8.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Listen to port 80 on interface c&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ngrep -W byline -d enp0s8 &amp;quot;&amp;quot; port 80&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At the same time, on a different machine, try opening the html file 192.168.1.136/nginx.html&lt;br /&gt;
Now all the requests with an html file in the address will be handled by nginx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Server: nginx/1.10.0 (Ubuntu).&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Linux_praktikum_4&amp;diff=2146</id>
		<title>Linux praktikum 4</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Linux_praktikum_4&amp;diff=2146"/>
		<updated>2025-12-09T17:12:01Z</updated>

		<summary type="html">&lt;p&gt;Pavel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation of a name-based virtual web server with PHP support ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Task&#039;&#039;&#039;: learn to set up and configure popular web servers Apache and Nginx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conditions&#039;&#039;&#039;: this praktikum assumes that the Linux server IP address is 192.168.1.136&lt;br /&gt;
&lt;br /&gt;
Make sure that nothing is launched on port 80&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo lsof -i :80&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update package list from the repositories&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install the Apache web server&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check which catalogues Apache was installed to&lt;br /&gt;
&amp;lt;pre&amp;gt;dpkg -L apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Search for the PHP module for Apache&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache search mod-php&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install the PHP module&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install libapache2-mod-php&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create catalogues for virtual hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mkdir -p /var/www/example.com/public_html&lt;br /&gt;
sudo mkdir -p /var/www/test.com/public_html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recursively change the owner of directories&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown -R www-data:www-data /var/www/example.com/public_html&lt;br /&gt;
sudo chown -R www-data:www-data /var/www/test.com/public_html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change allowances for catalogue /var/www rwx r-x r-x&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chmod -R 755 /var/www&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create file index.html&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/example.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Welcome to Example.com!&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h1&amp;gt;Success! The example.com virtual host is working!&amp;lt;/h1&amp;gt; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save and copy this file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the contents of the copied file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/test.com/public_html/index.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change &amp;quot;example&amp;quot; to &amp;quot;test&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Welcome to Test.com!&amp;lt;/title&amp;gt;&lt;br /&gt;
   &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt;&lt;br /&gt;
   &amp;lt;h1&amp;gt;Success! The test.com virtual host is working!&amp;lt;/h1&amp;gt; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Create file /var/www/html/index.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/html/index.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
with the following contents&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
phpinfo();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Remove port 80 from the default host /etc/apache2/sites-available/000-default.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VirtualHost *:80&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the configuration file for the first virtual host&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the content to the following&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/sites-available/example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
  ServerAdmin admin@example.com&lt;br /&gt;
  ServerName example.com&lt;br /&gt;
  ServerAlias www.example.com&lt;br /&gt;
  DocumentRoot /var/www/example.com/public_html&lt;br /&gt;
  ErrorLog ${APACHE_LOG_DIR}/error.log&lt;br /&gt;
  CustomLog ${APACHE_LOG_DIR}/access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy this file to the virtual host directory&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And change its contents&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/sites-available/test.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
  ServerAdmin admin@test.com&lt;br /&gt;
  ServerName test.com&lt;br /&gt;
  ServerAlias www.test.com&lt;br /&gt;
  DocumentRoot /var/www/test.com/public_html&lt;br /&gt;
  ErrorLog ${APACHE_LOG_DIR}/error.log&lt;br /&gt;
  CustomLog ${APACHE_LOG_DIR}/access.log combined &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Activate the virtual hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo a2ensite example.com.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/apache2/sites-enabled&lt;br /&gt;
sudo ln -s ../sites-available/test.com.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the configuration and restart&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apachectl configtest&lt;br /&gt;
sudo service apache2 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we don&#039;t have a DNS server installed, write the IP address and names of our virtual servers manually in file /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
192.168.1.136 example.com&lt;br /&gt;
192.168.1.136 test.com&lt;br /&gt;
&lt;br /&gt;
If we want to check this on a Windows machine, add these lines to the file&lt;br /&gt;
C:\Windows\System32\drivers\etc\hosts&lt;br /&gt;
&lt;br /&gt;
Check the health of virtual servers by name&lt;br /&gt;
&lt;br /&gt;
http://example.com&lt;br /&gt;
http://test.com&lt;br /&gt;
&lt;br /&gt;
or by using curl in the Linux terminal or Windows browser&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -v http://example.com&lt;br /&gt;
curl -v http://test.com&lt;br /&gt;
curl -v http://192.168.1.136&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Installation of Nginx=====&lt;br /&gt;
&lt;br /&gt;
Stop the Apache server since since it&#039;s not possible to keep 2 servers on the same port&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service apache2 stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go to catalogue&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /etc/nginx/sites-available&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the default configuration file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp default nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the config file&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The contents should look like this&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux5.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Create html file with any content, such as «hello Nginx»&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /var/www/html/nginx.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go to the site activation directory&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /etc/nginx/sites-enabled/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the link to default site&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rm default&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the link to the new site&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ln -s /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check nginx syntax&lt;br /&gt;
&amp;lt;pre&amp;gt;nginx -t&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service nginx restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -v http://192.168.1.136&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Simultaneous use of Apache and Nginx =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/apache2/ports.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#Listen 80 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Listen 127.0.0.1:81 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save changes&lt;br /&gt;
&lt;br /&gt;
Make sure that all Apache&#039;s configuration files have &lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initiate apache&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl start apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can make sure that each port is listening&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo netstat -nlpt | grep :8[01]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux6.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Check whether Apache works through 127.0.0.1 with curl&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl http://127.0.0.1:81&lt;br /&gt;
curl http://127.0.0.1:81/index.php&lt;br /&gt;
curl -H &#039;Host: example.com&#039; http://127.0.0.1:81&lt;br /&gt;
curl -H &#039;Host: test.com&#039; http://127.0.0.1:81&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the nginx configuration file so that all requests on port 80 redirected to apache&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux7.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Listen to port 81 on a local interface&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ngrep&lt;br /&gt;
sudo ngrep -W byline -d lo &amp;quot;&amp;quot; port 81&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
At the same time, on a different machine, try to open the sites test.com, example.com and 192.168.1.136&lt;br /&gt;
&lt;br /&gt;
Now apache will respond to all requests&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Server: Apache/2.4.18 (Ubuntu).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add these lines to the config nginx file before location /&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SumCodeForLinux8.jpg|center left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl restart nginx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Listen to port 80 on interface c&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ngrep -W byline -d enp0s8 &amp;quot;&amp;quot; port 80&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At the same time, on a different machine, try opening the html file 192.168.1.136/nginx.html&lt;br /&gt;
Now all the requests with an html file in the address will be handled by nginx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Server: nginx/1.10.0 (Ubuntu).&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Pavel</name></author>
	</entry>
</feed>