2013-12-13 30 views
0

我習慣於在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"; 
    ); 
}; 
+0

經過一番研究,我發現了。/etc是/ private/etc的一個符號鏈接,我之前沒有意識到,所以我找到的前兩個配置文件是相同的。 – giorgio

+0

/Library/Server/Web/Config/apache2中有一個自述文件,其中指出「httpd_server_app.conf。 這是Apache讀取的主要配置文件。請注意,它與Apache分發的httpd.conf不同。特定於服務器的Apache配置,並取代/etc/apache2/httpd.conf中的桌面Apache配置。「 – giorgio

+0

在我看來,OSX桌面和服務器之間必須存在差異,並且文檔引用了我已經建立的Server.app確實存在於/ Applications中,並且我認爲它必須提供配置Apache的GUI,但因爲我沒有GUI我無法驗證這一點。 – giorgio

回答

0

答案是/ etc和/ private/etc是符號鏈接的,所以實際上是相同的地方。

如果您使用的server.app將允許您從gui面板配置apache,location/Library/Server/Web/Config/apache2用於apache配置。如果您主要通過ssh管理服務器,則配置可能不會被設計爲非常易於人員閱讀並且不太適合。

Lion中,你可以禁用服務器(文章here

在山獅本文不工作,我不得不刪除server.app(在我的情況下通過VNC登錄,並將其拖動到不清楚在終端上做'rm'是否具有完全相同的效果......)

刪除服務器後。應用程序並重新啓動apache在/etc/apach2/httpd.conf等中的'正常'配置文件按預期工作。

0

我認爲配置是在這個文件中(根據您的輸出):

/private/etc/apache2/httpd.conf 

在我而言,我並不需要使用a2enmod和a2ensite.This就是我爲我的網站完成:

運行./bin/passenger-install-apache2-module安裝乘客寶石後。 完成時,它會給出這樣的事情就擺在你的httpd.conf文件:

LoadModule passenger_module /home/shared/anhtd/.rvm/gems/ruby-1.9.3-p484/gems/passenger-4.0.26/buildout/apache2/mod_passenger.so 
PassengerRoot /home/shared/anhtd/.rvm/gems/ruby-1.9.3-p484/gems/passenger-4.0.26 
PassengerDefaultRuby /home/shared/anhtd/.rvm/wrappers/ruby-1.9.3-p484/ruby 

之後,當重新啓動httpd的,你可以使用客爲您的網站,設立虛擬主機,看看這個:http://www.modrails.com/documentation/Users%20guide%20Apache.html#_deploying_a_rack_based_ruby_application_including_rails_gt_3