Самостоятельное обучение. Что такое PHP, Apache?
==================================================

 С прошлого года делаю вторую попытку "вхождения в Web". Обучаюсь я в основном самостоятельно (95%).  
**Детали вопроса**  

Поскольку хочется быть FullStack разработчиком (пусть даже в каком-то приближение) я готов изучать и серверную часть. На столь ранней стадии изучения у меня нет проблем ни с понимаем языковых конструкций, ни с применением ООП.  
  

(Пункт второй - Разрыв) Вот теперь представьте пишу я код который исполниться по щёлку на картинке:  
`console.log("Hello Kitty!");`  

Я прекрасно понимаю что этот код отобразиться в консоли браузера, и например чтобы попасть на неё мне надо нажть F12 в IE или Ctrl+Shift+K в Firefox. Честно говоря это я просто узнал из книги. Так же как и много других мелочей. Которые требуется знать АБСОЛЮТНО отдельно от языка программирования например, или проектирования БД( при разработке вашего приложения).  

На протяжение всего изучения я не могу найти информации о том что такое Apache простыми словами. Так же как и PHP (это вообще что? я имею ввиду те файлы которые генерируют html страницы.) Как они взаимодействуют между собой. А всякие 80-е порты, настройки конфигурационных файлов для меня тёмный лес. Я понимаю что PHP и MySQL это классика, а ведь есть ещё и всякие Python и Django (до которых я да же мысленно не могу дотронуться (кроме связки слов ничего для меня они мало что значат).  
  

Однако непонимание работы Apache и PHP меня останавливает. Подскажите как устранить этот пробел. 

 PHP - язык программирования.  

PHP может генерировать просто текст. То, что при помощи PHP вы можете генерировать именно HTML страницы - это уже частный случай (правда это и есть самое популярное использования PHP). Но при желании, вы можете генерировать HTML страницы как угодно, любым языком программирования.  
  

Apache - [веб сервер](https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80). Один из самых популярных веб-серверов.  

Для связки PHP И Apache, у Apache есть специальная библиотека, которая позволяет прямо из веб-сервера вызывать выполнение PHP кода для генерации страниц.  
  

80-й порт - это стандартный порт для [HTTP](https://ru.wikipedia.org/wiki/HTTP) протокола.   

Чтобы обмениваться данными, две программы должны знать адрес друг друга.  
  

IP адреса недостаточно, потому что на компьютере у вас может висеть скайп, аська, браузер, какая-нить игрушка - и если пришел пакет данных по сети, как операционная система должна понять в какую программу эти данные передать? Для этого к IP адресу добавляется "порт".  

При указании URL в браузере, вы обычно не указываете порт, потому что для HTTP подразумевается 80 порт по умолчанию, для HTTPS 443 порт по умолчанию. Но можно указывать и так:  

[http://google.com:80](http://google.com)  
  

P.S. На самом деле, достаточно посидеть на википедии, чтобы выяснить значение уже известных вам терминов. 

 Вот в этой книге все описано [PHP 7](https://www.ozon.ru/context/detail/id/137538198/) 

 Начни с основ PHP, есть много серверов которые устанавливаются в одно нажатие. Будешь ковыряться знания придут) 

 One more link - <http://php720.com/>