1

Тема: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

Установка Apache Http для користувачів Linux та Mac OS X

Завантажуємо з офіційного сайту останню версію Apache: httpd-2.4.2.tar.gz

curl -O http://apache.infocom.ua/httpd/httpd-2.4.2.tar.gz

або

wget http://apache.infocom.ua/httpd/httpd-2.4.2.tar.gz

Розпаковуємо архів:

gunzip httpd-2.4.2.tar.gz
tar xvf httpd-2.4.2.tar

Конфігуруємо:

cd httpd-2.4.2
./configure --prefix=/usr/local/apache2

prefix - директорія куди буде встановлено Apache
Та ще багато інших опцій. Весь список на сторінці: http://httpd.apache.org/docs/2.2/progra … igure.html

Збираємо та встановлюємо:

make
make install

Тестуємо встановлений Apache:

/usr/local/apache2/bin/apachectl -k start
/usr/local/apache2/bin/apachectl -k stop

Додаткові налаштування в файлі /etc/apache2/conf/httpd.conf


Установка PHP для користувачів Linux та Mac OS X

Завантажимо архів вихідних кодів php:
http://ua2.php.net/get/php-5.4.5.tar.gz/from/a/mirror

Розпакуємо:

gunzip httpd-2.4.2.tar.gz
tar xvf httpd-2.4.2.tar

Конфігуруємо:

cd php-5.4.5
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql

Збираємо та встановлюємо:

make
make install

Кидаємо в /usr/local/lib/ php.ini файл:

cp php.ini-development /usr/local/lib/php.ini

Редагуємо його на смак.

Йдемо /usr/local/apache2/conf та редагуємо httpd.conf

Після рядків загрузки модулів вставляємо:

LoadModule php5_module modules/libphp5.so

Також додаємо наступні рядки:

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

Перезавантажуємо сервер. Повинно все працювати =)

На цьому встановлення Apache та php завершено.
Більш детально про налаштування Apache можна почитати на сторінці: http://httpd.apache.org/docs/2.4/
Інформація по PHP: http://www.php.net/manual/en/install.unix.apache2.php

Якщо вам сервер потрібен для вичення програмування на PHP, то описаного вище повинно вистачити. Нижче описується як можна створити віртуальні хости.



Налаштування віртуальних хостів під Linux та Mac OS X

Знаходимо конфігураційний файл  Apache httpd.conf. Відкриваємо його. Розглянемо конфігурацію на прикладі.
Припустимо що нам потрібно 2 віртуальні хости для replace.org.ua та example.com.

<VirtualHost *:80>
    ServerAdmin replace@replace.org.ua
    DocumentRoot /home/replace/www/replace.org.ua
    ServerName replace.org.ua
    ServerAlias www.replace.org.ua
    ErrorLog /home/replace/www/logs/errors.txt
    CustomLog /home/replace/www/logs/access.txt common
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin example@example.com
    DocumentRoot /home/replace/www/example.com
    ServerName example.com
    ServerAlias www.example.com
    ErrorLog /home/replace/www/logs/errors.txt
    CustomLog /home/replace/www/logs/access.txt common
</VirtualHost>

Взагалі описання віртуального хоста виглядає наступним чином

<VirtualHost ip-адреса:порт>
#параметри
</VirtualHost>

Замість ip-адреси можна вказати *.
Порт для http за замовчуванням 80, можна поставити будь-який, наприклад 8080 та створити віртуальний хост для тестів. Порт вказувати не обов'язково.

Перейдемо до параметрів:
ServerAdmin - Email адреса адміністратора даного хосту.
DocumentRoot - шлях до директорії з файлами хосту. Я стровив користувача replace. Потім www і 2 директорії для replace.org.ua та example.com
ServerName - ім'я домену (replace.org.ua, example.com). Взагалі може бути що завгодно. Наприклад test-server. Але потім щоб доступитись потрібно вказати зв'язку ip - символьне ім'я в /etc/hosts клієнта
ServerName - ім'я домену
ServerAlias - "псевдоніми". Наприклад www.replace.org.ua, blog.replace.org.ua, other.replace.org.ua. І потім вже програмно можна перевіряти по якій адресі перейшов користувач.
ErrorLog - шлях до файлу куди Apache буде писати помилки, попередження і т.п. Зверніть увагу, що цей файл повинен бути обов'язково створений і мав права запису для користувача www-data (або іншого якщо ви змінили). Можна поставити 777 :)
CustomLog - шлях до файлу з кастомними логами Apache. Взагалі то тут пишеться звертання до хосту. Права запису повинні бути вставнолені аналогічно ErrorLog. Також не забуваємо про common в кінці.
Це основні параметри. Можна перезапускати сервер та використовувати віртуальні хости.
Хочу звернути увагу, що віртуальні хости ще можна прописувати в окремих файлах, але цього способу достатньо для кількох доменів та для розуміння, що це таке.

