После перехода с Ubuntu на Arch возникла необходимость настроить эту связку, однако, в отличие от Ubuntu, для Arch не было такого универсального мануала.
Собрав идеи из различных мануалов, в том числе написанных для Ubuntu, я решил написать такое подробное руководство на Хабре.
Сразу хочу сказать, что это базовая установка, без n-штучных виртуальных хостов, просто установка для локальной разработки.
XAMPP мне не подошел просто по идеологическим соображениям.
Итак, давайте начнем.
Предполагается, что яурт он у вас уже установлен и вы хоть немного умеете им пользоваться, а также у вас настроено выполнение root-команд от вашего пользователя (установите пакет судо , затем раскомментируйте строку «%wheel ALL=(ALL) ALL» в файле /etc/sudoers и войдите в систему; При выполнении команд с помощью sudo вводите пароль от своего пользователя, а не от root).
Также перед установкой убедитесь, что у вас подключены экстра- и комьюнити-репозитории.
Для этого: sudo nano /etc/pacman.conf
И проверяем, чтобы разделы этих репозиториев выглядели одинаково.
[extra]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
[community]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
И синхронизируем списки пакетов.
sudo pacman -Sy
Для начала установим Apache и PHP и соответственно немного подправим конфиги.
sudo pacman -S apache php-apache
yaourt mod-rpaf
Теперь нам нужно отредактировать /etc/httpd/conf/httpd.conf: включить 2 модуля для Apache — rpaf и php5, плюс добавить конфигурацию для rpaf и другие мелочи.
sudo nano /etc/httpd/conf/httpd.conf
- Меняем «Прослушивать 80» на «Прослушивать 81», так как порт 80 будет слушать nginx.
- Добавьте 2 строки в раздел LoadModule.
LoadModule rpaf_module modules/mod_rpaf-2.0.so
LoadModule php5_module modules/libphp5.so
- Изменить адрес электронной почты можно в строке «ServerAdmin», хотя это необязательный пункт. Обычно меняю по привычке.
- Чуть ниже находится закомментированная строка «ServerName» — раскомментируйте ее и замените на «ServerName 127.0.0.1:81».
- Мы проверяем это в разделе « ” строка TypesConfig conf/mime.types не закомментирована
- Давайте также раскомментируем строку «MIMEMagicFile conf/magic».
- В " " заменим строку с параметром "DirectoryIndex" на такой вид:
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
Теперь нам осталось немного изменить второй файл конфигурации Apache. sudo nano /etc/httpd/conf/ports.conf
Измените «Слушать 80» на «Слушать 81».
На этом мы закончили настройку Apache. Перейдем к PHP.
sudo nano /etc/php/php.ini
- Настройка «post_max_size».
Обычно достаточно 60М, а то и гораздо меньше – в зависимости от ситуации.
Настраиваем «upload_max_filesize» и «max_file_uploads» таким же образом.
- Включаем модули.
Здесь не может быть какого-то единого решения, но моего варианта должно хватить для большинства нужд( http://pastebin.com/cZwepL0T ).
Если вам нужны какие-то дополнительные модули, которых нет в списке, в первую очередь ищем в yaourt.
- Советую раскомментировать и настроить «date.timezone» ( http://php.net/date.timezone ).
- Раскомментируем строку «session.save_path = «/tmp».
Перезапустите апач.
sudo rc.d restart httpd
Далее давайте создадим файл index.php для проверки.
(Здесь мы вводим пароль не для нашего пользователя, а для root.) su -c "echo '<Эphp phpinfo(); ?>' > /srv/http/index.php"
После этого, если вы зайдете по адресу http://localhost:81/ , вы должны увидеть страницу с полной информацией о PHP и Apache. Что-то вроде этого.
Перейдем к установке и настройке NGINX.
Давайте установим последнюю версию (ветвь разработки).Если хотите стабильную, то просто напишите «sudo pacman -S nginx» вместо команды ниже.
yaourt nginx-devel
И приведем конфиг к следующему виду.
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.
mysql_secure_installation
Вот так мы получили довольно быструю конфигурацию локального веб-сервера.
Надеюсь, эта тема будет кому-то полезна.
п.
с.
Если у вас есть предложения по улучшению материала, пишите в комментариях.
п.
п.
с.
Не могу не чувствовать, что раздел «gzip_types» в конфиге nginx не совсем оптимален — так что тоже прислушаюсь к предложениям.
Забыл написать про автозагрузку сервисов при старте ОС
sudo nano /etc/rc.conf
И в самом низу файла добавляем в массив «DAEMONS»:
@nginx @httpd @mysqld
Теги: #arch #linux #php #MySQL #Nginx #Apache #Разработка веб-сайтов
-
Идеальная Производительность Http
19 Oct, 24 -
Почему Вам Должно Быть Скучно На Работе?
19 Oct, 24 -
Drweb Для Ubuntu
19 Oct, 24 -
Хк-4600
19 Oct, 24 -
Канобувости, 14 Выпуск
19 Oct, 24