การตั้งค่าโดเมนย่อยบนเซิร์ฟเวอร์ ubuntu


39

ฉันมีเซิร์ฟเวอร์ที่ mysite.no-ip.org ทุกอย่างทำงานได้ดีและฉันมีบล็อกและ owncloud ที่ฉันเข้าถึงการเขียน mysite.no-ip.org/blog และ mysite.no-ip.org/owncloud ตอนนี้ฉันต้องการสร้างโดเมนย่อยเพื่อให้ฉันสามารถเขียน blog.mysite.no-ip.org และ owncloud.mysite.no-ip.org

ฉันดูมันเยอะมากและการสอนที่ง่ายที่สุดคือสิ่งที่ฉันได้ติดตาม http://www.bcat.eu/blog/local-subdomains-under-ubuntu-linux-and-apache-2-4-tutorial/ ยกเว้นว่าฉันไม่ได้อยู่บนเซิร์ฟเวอร์ของฉัน แต่ใช้ ssh จากระยะไกลดังนั้นถ้าฉันใช้ localhost ฉันไม่สามารถดูว่างานนี้ฉันเชื่อ นี่เป็นอุปสรรคแรกของฉันฉันสามารถทำตามบทช่วยสอนนี้ได้โดยไม่ต้องอยู่ถัดจากเซิร์ฟเวอร์หรือไม่

ฉันเพิ่งค้นพบระเบียน CNAME ซึ่งดูเหมือนว่าฉันไม่แน่ใจว่าสิ่งใดที่ฉันต้องการจะทำ ฉันใช้ no-ip.org และฉันพยายามติดตามสิ่งนี้ แต่ไม่ชัดเจนอย่างใดอย่างหนึ่งhttps://support.uberflip.com/entries/235780-4-4-5-how-to-setup-a -cname เปลี่ยนเส้นทาง # noip

ไม่มีใครมีตัวชี้ใด ๆ ? นี่ค่อนข้างร่มรื่นสำหรับฉันและฉันไม่รู้ว่าฉันอยู่ไกลจากการแก้ปัญหาหรือปิดจริง ๆ (อย่างน้อยถ้าฉันสามารถลอง localhost ที่จะเป็นขั้นตอนแรกเพื่อตรวจสอบ Apache conf ของฉัน แต่ฉันไม่สามารถทำได้ ตั้งแต่ฉัน ssh)

อย่างไรก็ตามขอขอบคุณสำหรับความช่วยเหลือของคุณล่วงหน้า ความช่วยเหลือใด ๆ ลิงค์ยินดี

คำตอบ:


55

นี่เป็นเรื่องง่ายจริงๆ

ก่อนอื่นให้ตรวจสอบว่า DNS ของคุณใช้งานได้ คุณสามารถใช้A, AAAAหรือCNAMEบันทึกตราบเท่าที่มันชี้ไปยังที่อยู่ IP ของคุณ

โปรดตรวจสอบว่ามันทำงานก่อนที่คุณจะดำเนินการต่อ! สิ่งนี้จะช่วยให้คุณเดือดร้อนมาก คุณสามารถตรวจสอบการใช้หรือping subdomain.mydomain.com nslookup subdomain.mydomain.comถ้ามันชี้ไปยังที่อยู่ IP ของคุณคุณจะดี

โปรดทราบว่าการเปลี่ยนแปลง DNS อาจใช้เวลาถึง 24 ชั่วโมง หากคุณต้องการดำเนินการต่อในตอนนี้คุณสามารถแก้ไขไฟล์โฮสต์เพื่อเพิ่มโดเมนย่อยด้วยตนเอง โปรดทราบว่านี่จะใช้งานได้กับพีซีปัจจุบันของคุณเท่านั้นดังนั้นคุณควรตรวจสอบ DNS ของคุณอีกครั้งในภายหลัง 24 ชั่วโมงเพื่อให้แน่ใจว่ามันทำงานได้ที่อื่นเช่นกัน (อย่าลืมเปลี่ยนการเปลี่ยนแปลงเป็นไฟล์โฮสต์ของคุณก่อนตรวจสอบ)

เพื่อทำสิ่งนี้:

