Apache php5 perl - встановлення, налаштування та інтеграція
Насправді в установці і налаштуванні зв'язки немає apache + php + perl нічого складного ... Можете в цьому переконатися самі. Отже, почнемо. Встановлюватимемоapache22. Ті, хто віддає перевагуapache13, потрібно буде лише змінити директорію установки. У портах є обидві версії.
| #cd /usr/ports/www/apache22/ #make install clean |
З опцій змінюю тільки:
| [X] THREADS Enable threads support in APR [X] MYSQL Enable MySQL support for apr-dbd [ ] IPV6 Enable IPv6 support |
Кому необхідно, може включити підтримкуPostgreSQL
| [X] PGSQL Enable PostgreSQL support for apr-dbd |
Отже… Установка завершена. Не забуваємо перечитати шляхи:
| #rehash |
Дотримуючись вказівок порту, додаємо в /etc/rc.conf рядокapache22_enable="YES"
#echo '# Web' >> /etc/rc.conf #echo 'apache22_enable="YES"' >> /etc/rc.conf
Починаємо редагувати головний конфігураційний файл/usr/local/etc/apache22/httpd.conf
За замовчуванням він готовий до використання, але я рекомендую все-таки внести деякі зміни.
Інші опції будемо змінювати вже по ходу роботи у разі потреби.
Перевіряємо, чи все нормально з файлом конфігурації і якщо все нормально, запускаємо веб-сервер.
| # apachectl configtest Syntax OK# apachectl start |
Перевіряємо, чи запустився демон:
| #ps-ax grep http 47234 ?? Ss 0:00.07 /usr/local/sbin/httpd -k start 47235 ?? I 0:00.00 /usr/local/sbin/httpd -k start 47236 ?? I 0:00.00 /usr/local/sbin/httpd -k start 47237 ?? I 0:00.00 /usr/local/sbin/httpd -k start 47238 ?? I 0:00.00 /usr/local/sbin/httpd -k start 47239 ?? I 0:00.00 /usr/local/sbin/httpd -k start |
Все в нормі… Приступаємо до установкиPHP.
| #cd /usr/ports/lang/php5 #зробити інсталяцію чистою |
Параметри для php5 5.2.10
[X] CLI Build CLI version [X] CGI Build CGI version [X] APACHE Build Apache module [ ] DEBUG Увімкнути налагодження [X] SUHOSIN Увімкнути систему захисту Suhosin (не для в'язниць) ) [X] MULTIBYTE Увімкнути багатобайтову підтримку zend [ ] IPV6 Увімкнути підтримку ipv6 [ ] MAILHEAD Увімкнути виправлення заголовка електронної пошти [ ] ПЕРЕДПРАВЛЕННЯ Увімкнути підтримку force-cgi-redirect (лише CGI) [ ] DISCARD Увімкнути підтримку шляху відхилення (тільки CGI) [X] FASTCGI Увімкнути підтримку fastcgi (лише CGI) [X] PATHINFO Увімкнути підтримку перевірки інформації про шлях (тільки CGI)
По завершенню установки перечитываем шляхи.
| #повторити |
Для того, щоб Apache підтримував php, необхідно зробити те, що пропонує сам PHP для завершення встановлення:
Переконайтеся, що index.php є частиною вашого DirectoryIndex. До файлу конфігурації Apache слід додати наступне: AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
Приступаємо до редагування/usr/local/etc/apache22/httpd.conf Необхідно знайти модуль dir_module і додати для обробкиindex.php :
DirectoryIndex index.htm index.html index.php index.php3 index.php4 index.php5
Тепер ищем модульmime_module і додаємо типи програм:
| AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps |
Создадимконфігураційний файл дляPHP :
| #cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini |
Перезапускаємо Apache і дивимося, чи підключивсяPHP :
| # sh /usr/local/etc/rc.d/apache22 restart Додатковий контроль за допомогою apache22 Syntax OK Stopping apache22. Waiting for PIDS: 47234. Додатковий контроль безпеки на apache22 configuration: Syntax OK Starting apache22.# tail –f /var/log/httpd-error.log [Mon Aug 10 01:37:37 2009] [notice] caught SIGTERM, shutting down [Mon Aug 10 01:37:40 2009] [notice] Digest: generating secret for digest authentication . [Mon Aug 10 01:37:40 2009] [notice] Digest: done [Mon Aug 10 01:37:41 2009] [notice] Apache/2.2.11 (FreeBSD) mod_ssl/2.2.1 OpenSSL/0.9.8e DAV/2 PHP/5.2.10 з Suhosin-Patch configured -- resuming normal operations |
Вітаю. Зв'язуванняApache + PHP працює. Час навчитиApache "розуміти" скриптиperl. Для цього необхідно встановити додатковий модульApache. Якщо встановленоApache 1.3, то необхідний модульmod_perl, а якщо встановленийApache 2.x, то необхідний модульmod_perl2 Приступимо до встановлення.
| #cd /usr/ports/www/mod_perl2/ #make install clean #rehash |
Додамо/usr/local/etc/apache22/httpd.conf завантаження модуляmod_perl.so. Рядок підвантаження модуля має такий синтаксис:
| LoadModule perl_module libexec/apache22/mod_perl.so |
Куди саме розмістити в конфігураційному файліApache - думаю здогадатися можна без проблем;). Також необхідно знайти рядокAddHandler cgi-script .cgi,розкоментувати її та додати обробку розширенняpl. Тобто після наших маніпуляцій цей рядок повинен мати такий вигляд:
| AddHandler cgi-script .cgi .pl |
ПерезапускаємоApache, щоб зміни набули чинності.
| #sh /usr/local/etc/rc.d/apache22 restart |
Дивимося, що в нас вийшло:
| # tail –f /var/log/httpd-error.log [Mon Aug 10 02:42:21 2009] [notice] Apache/2.2.11 (FreeBSD) mod_ssl/2.2.11 OpenSSL/0.9.8e DAV/2 PHP/5.2.10 with Suhosin-Patch mod_perl/2.0.4 Perl/v5.8.9 configured -- resuming normal operations |
На цьому все… Основне налаштування закінчено. "Косметичні" проблеми не описую. У кого є час – у гугле інформації достатньо.