Раньше я устанавливал Apache2, а теперь, когда я попытался запустить его снова, этого не произошло.
Мои настройки Apache2:
jatin@jatin-ubuntu:/var/run$ apache2 -V
Server version: Apache/2.2.14 (Ubuntu)
Server built: Nov 18 2010 21:17:19
Server's Module Magic Number: 20051115:23
Server loaded: APR 1.3.8, APR-Util 1.3.9
Compiled using: APR 1.3.8, APR-Util 1.3.9
Architecture: 32-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_SYSVSEM_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=""
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"
Когда я это делаю, возникают следующие ошибки:
jatin@jatin-ubuntu:/var/run$ httpd status
No command 'httpd' found, did you mean:
Command 'dhttpd' from package 'dhttpd' (universe)
Command 'xttpd' from package 'xtide' (universe)
Command 'thttpd' from package 'thttpd' (universe)
httpd: command not found
Мой /etc/apache2/ports.conf
выглядит как:
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz
#NameVirtualHost *:80
Listen 80
#<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
# Listen 443
#</IfModule>
#<IfModule mod_gnutls.c>
# Listen 443
#</IfModule>
Мой sites-available
В каталоге есть эти два файла:
jatin@jatin-ubuntu:/etc/apache2$ cd sites-available/
jatin@jatin-ubuntu:/etc/apache2/sites-available$ ls
default default-ssl
Когда я смотрю в sites-enabled
каталог, в нем ничего нет:
jatin@jatin-ubuntu:/etc/apache2/sites-available$ cd ../sites-enabled/
jatin@jatin-ubuntu:/etc/apache2/sites-enabled$ ls
Мой файл /var/log/apache2/error.log показывает это:
[Sat Mar 26 17:54:08 2011] [error] [client 127.0.0.1] File does not exist: /htdocs
[Sat Mar 26 17:54:15 2011] [error] [client 127.0.0.1] File does not exist: /htdocs
[Sat Mar 26 17:54:23 2011] [notice] caught SIGTERM, shutting down
[Sat Mar 26 17:54:26 2011] [notice] Apache/2.2.14 (Ubuntu) DAV/2 SVN/1.6.6 configured -- resuming normal operations
Я читал в Интернете, что это должно делать что-то с неправильным установлением корня сервера, и поэтому он ищет папку / htdocs.
ВОПРОСЫ:
httpd status
ничего не показывает ??ports.conf
файл правильный ?? У меня есть только одна строка без комментариев для Listen
.sudo /etc/init.d/apache2 restart/stop/start
все работает нормально, но при открытии ничего не отображается http://localhost/
или http://localhost:80/
или http://localhost:8080/
???Потому что у тебя нет httpd
установлены. Возможно вы имели в виду /etc/init.d/httpd status
? Эквивалентная команда в системе Ubuntu: /etc/init.d/apache2 status
.
Если вы собираетесь запустить только один сайт, все в порядке. Если вы хотите, чтобы больше сайтов работали как виртуальные хосты, вам нужно раскомментировать NameVirtualHost
линия тоже.
Они создаются, когда вы используете a2ensite команда для включения сайта, например
a2ensite default
включит веб-сайт по умолчанию, создав ссылку.
sudo /etc/init.d/apache2 restart/stop/start
все работает нормально ...Глядя на сообщения об ошибках в вашем вопросе, они могут указывать на то, что вы ничего не видите. Вы увидите сообщение об ошибке 404 Not Found. Это вызвано тем, что у вас не включены какие-либо сайты.
Я подозреваю, что вы имеете в виду DocumentRoot, если DocumentRoot не настроен, то Apache по умолчанию использует / htdocs. Включите сайт с помощью приведенной выше команды и посмотрите, что произойдет. Вы должны получить сообщение вроде "Оно работает ... "
Я помню, какой-то сервис некоторое время назад пожаловался и сказал: «Эй, это не сработает в будущем - вы должны использовать сервис, что-то остановить / запустить / перезапустить»
Я думал, что это apache, но когда я побежал:
sudo /etc/init.d/apache2 restart
Сегодня этого предупреждения не было, но я думаю, что вы тоже можете
sudo service apache2 restart
Я бы проверил / etc / apache2 / sites-available / default и убедился, что для корня документа установлено значение:
DocumentRoot /var/www
Вы устанавливали Apache с помощью tasksel или во время установки?