Thursday 17 August 2017

Lighttpd cgi ไบนารี ตัวเลือก


Lighttpd เป็นเว็บเซิร์ฟเวอร์ที่มีความปลอดภัยรวดเร็วสอดคล้องและมีความยืดหยุ่นสูงซึ่งได้รับการปรับให้เหมาะสำหรับสภาพแวดล้อมที่มีประสิทธิภาพสูง มีหน่วยความจำต่ำมากเมื่อเทียบกับเซิร์ฟเวอร์อื่น ๆ และดูแลซีพียูโหลด ชุดคุณลักษณะขั้นสูง (FastCGI CGI Auth การบีบอัดเอาท์พุทการเขียน URL และอื่น ๆ อีกมากมาย) ทำให้ lighttpd เป็นเว็บเซิร์ฟเวอร์ที่สมบูรณ์แบบสำหรับเซิร์ฟเวอร์ทุกเครื่องที่ประสบปัญหาเรื่องการโหลด ไฟล์การตั้งค่า lighttpd คือ: etclighttpdlighttpd. conf โดยค่าเริ่มต้นควรสร้างหน้าทดสอบที่ทำงาน ในการตรวจสอบไฟล์ lighttpd. conf ของคุณสำหรับข้อผิดพลาดคุณสามารถใช้คำสั่งนี้ (ช่วยในการหา misconfigurations ได้อย่างรวดเร็ว): มีการตรวจสอบ preflight อย่างละเอียดยิ่งขึ้น: ไฟล์คอนฟิกูเรชันค่าดีฟอลต์ระบุ srvhttp เป็นไดเร็กทอรีเอกสาร เมื่อต้องการทดสอบการติดตั้งให้สร้างไฟล์ dummy: จากนั้นให้เปิดใช้งาน lighttpd. service และชี้เบราว์เซอร์ของคุณไปที่ localhost ซึ่งคุณจะเห็นหน้าทดสอบ ตัวอย่างไฟล์การกำหนดค่ามีอยู่ใน usrsharedoclighttpd การเข้าสู่ระบบพื้นฐาน Lighttpd สามารถเขียนข้อผิดพลาดและเข้าถึงไฟล์บันทึกได้ ในการเปิดใช้งานทั้งสองตัวเลือกบันทึกให้แก้ไข etclightpdlighttpd. conf ดังต่อไปนี้: การเปิดใช้ https ผ่าน SSL คำเตือน: ผู้ใช้ที่วางแผนจะใช้งาน SSLTLS ควรทราบว่ารูปแบบและการใช้งานบางอย่างมีความเสี่ยงต่อการถูกโจมตี ดูบทความ OpenSSL เพื่อดูรายละเอียด เคล็ดลับ: Mozilla มีเครื่องกำเนิดการกำหนดค่า SSL ที่สามารถใช้กับ lighttpd ได้ หลังจากตั้งค่า SSL แล้วคุณสามารถใช้เช็คเซิร์ฟเวอร์ SSL ของ Qualys SSL เพื่อตรวจสอบการกำหนดค่าของคุณ สามารถสร้างใบรับรอง SSL ที่ลงนามด้วยตนเองได้โดยสมมติว่ามีการติดตั้ง openssl ไว้ในระบบดังนี้ปรับเปลี่ยน etclightpdlighttpd. conf เพิ่มบรรทัดต่อไปนี้เพื่อเปิดใช้งาน https: ให้เข้ารหัสหรือสร้างใบรับรองที่ลงนามโดย Lets Encrypt หลังจากทำตามคำแนะนำสำหรับการสร้างใบรับรองด้วยตนเองแล้วให้รวมไฟล์ privkey. pem และ cert. pem ที่สร้างขึ้นไว้ในไฟล์เดียว: แก้ไข etclighttpdlighttpd. conf โดยเพิ่มบรรทัดต่อไปนี้: รหัสผ่านป้องกันไดเรกทอรีโปรดทราบว่าโมดูลนี้ต้องการ libmariadiaddclient ที่จะติดตั้ง จำเป็นต้องมีไฟล์ passwd ซึ่งเทียบเท่า lighttpds ของระบบสำหรับการตรวจสอบผู้ใช้ การตั้งค่าต้องใช้รูปแบบเฉพาะและรหัสผ่าน hashed md5sum แต่ผู้ใช้สามารถสร้างรายการโดยใช้ตัวอย่างต่อไปนี้ได้อย่างรวดเร็วและง่ายดายเช่น: ปรับเปลี่ยน etclighttpdlighttpd. conf เพิ่มบรรทัดต่อไปนี้เพื่อเปิดใช้งานการป้องกันไดเรกทอรี: หมายเหตุ: realm และผู้ใช้ป้อนลงใน etclightpdlighttpd conf ต้องตรงกับค่าที่เลือกใน etc. lighttpdlighttpd. user เพื่อยืนยันการทำงาน สคริปต์อินเทอร์เฟซเกตเวย์ทั่วไป (CGI) ทำงานร่วมกับ Lighttpd นอกกรอบคุณเพียงแค่ต้องเปิดใช้งานโมดูล CGI รวมถึงไฟล์การกำหนดค่าและตรวจสอบให้แน่ใจว่ามีการติดตั้งล่ามภาษาโปรแกรมที่คุณเลือกไว้ (เช่นสำหรับหลามคุณจะติดตั้งหลาม) สร้างไฟล์ etclighttpdconf. dcgi. conf เพิ่มต่อไปนี้: สำหรับสคริปต์ PHP คุณจะต้องตรวจสอบให้แน่ใจว่าต่อไปนี้ตั้งอยู่ใน etcphpphp. ini ในไฟล์การกำหนดค่า Lighttpd ของคุณ etclightupdlighttpd. conf เพิ่ม : ติดตั้ง fcgi ตอนนี้คุณมี lighttpd พร้อมการสนับสนุน fcgi แล้ว ถ้าเป็นสิ่งที่คุณต้องการคุณจะถูกตั้งค่าทั้งหมด คนที่ต้องการ Ruby on Rails, PHP หรือ Python ควรดำเนินการต่อ หมายเหตุ: ผู้ใช้และกลุ่มใหม่ที่เป็นค่าเริ่มต้น: แทนที่จะเป็นกลุ่ม nikt lighttpd จะทำงานเป็น http กลุ่มผู้ใช้ตามค่าดีฟอลต์ ขั้นแรกให้คัดลอกไฟล์ config รูปแบบ usrsharedoclighttpdconfigconf. dfastcgi. conf ไปที่ etclighttpdconf. d ต่อไปนี้ต้องการเพิ่มไฟล์ config เป็นต้น lighttpdconf. dfastcgi. conf จากนั้นใน etclightpdlighttpd. conf สำหรับ PHP หรือ Ruby on Rails ดูส่วนถัดไป ใช้ php-cgi ตรวจสอบว่า php-cgi ทำงาน php-cgi --version ถ้าคุณได้ผลลัพธ์ที่คล้ายคลึงกันอยู่แล้ว php ติดตั้งอย่างถูกต้อง สร้างแฟ้มการกำหนดค่าใหม่: ให้ lighttpd ใช้แฟ้มการกำหนดค่าใหม่โดยต่อท้ายบรรทัดต่อไปนี้ลงในไฟล์การกำหนดค่า lighttpd ของคุณ: หมายเหตุ: โปรดจำไว้ว่าลำดับการโหลดโมดูลมีความสำคัญลำดับที่ถูกต้องจะปรากฏใน usrsharedoclighttpdconfigmodules. conf หมายเหตุ: หากคุณได้รับข้อผิดพลาดเช่นไม่มีไฟล์ข้อมูลที่พบในขณะพยายามเข้าถึงไฟล์ php มีคำอธิบายที่เป็นไปได้หลายประการ ดูคำถามที่พบบ่อยสำหรับข้อมูลเพิ่มเติม ตรวจสอบว่าไม่มีโมดูลอื่น (เช่น modcgi) จะพยายามจัดการส่วนขยาย. php การใช้ php-fpm ไม่มีการปรับเปลี่ยนการวางไข่อีกต่อไปในการเผยแพร่ lighttpd ล่าสุด สำหรับการจัดการแบบไดนามิกของกระบวนการ PHP คุณสามารถติดตั้ง php-fpm จากนั้นเริ่มต้นและเปิดใช้งาน php-fpm. service หมายเหตุ: คุณสามารถกำหนดค่าจำนวนเซิร์ฟเวอร์ในพูลและปรับแต่งตัวเลือกการกำหนดค่าอื่น ๆ ได้โดยการแก้ไขไฟล์ etcphpphp-fpm. conf รายละเอียดเพิ่มเติมเกี่ยวกับ php-fpm สามารถพบได้ในเว็บไซต์ php-fpm โปรดจำไว้ว่าเมื่อคุณทำการเปลี่ยนแปลงเพื่อ etcphpphp. ini คุณจะต้องเริ่มต้น php-fpm. service ใน etclighttpdconf. dfastcgi. conf add: Ruby on Rails ติดตั้งและกำหนดค่า FastCGI (ดู FastCGI ด้านบน) ปฏิบัติตามคำแนะนำใน RubyOnRails Python FastCGI หมายเหตุ: lighttpd สนับสนุนโปรโตคอล Python WSGI: HowToPythonWSGI วิธีการต่อไปนี้จะไม่สามารถใช้งานได้กับ Python 3 เพราะไลบรารี Flup ใช้งานได้เฉพาะกับ Python 2 เท่านั้นหากคุณต้องการใช้ Python 3 คุณควรอ้างถึงส่วน CGI ติดตั้งและกำหนดค่า FastCGI (ดู FastCGI ด้านบน) ใส่ test. py ลงใน root ของเซิร์ฟเวอร์ของคุณ (อย่าลืม chmod x it) การระบุชื่อเซิร์ฟเวอร์เมื่อต้องการใช้ SNI กับ lighttpd ให้ใส่คำสั่งคอนฟิกูเรชัน ssl. pemfile เพิ่มเติมภายในโฮสต์เงื่อนไข ต้องมี ssl. pemfile ดีฟอลต์ เปลี่ยนเส้นทาง http request to https คุณควรเพิ่ม modredirect ในอาร์เรย์ server. modules ใน etclightpdlighttpd. conf เมื่อต้องการเปลี่ยนเส้นทางโฮสต์ทั้งหมดไปเป็นเทียบเท่าที่ปลอดภัยของตนให้ใช้ต่อไปนี้แทนการกำหนดค่าซ็อกเก็ต 80 ด้านบน: เพื่อเปลี่ยนเส้นทางโฮสต์ทั้งหมดสำหรับบางส่วนของไซต์ (เช่น secure หรือ phpmyadmin): การบีบอัดเอาต์พุตใน etclightpdlighttpd. conf add จากนั้นให้สร้างไดเร็กทอรีสำหรับไฟล์บีบอัด : คัดลอกไฟล์การกำหนดค่าตัวอย่าง: เพิ่มใน etclighttpdlighttpd. conf หมายเหตุ: คุณไม่สามารถทำสิ่งนี้ได้ (copy compress. conf) และเพิ่มเนื้อหาที่ต้องการใน etclight. data. dll แทนใช้ OpenSUSE.10 ฉันได้สร้าง lighttpd (เวอร์ชัน 1.4.23) และ php (เวอร์ชัน 5.3.0) แล้ว นี่คือ lighttpd สร้างบรรทัดคำสั่ง: นี่คือ php สร้างบรรทัดคำสั่ง: นี่คือ php, cgi - v: นี่คือ lighttpd. conf: นี่คือบรรทัดคำสั่งเพื่อเริ่ม lighttpd: และในที่สุด lighttpd จะสร้าง lighttpderror. log: คำถามของฉัน คือ 1) มีใครประสบความสำเร็จในการเปิดตัว lighttpd PHP FastCGI บนอูบุนตูหรือ OpenSUSE 2) ทำไมพล่าน fcgi ล้มเหลวเช่น ฉันต้องการใช้ index. php ดังกล่าวเพื่อทดสอบเว็บเซิร์ฟเวอร์ของฉัน: จาก lighttpd. conf lighttpd เริ่มทำงานได้สำเร็จและ Firefox จะแสดง index. html (แต่ไม่ใช่ index. php): ขอขอบคุณสำหรับการตอบกลับ lighttpderror. log กล่าวว่ามีปัญหาเกี่ยวกับล่าม FCGI และ PHP ใช่ backports มีไอออน SUSE หรือ Ubuntu แต่ก็ไม่ทำงานด้วย ฉันคิดว่ามันเป็นปัญหาของระบบปฏิบัติการ ฉันมีอุปกรณ์ฝังตัว: คอมไพเลอร์ข้ามเพื่อ buils ปพลิเคชันสำหรับอุปกรณ์นี้: ดังนั้นฉันได้สร้าง Lighttpd และ PHP สำหรับ MIPS เป้าหมายคัดลอกไปยังอุปกรณ์นี้และ เซิร์ฟเวอร์เริ่มทำงานได้ตามปกติ ฉันไม่สามารถดู index. php จาก Mozilla ฉันไม่ทราบว่าทำไม LighttpdPHP ไม่ทำงานบนพีซี ฉันพยายามที่จะตั้งค่า lighttpd เพื่อเรียกใช้แอ็พพลิเคชัน CGI แบบไบนารี (ไม่ใช่สคริปต์ PHP หรือ smth แต่เป็นไฟล์ไบนารีที่คอมไพล์มาจากแหล่ง C) ที่จริงผมไม่ได้ใส่ใจว่ามี myApp. exe ใน htdocsapp หรือเปล่า และจากนั้นเพื่อให้ทุกสิ่งทำงานโดยการเข้าถึงเช่น localhost: 8080appmyApp. exepaamp ฉันต้องใส่ myApp. exe เปล่าในโฟลเดอร์ราก lighttpd (ที่เซิร์ฟเวอร์ exe อยู่) แปลกและน่าเสียดายจริงๆและยังไม่ใช่ CGI ทั้งหมดสามารถทำงานได้เช่นนั้น การใช้แอ็คชัน CGI นี้กับแอ็พพลิเคชัน CGI ตัวอื่น (ซึ่งทำงานได้ดีกับ Apache ที่ได้รับการปรับอย่างถูกต้อง) ไม่ประสบผลสำเร็จ สิ่งที่ฉันทำผิดถาม 5 ต. ค. เวลา 10:46 เอกสาร: redmine. lighttpdwiki1Docs: ModCGI Ive ทำทดสอบกับสคริปต์ tcl เป็น cgi และ config นี้ทำงานของฉัน: cgi. assign ช่วยให้คุณสามารถระบุนามสกุลไฟล์ที่จะ จัดการโดยโปรแกรมเฉพาะ ตัวอย่างนี้หมายความว่า: ไฟล์ใด ๆ จะถูกเปิดผ่าน usrbintclsh เนื่องจากไฟล์ดัชนีของฉันเป็นสคริปต์ tcl ฉันจึงได้เนื้อหาที่ฉันใส่ผ่านสคริปต์ STDOUT ในกรณีที่คุณต้องการเรียกใช้ไบนารีปฏิบัติการนี้เป็นสถานที่ที่จะระบุ ลิงก์นี้อาจให้ข้อมูลเพิ่มเติมเกี่ยวกับ cgi binary สำหรับคุณ: redmine. lighttpdissues1256 ตอบ Nov 4 11 at 13:43

No comments:

Post a Comment