В этой статье я приведу пример пошаговой установки с нуля веб сервера Apache2 и PHP на сервере c ОС Linux OpenSUSE 11
магнет: openSUSE_11.3_DVD_x86_64.iso (4,18 ГБ)
1. Установка и настройка Apache
Нет особой разницы, каким образом вы установите Apache, через консоль, или же через приложение “Установка программ”. Выбрал второй вариант т.к. считаю, что умная программа это сделает быстрее и правильне, чем делал бы я это вручную, из командной строки.
После установки Apache2 можно приступить к его начальному конфигурированию.
Открываем консоль и переключаем пользователя на рута
1 |
su |
Теперь следует проверить, не запущен ли apache.
1 |
rcapache2 status |
В статусном сообщении должно красоваться значение unused. В противном случае необходимо усыпить apache командой:
1 |
rcapache2 stop |
Теперь можно приступать к редактированию конфигов.
Конфиг /etc/sysconfig/apache2
В нем нужно внести изменения лишь в 2х директивах:
1. APACHE_SERVERNAME="localhost:80"
2. APACHE_MODULES
В этой директиве перечислены через запятую модули, подключаемые при старте apache. Пришлось удалить от туда perl
из-за его отсутсвия и ненадобности. И важно добавить туда rewrite
и php5
.
Получилась такая портянка:
APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl userdir rewrite php5"
После внесения описанных выше изменений можно сохранять конфигурационный файл и проводить тестовый запуск apache на “орбиту”.
1 |
rcapache2 start |
В ответ должны увидеть такую строчку:
1 |
Starting httpd2 (worker) <strong> <span style="color: #00ff00;">done</span></strong> |
Если там выпало что-то лишнее, то значит не все проблемы решены, и чтобы продолжать дальше необходимо перво-наперво внимательно изучить “артефакт” и выполнить соответствующие действия.
Итак, если apache успешно запустился, то можно продолжать дальше.
Следующий шаг в настройке apache – создание виртуального хоста test.loc
Чтобы создать виртуальный хост, достаточно создать в директории /etc/apache2/vhosts.d
его конфигурационный файл и директорию для рабочих файлов будущего сайта.
Начнем с директорий:
1 |
md /srv/www/vhosts/test.loc |
После создания директории, необходимо установить ей права на доступ группе wwwrun
1 |
chown wwwrun /srv/www/vhosts/test.loc |
Теперь можно приступать к оформлению конфига, и для это создаем его:
1 |
touch /etc/apache2/vhosts.d/test.loc.conf |
Вот что там должно быть:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#test.loc <VirtualHost *:80> ServerAdmin webmaster@test.loc ServerName test.loc DocumentRoot /srv/www/vhosts/test.loc # if not specified, the global error log is used # ErrorLog /var/log/apache2/test.loc-error_log # CustomLog /var/log/apache2/test.loc-access_log combined ScriptAlias /cgi-bin/ "/srv/www/vhosts/test.loc/cgi-bin/" <Directory "/srv/www/vhosts/test.loc"> AllowOverride All Options +FollowSymlinks -Includes AllowOverride All Allow from all </Directory> </VirtualHost> |
На этом оформление конфига заканчивается.
Конфиг /etc/apache2/httpd.conf
Директива DirectoryIndex
должна иметь следующий вид:
1 2 |
DirectoryIndex index.html index.php index.htm index.shtm index.shtml index.pl index.cgi default.htm default.html default.php |
Необходимо добавить пару типов перед
:
1 2 |
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps |
Все. На этом настройка “индейца” окончена.
Выполняем перезапуск apache
1 |
rcapache2 restart |
Вот так должен выглядеть результат перезапуска:
1 2 3 |
Syntax OK Shutting down httpd2 (waiting for all children to terminate) <strong><span style="color: #00ff00;">done</span></strong> Starting httpd2 (worker) <strong><span style="color: #00ff00;">done</span></strong> |
Это означает, что apache успешно запущен с нашими настройками.
Поскольку название тестового виртуального хоста для нашего сайта test.loc, то необходимо сообщить об этом местному “dns серверу”.
Для этого открываем файл /etc/hosts
и вставляем в конец, или где вам удобнее, такую строчку:
1 |
127.0.0.1 test.loc |
Теперь, если перейдете в браузере на адрес http://test.loc/
, то увидите сообщение 403 Forbidden. Что означает, что ваш веб сервер функционирует, а index.html с главной страницей сайта не найден.
Страницу мы создадим чуть позже.
Сейчас настало время ставить php.
2. Установка и настройка PHP
Выполняем установку свежей версии PHP через “Установка прогшрамм” или zypper или как вам больше нравится. Я это делал через “Установка программ”.
На момент написания этой статьи последняя версия в репозитарии была 5.3.3
После, надо установить модуль apache2-mod_php5 аналогичным образом.
Когда все необходимые модули установлены, можно приступать к настройке PHP.
Файл настроек находится тут: /etc/php5/apache2/php.ini
В этом конфигурационном файле необходимо найти и проставить настройки следующим образом:
1 2 3 4 5 6 7 |
short_open_tag = On error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE display_errors = On register_globals = Off post_max_size = 128M upload_max_filesize = 128M date.timezone = "Asia/Vladivostok" |
На этом этап настроек можно счить оконченым.
Осталось перезапустить apache и создать тестовые файлы в директории web сервера /srv/www/vhosts/test.loc
Файл index.html:
1 2 3 |
<html> <a href="/phpinfo.php">PHP info</a> </html> |
Файл phpinfo.php:
1 2 3 |
<? phpinfo(); ?> |
После создания этих файлов, протестируем наш сервер.
Заходим на страничку http://test.loc/
И переходим по ссылке PHP info
На странице должна появиться большая таблица с версией PHP и его параметрами.
То что мы видим эту таблицу, говорит о том, что операция установки настройки web сервера apache и PHP успешно произведена.