Home Wiki > Apache Quickstart HOWTO
Sign up | Login

Apache Quickstart HOWTO

tagline: Материал из openSUSE

Localize.png Эта статья содержит фрагменты на иностранном языке. Вы можете помочь переведя её до конца. (cм. руководство по переводу)

Быстрый старт

Этот документ описывает, как получить работающий сервер как можно быстрее. Статья не является обширным пособием,это всего лишь быстрая справка (шаг за шагом).

Другие Howto Вы можете найти здесь: Apache

Общие настройки компьютера:

  • настройте Вашу сеть
  • убедитесь, что у Вас установлены текущие (свежие) версии пакетов. Для этого регулярно запускайте YaST Online Update.

Синхронизируйте системное время

часть протокола HTTP зависит от правильно настроенного времени.

  • настройте компьютер, как NTP клиент. Воспользуйтесь модулем настройки в YaST либо измените файл /etc/ntp.conf (просто впишите имя сервера в этот файл) и запустите "rcntpd start", затем запустите "chkconfig -a ntpd"

Брандмауэр (Firewall)

  • если у Вас запущен брандмауэр, убедитесь, что разрешен доступ к порту 80 в том случае если сервер должен быть доступен с других компьютеров.

Запустите сервер, и настройте его автоматический запуск при старте системы:

  • rcapache2 start
  • chkconfig -a apache2

Добавьте вэб страницы:

  • DocumentRoot по умолчанию размещается в /srv/www/htdocs.
  • если Вы размещаете документы в другом месте и указываете на них с помощью, например, команды Alias мое_место "/path/to/мое_место" убедитесь, что также используете <Directory /path/to/мое_место> ... </Directory> для определения разрешений и опций для этой директории, в виду того (начиная с SuSE Linux 9.0), что доступ ко всей файловой системе блокирован по умолчанию. Смотрите http://httpd.apache.org/docs-2.2/mod/core.html#directory

Проверьте /etc/sysconfig/apache2:

  • проверьте загруженные модули (APACHE_MODULES="..."). (Так же их можно посмотреть с помощью команды "a2enmod -l".)
  • добавьте "php5", "perl", и другие необходимые модули в APACHE_MODULES по своему усмотрению. Модули могут быть включены/отключены простым (Debian-совестимым ;) способом в командной строке, как показано ниже:
a2enmod php5
a2dismod php5
  • существует также команда a2enflag, чтобы изменять значение APACHE_SERVER_FLAGS
  • перезапустите сервер ('rcapache2 restart')

Куда добавлять свою собственную конфигурацию:

  • добавьте, например /etc/apache2/httpd.conf.local и измените APACHE_CONF_INCLUDE_FILES в /etc/sysconfig/apache2, например APACHE_CONF_INCLUDE_FILES="httpd.conf.local"
  • чтобы понять иерархию и размещение всех подключаемых файлов, прочтите комментарии в начале файла httpd.conf
  • если вы упорно предпочитаете старые, одиночные, 40 Кб монолитные конфигурационные файлы , то они уже здесь! Просто воспользуйтесь ими:
# mv /etc/apache2/httpd.conf /etc/apache2/httpd.conf.dist                                                                                                                                                                                 
# cp /usr/share/doc/packages/apache2/httpd-std.conf-prefork /etc/apache2/httpd.conf                                                                                                                                                       
# rcapache2 restart

Добавление виртуальных хостов:

  • отредактируйте /etc/apache2/listen.conf. Это то самое место, где можно добавить директивы NameVirtualHost.
  • скопируйте закомментированный пример /etc/apache2/vhosts.d/vhost.template в /etc/apache2/vhosts.d/ваш_хост.conf
  • отредактируйте /etc/apache2/vhosts.d/ваш_хост.conf так, как считаете нужным
  • альтернативное решение: просто добавьте директиву NameVirtualHost и контейнер <VirtualHost> в Ваш единый конфигурационный файл, если таковой имеется (например httpd.conf.local, как описано выше)
  • если у вас есть сомнения в том, как apache воспримет настройки вашего виртуального хоста, используйте httpd2 -S. Если используется SSL, то вместо httpd2 -S вам нужно будет запускать httpd2 -DSSL.
  • по умолчанию, запросы к серверу не обрабатываются другими виртуальными хостами, делает всегда первый определённый в конфигурационном файле сервер.the "default" server, which responds to requests not handled by other vhosts. If you want a dedicated "default" server for such requests, you need to put it first in the configuration. Следовательно, если конфигурация представляет из себя множество файлов как /etc/apache2/vhosts.d/*.conf, просто назовите его _default.conf или по ip-адресу _192.168.0.1.conf, чтобы он считывался в первую очередь.

Решение проблем - когда ничего не работает:

  • запустите команду "tail -F /var/log/apache2/*_log &" в консоли root
  • повторите, что не работает (запуск apache, действия при клиентских запросах или что-нибудь ещё) и посмотрите как это отражается в логах
  • если вы подозреваете наличие ошибок в программном обеспечении, используйте http://bugzilla.novell.com

Узнать больше о настройке

  • обратитесь к http://localhost/manual (если пакет apache2-doc установлен) или к онлайн версии http://httpd.apache.org/docs-2.2/
  • читайте документацию в /usr/share/doc/packages/apache2/ (там вы найдёте также примеры конфигурационных файлов)

Сборка сторонних модулей:

  • установите пакет apache2-devel (и конечно же gcc со всеми необходимыми инструментами для сборки)
  • Используйте один из следующих инструментов:
apxs2          -- для сборки модуля всех MPM типов
apxs2-prefork  -- для сборки модуля для Prefork MPM
apxs2-worker   -- для сборки модуля для Worker MPM

(смотрите также man 8 apxs2). В большинстве случаев вы можете использовать "apxs2", прежде всего исключая mod_php4. Using apxs2-prefork then will prevent you from accidentally trying to use the module with the Worker MPM. Also, very few modules need to know interna from the MPMs, trying to include mpm.h and they will need to be built with apxs2-<mpmname>.

Typical example:

# apxs2 -c -i -a mod_foo.c                                                                                                                                                                                                                
-c does compile the module
-i installs it in the right place
-a activates it by running 'a2enmod mod_foo'
  • if the module's build system does not allow to use apxs, use at least CFLAGS=$(apxs2 -q CFLAGS) to determine the right compiler flags for your apache installation.

Смотри также

  • Apache more HOWTOs about Apache web server

Внешние ссылки