sudo nano /etc/hosts

เพิ่ม line like (แทนที่ IP และชื่อโฮสต์ของหลักสูตร):

34.54.235.64 subdomain.mydomain.com

และบันทึกไฟล์

ตอนนี้อัพเดตการกำหนดค่า Apache2 ของคุณ

เพียงแค่เพิ่ม VirtualHost นี้จะทำ:

<VirtualHost *:80>
    ServerName subdomain.mydomain.com
    DocumentRoot /var/www/subdomain.mydomain.com
</VirtualHost>

ตอนนี้สร้าง/var/www/subdomain.mydomain.comและรีสตาร์ท Apache2:

mkdir -p /var/www/subdomain.mydomain.com
sudo service apache2 restart

เปิดใช้งานไซต์:

sudo a2ensite subdomain.mydomain.com

ทำซ้ำสิ่งนี้สำหรับทุกโดเมนย่อยที่คุณต้องการเพิ่ม


2
เยี่ยมมากเลย! ขอบคุณมาก. จุดสุดท้าย แต่อาจเป็นเพราะไม่มี IP ฉันจัดการเพื่อให้ทำงานได้ แต่ใช้ที่อยู่ blog-mysite.no-ip.org เมื่อฉันลงทะเบียนโดเมนย่อย ฉันไม่สามารถเขียน blog.mysite.no-ip.org (ข้อความ: ชื่อโฮสต์ที่ไม่ถูกต้อง) ... ตอนนี้เป็นเพราะไม่มีใครต้องการให้ฉันจ่ายเงินหรือฉันทำอะไรผิดหรือเปล่า?
user1983400

ฉันไม่รู้ว่า no-ip อนุญาตให้คุณสร้างโดเมนย่อยได้หรือไม่ ถ้าพวกเขาทำมันอาจใช้เวลา 24 ชั่วโมงก่อนที่มันจะทำงานตามที่ฉันพูดในคำตอบของฉัน ลองไปถึงอีกครั้งในวันพรุ่งนี้ นอกจากนี้ผมเห็นว่าคุณกำลังใช้ครั้งแรกแล้วblog-mysite blog.mysiteไม่เหมือนกันดังนั้นถ้าคุณเลือกก่อนคุณจะต้องใช้อันนั้น อย่าลืมอัปเดตการกำหนดค่า Apache2 ของคุณในกรณีนั้น
Louis Matthijssen

เฮ้ใช่ขอโทษนั่นคือสิ่งที่ฉันหมายถึง ไม่มี -ip จะให้ฉันสร้างโดเมนย่อยที่มีเส้นประและไม่ใช่จุด นี่เป็นไอพีที่ไม่มีการ จำกัด บัญชีฟรีของฉันกับพวกเขาเหรอ? ไม่มีเหตุผลที่คุณจะไม่ทำอย่างนั้นใช่ไหม?
user1983400

ฉันคิดอย่างนั้น ฉันไม่ใช้ไอพี หากคุณต้องการทราบว่าคุณควรติดต่อฝ่ายสนับสนุนของพวกเขา คุณสามารถซื้อโดเมนของคุณเอง (เช่น mydomain.com) วิธีนี้คุณจะสามารถควบคุม DNS ของคุณได้อย่างเต็มที่และคุณสามารถเพิ่มโดเมนย่อยได้มากเท่าที่คุณต้องการ มันไม่แพงมากเพียงตรวจสอบให้แน่ใจว่าคุณไม่ได้สั่งให้โฮสติ้งกับมัน (ทำให้ราคาแพง) ราคาปกติต่อปีและฉันคิดว่าคุณจะได้รับโดเมนประมาณ 10 $ / ปี
Louis Matthijssen

ฉันย้อนกลับการแก้ไขครั้งล่าสุดเนื่องจากไม่จำเป็นต้องเปลี่ยนความเป็นเจ้าของให้กับผู้ใช้ apache ในไดเรกทอรีรากของเอกสารและอาจมีความเสี่ยงด้านความปลอดภัย มันเพียงพอที่จะให้สิทธิ์การอ่านกับไดเร็กทอรี
Dan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.