OpenBSD Apache Server xinc Koşu

4 Cevap php

Herkes OpenBSD chrooted varsayılan Apache altında düzgün çalıştırmak için xinc almak mümkün olmuştur? Ben bizim kod gayet chrooted çalışır emin olun ki bizim geliştirme sunucu tam sadece bizim üretim sunucusu gibi chrooted çalışmaya devam etmek istiyorum.

4 Cevap

Eğer Xinc üzerine konuyu attılar bug tracker? Bir daemon olarak ve bir web uygulaması olarak hem ishal gibi Xinc kendisi iyi çalışmalıdır. Eğer değindiğim gibi, konu daemon dosyaları kapma değil iki tarafında yol, bir web arayüzü gibi bir chroot'ed ortamında çalışan olmadığını olabilir.

@ Dragonmantank

Xinc örneğinde, ben bunu kurmak PEAR kullanılır umuyoruz.

pear list-files xinc/Xinc

Bu yapmak, ve Xinc dosyalarına koymak yüklemek nereye göstermek gerekir. Yani Xinc "sadece" büyük bir PHP komut dosyası, hala rc betikleri ve bir uygulama çalıştırmak için gerekli olan tüm diğer şeyleri içine yayılmış bulunuyor olsa bile. Ben burada listelenen tüm yolları eklemenize gerek yok emin değilim, ama muhtemelen bazı çalıştırmak yapmak için.

Kenara Xinc kendisi, ben de phpunit ve çalıştırmak için diğer PEAR kütüphanesini bir demet gerektiğini düşünüyorum, bu yüzden ne ben önermek istiyorum şudur:

pear config-get php_dir

Ve sonra chroot ortamına (Henrik önerilen gibi) bu yolu eklemeniz gerekir.

Kendim xinc hiç kullanılmamış olması, sadece ben genelde apps chrooting almak olarak nasıl ipucu olabilir.

İlk adım uygulamayı çalıştırmak için gereken her şey hakkında bilgi toplamak olacaktır; Bu genellikle systrace(1) ve ldd(1) yazılımı çalıştırmak için gerekli olanı bulmak için çalıştırarak başarmak.

Çıkışı üzerinden gidin

systrace -A -d. <app>
ldd <app>

ve her şey app dokunuşlar ve ihtiyaçlar (apps oldukça çok aslında gerekmez şeyler dokunma) chroot ortamında kullanılabilir olduğundan emin olun. Sen yapılandırmaları ve çevre değişkenleri biraz çimdik gerekebilir. Syslog'un uygulama günlüğü için bir seçenek varsa da, ben genelde bunu ve uygulama ihtiyaçları erişimi yazma yerleri azaltmak amacıyla (syslogd(8) in-a seçeneği bakınız) bir syslog soket oluşturmak için.

Ne sadece tarif sadece yarım Userland ve bazı suid komutları ithal etmek gerekiyorsa (ancak, :) sadece chroot'u yapamaz isteyebilirsiniz bir chroot ortamında herhangi bir program çalıştırmak hakkında yapmak için genel bir yoldur. Herhangi bir dinamik kütüphaneleri hala hapiste bulunması gereken; Apache altında çalışan uygulamalar için program başladıktan kez (seçeneği var (ben OpenBSD httpd(8) biraz farklı olduğunu farkındayız eminim) ), dosyalara erişmek için apache kullanarak kullanımı httpd.conf aslında bunları kopyalama olmadan chroot ortamda kaynak almak için izin.

Ayrıca kullanışlı (biraz modası geçmiş) OpenBSD'deki chrooted PHP bazı FRİKİKLERİNDEN özetleyen this bağlantıdır.

İlk adım uygulamayı çalıştırmak için gereken her şey hakkında bilgi toplamak olacaktır; Bu genellikle (1) ve atma (1) yazılımı çalıştırmak için gerekli olanı bulmak için systrace çalıştırarak gerçekleştirmek.

Ben bu deneyeceğim. Ben xinc ile bulduk büyük sorun, bir PHP uygulama iken, bu uygulama yükleme yolları bilmek istiyor (ama yine de başka klasörlere şeyler yayılır) (bu komut için zor olan cini modunda bazı PHP betikleri ve ishal olduğunu ) çalışan olsun. Yani, örneğin, ben / var / www / xinc yüklemek için bunu söyledim ve daha sonra bir sembolik bağ yapılmış

/ Var / www / var / www / xinc -> / var / www / xinc

ve kısmen çalıştı. Bunu ben kurmuştu herhangi bir proje tanımayı reddetti biraz gelip GUI var. Ben büyük sorun bunun bir parçası bir chroot'u çalışan ve diğer yarısı dışında çalışan olduğunu düşünüyorum.

Her şeyin sadece bizim üretim chrooted beri biz chrooted ortamlar içinde programlamak gibi bir şey inşa etmek zorunda gidiyorum başarısız olursa. Biz bir chroot dışında kod ve sonra bunu bir chroot içinde çalışmak için ihtiyacınız olanı bulmak için geri izlemek zorunda sorunları çalıştırmak.