ZengCode.Com (The Thai Php Framework)  


Home   Download   Manual   About us    

Facebook   


MAIN MENU
News
Php Tips
Android Programming
Design Pattern By PHP
Spring+Strut+Hibernate
C# Tips & Technique
C# Design Pattern
Linux Quick Tips
C# using Linq น่าใช้จริงๆ
Java & JavaScript Tips
Database & SQL
ZengCode Framework Guide
Zeng Code Code
Programming
IPhone (Tips and Trick)

Download เอกสารที่น่าสนใจ

     Config SSL ใน Apache บน Linux ครับ  (2009-04-07)

การสร้าง self-signed certificate ใน apache 2
OS ที่ใช้  Unix IBM AIX 5L
1. การ Install  apache 2.x ขึ้นไปที่ สร้าง Mod so ให้ ใน Module
ให้ไป Download Apache httpd-2.0.47.tar.gz จากเว็บ http://httpd.apacheorg/download.cgi
จากนั้นทำการ Up load ไปไว้ที่ Server โดยสร้างโฟรเดอร์ชื่ออะไรก็ได้

# gzip -d httpd-2.x.x.tar.gz
# tar -xvf httpd-2.x.x.tar


จากนั้นมันจะได้โฟรเดอร  httpd-2.x.x
เริ่มทำการติดตั้งโดยการใช้คำสั่ง  configure ตามข้างล่างนะครับ แต่รอจนกว่าจะเสร็จประมาณ 45    นาทีถึง หนึ่งชั่วโมง นะครับ

#./configure --prefix=/usr/local/apache
--enable-ssl --enable-ssl=shared --with-ssl=/usr/local/openssl
--enable-status --enable-status=shared
--enable-module=so --enable-dso


# make
#make install


เมื่อติดตั้งเสร็จและไม่มีปัญหาใดๆ ก็ลองเข้าไปที่ /usr/local/apache และเข้าไปแก้ไขไฟล์  httpd.conf ที่  /usr/local/apache/conf

Listen webtest:80
user nobody
Group nobody
ServerName webtest:80


จากนั้นลองทดสอบ การทำงานของเว็บเซิรฟเวอร์
# ./apachectl -version
   Server version: Apache/2.2.2
   Server built:   Jul 26 2006 12:34:23
# ./apachectl configtest
   Syntax OK
#./apachectl start
ตรวจสอบว่า Apache ทำงานได้หรือไม่
# ps -ef|grep httpd
  nobody 15762 49206   0 15:11:22      -  0:00 /usr/local1/apache/bin/httpd -k start
  nobody 29750 49206   0 15:11:21      -  0:00 /usr/local1/apache/bin/httpd -k start
  nobody 37110 49206   0 15:11:22      -  0:00 /usr/local1/apache/bin/httpd -k start
root 49206     1   0 15:11:06      -  0:00 /usr/local1/apache/bin/httpd -k start
  nobody 50458 49206   0 15:11:51      -  0:00 /usr/local1/apache/bin/httpd -k start

หลังจากติดตั้งและทำการทดสอบระบบโดยไม่มีการ error ใดๆ ก็ลองเข้าเว็บดูนะครับ โดยเข้าผ่านเครื่อง PC อีกเครื่องหนึ่งแลัว
ใส่ชื่อเว็บหรือหมายเลขไอพีที่กำหนดไว้ ถ้าผ่านจะขึ้น It Work แสดงว่าเรียบร้อยใช้งานได้
ต่อไปก็เป็นการสร้าง    Certificate เพื่อรับรองความปลอดภัย เมื่อทดสอบผ่านแล้วก็ ทำการ ปิด Server

#./apachectl stop

และก่อนที่จะสร้างได้เราต้องมีโปรแกรมที่สามารถสร้าง Certificate  เรียกว่า    Openssl
ต้องไป Download openssl-0.9.6j.tar.gz ได้ที่นี่ครับ http://www.openssl.org
หลังจากนั้นก็ Upload ไปไว้ที่ Server โดยสร้างโฟรเดอร์ชื่ออะไรก็ได้

# gunzip  openssl-0.9.x.tar.gz
# tar -xvf openssl-0.9.x.tar


จากนั้นมันจะได้โฟรเดอร openssl-0.9.x.tar ทำการ Configure ใช้เวลาประมาณ ครึ่งชั่วโมง

# ./config --prefix=/usr/local/openssl 
# make
# make install

ถ้าทุกอย่างเรียบร้อยและไม่ติดปัญหาหรือ Error ใดๆ ก็เริ่มทำการสร้าง 
แต่ก่อนที่จะสร้างควรตรวจเช็คก่อนว่า Path Openssl อยู่ถูกต้องหรือไม่ มีไฟล์หรือไม่ และมีการเพิ่มเข้าไปที่ .Profile ของระบบหรือไม่
จากนั้นก็ลองทดสอบโดยเพิ่ม openssl

#openssl
OpenSSL> version
OpenSSL 0.9.x 11 Oct 2005
OpenSSL>exit
#


ถ้าเรียกไม่ได้ให้เช็คที่ .Profile และใส่ Path ให้ถูกต้องโดยจะต้องเรียกไฟล์ที่ชื่อ openssl
เริ่มต้นการสร้าง self-signed certificate ให้กับเว็บไซต์
ในที่นี่ผมจะเข้าไปสร้างโฟรเดอร์ที่เก็บไฟล์ SSL อยู่ภายใต้ Apache ดังนี้

#pwd
#/usr/local/apache/conf/ssl/
#openssl
openssl> genrsa -des3 -out server.key 1024

openssl> rsa -in server.key -out server.key

openssl>openssl req -new -key server.key -out server.csr

ใน ขั้นตอนนี้จะมีการถามให้ใส่รายละเอียด เช่น ชื่อ ที่อยู่ อีเมล ที่อยู่เว็บ  ซึ่งเป็นสิ่งสำคัญที่จะต้องตรงกับชื่อ hostname ที่เราตั้งตอนแรก
Common Name (eg, your name or your server's hostname) []: webtest

openssl> x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
เมื่อ สร้างเรียบร้อยก็ exit ออกไปและลองตรวจสอบดูว่ามีไฟล์ที่ชื่อ erver.csr   server.key   server.crt อยู่หรือไม่ถ้ามีอยู๋ก็ถูกต้อง
จากนั้นให้เข้าไปแก้ไฟล์  httpd.conf ใน /usr/local/apache/conf ดังนี้ครับ
ServerName webtest:443
SSLEngine On
SSLCertificateFile /usr/local/apache/conf/ssl/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl/server.key


ทีนี่ก็เปิด บริการเว็บโดยการ Start apache
#./apachectl start

แต่ถ้าจะเอาไปใช้งานจริงอาจจะต้องประยุกต์เพิ่มเติมบ้างนะครับ

โชคดีครับพี่น้อง


Comment
Name
Comment
Security CodeCAPTCHA Image

web hit counter

This page took 0.052848 seconds to load.