This is G o o g l e's cache of http://www.debianclub.com/node/17 as retrieved on 17 Feb 2007 14:43:10 GMT.
G o o g l e's cache is the snapshot that we took of the page as we crawled the web.
The page may have changed since that time. Click here for the current page without highlighting.
This cached page may reference images which are no longer available. Click here for the cached text only.
To link to or bookmark this page, use the following url: http://www.google.com/search?hl=en&q=cache%3Ahttp%3A%2F%2Fwww.debianclub.com%2Fnode%2F17&btnG=Search


Google is neither affiliated with the authors of this page nor responsible for its content.

User login

Links

debianclub.com
debian.org
ubuntuclub.com
blognone.com

Syndicate

Syndicate content

Apache2 + SSL on Etch

|

จาก ความจำเป็นที่ต้องติดตั้ง Apache2 บน Etch เพื่อทดแทนระบบเก่าที่เป็น Redhat Enterprise 4 เรียกได้ว่า เลียนแบบพระเจ้าตากสินก็ว่าได้ (ทุบหม้อข้าวก่อนออกรบ) ที่ว่าอย่างนั้นก็เพราะว่า ลบตัวเก่าไปแล้ว ค่อยหาวิธีลงตัวใหม่ และแก้ปัญหาเอาดาบหน้า

  • ดาบแรก ก็แทบแย่ ... ต้องติดตั้ง Oracle 9i client และ Compile PHP modules เพราะเครื่องนี้ต้องใช้ติดต่อกับ เครื่อง Server ที่เป็น Oracle 8 (เก๊ากึก ... ทำไงได้ระบบเขาเดินแล้ว จะเปลี่ยนใหม่คงยาก ... เรามีหน้าที่เป็นผู้ตามอย่างเดียว) ที่สำคัญคือ oracle instant client 10 ดันคุยกันไม่รู้เรื่องซะนี่ ไม่งั้นชีวิตคงยุ่งยากน้อยลง เลยต้องออกแรงกันยกใหญ่ ... เรื่องมันยาว ... อันนี้ไว้คราวหลังจะมาแนะนำวิธีติดตั้งอีกทีครับ เผื่อมีคนสนใจ ทำชีวิตตัวเองให้ยุ่งยากบ้าง
  • ส่วนอีกดาบหนึ่งคือ ต้องการ SSL ในการเข้ารหัสข้อมูลระหว่างส่งข้อมูล Login หรือพูดง่าย ๆ คือ อยากได้
    https://[hostname]
    อันนี้ก็นึกว่า จะไม่ต้องออกแรงเท่าไรนัก แต่เอาเข้าจริง ตัวอย่างในอินเตอร์เน็ต สำหรับวิธีติดตั้ง Apache2 + SSL ทำตามได้แค่ครึ่งเดียว เพราะใน Etch ขาด Script บางตัวไป เลยเป็นเหตุให้ต้องเขียนบทความนี้

