Наш партнер GENESIS HACKSPACE

Хакспейс: Клуб — физическое место, где собираются увлеченные техникой, IT, электроникой, роботами и физикой люди. Первая сеть бесплатных хакспейсов в г.Тверь и области.

Если вас интересует, как установить сервер на 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!

Похожие темы

Решение проблемы с установкой MailScanner... Проблемы зависимости MailScanner от libcompress-zlib-perl Совсем недавно я рассказывал, как установить почтовый сервер на Debian, Ubuntu, Mint и...
В свете новый эксплойтов Linux, аудит безопасности... Как много уязвимостей и эксплойтов Linux было открытов за последние 6 месяцев? Много. Недавние Shellshock, Heartbleed, Poodle, Ghost и, может б...
Как отключить SSL 3 на своём сервере... Как защитить пользователям себя от уязвимости SSL 3.0 codeby.net уже писал. Вы можете проверить, подвержены ли вы этой уязвимости перейдя на эт...
Как сделать резервную копию серверной базы данных ... Бэкап баз данных MySQL в Linux Если вы используете сервер MySQL с важной информацией, у вас может возникнуть желание периодически делать резервн...
Как установить PHP 7 и как обновить до PHP 7 на Wi... Если вы пользователь Linux, то обратитесь к статье "Как установить PHP 7 (PHP-FPM и FastCGI) для ISPConfig 3 на Debian 8 (Jessie)". Вы...