Làm cách nào để bắt đầu apache trong OSX Mountain Lion / Mavericks?


71

OSX Mountain Lion đã xóa GUI để chia sẻ web, nhưng apache vẫn được cài đặt.

Làm thế nào để tôi bắt đầu và dừng dịch vụ? Làm cách nào để dịch vụ tự động khởi chạy khi khởi động?


Nó bắt đầu tự động, ít nhất là đối với tôi. Chỉ cần gõ 0.0.0.0 nó sẽ ở đó.
Wojciech Bednarski

@Lri số Tôi đã nâng cấp từ 10.7
Wojciech Bednarski

Câu trả lời:


79

LaunchDaemon cho Apache vẫn còn đó, vì vậy tất cả những gì bạn phải làm là tải nó:

sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

Điều này -wlàm cho nó vĩnh viễn, tức là nó sẽ được tải lại khi bạn khởi động lại.


Làm thế nào để bạn tắt cái này khi nó bắt đầu theo cách này?
James McMahon

9
@JamesMcMahon:sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Gordon Davisson

Hmm, một cái gì đó vẫn đang chạy trên localhost, tôi đã cho rằng đó là Apache, có lẽ tôi có thứ gì đó khác đang chạy.
James McMahon

@JamesMcMahon: Bạn có thể sử dụng ví dụ sudo lsof -i:80để xem quá trình đang lắng nghe trên một cổng nhất định. Từ đó, câu trả lời trước đó có thể giúp bạn theo dõi nó ...
Gordon Davisson

35

Lệnh đầu cuối

Bắt đầu: "sudo apachectl bắt đầu"

Dừng lại: "sudo apachectl dừng lại"

Khởi động lại: "sudo apachectl khởi động lại"

Ra mắt trên Startup

(Xem câu trả lời được đánh dấu trong chủ đề này)


Có một thư mục ShutdownItems tương đương? Đừng có OSX trước mặt tôi vào lúc này ...
Rich Homolka

Đã từng có /etc/rc.shutdown.local - không chắc là nó vẫn còn ở đây ...
slifty

12

sudo apachectl startcũng cho phép trình nền launchd. Nó ghi đè Disabledkhóa /System/Library/LaunchDaemons/org.apache.httpd.plistbằng cách sửa đổi /private/var/db/launchd.db/com.apple.launchd/overrides.plist, giống như launchctl load -w.

Để http://localhost/~username/làm việc, bạn phải tạo /etc/apache2/users/username.confvà thêm một lệnh <Directory>như thế này:

<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

1
Tôi tìm thấy một bài viết thực sự tuyệt vời về điều này, ở đây. Cũng bao gồm sự phát triển mô-đun php. coolestguyplanettech.com/daga / từ
Peter Ehrlich

8

Slifty và Lauri gợi ý về một khái niệm quan trọng mà không nói rõ ràng.

"sudo apachectl start" sẽ không chỉ bắt đầu apache mà còn sửa đổi /private/var/db/launchd.db/com.apple.launchd/overrides.plist để apache sẽ tự động khởi động lại mỗi khi hệ thống được khởi động lại.

Tương tự, "sudo apachectl stop" sẽ dừng apache và sửa đổi tệp trên để apache không khởi động khi hệ thống được khởi động lại.

Đây dường như là cách đơn giản nhất để kiểm soát xem dịch vụ có tự động bắt đầu hay không.


3

Đối với những người đang tìm kiếm GUI, Click On Tyler đã phát triển một ứng dụng bảng điều khiển, http://clickontyler.com/blog/2012/02/web-shaming-menez-lion/

Mẫu GUI


Tiện ích tuyệt vời .. tuy nhiên trong hệ thống của tôi đã xảy ra lỗi và apache không bắt đầu .. :(
Dilip Rajkumar

Tương tự ở đây. Có vẻ như được mã hóa một chút cẩu thả - nhầm lẫn cũ về tệp .pid tôi đoán ... zzz
Conny

Điều này thật tuyệt .. Nhưng đã lỗi thời, không hoạt động trên Yosemite. Làm thế nào để chúng tôi loại bỏ điều này từ khung cài đặt của chúng tôi?
emotality

Để xóa:~/Library/PreferencePanes
biểu tượng

Xin lỗi, điều này không còn có sẵn, hoặc trở thành một phần của sản phẩm thương mại mà bạn chỉ có thể tải xuống hoàn chỉnh - không chỉ là bảng ưu tiên. Bất kỳ lựa chọn thay thế?
Motti Shneor

1

Ngăn tùy chọn này có các liên kết cho thư mục trang web của máy tính và để mở trình duyệt: http://stowlake.com/WebServer


Bảng điều khiển tùy chọn của UI khá xấu này gặp sự cố ngay lập tức khi bạn cố gắng khởi động máy chủ web trên cả OS-X 10.11 và 10.12. Nhật ký sự cố có sẵn theo yêu cầu của bạn;)
Motti Shneor
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.