เริ่มกันเลยดีกว่า.....

  1. ติดตั้ง Apache2 + OpenSSL

    # aptitude install apache2 openssl

    Reading package lists... Done
    Building dependency tree... Done
    Reading extended state information
    .
    .
    .
    Preparing to replace apache2 2.2.3-3 (using .../apache2_2.2.3-3_all.deb) ...
    Unpacking replacement apache2 ...
    Preparing to replace openssl 0.9.8c-3 (using .../openssl_0.9.8c-3_i386.deb) ...
    Unpacking replacement openssl ...
    Setting up apache2 (2.2.3-3) ...
    Setting up openssl (0.9.8c-3) ...

    ผ่านขั้นตอนนี้ เราก็ได้ Web Server ที่คอยบริการ HTML ได้แล้ว แต่จุดประสงค์เรายังลุล่วง ต้องไปต่อ

  2. เปิดใช้งาน SSL Module ใน Apache2
    ก่อนจะเปิดใช้งาน เราทำการปรับแต่ง config ไฟล์เพื่อเตรียมพร้อมที่จะใชงาน SSL กันก่อน
    เริ่มที่ เพิ่ม Port 443 (Default SSL port) เข้าไปใน

    /etc/apache2/ports.conf

    โดยเพิ่มบรรทัดข้างล่างนี้ เข้าไป

    Listen 443

    หลังจากนั้นก็เปิดใช้งาน Module

    # a2enmod ssl

    Module ssl installed; run /etc/init.d/apache2 force-reload to enable.

    หลังจากนี้ ก็สั่งตามที่เขาบอก
    /etc/init.d/apache2 force-reload

  3. สร้าง self-signed SSL Certificate (เขาบอกว่าใช้ทดสอบ .. แต่ของเราเอาใช้งานจริง)
    เนื่องจากที่บอกไปข้างตนว่า มีบาง Script ที่ไม่มีใน Etch นั่นคือ apache2-ssl-certificate ทำให้ต้องไปค้นหาจากเว๊ป http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html
    เพื่อใช้วิธี Manual ในการตั้งค่าง SSL key

    # cd /etc/apache2
    # openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key

    หลังจากนั้น จะมีหน้าจอขึ้นมาให้กรอกข้อมูล และในส่วนของ CommonName ให้กรอกชื่อ Host อย่างเช่น

     www.examples.com 
  4. ตั้งค่า VirtualHost เพื่อให้สามารถใช้ https ได้

    /etc/apache2/sites-available/default

    เปลี่ยนจาก

    NameVirtualHost *
    <VirtualHost *>

    เป็น

    NameVirtualHost *:80
    NameVirtualHost *:443
    <VirtualHost *:80>

    คัดลอกข้อความตามตัวอย่างข้างล่างนี้ และแปะไว้ล่างสุด

    <VirtualHost *:80>
              ServerAdmin webmaster@localhost
              .
              .
              .
    </VirtualHost>

    แล้วแก้ไขเพิ่มเติมดังนี้

    <VirtualHost *:443>
              ServerAdmin webmaster@localhost
              .
              .
              .
              SSLEngine on
              SSLCertificateFile /etc/apache2/server.crt
              SSLCertificateKeyFile /etc/apache2/server.key
    </VirtualHost>
  5. สั่ง Reload Apache2

    # /etc/init.d/apache2 reload

    Reloading web server config... XXXX
  6. เข้า Web Browser และทำการทดสอบ

    https://[hostname]

  7. ถ้าทดสอบแล้ว ขึ้นหน้าต่างให้เลือกตอบตกลง และจะขึ้นรูปแม่กุญแจ ก็เป็นอันจบ ....
    Apache2 + SSL พร้อมใช้งานแล้วครับผม


Re:

ขอบคุณมากครับ

แต่คุ้นๆว่า sarge ของผมมันก็ไม่แก้พวก config ให้นะครับ เปิดพอร์ททำ vhost อะไรพวกนี้ต้องทำเอง

ส่วนตรง apache2-ssl-cerificate ผมแอบโกง ไป cat /usr/sbin/apache2-ssl-certificate มาใช้ครับ :P

apache2-ssl-certificate missing on etch!!!

ครับอย่างที่ว่าครับ ผมไปค้นดูแล้วเห็นเฉพาะใน sarge ที่มีเจ้า apache2-ssl-certificate
แต่ดูแล้วเข้าไปที่ apache.org เห็นว่า FAQ พิมพ์ไม่กี่บรรทัด ก็เลยเอามาใช้เลยครับ ตอนแรกก็คิดจะดึงจาก sarge เหมือนกันครับผม

ถ้าผม เขียนอะไร ตุ่น ๆ ออกไป ช่วยแนะนำด้วยนะครับ :)

ปล. ใครที่เคยเซ็ต Real SSL Server ช่วยแนะนำบ้างก็ดีนะครับ อิอิ ....!


**********************
Key ID: D4CEFD37
Fingerprint: 1ED3 27F6 48C8 5C9D 4285 F24D D64E C0AF D4CE FD37
**********************