ฉันจะเปิดใช้งานโมดูล apache จากบรรทัดคำสั่งใน RedHat ได้อย่างไร
ในระบบ Debian / Ubuntu ฉันใช้ a2enmod เพื่อเปิดใช้งานโมดูลจากบรรทัดคำสั่ง
มีระบบเทียบเท่าสำหรับ RedHat / CentOS หรือไม่?
ฉันจะเปิดใช้งานโมดูล apache จากบรรทัดคำสั่งใน RedHat ได้อย่างไร
ในระบบ Debian / Ubuntu ฉันใช้ a2enmod เพื่อเปิดใช้งานโมดูลจากบรรทัดคำสั่ง
มีระบบเทียบเท่าสำหรับ RedHat / CentOS หรือไม่?
คำตอบ:
ไม่มีอะไรเทียบเท่า
Debian / Ubuntu นำการกำหนดค่า apache ไปใช้เป็นไฟล์จำนวนมากโดยที่ไดเรกทอรีของ mods และไซต์ที่เปิดใช้งานนั้นเชื่อมโยงกับตัวอย่างไฟล์การกำหนดค่าอื่น ๆ สคริปต์ a2enmod / a2ensite เพียงจัดการกับ symlink เหล่านี้
debian$ ls /etc/apache2/mods-enabled
lrwxrwxrwx 1 root root 28 2009-03-12 18:02 alias.conf -> ../mods-available/alias.conf
lrwxrwxrwx 1 root root 28 2009-03-12 18:02 alias.load -> ../mods-available/alias.load
lrwxrwxrwx 1 root root 33 2009-03-12 18:02 auth_basic.load -> ../mods-available/auth_basic.load
lrwxrwxrwx 1 root root 33 2009-03-12 18:02 authn_file.load -> ../mods-available/authn_file.load
lrwxrwxrwx 1 root root 36 2009-03-12 18:02 authz_default.load -> ../mods-available/autoindex.load
lrwxrwxrwx 1 root root 26 2009-03-12 18:02 env.load -> ../mods-available/env.load
lrwxrwxrwx 1 root root 27 2009-03-12 18:02 mime.conf -> ../mods-available/mime.conf
lrwxrwxrwx 1 root root 27 2009-03-12 18:02 mime.load -> ../mods-available/mime.load
lrwxrwxrwx 1 root root 34 2009-03-12 18:02 negotiation.conf -> ../mods-available/negotiation.conf
lrwxrwxrwx 1 root root 34 2009-03-12 18:02 negotiation.load -> ../mods-available/negotiation.load
lrwxrwxrwx 1 root root 27 2009-06-16 21:47 php5.conf -> ../mods-available/php5.conf
lrwxrwxrwx 1 root root 27 2009-06-16 21:47 php5.load -> ../mods-available/php5.load
ในระบบ redhat การตั้งค่า apache นั้นจะถูกเก็บไว้ในไฟล์ /etc/httpd/conf/httpd.conf โมดูลทั้งหมดถูกโหลดจากไฟล์นี้และสามารถปิดใช้งานได้โดยการคอมเม้นต์ข้อความสั่ง LoadModule ที่เหมาะสม
...
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
...
สิ่งที่ RedHat / CentOS กำลังทำอยู่นั้นให้คุณตั้งค่า Apache สวย ๆ ในขณะที่เดเบียนเพิ่ม "การปรับปรุง" ของตัวเอง แน่นอนคุณสามารถใช้ระบบกำหนดค่าแยกเดเบียนเป็นแม่แบบเพื่อสร้างของคุณเองและคัดลอกสคริปต์ อย่างไรก็ตามอาร์กิวเมนต์หลักสำหรับการตั้งค่าเดเบียนคือเพื่อให้แพคเกจโมดูล apache สามารถติดตั้งไฟล์ปรับแต่งของตัวเองดังนั้นโดยที่ไม่มีประโยชน์อย่างมาก
แก้ไข:หากคุณกำลังมองหาวิธีการเขียนสคริปต์ที่เท่าเทียมกันนี้ฉันขอแนะนำให้คุณใช้ไดเรกทอรี /etc/httpd/conf.d ไฟล์ config ใด ๆ ในที่นี้จะรวมอยู่ด้วย ขึ้นอยู่กับความซับซ้อนของสคริปต์มันอาจจะเหมาะสมที่จะเขียนไฟล์หนึ่งไฟล์ลงใน conf.d โดยตรงหรือใช้ symlink สำหรับบิตที่ซับซ้อนมากขึ้น
/etc/httpd/conf.modules.d
โดยทั่วไปในระบบ Redhat คุณจะพบบรรทัดที่มีลักษณะ/etc/httpd/conf/httpd.conf
ดังนี้:
รวม conf.d / *. conf
เมื่อคุณคัดลอกไฟล์การกำหนดค่า/etc/httpd/conf.d
และมี.conf
นามสกุลไฟล์มันจะถูกหยิบขึ้นมาและประมวลผลเมื่อ apache เริ่มทำงาน โดยทั่วไปคุณจะพบไฟล์กำหนดค่าสำหรับส่วนขยายเช่นmod_php
และmod_svn
และแอปพลิเคชันที่รวมเข้ากับเว็บเซิร์ฟเวอร์เช่นtrac
ในโฟลเดอร์นี้
หมายเหตุด้านข้าง: สำหรับโมดูล apache เช่นmod_php
หรือmod_auth_mysql
บนระบบอื่น ๆ ที่ใช้ RPM เช่น OpenSuSE อาจมีไฟล์การกำหนดค่าอื่น ๆ (เช่น/etc/sysconfig/apache2
) ที่จำเป็นต้องได้รับการแก้ไขเพื่อให้ apache รับโมดูลใหม่ บางสิ่งนี้ขึ้นอยู่กับเครื่องมือการจัดการระบบที่ใช้งานอยู่นั่นคือ yast2 บางส่วนขึ้นอยู่กับผลิตภัณฑ์หลังการขายที่สามารถติดตั้งได้เช่น plesk / cpanel อย่างไรก็ตามโฟลเดอร์ด้านบนเป็นจุดเริ่มต้นที่ดีที่สุด
Include conf.modules.d/*.conf
หากเป็นเช่นนั้น
yum list mod\*
ติดตั้งโมดูลที่คุณต้องการ
ตัวอย่างเช่น mod_perl
rpm -ql mod_perl.x86_64 | grep /etc/
/etc/httpd/conf.d/perl.conf
/etc/httpd/conf.modules.d/02-perl.conf
แก้ไข/etc/httpd/conf.d/perl.conf
เพื่อเปิดใช้งาน
โดยค่าเริ่มต้น mods ทั้งหมดจะถูกโหลดเมื่อติดตั้งหากคุณไม่ต้องการโหลดใครบางคน
แก้ไขไฟล์/etc/httpd/conf.modules.d/02-perl.conf
และแสดงความคิดเห็นโหลดบรรทัดด้วยเครื่องหมายแฮช ( #
)
โมดูล 'เปิดใช้งาน' จะแตกต่างจาก "โหลดโมดูล" และติดตั้ง
service enable httpd
yum install -y <mod_name>
yum list mod\*
หากเปิดใช้งานและติดตั้งแล้วให้โหลดเพื่อใช้แบบร่างไฟล์ httpd.confหรือ* .confเช่น
LoadModule ldap_module modules/mod_ldap.so
หากต้องการตรวจสอบว่าโหลดอย่างถูกต้องและพร้อมใช้งานแล้ว apachectl -M