Спонсор публикаций Cyber-512

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

Если вас интересует, как установить сервер на Windows, то вам сюда "Установка Apache, PHP, MySQL, phpMyAdmin на Windows".

Apache, MariaDB/MySQL и PHP — это популярная серверная связка, которая используется для создания динамических веб-сайтов и веб-приложений. На платформах Linux эту связку называют акронимом LAMP (по первым буквам слов Linux, Apache, MySQL и PHP). Т.е. связка LAMP состоит из Apache (сам сервер HTTP), баз данных MariaDB или MySQL и PHP, Perl или Python — серверных языков программирования. Возможные разные варианты, которые обозначаются разными акронимами: LEMP (nginx, MySQL, PHP), LAPP (Apache, PostgreSQL, PHP), LLPR (Lighttpd, PostgreSQL, Ruby on Rails) и так далее.

В этой инструкции я опишу как установить и настроить связку Apache, MariaDB/MySQL и PHP (LAMP) на сервер CentOS. Эта инструкция применима к платформам CentOS 6 а также CentOS 7.

1. Apache HTTP Server

На этом шаге давайте установим Apache HTTP server на CentOS. После мы также выполним базовую конфигурацию сервера Apache, такую как добавим службу Apache в список автозапуска и откроем HTTP в файерволе.

Установка сервера Apache HTTP

Запуск сервера Apache HTTP и настройка файервола

В CentOS 7:

В CentOS 6:

Проверка сервера Apache HTTP

Чтобы протестировать установку, проверяем, запущен ли и выполняется ли успешно демон httpd.

В CentOS 7:

15067546624_b8ecd04910_o

В CentOS 6:

После подтверждения статуса httpd, откройте веб-браузер и перейдите http://<ip-адрес-веб-вервера> чтобы увидеть загрузку дефолтной веб-страницы Apache. Этот скриншот внизу показывает дефолтную веб-страницу на CentOS 6 (192.168.1.8) и CentOS 7 (192.168.1.11).

15501627019_4683010830_o

Обратите внимание, что по умолчанию корневой каталог httpd — это /var/www/html на обоих CentOS 6 и 7. Двигаемя дальше.

2. MariaDB/MySQL

Следующий шаг — это установить базу данных для нашего сервера, нам на выбор есть два варианта: MySQL и MariaDB. В то время как CentOS/RHEL 6 распространяется с пакетами сервер/клиент MySQL, CentOS/RHEL 7 отошла от MySQL, и вместо неё предлагает MariaDB как базу данных по умолчанию, MariaDB — это форк MySQL разрабатываемый сообществом.

Ниже как установить сервер MariaDB/MySQL и настроить автоматический старт при загрузке.

На CentOS 7:

На CentOS 6:

Установка пакета сервер/клиент MySQL и запуск сервера MySQL делается так.

Так как MariaDB и MySQL совместимы друг с другом в плане API и использования командной строки, настройка связки нашего сервера будет одинаковой, независимо от выбора MariaDB или MySQL.

В качестве меры предосторожности, запустите следующий дополнительный скрипт, который включён в серверный пакет MariaDB/MySQL.

15644566071_36908c00f3_o



Этот скрипт переконфигурирует базу данных сервера в целях упрочнения сервера. Например, он заменит (пустой) пароль рута (root), удалит анонимного пользователя, отключит удалённую авторизацию рута и удалит дефолтную тестовую базу данных.

3. PHP

Последний шаг настройки LAMP — это установка PHP, скриптового языка на стороне сервера, который отвечает за динамическое создание веб-страниц для пользователей. Для минимальной работы LAMP требуется установка следующих двух паетов.

Этот пакет PHP добавляет поддержку сервера Apache HTTP и пакет php-mysql позволяет приложениям PHP иметь доступ к серверу MariaDB/MySQL. Кроме этих двух обязательных пакетов, есть много других полезных модулей PHP, которые можно установить в зависимости от ваших потребностей. Например:

  • php-gd: необходим для работы приложений PHP с изображениями.
  • php-odbc: необходим для доступа приложений PHP к базе данных ODBC.
  • php-pecl-memcache: необходим когда настроен демон кэша Memcached.
  • php-pgsql: необходим для доступа к базе данных PostgreSQL в приложениях PHP.
  • php-snmp: необходим для запросов к устройствам под управлением SNMP в приложениях PHP.
  • php-xml: необходим для разбора XML в приложениях PHP.
  • php-soap: необходим для поддержки протокола SOAP в приложениях PHP.
  • php-xmlrpc: необходим для поддержки протокола XML-RPC в приложениях PHP.

Вы можете получить полный список доступных модулей PHP выполнив:

Далее давайте изменить временную зону по умолчанию, которую используют приложения PHP. Вам будет нужно найти вашу временную зону используя команду tzselect.

15068126933_ea64d1616d_o

После ответа на серию вопросов, tzselect выведет строку с вашей временной зоной (например, "America/New_York"). Откройте файл /etc/php.ini текстовым редактором и добавьте следующие строки.

Не забудьте перезапустить httpd после установки PHP.

В CentOS 7:

В CentOS 6:

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

15502096038_04424d7602_o

Как только вы верифицировали вывод командной строки PHP, давайте создадим PHP файл и верифицируем, что PHP файл успешно загружается сервером Apache HTTP.

Перейдите http://<ip-адрес-веб-сервера>/test.php в вашем браузере. Вы должны увидеть следующий выход.

15689083192_6112673ce9_o

Теперь вы успешно настроили связку LAMP!



Похожие темы

c# Как изменить данные в базе данных MySQL?... Изменение данных в базе данных MySQL В этой статье мы рассмотрим на нескольких простых примерах, как изменить данные в базе данных MySQL с помощью яз...
Как активировать Microsoft Office 2010 на Linux... О том, как установить Microsoft Office 2010 на Linux codeby.net уже писал здесь. В этой подробной инструкции подробно расписана вся эта простая проц...
Делаем локальный сайт (на localhost) доступным для... До открытия доступа на локалхост, рекомендуется установить ModSecurity (mod_security) на Apache. Эта статья для тех, у кого есть сайт на локальном ...
goSecure — портативная виртуальная частная с... Перевод: Анна Давыдова Источник: n0where.net Переносная виртуальная частная сеть goSecure goSecure является простой в использовании и порта...
Основы безопасности вашего Unix сервера... Сегодня я попытаюсь вам рассказать о некоторых основах безопасности на вашем Unix сервере. Для начала потребуется обозначить некоторые правила для с...