Pertanyaan ini berkaitan dengan penggunaan Server Singa hanya untuk pengujian dan pembuatan prototipe, jadi saya tidak perlu beberapa situs hosting domain terpisah. Semua proyek saya memiliki direktori di direktori root, bukan di sub-direktori "Situs" yang terpisah.
Di Lion Server, Apple telah membatalkan pengaturan direktori sebelumnya:
/ Library / WebServer / CGI-Executables [alias sebagai cgi-bin]
/ Library / WebServer / Documents [alias direktori root]
Sekarang, server web cukup:
/ Perpustakaan / Server / Web / Data / Situs / Default
Setelah saya menginstal Lion Server, Apache masih dikonfigurasi dengan cgi-bin alias ke / Library / WebServer / CGI-executable dan direktori root ke / Library / WebServer / Documents. Saya mengubah yang terakhir di bagian Web Lion's Server.app ke / Library / Server / Web / Data / Sites / Default.
Saya ingin parit / Library / Webserver. Saya tidak dapat menemukan referensi ke direktori yang disukai / direkomendasikan untuk executable saya. Saya berpikir: / Library / Server / Web / Data / Exec [alias dalam konfigurasi Apache sebagai cgi-bin atau apa pun]
Saya terbiasa memiliki semua executable saya di satu tempat, dan mereka biasanya berbagi banyak modul yang sama, jadi saya tidak cenderung untuk menempatkan direktori cgi di direktori masing-masing proyek sendiri.
Saran? Praktik terbaik saat ini?
Terima kasih.
sumber
Jawaban:
OS X menjadi sistem berbasis unix, Anda dapat menggunakan struktur file unix standar untuk itu.
Secara umum, kebanyakan distro unix / linux menggunakan / var / www / untuk penyimpanan server web, Anda bisa membayangkan sesuatu seperti / var / www / html untuk halaman dan media dan / var / www / cgi-bin untuk cgi executable.
Ada lokasi lain yang tersedia (/ srv misalnya), lihat daftar ini di wikipedia untuk penjelasan tentang struktur direktori (jika perlu)
sumber
Preferensi saya adalah menempatkan executable CGI yang umum digunakan di seluruh sistem
/Library/Server/Web/Data/Exec
Beberapa konsep muncul di benak saya ketika memikirkan folder apa yang terbaik:
Hindari menyimpan CGI saya di folder di mana Server Admin dan Finder disembunyikan secara default.
Yang kurang penting adalah tindakan yang diambil oleh Apple untuk tidak lagi mengirim atau menyembunyikan beberapa folder dari tampilan (Saya senang bisa keluar dari pimpinan vendor - tetapi umumnya perlu alasan yang baik untuk melakukannya)
Jangan ubah dari lokasi Snow Leopard di
/Library/WebServer/CGI-Executables
(Prinsip sysadmin malas - mengapa mengubah apa pun yang Anda tidak perlu)Tampak jelas itu
/Library/Server/Web/Data/Sites
akan berisi data bahwa server web akan melayani secara berbeda berdasarkan kebutuhan setiap situs. Jadi, jika saya Jeruk situs memiliki CGI yang hanya dimaksudkan untuk satu situs itu, saya mungkin menyimpannya/Library/Server/Web/Data/Sites/Orange/Exec
daripada di lokasi "default".Saya tidak melihat alasan yang baik untuk menyimpannya
/Library/WebServer
sekitar sejak saya akan mengedit file konfigurasi Apache saya untuk menambahkan situs saya - dan saya kira kita akan melihatnya berubah dalam rilis titik dan tidak perlu menebak.Saya akan mengabaikan folder apa pun yang disembunyikan secara default di Finder dan Server Manager - jadi bagi saya
/private
akan keluar. Saya tidak mengatakan itu salah bagi siapa pun untuk menyimpan barang-barang di sana - terutama jika menghemat Anda bekerja atau otak dengan menggunakan kembali struktur kode dari OS UNIX lain yang tidak menggunakan Mac OS X yang unik/System
dan/Library
struktur direktori.sumber
Menjawab pertanyaan saya sendiri seandainya kesimpulannya tidak jelas. Tidak ada yang mengklarifikasi Mengapa Apple mengubah struktur direktori untuk server web di Server OS X Lion (& amp; Mountain Lion). Namun, bagi saya pertanyaan yang menonjol adalah apakah ada lokasi "praktik terbaik" untuk dieksekusi web - atau lokasi "pilihan" seperti yang dikatakan oleh @bmike. Kesimpulan saya dari beberapa komentar yang berguna dan dari pengujian saya sendiri adalah bahwa pilihan lokasi arbitrer, dan oleh karena itu yang dianggap sebagai praktik terbaik adalah untuk menemukan executable web Anda di mana mereka melayani situs Anda, mengikuti kriteria dan saran yang disebutkan oleh komentator .
Bagi saya, server saya sendiri hanyalah langkah menuju lokasi akhir barang saya di server orang lain atau di beberapa ISP. Jadi setiap build membuat dua konfigurasi berbeda: satu untuk struktur direktori server pengujian (sekarang Mountain Lion) saya dan yang lainnya untuk struktur direktori tempat aplikasi akan digunakan. Yang lainnya sama.
Jadi saya mengatur struktur direktori untuk server web saya yang membuatnya mudah untuk melacak proyek saya, dan mencatat jalurnya dalam sistem build saya. Itu dan aliasing gaya Apache (mis. Menggunakan 'cgi-bin' sebagai alias untuk direktori executable) berarti saya tidak akan benar-benar melihat ke belakang sekarang karena struktur direktori saya sendiri sudah ada. Saya hanya membangun aplikasi dan mendarat di tempat yang tepat untuk berjalan di server saya. Jadi itulah jawabannya bagi saya.
Dalam server produksi, praktik terbaik mungkin akan memasukkan saran komentator tentang perubahan minimal, kejutan minimal untuk pengelola berikutnya, dan kegigihan melalui peningkatan sistem. Terima kasih semuanya.
sumber