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
Хардкорна конфа за С++. Ми запрошуємо лише профі.