Несколько месяцев назад я установил Apache на Mac OSX 10.6.8. Apache автоматически устанавливается на/usr/local/apache2. После некоторых икота я успешно получил Apache для прослушивания на порту 8080, и мне удалось заставить Apache выполнить скрипты cgi из/usr/local/apache2/cgi-bin.Apache: Изменение пути к httpd.conf
Я не использовал апач с тех пор, когда я недавно запустил апач с помощью:
/usr/local/apache2/bin$ sudo apachectl -k start
, а затем вошел в следующий URL-адрес в браузере:
http://localhost:8080
апач не будет откройте страницу index.html или любую другую страницу в/usr/local/apache2/htdocs. Однако, если я использовал URL:
http://localhost
затем апач сделал служить вверх «в index.html» страницу, которая отображается, «Она работает». Я проверил мой файл httpd.conf находится в /usr/local/apache2/conf/httpd.conf и апач был установлен слушать на порту 8080:
Listen 8080
Далее я изменил файл/USR/местные/apache2/HTDOCS/index.html для отображения «Hello World», но апач еще служил на страницу, которая сказала «Она работает», когда я использовал URL:
http://localhost
Я проверил мой файл httpd.conf снова эта строка:
DocumentRoot "/usr/local/apache2/htdocs"
Поэтому я пришел к выводу, что моя Установка apache не использовала файл httpd.conf, расположенный по адресу /usr/local/apache2/conf/httpd.conf. Я сделал некоторые поиск с Google, и я нашел эту команду:
/usr/local/apache2/bin$ apachectl -V
который произвел выход:
Server version: Apache/2.2.22 (Unix)
Server built: Jul 12 2012 15:09:37
Server's Module Magic Number: 20051115:30
Server loaded: APR 1.3.8, APR-Util 1.3.9
Compiled using: APR 1.3.8, APR-Util 1.3.9
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_FLOCK_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/usr"
-D SUEXEC_BIN="/usr/bin/suexec"
-D DEFAULT_PIDLOG="/private/var/run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="/private/var/run/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/private/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"
httpd.conf, мой апач инсталляцию теперь с использованием находится в/частных/и т.д./apache2/httpd.conf, который содержит следующие строки:
ServerRoot "/usr"
Listen 80
DocumentRoot "/Library/WebServer/Documents"
Мой вопрос: как, черт возьми, происходят эти изменения? Документы apache говорят, что путь к httpd.conf установлен во время компиляции. Я рассматривал возможность того, что/USR/местные/apache2/bin/apachectl может быть SYM связана с системой Apache, но этот вывод:
/usr/local/apache2/bin$ ls -al
total 2104
drwxr-xr-x 20 root admin 680 Feb 19 12:36 .
drwxr-xr-x 15 root admin 510 Feb 19 12:36 ..
-rwxr-xr-x 1 root admin 57200 Feb 19 12:36 ab
-rwxr-xr-x 1 7stud staff 3410 Feb 19 12:32 apachectl
не указывает, что это так.
Попробуйте 'apachectl' в командной строке. –
~ $, который apachectl => /usr/sbin/apachectl. Так проблема пути? – 7stud
Затем вы запускаете систему apachectl, а не свою собственную в '/ usr/local/apache2/bin'. –