Більш детальна інформація про налаштування віртуальних хостів: http://httpd.apache.org/docs/2.2/vhosts/examples.html

Подякували: Chemist-i1

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

Було б добре, побачити інформацію, про додавання віртуальних хостів в апаче на Linux.

3

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

Додав описання додавання віртуальних хостів. =)

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

Дякую, буду пробувати

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

Зробив все по інструкції, але при після збереження файлу httpd.conf  - сервер не перезапускається.
Пробував перезапустити ОС. В результаті сервер не запускається.
В httpd.conf - я додав наступне:

<VirtualHost *:80>
    ServerAdmin hanter.name@gmail.com
    DocumentRoot /home/hanter/www/webgeneral
    ServerName webgeneral.ua
    ServerAlias www.webgeneral.ua
    ErrorLog /home/hanter/www/logs/errors.txt
    CustomLog /home/hanter/www/logs/access.txt common
</VirtualHost>

6

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

А що пише в /var/log/apache2/error.log ?
І взагалі, що пише коли сервер не перезапускається.

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

А Вам останні строки чи перші? а то в мене файл цей 1.3 гб важить.

8

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

Останні :)

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

От мені ще б цей файл відкрити без глюків, а то вже 2 раз відкривання на самому кінці обривається

10

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

Видаліть його. Потім спробуйте знову запустити сервер =)
Можна буде глянути що там не так.

11

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

При перезапуску сервера пише наступне:

service httpd restart
Restarting httpd (via systemctl):  Job failed. See system logs and 'systemctl status' for details.
                                                           [FAILED]

А у файлі error_log наступне:

[Sun Jul 22 12:16:05 2012] [notice] Digest: generating secret for digest authentication ...
[Sun Jul 22 12:16:05 2012] [notice] Digest: done
[Sun Jul 22 12:16:05 2012] [notice] Apache/2.2.22 (Unix) DAV/2 PHP/5.3.13 configured -- resuming normal operations
[Sun Jul 22 12:28:28 2012] [notice] caught SIGTERM, shutting down
(13)Permission denied: httpd: could not open error log file /home/hanter/www/logs/errors.txt.
Unable to open logs

12

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

В файлі чітко сказано, що не можна відкрити errors.txt =)
А взагалі файл /home/hanter/www/logs/errors.txt існує?
Якщо існує, то поставте йому 777.

13

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

Replace написав:

В файлі чітко сказано, що не можна відкрити errors.txt =)
А взагалі файл /home/hanter/www/logs/errors.txt існує?
Якщо існує, то поставте йому 777.

Він ще до того існував, і йому присвоєні права 777

14

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

1. Подивіться чи запуститься сервер якщо закоментувати рядки ErrorLog та CustomLog.
2. Випадково в директорії conf/vhosts/ немає файлу, який описує віртуальний хост webgeneral.ua?

15

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

Нарешті налаштував ті всі віртуальні хости.
p.s: ще б побачити інфу про установку і налаштування mysql сервера.

16

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

Hanter написав:

Нарешті налаштував ті всі віртуальні хости.
p.s: ще б побачити інфу про установку і налаштування mysql сервера.

Наскільки детально вас цікавить ця інформація? Самі будете встановлювати чи потрібно просто так, аби було?

Чому б граблі не вчили, а серце вірить в чудеса :)
Для зв'язку використовуйте персональну сторінку форуму, або блог http://skorbyk.com/

17

Re: Установка Apache Http та PHP для користувачів ОС Linux та Mac OS X

skorbyk написав:
Hanter написав:

Нарешті налаштував ті всі віртуальні хости.
p.s: ще б побачити інфу про установку і налаштування mysql сервера.

Наскільки детально вас цікавить ця інформація? Самі будете встановлювати чи потрібно просто так, аби було?

Та вже установив і налаштував...