Установка и отладка веб-сервера для сайта в UBUNTU
Настройка веб-сервера для локального веб-сайта в Ubuntu является не простой задачей, но как это делать должен знать любой профессиональный веб-разработчик.
LAMP – что это
LAMP – это сочетание технологий Linux, Apache, MySQL, PHP, которые используются программистами для запуска интернет ресурсов, как личной разработки, так и проектов, функционирующих на известных CMS.
Как установить APACHE
Apache представляет собой веб-сервер с открытым исходным кодом . Его функционирование может быть описано следующим образом: На любой из поступающих запросов, данный сервер выдает ответ соответствующий запросу.
Другими словами говоря, обратившись к человеку с каким-то вопросом, он может, как дать ответ, так и нет. Однако, задав человеку вопрос, на который он дать ответ не в силах, прозвучит ответ: не знаю. Аналогичным образом функционирует и Apache, например, сервер покажет 404 ошибку, если вы обращаетесь к несуществующей странице.
Установка Apache производится посредством команды через терминал:
sudo apt-get install apache2
Если вы совсем новичок в Linux/Ubuntu, вы можете пройти курс Linux/GIT и вы получите базовые знания по командам Linux, а также научитесь работать с контролем версий кода GIT и сервисом BitBucket.
По завершению установки, следует проверить правильность функционирования веб-сервера. Сделать это можно при помощи введения ip адреса сервера в любом из существующих браузеров. В случае, если пользователь производил установку Apache локально, к примеру, на домашний ПК, ему следует ввести в браузере следующие цифры: 127.0.0.1. После этого должна будет отобразиться страница приветствия Apache.
Как установить PHP
Пользователь, который хочет, установить PHP на свой сервер, должен ввести следующую команду:
sudo apt-get install php5 php5-common libapache2-mod-php5 php5-cli php5-cgi php5-mysql
По завершению выполнения команды, необходимо ввести в терминале php -v . Благодаря этой команде должна будет отобразиться текущая версия php:
Если пользователь наблюдает это в своем терминале, то это говорит о том, что php установлен правильно и готов к работе.
Кстати, если вы плохо знакомы с языком программирования PHP, посмотрите эти уроки PHP для начинающих с нуля — это самые основы PHP программирования.
Как установить MYSQL
MySQL представляет собой базу данных, предусмотренную для хранения информации веб-ресурса. SQL является языком запросов, которые производятся непосредственно к БД MySQL.
Чтобы произвести установку MySQL пользователю необходимо ввести следующую команду:
sudo apt-get install mysql-server mysql-client
В ходе установки БД нужно будет придумать логин и ввести пароль, для локального пользователя можно задать логин root в БД MySQL. После, потребуется повторное введение данного пароля, поэтому придуманный пароль лучше записать на листок бумаги или в блокнот.
Чтобы пользователю было комфортней работать с БД MySQL следует произвести установку графического веб-клиента — PhpMyAdmin. Для этого вводят следующую команду:
sudo apt-get install phpmyadmin
В ходе установки данного клиента пользователь может произвести отладку связки веб-сервера и phpmyadmin в автоматическом режиме.
По завершению установки и отладки phpmyadmin следует произвести проверку функциональности. Сделать это можно при помощи введения ip адреса веб-сервера, но при этом необходимо и в конце дописать phpmyadmin через слеш.
Если вы все сделали правильно, вы должны увидеть страницу авторизации phpmyadmin:
Заполните форму авторизации и введите логин и пароль, которые вы задавали на предыдущем этапе.
Кстати, если вы хотите научиться работать с базой данных MySQL (MariaDB), составлять SQL-запросы — посмотрите уроки MySQL для начинающих в курсе программирования PHP/MySQL.
Как настроить конфиг APACHE
Как правило, когда пользователь занимается созданием сайта, он хочет иметь возможность просмотра его ресурса на своем ПК в таком виде, как видят его в браузере другие люди, то есть чтобы локальный сайт был доступен не по IP-адресу, а через доменное имя. В этом случае обычной установки Apache будет недостаточно и для этого потребуется произвести настройку конфига Apache2.
На первом этапе отладки конфига пользователь должен создать каталог для своего интернет проекта на сервере. Сделать это можно перейдя в основной каталог apache:
Затем, создайте каталог для вашего сайта командой:
Чтобы пользователь мог корректировать каталог, следует поменять имя владельца каталога с пользователя root на свое имя пользователя или, предпочтительно, на имя пользователя для apache.
Выполнить это можно посредством введения в терминале следующих команд:
sudo chown -R user:user superdomain
Теперь перейдите в ваш каталог superdomain:
После ввода команды выше, вы откроете текстовый редактор nano. Давайте напишем простой PHP-скрипт:
Для того, чтобы сохранить изменения в редакторе nano, нажмите сочетание клавиш ctr+x и букву y, после этого нажмите на клавишу enter.
Далее рассмотрим, как отладить конфиг apache2. Произвести настройку можно посредством введения команды:
sudo nano /etc/apache2/sites-available/superdomain.com.conf
и вставить текст следующего содержания:
На следующем этапе пользователю необходимо выполнить нажатие сочетание клавиш ctr+x и букву y, а после нажать enter.
После этого следует перейти в каталог apache, посредством введения следующей команды:
и ввести еще одну команду:
sudo a2ensite superdomain.com.conf
В случае правильного введения команд на экране отобразится следующее:
Чтобы запустить новый конфиг apache на веб-ресурсе необходимо ввести команду:
Свидетельством правильного запуска команды станет полное отсутствие ошибок.
На последнем этапе запуска веб-ресурса на своем локальном домене пользователю необходимо в документе hosts ввести ip-адрес сервера и указать имя своего локального домена:
Сам файл hosts в Linux находится в
в Windows вы его сможете найти по такому адресу:
Все готово! Теперь осталось лишь сохранить файл hosts, и в браузере указать имя своего локального домена superdomain.com.
В результате на экране должно будет отобразиться результат выполнения файла index.php.
Выводы
Умение устанавливать и настраивать веб-сервер для сайта вам очень пригодится как в операционной системе Ubuntu, так и в Windows.
О том как устанавливать и настраивать локальный сервер для сайта всего несколькими кликами мыши в Windows 10, вы можете посмотреть видеоуроки PHP в курсе PHP/MySQL.
Установка и настройка веб-сервера для сайта в Ubuntu
Настройка веб-сервера для разработки сайта на PHP в операционной системе Ubuntu — это задача, с которой должен уметь справиться веб-разработчик. В этой статье мы разберемся как установить и настроить LAMP-сервер (Linux, Apache, MySQL, PHP) для ваших сайтов.
Что такое LAMP
LAMP расшифровывается как Linux, Apache, MySQL, PHP. Связка технологий Apache, MySQL, PHP необходима для того, чтобы запустить веб-сайты как собственной разработки, так и сайты на популярных CMS: WordPress, Joomla, Prestashop, Drupal и прочих.
Каждый компонент мы будем устанавливать и настраивать по отдельности.
Установка Apache
Apache — это веб-сервер с открытым исходным кодом. Работу веб-сервера можно описать так: На каждый запрос, веб-сервер отдает ответ в зависимости от запроса.
Иными словами, по аналогии, если вы обратитесь с каким-либо вопросом к человеку, он вам ответит или не ответит.
Но если вы зададите ему вопрос, на который он не может ответить, человек ответит вам не знаю. По аналогии работает и наш веб-сервер Apache.
Для того, чтобы установить веб-сервер Apache, введите команду в терминал:
Что такое команда sudo и зачем она нужна, вы можете прочитать в этой статье.
После установки Apache, для проверки работоспособности веб-сервера, введите в браузере ip адрес сервера.
Если вы устанавливали Apache сервер на локально, например на ваш домашний компьютер, введите в браузере 127.0.0.1 и вы должны увидеть страницу приветствия веб-сервера Apache.
Установка PHP
Для того, чтобы установить PHP на ваш сервер, необходимо выполнить команду:
sudo apt-get install php5 php5-common libapache2-mod-php5 php5-cli php5-cgi php5-mysql
В данной статье мы не будем подробно останавливаться на названиях устанавливаемых пакетов, которые мы устанавливаем вместе с пакетом php5, поэтому двигаемся дальше.
После выполнения команды выше, введите в терминале php -v и вы должны удивить версию php:
$ php -v
PHP 5.5.9-1ubuntu4.11 (cli) (built: Jul 2 2015 15:23:08)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
Если вы у себя это видите в терминале, это значит, что php установлен.
Установка MySQL
MySQL — это база данных, в которой хранятся данные вашего сайта. SQL — это язык запросов к базе данных MySQL. Подробнее о языке запросов SQL вы можете почитать в этой статье.
Установка MySQL на ваш с сервер с Ubuntu/Linux очень простая. Для установки введите команду:
sudo apt-get install mysql-server mysql-client
В процессе установки MySQL вас попросят ввести пароль для пользователя root в MySQL, затем попросят ввести пароль для root пользователя MySQL повторно.
Будьте внимательны, перед вводом запишите пароль.
В данной статье мы установили не только MySQL сервер, но и консольный MySQL клиент. Для удобства работы с MySQL давайте установим графический веб-клиент к MySQL — PhpMyAdmin.
Для установки PhpMyAdmin введите команду:
sudo apt-get install phpmyadmin
В процессе установки PhpMyAdmin вам предложат настроить связку веб-сервера и phpmyadmin автоматически. На этом шаге выберите автоконфигурацию для веб-сервера apache2.
На следующий вопрос о конфигурации ответьте Yes. После этого вас снова попросят ввести пароль к пользователю root.
После этого, установка и настройка phpmyadmin будет завершена. Для проверки работоспособности phpmyadmin введите в браузере ip адрес вашего веб-сервера и после слеша допишите phpmyadmin.
Если вы устанавливали phpmyadmin на локальный сервер, введите в браузере:
В результате вы увидите страницу авторизации phpmyadmin:
Введите root и пароль, который вы задавали в процессе установки MySQL и вы войдете в phpmyadmin.
Настройка конфига веб-сервера Apache для работы на домене
Очень часто простой установки веб-сервера Apache бывает недостаточно, если вы хотите разрабатывать сайт и просматривать его так, как будто он находится в интернете и доступен по вашему доменному имени, например superdomain.com.
Давайте настроим конфиг Apache2 для того, чтобы это реализовать.
Первое, что вам нужно сделать — это создать каталог для вашего сайта на сервере. Для этого перейдите в базовый каталог сайтов apache:
После этого создайте каталог для вашего сайта:
Для того, чтобы мы могли вносить изменения в каталог superdomain, нам нужно изменить владельца каталога с пользователя root на вашего пользователя.
Для этого введите в терминале команду:
sudo chown -R user:user superdomain
Последней командой мы поменяли владельца и группу каталога superdomain на вашего пользователя (вместо user:user напишите имя вашего пользователя)
Затем перейдите в созданный каталог superdomain и создайте в нем файл index.php и php скриптом.
Для этого в терминале введите команду:
после этого вставьте php скрипт, например с таким содержимым:
Для того, чтобы сохранить изменения в редакторе nano, нажмите сочетание клавиш ctr+x и букву y, затем enter.
А сейчас мы настроим конфиг веб-сервера apache2.
Для этого введите команду:
sudo nano /etc/apache2/sites-available/superdomain.com.conf
После этого нажмите сочетание клавиш ctr+x и букву y, затем enter.
В этом конфиге мы создали указали пути к директории нашего сайта superdomain, указали название домена, правила, email веб-мастера, если пользователь будет видеть ошибку, пути к лог файлам apache и другие настройки.
После этого нам необходимо перейти в каталог apache :
sudo a2ensite superdomain.com.conf
Если все сделали правильно после ввода этой команды вы должны увидеть это:
Enabling site superdomain.com.
To activate the new configuration, you need to run:
service apache2 reload
Для применения нового конфига apache для нашего сайта superdomain.com введите команду:
Если после запуска команды выше, веб-сервер apache2 не будет ругаться на ошибки, значит вы все сделали правильно и остался последний шаг, чтобы запустить наш сайт с домена superdomain.com.
Если у вас нет понимания команд которые вы вводите в терминал Linux, прочитайте статью о Bash командах.
Последнее изменение которое необходимо внести, для запуска сайта на домене superdomain.com, прописать в файле hosts ip-адрес сервера(в данном примере веб-сервер локальный) и название домена superdomain.com:
Файл hosts находится в Linux:
В операционной системе Winodows, файл hosts находится:
Все готово! Сохраните файл hosts и в браузере введите
В результате вы должы увидеть php вывод страницы index.php из каталога superdomain.
Выводы
В данной статье мы настроили LAMP сервер в операционной системе Ubuntu. Аналогично, вы можете создавать каталоги и конфиги apache2 для других ваших сайтов.
Мы показали базовые настройки LAMP. А если ваш проект перерастет во что-то большое, вы можете купить VDS сервер, от компании Timeweb с Ubuntu на борту и произвести настройку LAMP в нем.
В следующих статьях мы рассмотрим расширенные настройки PHP, Apache, MySQL и то, как настройть WAMP(Windows, Apache, PHP, MySQL).
Оставайтесь с нами и следите за новыми публикациями в нашей группе VK.
Для того, чтобы посмотреть видео, зарегистрируйтесь в личном кабинете
Установка веб-сервера Apache на Ubuntu Server 18.04
В этой статье мы пошагово рассмотрим установку веб-сервера Apache на Ubuntu Server 18.04. Научимся управлять его процессами. Настроим фаервол UFW для Apache, проверим работу веб-сервера, разберемся с основными директориями, логами и посмотрим часто используемые команды.
Шаг 1. — Подготовка
На этапе подготовки мы убеждаемся что у нас есть всё необходимое для выполнения дальнейшей инструкции:
- Нам нужна установленная ОС Ubuntu Server 18.04 — Вам в помощь статья — Установка Ubuntu Server 18.04 LTS
- Ubuntu Server 18.04 должна иметь статический IP-адрес и доступ в интернет. — Настройка сети в Ubuntu Server 18.04 [Netplan]
- Необязательно, но желательно включить фаервол UFW — Первоначальная настройка Ubuntu Server 18.04
Посмотрим свой IP-адрес, командой ifconfig.(Рис.1)
Рис.1 — Командой ifconfig узнаём IP-адрес нашего сервера.
Адрес моего сервера — 192.168.3.10, в этой статье я буду вводить его в браузере на другом ПК, для проверки работоспособности Apache. Вы должны будете ввести свой IP-адрес.
Если у вас, допустим, Ubuntu Desktop 18.04 и нету возможности подключиться с другого ПК, то вводите на своей же Ubuntu в браузере -«localhost» или IP-адрес — 127.0.0.1
Всё! На этом подготовка завершена.
Шаг 2. — Установка Apache
Первым делом обновляем список пакетов репозитория.
Apache доступен в стандартном репозитории. Приступаем к установке.(Рис.2)
Рис.2 — Устанавливаем веб-сервер Apache на Ubuntu 18.04.
После установки сразу же посмотрим статус веб-сервера.(Рис.3)
Рис.3 — Смотрим статус веб-сервера Apache.
Как видим Apache после установки сразу же сам запустился. [Об этом свидетельствует строчка — «Active: active (running) « , также отсутствуют серьёзные ошибки.]
Apache добавлен в автозагрузку. [Это мы понимаем по слову «enabled;» В строке «Loaded: loaded (/lib/systemd/system/apache2.service; enabled; «.]
Посмотреть версию установленного Apache можно с помощью команды apache2 -v.(Рис.4)
Точная версия Apache — 2.4.29.
Рис. 4 — Смотрим версию веб-сервера Apache.
Если у вас Apache не запустился, запустите его командой:
Добавить Apache в автозагрузку, можно командой:
Если вдруг он вам не нужен в автозагрузке, то удалить Apache из автозагрузки можно командой:
Перезапустить Apache, без потери соединения, для того чтобы применились изменения сделанные в конфигурационных файлах.
Шаг 3. — Настройка файрвола UFW
Для тех кто файрвол не включил и не собирается включать — Переходите к Шаг 4. — Проверка Apache
Напомню! Файрвол UFW мы включили в этой статье — Первоначальная настройка Ubuntu Server 18.04
Посмотрим профили приложений в фаерволе UFW.(Рис.5)
Рис.5 — Просматриваем профили приложений UFW.
Видим три профиля Apache:
- Apache — открывает стандартный 80 порт — http[ нешифрованный веб-трафик ]
- Apache Full — открывает два порта 80 — http [ нешифрованный веб-трафик ] и 443 — https [ TLS / SSL — зашифрованный веб-трафик ]
- Apache Secure — открывает только 443 порт — https [TLS / SSL — зашифрованный веб-трафик ]
Для того чтобы применить какой-либо профиль можно воспользоваться командой — sudo ufw allow ‘ Имя_профиля ‘
Мы применим первый профиль — Apache.(Рис.6)
Рис.6 — Применяем профиль Apache в файволе UFW.
Правило применилось!
Шаг 4. — Проверка Apache
На этапе Шаг 1. — Подготовка мы выяснили IP-адрес сервера, Я с другого компьютера, который находится в той же локальной сети, что и сервер, ввожу его в браузере.(Рис.7)
Для тех кто в танке. Если у вас, допустим, Ubuntu Desktop 18.04 и нету возможности подключиться с другого ПК, то вводите на своей же Ubuntu в браузере — localhost или IP-адрес — 127.0.0.1 © Шаг 1. — Подготовка
Если вы тоже увидели страницу «Apache2 Ubuntu Default Page«, значит вы всё сделали правильно! Веб-сервер работает!
Рис.7 — Вводим IP-адрес сервера в браузере. Apache2 Ubuntu Default Page
Каталоги и файлы конфигураций Apache
/var/www/ — Каталог хранит папки сайтов.
Изначально в нём содержится папка html, в которой лежит файл index.html [index.html — стартовая страница Apache, которую мы увидели на Шаг 4. — Проверка Apache]
Для примера покажем, как может выглядеть содержимое каталога «/var/www/» у более опытных пользователей:
- /var/www/
- /html
- index.html
- /itdeer.ru
- /files
- /img
- index.html
- /yandex.ru
- /search.yandex.ru
- index.html
- /photo.yandex.ru
- index.html
- /search.yandex.ru
- /html
/etc/apache2/ — Главный каталог веб-сервера Apache.
- /etc/apache2/apache2.conf — Главный конфигурационный файл Apache.
- /etc/apache2/ports.conf — В файле прописаны порты которые Apache будет слушать. [по умолчанию — веб-сервер слушает только 80 порт, но также может слушать 443, при включенном SSL модуле]
- /etc/apache2/sites-available/ — В директории хранятся файлы доступных виртуальных хостов.
- /etc/apache2/sites-enabled/ — В директории хранятся активированныевиртуальные хосты.
Apache не использует файлы виртуальных хостов[sites-available], если они не активированы в директории «sites-enabled«. Активация происходит путем создания ссылки в каталоге «sites-enabled«, при помощи команды «a2ensite» или «a2ensite Имя_хоста «
Следующие две пары каталогов работают по принципу «sites-available — sites-enabled«.
Конфигурации:
- /etc/apache2/conf-available/ и /etc/apache2/conf-enabled/ — Доступные и активные дополнительные части конфигурации, которых нет в виртуальном хосте. Файлы в директории «conf-available» можно включить командой — «a2enconf«, а выключить командой — «a2disconf«.
Модули (Моды):
- /etc/apache2/mods-available/ и /etc/apache2/mods-enabled/ — Доступные и активные модули. Файлы заканчивающиеся на «.load» содержат фрагменты для загрузки конкретных модулей. Файлы заканчивающиеся на «.conf» содержат конфигурацию этих модулей. Включить модуль можно командой — «a2enmod«, выключить модуль можно командой — «a2dismod«.
Логи веб-сервера Apache
Приведены команды для чтения логов с помощью «tail«, «tail -10» — выводит последние 10 строк лога, можете подобрать цифру удобную вам.
/var/log/apache2/access.log — журнал всех запросов к серверу Apache.
/var/log/apache2/error.log — журнал всех ошибок Apache. [Директива «LogLevel» в главном конфигурационном файле Apache — /etc/apache2/apache2.conf, отвечает за уровень логирования в файле error.log]
Часто используемые команды
Запустить Apache:
Остановить Apache:
Статус Apache:
Добавить Apache в автозагрузку:
Удалить Apache из автозагрузки:
Перезапустить Apache, без потери соединения, для того чтобы применились изменения сделанные в конфигурационных файлах.
Проверка конфигурации Apache на ошибки [В ответ вы получите «сообщение об ошибке» или «Syntax OK» — отсутствие ошибок и синтаксисе]:
Версия Apache: