Otomatis Pengaturan WERC di OpenBSD.
Baik skrip setup.sh dan unsetup.sh , dalam versi terbaru yang tersedia (v2.1), telah berhasil diuji pada rilis stabil OpenBSD terbaru yang tersedia (7.6). Versi OpenBSD sebelumnya atau lebih lambat mungkin tidak berfungsi.
Melakukan Upgrade Rilis OpenBSD (misalnya dengan menggunakan Sysupgrade (8)) dapat merusak instalasi WERC saat ini. Disarankan untuk selalu menguji instalasi WERC Anda setelah melakukan peningkatan sistem, pembaruan WERC, atau pembaruan Plan9port. Jika berhenti bekerja, pergilah ke pemecahan masalah.
Untuk saat ini, instalasi yang dihasilkan dari setup.sh hanya diuji dengan permintaan GET , yang pasti didukungnya. Jenis permintaan HTTP lainnya mungkin atau mungkin tidak berfungsi (misalnya fitur "Pengguna Login"). Aturan berbasis URL di /etc/httpd.conf ( location ... ) mungkin memerlukan konfigurasi yang berbeda untuk mendukung permintaan HTTP selain GET .
Komitmen yang ditandai dengan nama tag dari Formulir vN.M (di mana N dan M adalah bilangan bulat), adalah komit yang pohon kerjanya memiliki karakteristik berikut:
setup.sh dan unsetup.sh , diuji terhadap versi stabil OpenBSD terbaru (tersedia pada saat itu) dengan hasil positif dan tidak ada efek samping yang diketahui pada sistem.Karena proses pengujian adalah manual, saya mungkin mengabaikan beberapa kasus tepi, kadang -kadang dengan sengaja dan kadang -kadang tidak. Saya peduli dengan kualitas perangkat lunak saya tetapi menguji setiap baris dengan semua kemungkinan case tepi yang benar -benar memakan waktu dan tidak berkelanjutan.
(Dipindahkan ke Rat.Md.)
Catatan : Untuk melestarikan file konfigurasi asli yang akan dimodifikasi, skrip pengaturan mendukungnya dengan menambahkan .bk ke akhir nama mereka. Misalnya, konten asli /etc/httpd.conf disalin ke /etc/httpd.conf.bk . Untuk mengembalikan file asli, skrip unsetup mengganti nama file cadangan dengan nama aslinya, mengganti versi yang diubah.
Dalam daftar berikut, $webdir dan $p9pdir masing -masing merujuk ke direktori konten web httpd , secara default /var/www , dan direktori instalasi Plan9port dengan $webdir sebagai root, dengan default /plan9 .
/etc/httpd.conf.bk dan /etc/fstab.bk sudah ada di sistem file mesin Anda? Jika demikian, setup.sh mungkin akan menimpa mereka, pertimbangkan untuk mengganti nama atau menghapusnya.$webdir yang tidak bisa hilang? Skrip Pengaturan membuat file baru di $webdir yang dapat menimpa yang sudah ada sementara skrip untup menghapus beberapa direktori yang dapat menghapus file -file tersebut. Pertimbangkan memindahkan file penting dari $webdir .setup.sh lagi, atau menjalankan unsetup.sh , akan memperbaikinya. (Jika ya, Anda hanya beruntung.) Bergantung pada perintah mana yang gagal dan jenis kesalahan, Anda mungkin dapat memperbaiki instalasi sendiri secara manual. Namun, ini tidak selalu terjadi dan ini merupakan prosedur yang rentan kesalahan, jadi tidak disarankan sama sekali. Prosedur berikut mengunduh skrip menggunakan tag rilis terbaru. Tag terbaru yang ditampilkan dalam URL di bawah ini diperbarui secara manual, silakan periksa apakah itu cocok dengan rilis terbaru yang sebenarnya sebelum melanjutkan. Tidak disarankan (sama sekali) untuk menjalankan skrip dari cabang main .
Prosedur berikut mengacu pada skrip pengaturan ( setup.sh ). Untuk skrip un-setup ( unsetup.sh ), prosedurnya sama kecuali untuk nama skrip.
Prosedur ini adalah sebagai berikut, ditulis baik dalam langkah-langkah yang dapat dibaca manusia dan sebagai perintah:
domain (dan webdir , jika perlu) sesuka hati.ftp https://raw.githubusercontent.com/EdoardoLaGreca/werc-on-openbsd/v2.1/setup.sh
sha256 -q setup.sh
vi setup.sh # change domain and webdir
chmod 744 setup.sh
doas ./setup.sh Skrip Pengaturan tidak secara otomatis memulai httpd dan slowcgi . Perilaku seperti itu karena dua alasan: pertama, Anda mungkin ingin membuat beberapa perubahan akhir pada situs web Anda sebelum menampilkannya di depan umum; Kedua, IF /etc/fstab telah diubah oleh skrip, Anda perlu me -reboot sistem Anda sebelum memulai server web. Skrip harus menampilkan pesan log jika Anda perlu reboot (dan/atau /etc/fstab telah diubah). Tidak adanya pesan tersebut dalam log berarti reboot tidak diperlukan. Semua ini tidak berlaku untuk unsetup.sh .
Alih -alih menjalankan seluruh skrip, orang mungkin ingin menjalankan hanya satu atau beberapa bagian untuk, misalnya, men -debug skrip atau menjalankan lagi bagian yang tidak bisa berakhir dengan sukses. Melakukannya sesederhana memberikan nama bagian ke skrip seperti argumen. Contoh ditunjukkan di bawah ini.
./setup.sh preinst inst Meskipun baris di atas menggunakan setup.sh , unsetup.sh juga berperilaku dengan cara ini.
Ini adalah praktik yang baik untuk menjaga perangkat lunak tetap terkini, baik untuk menerima fitur baru dan untuk menambal kerentanan yang ada.
Saat menggunakan WERC, 4 lembar perangkat lunak harus dipertahankan informasi terbaru:
httpd dan slowcgi ) Kecuali jika Anda menggunakan cabang -current openBSD, httpd dan slowcgi biasanya diperbarui pada setiap peningkatan sistem. Mereka cukup aman dan minimalis sehingga menjaga up to date tidak penting. Program -program ini adalah bagian dari pohon sumber OpenBSD yang berisi seluruh sistem operasi, termasuk kernelnya, perpustakaan penting, dan semua utilitas yang diinstal sebelumnya. Semua perangkat lunak di pohon sumber itu mengalami audit keamanan yang parah, itu sebabnya mereka sangat aman.
Di sisi lain, penting untuk menjaga WERC dan Plan9port tetap up to date. Untuk melakukannya, jalankan garis -garis berikut di shell. Mereka menghapus instalasi WERC dan Plan9port yang ada, mengunduh versi yang diperbarui, dan menginstalnya lagi.
doas ./unsetup.sh uninst rm9env
doas ./setup.sh inst mk9envKecuali jika Anda ingin berkontribusi pada pengembangan, lewati bagian ini.
Skrip pengujian, yaitu test.sh , mengotomatiskan pengujian skrip pengaturan dan unsetup. Skrip uji berisi tiga fungsi utama:
init , yang melakukan semua tugas awalsetup , yang menjalankan skrip pengaturan dan mengumpulkan informasi tentang perubahan dalam sistem fileunsetup , yang sama dengan setup tetapi dengan skrip untupPerilaku skrip tes mirip dengan skrip pengaturan dan unsetup: fungsi dapat dipanggil dengan menentukannya sebagai argumen baris perintah. Namun, ada satu perbedaan kecil, yaitu menjalankan skrip tanpa argumen tidak berbeda dengan tidak menjalankan skrip sama sekali. Perilaku ini adalah pilihan yang, secara teori, harus mengurangi pengujian yang ceroboh.
Mungkin terjadi bahwa, setelah memutakhirkan OpenBSD, situs web Anda berhenti bekerja dan hanya menunjukkan "500 kesalahan server internal".
Sementara alasan yang tepat di balik perilaku ini harus dianalisis dan dipahami dengan cermat, Anda dapat mencoba menghapus dan menginstal ulang WERC dan Plan9port. Prosedurnya sama seperti jika Anda memperbaruinya.
doas ./unsetup.sh uninst rm9env
doas ./setup.sh inst mk9envChecksum ini dihitung pada pohon yang berfungsi dari rilis terbaru.
setup.sh:
7a08ee3a8e824f9a54b9a471ef0ebc6fb7ee2a848f13a33264b42a3e9d8817da
unsetup.sh:
18f74da2537dc4dcc97c3fc6d4439faf6340f068309d9110a5dc098b899c3e50
Mulai dari v2.0 proyek ini sekarang dilisensikan di bawah lisensi ISC, bukan Creative Commons Zero. Sebagian besar hal tidak berubah, kecuali untuk memberi pengguna dan kontributor lebih banyak hak.