- PVSM.RU - https://www.pvsm.ru -
После переезда с Ubuntu на Arch появилась необходимость настроить данную связку, однако, в отличие от Ubuntu, под Arch подобного мануала всё-в-одном не нашлось. Собрав идеи с разных руководств, включая те, что были написаны под Ubuntu, и решил написать на хабр такой цельный гайд.
Сразу хочу сказать, что это базовая установка, без виртуальных хостов в количестве n-штук, просто настройка для локальной разработки.
XAMPP мне не подошёл просто по идейным соображениям.
Предполагается, что yaourt [1] у вас уже установлен и вы хотя бы немного умеете им пользоваться, а также настроено выполнение root-команд от своего пользователя (ставим пакет sudo [2], потом раскомментируем строчку "%wheel ALL=(ALL) ALL" в файле /etc/sudoers и релогинимся; при выполнении команд с sudo пароль вводим от своего пользователя, а не от root'a).
Также перед непосредственно установкой, убедитесь, что у вас подключены extra- и community-репозитории.
Для этого:
sudo nano /etc/pacman.conf
И проверяем, чтобы секции этих репозиториев выглядели аналогично.
[extra]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
[community]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
И синхронизируем списки пакетов.
sudo pacman -Sy
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
LoadModule rpaf_module modules/mod_rpaf-2.0.so
LoadModule php5_module modules/libphp5.so
DirectoryIndex index.php
Include conf/extra/php5_module.conf
RPAFenable On
RPAFproxy_ips 127.0.0.1 10.0.0.1
RPAFsethostname On
RPAFheader X-Forwarded-For
Сохраняем файл (Ctrl + O) и выходим (Ctrl + X).
Теперь нам осталось второй конфигурационный файл Апача чуть-чуть изменить.
sudo nano /etc/httpd/conf/ports.conf
Меняем «Listen 80» на «Listen 81».
sudo nano /etc/php/php.ini
Сохраняем файл (Ctrl + O) и выходим (Ctrl + X).
Перезапускем apache.
sudo rc.d restart httpd
Далее для проверки создадим файл index.php. (Здесь вводим пароль не от своего пользователя, а от root'a.)
su -c "echo '<?php phpinfo(); ?>' > /srv/http/index.php"
После этого, если вы зайдёте по адресу http://localhost:81/ [5], вы должны увидеть страничку с полной информацией о PHP и Apache. Что-то типа такого.
Установим последнюю (dev-ветка) версию. Если же хотите стабильную — то просто вместо команды ниже напишите „sudo pacman -S nginx“.
yaourt nginx-devel
И приведём вид конфига к следующему виду.
sudo nano /etc/nginx/conf/nginx.conf
Стираем всё и копируем всё отсюда — http://pastebin.com/2S8KnqkH [6].
И перезапускаем nginx.
sudo rc.d restart nginx
Теперь, можно заходить по 80 порту и вы тоже должны увидеть информацию о php, как это было раньше (http://localhost [7]).
Как известно, сама по себе MySQL далеко не самая шустрая БД, так что я обычно устанавливаю форк — PerconaDB. Поподробнее о фичах можете почитать на официальном сайте [8], от себя разве что скажу, что обратная совместимость с MySQL полная, так что неожиданных проблем не будет.
sudo pacman -S percona-server
И настроим пароль для административного пользователя PerconaDB.
mysql_secure_installation
p.s. если есть какие-то предложения по улучшению материала — пишем в комментариях.
p.p.s. не покидает меня ощущение, что секция „gzip_types“ в конфиге nginx'a не совсем оптимальна — так что тоже выслушаю предложения.
sudo nano /etc/rc.conf
И в самом низу файла в массив „DAEMONS“ дописываем:
@nginx @httpd @mysqld
Автор: arinoki
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/4094
Ссылки в тексте:
[1] yaourt: https://wiki.archlinux.org/index.php/Yaourt_%28%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%29
[2] sudo: https://wiki.archlinux.org/index.php/Sudo#Installation
[3] http://pastebin.com/cZwepL0T: http://pastebin.com/cZwepL0T
[4] http://php.net/date.timezone: http://php.net/date.timezone
[5] http://localhost:81/: http://localhost:81/
[6] http://pastebin.com/2S8KnqkH: http://pastebin.com/2S8KnqkH
[7] http://localhost: http://localhost
[8] официальном сайте: http://www.percona.com/software/percona-server/benchmarks/
Нажмите здесь для печати.