Тема: Установка 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