Arch Linux Налаштовуємо зв’язку Apache, Nginx, PHP та Percona DB

Після переїзду з Ubuntu на Arch з'явилася необхідність налаштувати цю зв'язку, проте, на відміну від Ubuntu, під Arch подібного мануалу все одно не знайшлося. Зібравши ідеї з різних посібників, включаючи ті, що були написані під Ubuntu, і вирішив написати на хабр такий цілісний гайд.

Відразу хочу сказати, що це базова установка, без віртуальних хостів у кількості n-штук, просто налаштування для локальної розробки.

XAMPP мені не підійшов просто з ідейних міркувань.

Отже, почнемо.

Також перед безпосередньою установкою, переконайтеся, що у вас підключені extra- і community-репозиторії. Для цього:

sudo nano /etc/pacman.conf

І перевіряємо, щоби секції цих репозиторіїв виглядали аналогічно.

[extra] #SigLevel = PackageOptional Include = /etc/pacman.d/mirrorlist [community] #SigLevel = PackageOptional Include = /etc/pacman.d/mirrorlist

І синхронізуємо списки пакетів.

Спочатку поставимо Apache і PHP і, відповідно, трохи виправимо конфіги.

sudo pacman -S apache php-apache yaourt mod-rpaf

Тепер нам треба відредагувати /etc/httpd/conf/httpd.conf: включити 2 модулі для апача - rpaf і php5, плюс для rpaf додати конфігурацію і ще дрібниці.

sudo nano /etc/httpd/conf/httpd.conf

Зберігаємо файл (Ctrl+O) та виходимо (Ctrl+X).

Тепер нам залишилося другий конфігураційний файл Апача трохи змінити.

sudo nano /etc/httpd/conf/ports.conf

Змінюємо "Listen 80" на "Listen 81".

На цьому з налаштуванням Apache ми закінчили. Переходимо до PHP.

sudo nano /etc/php/php.ini

Зберігаємо файл (Ctrl+O) та виходимо (Ctrl+X).

Перезапустимо apache. sudo rc.d restart httpd

Далі для перевірки створимо файл index.php. (Тут вводимо пароль не від свого користувача, а від root'a.)

su -c "echo '' > /srv/http/index.php"

язку

Переходимо до встановлення та налаштування NGINX

Встановимо останню (dev-гілка) версію. Якщо ж хочете стабільну — просто замість команди нижче напишіть „sudo pacman -S nginx“.

І наведемо вигляд конфіга до такого вигляду.

sudo nano /etc/nginx/conf/nginx.conf

Стираємо все і копіюємо все звідси - http://pastebin.com/2S8KnqkH.

І перезапускаємо nginx.

sudo rc.d restart nginx

Тепер, можна заходити по 80 порту і ви повинні побачити інформацію про php, як це було раніше (http://localhost).

І останній етап - встановлення PerconaDB

Як відомо, сама по собі MySQL далеко не найшвидша БД, так що я зазвичай встановлюю форк - PerconaDB. Детальніше про фічі можете почитати на офіційному сайті, від себе хіба скажу, що зворотна сумісність з MySQL повна, так що несподіваних проблем не буде.

sudo pacman -S percona-server

І налаштуємо пароль для адміністративного користувача PerconaDB.

Ось так ми отримали досить спритний конфіг локального веб-сервера. Сподіваюся, цей топік виявиться комусь корисним.

Забув написати про автозавантаження служб при старті ОС

sudo nano /etc/rc.conf

І в самому низу файлу в масив „DAEMONS“ дописуємо:

@nginx @httpd @mysqld

Хардкорна конфа за С++. Ми запрошуємо лише профі.