Установка веб сервера на ubuntu

Установка веб сервера на ubuntu

Содержание

Решил оформить наконец своё HOW-TO на форуме в нашей вики, т.к. это правильнее и форматирование здесь удобнее. Я постарался изложить материал кратко, намеренно упустив подробности, которые не относятся напрямую к сути (вроде того, что конфиги сервера нужно править от рута). Считаем, что читатель имеет базовый уровень работы с линукс-системами.

Просьба к редакторам тоже там отписываться

Установка

phpmyadmin — веб-интерфейс для управления БД MySQL.

Настройка Apache

Персональные настройки

Начиная с версии Ubuntu Saucy (13.10) свои настройки следует писать в /etc/apache2/conf-available, активировать настройки следует с помощью команды a2enconf.

Выключаем автозапуск apache2 и mysql

Выключаем автозапуск Apache:

Выключаем автозапуск MySQL:

т.е. должно быть так:

Разрешаем подключение к MySQL из Мира

/etc/mysql/my.cnf

Самое простое — просто закомментировать эту строку.

Кроме этого требуется добавить пользователя, который с разных мест и из разных программ может соединяться с базой, например «admin»:

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

В этой статье мы пошагово рассмотрим установку веб-сервера 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)

Точная версия Apache2.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 — открывает два порта 80http [ нешифрованный веб-трафик ] и 443https [ 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
          • /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:

            Много начинающих веб-разработчиков переходят на дистрибутивы на базе Linux только лишь для того, чтобы создать свой стабильный веб-сервер для тестирования и отладки своих проектов. И проекты чаще всего, конечно же, на PHP. В данной статье я предлагаю Вам свой способ развертывания веб-сервера LAMP (Linux+Apache+MySQL+PHP) в очень доступной форме.

            Данный способ уже несколько лет использую на .deb-based дистрибутивах. Ранее веб-сервер был установлен и отлично работал на Debian, Mint, Ubuntu, LMDE (с некоторыми поправками) и сейчас работает на elementaryOS.

            Заранее предполагаем, что наш сайт должен быть доступен по адресу mysite.zz, а папка с файлами сайта расположена по пути /home/user/server/mysite.zz. Веб-сервер будет устанавливаться на ElementaryOS. Поэтому в процессе настройки будет использован стандартный текстовый редактор scratch-text-editor. Можно использовать любой текстовый редактор, заменив «scratch-text-editor» на название своего редактора.

            1. Установка необходимых пакетов

            Вводим в терминале

            При установке пакетов нам будет необходимо выполнить их предварительную настройку в псевдографическом режиме терминала.
            В первом окне нам предлагают ввести пароль для MySQL пользователя «root». Вводим пароль и подтверждаем его:

            2. Проверка работы сервера и phpmyadmin

            Там же можно изменить язык интерфейса phpmyadmin.

            Если все сделано верно, то мы перейдем к управлению нашими базами:

            3. Настройка сервера

            Создаем ссылку на phpmyadmin в /var/www

            Открываем конфигурационный файл сервера:

            и добавляем в конец файла строчку:

            4. Добавление нашего сайта

            Открываем файл hosts для добавления нашего сайта:

            и добавляем в файл строчку

            Создаем в любой папке конфигурационный файл сайта с названием «mysite.zz» с содержанием

            и копируем его с правами суперпользователя в /etc/apache2/sites-available

            Активируем наш сайт:

            Активируем модуль mod-rewrite (необходим для реализации ЧПУ):

            И перезапускаем сервер:

            5. Проверка работы нашего сайта

            Создаем файл index.php в папке нашего сайта (/home/user/server/mysite.zz), например, с таким содержанием:

            Далее в любом браузере переходим по адресу mysite.zz

            Если мы видим нашу страничку, то все сделали верно.

            6. Возможные проблемы

            Phpmyadmin не доступен по адресу localhost/phpmyadmin

            Для исправления этой ошибки необходимо переконфигурировать phpmyadmin

            Следующие проблемы мной наблюдались только в LMDE. Но не исключено, что могут встретиться в других дистрибутивах.

            Доступ к нашему сайту может быть запрещен сервером

            Для исправления этой проблемы к имени конфигурационного файла нашего сайта в /etc/apache2/sites-available необходимо добавить расширение .conf

            содержание файла должно быть отредактировано следующим образом

            А активация сайта должна производиться по имени конфига

            Не определяется логин и пароль при входе в phpmyadmin

            Для исправления этой ошибки внесем некоторые изменения в конфигурационный файл phpmyadmin.
            Открываем его

            и добавляем следующие строчки

            Теперь phpmyadmin должен распознать наш логин и пароль.

            Дополнение

            В данной статье не было рассмотрено подключение проекта к базе данных. Вариантов подключения очень много как в процедурном PHP, так и в объектно-ориентированном. Единственное, что могу сказать по этому поводу, это то, что при любой реализации подключения к определенной базе необходимо будет использовать пользователя «root» и пароль, который мы указывали при настройке пакетов при их установке.

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

            Ссылка на основную публикацию
            Удобное компьютерное кресло отзывы
            В общем, надоело мне с ноутбуком на кровати валяться, спину портить. Стол есть, 74см высотой. Сейчас сижу на офисном стуле,...
            Тест эксель на собеседовании
            Если вы хоть раз пытались устроиться на работу или же работаете на должности, в круг обязанностей которой входит принятие людей...
            Тестирование cd и dvd дисков
            В этой статье я опишу программу тест Nero CD DVD Speed, которая разработана компанией "Nero Softwsre AG". С помощью программы...
            Удобный сайт для просмотра фильмов
            Некоторые онлайн-кинотеатры радуют лицензионными бесплатными фильмами, однако за лучший контент придётся платить. В подборке Лайфхакера — несколько хороших сервисов с...
            Adblock detector