LAMP — це набір серверних технологій, до якого входять Linux, Apache, MySQL і PHP. Така зв’язка дозволяє розміщувати динамічні сайти, працювати з базами даних і запускати PHP-застосунки.

У цьому матеріалі розглянемо встановлення основних компонентів LAMP на сервері з CentOS 6.0. Як приклад використовується сервер із доменним ім’ям `server1.example.com` та IP-адресою `192.168.2.222`. У власній конфігурації ці дані потрібно замінити.

## Встановлення MySQL

Першим кроком встановлюється сервер баз даних MySQL:

```bash
yum install mysql mysql-server
```

Після завершення інсталяції потрібно додати службу до автоматичного запуску та запустити її:

```bash
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start
```

Далі виконується початкове налаштування безпеки:

```bash
mysql_secure_installation
```

Під час роботи сценарію потрібно:

* встановити пароль адміністратора MySQL;
* видалити анонімних користувачів;
* заборонити віддалений вхід під обліковим записом root;
* видалити тестову базу даних;
* оновити таблиці привілеїв.

Ці дії прибирають стандартні тестові налаштування та роблять базу даних безпечнішою для подальшої роботи.

## Встановлення Apache

Вебсервер Apache доступний у стандартному репозиторії CentOS і встановлюється командою:

```bash
yum install httpd
```

Після встановлення службу потрібно додати до автозапуску:

```bash
chkconfig --levels 235 httpd on
```

Запустити Apache можна так:

```bash
/etc/init.d/httpd start
```

Для перевірки потрібно відкрити IP-адресу сервера у браузері:

```text
http://192.168.2.222
```

Якщо Apache працює правильно, браузер покаже стандартну сторінку вебсервера.

Кореневий каталог сайтів за замовчуванням розташований тут:

```text
/var/www/html
```

Основний файл конфігурації Apache:

```text
/etc/httpd/conf/httpd.conf
```

Додаткові конфігураційні файли зберігаються в каталозі:

```text
/etc/httpd/conf.d/
```

## Встановлення PHP 5

Для запуску PHP-сценаріїв потрібно встановити PHP та модуль інтеграції з Apache:

```bash
yum install php
```

Після цього Apache необхідно перезапустити:

```bash
/etc/init.d/httpd restart
```

Щоб перевірити роботу PHP, у кореневому каталозі сайту створюється тестовий файл:

```bash
nano /var/www/html/info.php
```

У нього додається такий код:

```php
<?php

phpinfo();
```

Після збереження файл відкривається у браузері:

```text
http://192.168.2.222/info.php
```

Якщо налаштування виконано правильно, з’явиться сторінка з інформацією про встановлену версію PHP, активні модулі та параметри сервера.

## Підключення підтримки MySQL у PHP

Початкове встановлення PHP може не містити модуля для роботи з MySQL. Для його додавання разом з іншими поширеними розширеннями виконується команда:

```bash
yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc
```

Після встановлення модулів Apache знову перезапускається:

```bash
/etc/init.d/httpd restart
```

Потім потрібно повторно відкрити сторінку `info.php` і перевірити, чи з’явився розділ із підтримкою MySQL.

Після завершення перевірки файл `info.php` необхідно видалити, оскільки він показує детальну інформацію про конфігурацію сервера:

```bash
rm /var/www/html/info.php
```

## Встановлення phpMyAdmin

phpMyAdmin — браузерний інтерфейс для створення баз даних, таблиць, користувачів і виконання SQL-запитів.

В оригінальній конфігурації пакет встановлюється з додаткового репозиторію RPMforge. Після підключення репозиторію виконується:

```bash
yum install phpmyadmin
```

Конфігурація Apache для phpMyAdmin розташована у файлі:

```text
/etc/httpd/conf.d/phpmyadmin.conf
```

У ньому можна налаштувати доступ до інтерфейсу не лише з локального комп’ютера. Віддалений доступ потрібно відкривати обережно, бажано лише для дозволених IP-адрес.

Після зміни конфігурації Apache перезапускається:

```bash
/etc/init.d/httpd restart
```

Панель керування базами даних буде доступна за адресою:

```text
http://192.168.2.222/phpmyadmin/
```

У результаті сервер отримує готову LAMP-зв’язку: Apache приймає вебзапити, PHP виконує серверний код, MySQL зберігає інформацію, а phpMyAdmin надає графічний інтерфейс для керування базами даних.

CentOS 6.0, PHP 5 і старі пакети RPMforge вже не підходять для нового робочого сервера. Цю інструкцію краще використовувати для ознайомлення або обслуговування застарілих систем.