Server spartan statis dengan banyak fitur:
Server yang dikenal menjalankan SPSRV:
Pertanyaan / Dukungan
Daftar isi
go installAnda memiliki tiga opsi:
Binari Prebuilt untuk Arsitektur Darwin dan Linux ARM/AMD-64 disediakan sejak V0.5.4. Buka halaman tag di git.sr.ht, klik pada tag yang diinginkan dan unduh biner untuk arsitektur Anda.
go install Pertama, Anda harus diinstal dan memiliki folder ~/go dengan $GOPATH menunjuk ke sana.
go install git.sr.ht/~hedy/spsrv@latest
Akan ada biner di ~/go/bin/ dengan kode sumber di ~/go/src/
Jangan ragu untuk memindahkan biner ke tempat lain seperti /usr/sbin/
Perhatikan bahwa disarankan untuk menyematkan versi terbaru @v0.0.0 daripada komit terbaru karena mungkin tidak stabil.
Jalankan git clone https://git.sr.ht/~hedy/spsrv dari direktori dan cd spsrv apa pun
Pastikan Anda telah terpasang dan bekerja.
git checkout v0.0.0 # recommended to pin a specific tag
make build
Ketika selesai, biner akan masuk ./bin .
Jika Anda tidak memiliki Make, Anda bisa go build (hanya versi itu dan membangun informasi tidak akan tersedia dengan spsrv --version ).
Jika Anda tidak ingin menginstal go atau klon repo, dan arsitektur Anda tidak didukung di binari prebuilt, kirimkan email ke kotak masuk publik saya (atau hubungi saya secara pribadi) sehingga saya mungkin bisa menyusun biner untuk arsitektur Anda.
Lokasi file konfigurasi default adalah /etc/spsrv.conf Anda dapat menentukan jalur Anda sendiri dengan menjalankan SPSRV seperti
spsrv -c /path/to/file.conf
Anda tidak memerlukan file konfigurasi agar SPSRV berjalan, itu hanya akan menggunakan nilai default.
Perhatikan bahwa opsi tidak peka.
Berikut adalah opsi konfigurasi dan nilai defaultnya
umum
port=300 : port untuk mendengarkanhostname="localhost" : jika ini ditetapkan, permintaan apa pun yang untuk nama host selain dari nilai ini akan ditolakrootdir="/var/spartan" : folder untuk mengambil fileDaftar Direktori
dirlistEnable=true : Aktifkan daftar direktori untuk folder yang tidak memiliki index.gmidirlistReverse=false : Membalikkan urutan file mana yang terdaftardirlistSort="name" : Bagaimana file diurutkan, hanya "nama", "ukuran", dan "waktu" yang diterima. Default ke "name" jika opsi yang tidak diketahui ditemuidirlistTitles=true : jika true, daftar direktori akan menggunakan header tingkat atas pertama di file *.gmi bukan nama file~ Pengguna/ Direktori
userdirEnable=true : Aktifkan melayani /~user/*userdir="public_spartan" : direktori root untuk pengguna. Ini seharusnya tidak memiliki tebasan trailing, dan relatif terhadap /home/user/userSubdomains=false : Pengguna Vhosts. Apakah akan mengizinkan user.host.name/foo.txt menjadi sama dengan host.name/~user/foo.txt (ketika hostname="host.name" ). Catatan : Ini hanya berfungsi saat opsi hostname diatur.CGI
CGIPaths=["cgi/"] : Daftar jalur di mana file yang dapat dieksekusi dunia akan dijalankan sebagai proses CGI. Jalur ini akan diperiksa jika awalan jalur yang diminta. Untuk nilai default, permintaan /cgi/hi.sh hi.sh meminta ./public/cgi/hi.shusercgiEnable=false : aktifkan skrip CGI pengguna juga. Ini berbahaya karena SPSRV tidak (belum) mengubah UID dari proses CGI, maka prosesnya akan dijalankan oleh pengguna yang sama yang menjalankan server, yang dapat berarti akses menulis ke file konfigurasi, dll. Perhatikan bahwa opsi ini akan dianggap false jika userdirEnable diatur ke false . Yang berarti jika direktori pengguna tidak diaktifkan, tidak akan ada CGI per pengguna.Lihatlah beberapa contoh configuraton di contoh/ direktori.
Anda dapat mengganti nilai dalam file konfigurasi jika Anda menyediakannya dari baris perintah:
Usage: spsrv [ [ -c <path> -h <hostname> -p <port> -d <path> ] | --help | --version ]
-c, --config string Path to config file
-d, --dir string Root content directory
-h, --hostname string Hostname
-p, --port int Port to listen to
Perhatikan bahwa Anda tidak dapat mengatur nama host atau jalur dir , karena SPSRV menggunakannya untuk memeriksa apakah Anda memberikan opsi. Anda tidak dapat mengatur port ke 0 , maaf, batasan ini datang dengan keuntungan karena dapat mengganti nilai konfigurasi dari baris perintah.
Tidak ada argumen yang diinginkan saat menjalankan SPSRV, hanya opsi seperti yang tercantum di atas :)
Nilai lingkungan berikut diatur untuk skrip CGI:
GATEWAY_INTERFACE # CGI/1.1
REMOTE_ADDR # Remote address
SCRIPT_PATH # (Relative) path of the CGI script
SERVER_SOFTWARE # SPSRV
SERVER_PROTOCOL # SPARTAN
REQUEST_METHOD # Set to nothing
SERVER_PORT # Port
SERVER_NAME # Hostname
DATA_LENGTH # Input data length
Blok data, jika ada, akan disalurkan sebagai stdin ke proses CGI.
Perlu diingat bahwa skrip CGI (sampai sekarang) dijalankan oleh pengguna yang sama dengan proses server, oleh karena itu umumnya berbahaya untuk memungkinkan pengguna memiliki skrip CGI mereka sendiri. Lihat bagian Konfigurasi untuk detail lebih lanjut.
Lihatlah beberapa contoh skrip CGI dalam contoh/ direktori.
Contoh konfigurasi layanan SystemD juga terdaftar di sana. Jangan ragu untuk berkontribusi untuk OS lain :)
Harap gunakan saluran #Spartan di Tilde.chat IRC atau kotak masuk publik saya.
Keduanya terdaftar di bagian atas dokumen ini.
Tambalan -> kotak masuk publik
/folder ke /folder /pengalihan
Daftar Direktori
mencatat ke file
~ Direktori Pengguna
Refactor Bekerja Dir Bagian
konfigurasi
CGI
SCGI
Banyak server dengan masing -masing conf mereka sendiri
REACEME: