我習慣於在Ubuntu上運行Apache,我試圖在OSX上配置Phusion Passenger和rails等Apache。在osx上配置apache的文檔在哪裏10.8
似乎有遍佈整個地方的配置文件,我找不到任何一致的文檔。
例如,似乎有CONF文件在下列位置
/etc/apache
/private/etc/apache2
/Library/Server/Web/Config/apache2
這裏是輸出從grepping的httpd
sh-3.2# ps -ef |grep httpd
0 6517 1 0 6:08pm ?? 0:00.22 /usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/apache2/httpd_server_app.conf -D WEBSERVICE_ON
70 6521 6517 0 6:08pm ?? 0:00.00 /usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/apache2/httpd_server_app.conf -D WEBSERVICE_ON
下面是從的httpd -V
sh-3.2# httpd -V
Server version: Apache/2.2.24 (Unix)
Server built: Jul 7 2013 18:05:17
Server's Module Magic Number: 20051115:31
Server loaded: APR 1.4.5, APR-Util 1.3.12
Compiled using: APR 1.4.5, APR-Util 1.3.12
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"
輸出
很多文章都有使用gui的說明,因爲我無法訪問gui我正在使用ssh登錄到無頭服務器(Mac-Mini運行10.8)。
我只需要知道用怎樣的配置文件,做a2enmod和a2ensite等相當於,我習慣了在Ubuntu
編輯..
一個更爲有用的命令,我迷迷糊糊on是 sudo launchctl list org.apache.httpd。 其中給出以下輸出,指示/Library/Server/Web/Config/apache2/httpd_server_app.conf是主配置文件。
{
"Label" = "org.apache.httpd";
"LimitLoadToSessionType" = "System";
"OnDemand" = false;
"LastExitStatus" = 0;
"PID" = 6517;
"TimeOut" = 30;
"ProgramArguments" = (
"/usr/sbin/httpd";
"-D";
"FOREGROUND";
"-f";
"/Library/Server/Web/Config/apache2/httpd_server_app.conf";
"-D";
"WEBSERVICE_ON";
);
};
經過一番研究,我發現了。/etc是/ private/etc的一個符號鏈接,我之前沒有意識到,所以我找到的前兩個配置文件是相同的。 – giorgio
/Library/Server/Web/Config/apache2中有一個自述文件,其中指出「httpd_server_app.conf。 這是Apache讀取的主要配置文件。請注意,它與Apache分發的httpd.conf不同。特定於服務器的Apache配置,並取代/etc/apache2/httpd.conf中的桌面Apache配置。「 – giorgio
在我看來,OSX桌面和服務器之間必須存在差異,並且文檔引用了我已經建立的Server.app確實存在於/ Applications中,並且我認爲它必須提供配置Apache的GUI,但因爲我沒有GUI我無法驗證這一點。 – giorgio