Wednesday, September 28, 2011

Setting virtual ip in centos

Virtual ip is an ip that bind to a physical ethernet card that already have physical ip address. To set virtual ip in centos, follow the below steps:

1. We will add virtual ip to eth0. Below is original configuration of /etc/sysconfig/network-scripts/ifcfg-eth0. ifcfg-eth0 is the original configuration file for eth0.
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
BROADCAST=192.168.0.255
HWADDR=00:0C:29:C8:AA:7C
IPADDR=192.168.0.10
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
TYPE=Ethernet

2. Create new virtual configuration file by copying and editing(change IPADDR and remove HWADDR) the ifcfg-eth0 configuration file

# cd /etc/sysconfig/network-scripts
# cp ifcfg-eth0 ifcfg-eth0:0
# vi ifcfg-eth0:0

BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.11
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
TYPE=Ethernet


3. Restart network
# /etc/init.d/network restart

4. Check your new virtual ip using ifconfig
# ifconfig

Saturday, September 24, 2011

ติดตั้ง web server บน CentOS ด้วยคำสั่ง YUM

ง่ายนิดเดียวครับสำหรับ การติดตั้ง web server บน CentOS ส่วนประกอบที่สำคัญในการติดตั้งก็มี apache(httpd) mysql php แค่นี้ก็เพียงพอต่อการทำ web server แบบไม่เน้น config อะไรให้ยุ่งยาก

   YUM ย่อมาจาก (Yellow dog Updater, Modified) เป็นตัวช่วยในการติดตั้งและอัปเกรดแพ็กเกจแบบ RPM แบบอัตโนมัติ ในปัจจุบันการติดตั้งแพ็กเกจแบบ yum นับวันได้รับความนิยมมากขึ้นเรื่อยๆ เนื่องจากมีความง่ายในการใช้งาน

เครื่องให้เตรียมพร้อม
1 ติดตั้ง CentOS ไว้ก่อน
2 เซ็ต network IP DNS Gateway ให้พร้อม
3 เช็ค ว่าเราสามารถออกเน็ทได้ไหม
4 ใช้คำสั่ง YUM ติดตั้ง web server ได้เลยครับ

1 ติดตั้ง CentOS
   การติดตั้ง CentOS อันนี้ผมจะไม่ขออธิบายการติดตั้งให้ถามที่ อากู๋ เอานะครับ แล้วเดียวจะเขียนบทความให้ทีหลัง ตอนนี้ CentOS ก็ออกมาถึง version 6 แล้ว แต่ผมยังใช้ 5.4 5.6 อยู่เลย เอาไว้ version 6 นิ่งแล้วจะมา อธิบายการติดตั้งละกันครับ

2 เซ็ต network IP DNS Gateway
   2.1 เซ็ต IP Address
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
   กด i (i คือ insert) แล้วพิมพ์ตามข้างล่างนี้เลยครับ
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
HWADDR=00:60:DF:31:13:3D
IPADDR=192.168.1.201
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes

   กด Esc แล้วตามด้วย :qw Enter
   2.2 เซ็ต network DNS
# vi /etc/resolv.conf
   กด i (i คือ insert) แล้วพิมพ์ตามข้างล่าง
nameserver 8.8.8.8
nameserver 8.8.4.4

   DNS ที่ผมใช้ เป็นของ google หรือจะใส่ DNS ของคุณที่ใช้อยู่ก็ได้

   2.3 เซ็ต network Gateway (ของผมใช้ 192.168.1.1 ให้คุณเปลี่ยนเป็นของคุณเอง)
# vi /etc/sysconfig/network
   กด i (i คือ insert) แล้วพิมพ์เพิ่มต่อท้ายหรือถ้ามีแล้วให้แก้ไข
GATEWAY=192.168.1.1
   หรือใช้
# route add default 192.168.1.1 eth0
   ตรวจสอบ gateway ใช้คำสั่ง
# route
   Output
[root@CentOSLab ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

3 ตรวจสอบว่าสามารถออกสู่ภายนอกได้หรือยัง
# ping www.google.com
   Output
[root@CentOSLab ~]# ping www.google.com
PING www.l.google.com (74.125.71.105) 56(84) bytes of data.
64 bytes from hx-in-f105.1e100.net (74.125.71.105): icmp_seq=1 ttl=47 time=115 ms
64 bytes from hx-in-f105.1e100.net (74.125.71.105): icmp_seq=2 ttl=47 time=104 ms
64 bytes from hx-in-f105.1e100.net (74.125.71.105): icmp_seq=3 ttl=47 time=115 ms

4 ติดตั้ง web server ได้เลยครับ
# yum -y install httpd php mysql mysql-server mysql-devel php-mysql
ลองมาสร้างไฟล์ php เพื่อตรวจสอบการทำงาน PHP โดยใช้คำสั่งตามนี้ครับ
# vi /var/www/html/phpinfo.php
   กด i (i คือ insert) แลว้พิมพ์ตามข้างล่างนี้เลยครับ
<?php
phpinfo();
?>

   กด Esc แล้วตามด้วย :qw Enter

ไปที่ browser พิมพ์ URL http://ipserrver/phpinfo.php
สำเร็จเรียบร้อยแล้วครับสำหรับการติดตั้ง web server บน CentOS

Thursday, August 25, 2011

วิธีติดตั้งเซิร์ฟเวอร์ Ubuntu 9.10 สำหรับคนไม่เคยใช้ลินุกซ์


[ เวอร์ชัน 10.04 คลิกที่นี่ ]
Ubuntu เป็นระบบปฎิบัติการสายพันธ์ลีนุกซ์ที่ไม่ใหญ่โตมากมาย สังเกตได้ว่า ใช้ซีดีแค่แผ่นเดียวเท่านั้น การติดตั้งและใช้งานค่อนข้างง่ายกว่าลีนุกซ์สายพันธ์อื่น จึงเหมาะสำหรับองค์กรขนาดเล็กถึงกลางที่ไม่ต้องการอะไรที่ยุ่งยากซับซ้อน

เปรียบเทียบ Windows กับ Ubuntu

OSDatabaseWeb Applicationรวมค่าลิขสิทธิ์
Windows ชุด ServerSQL ServerIIS + ASP + .NETหลักหมื่นถึงแสนต่อเครื่อง
Ubuntu ชุด ServerMySQL, PostgreSQLApache + PHP + Monoฟรีทุกเครื่อง
ดาวน์โหลด แผ่นซีดี (ไฟล์ .iso) ฟรีได้ที่ http://www.ubuntu.com
ว่าแต่...ทำไมผมยังชอบใช้วินโดวส์ ? " วินโดวส์ทำเรื่องยากให้ง่าย ลีนุกซ์ทำเรื่องง่ายให้ (ยุ่ง) ยาก "



ขั้นตอนการติดตั้งและปรับแต่งลีนุกซ์ Ubuntu 9.10 แบบรวบรัด


หากท่านใดต้องการติดตั้งลินุกซ์บนวินโดวส์ในเครื่องเดียวกัน แนะนำให้ติดตั้งโปรแกรมประเภท Virtual Machine อาทิ Vmware ชุด Workstation (ลิขสิทธิ์) ชุด Player (ฟรี), Microsoft Virtual PC (ฟรี), VirtualBox (ฟรี) ฯลฯ

I. ติดตั้ง Ubuntu ชุด Server

  • เลือก Language: English (ไม่แนะนำให้เลือก Thai เพราะจะยุ่งยากในการคอนฟิกภาษาไทยในภายหลัง)
  • เลือก Install Ubuntu Server
  • เลือก Language: English (ขั้นตอนนี้กำหนดดีฟอลต์ locale เป็น en_US.UTF-8)
  • เลือก Country: Other
  • เลือก Region: Asia/Thailand
  • เลือก Keyboard: Thailand
  • ตั้งชื่อเครื่อง (Hostname) อะไรก็ได้ แต่อย่าให้ชื่อซ้ำกับเครื่องอื่นในวงแลน ตัวอย่าง ubuntu
  • แบ่ง Partition เลือก use entire disk
  • กำหนดชื่อผู้ใช้งานและรหัสผ่าน (Username/Password) ตัวอย่าง somchai/1234
    โปรดอ่าน: ***สำคัญมาก จดไว้อย่าลืม เพราะต้องใช้ในการล็อกอินเข้าใช้งานเในครั้งแรก

  • เลือก No automatic updates
  • ติดตั้ง LAMP, OpenSSH, SAMBA
    สำหรับ PostgreSQL นั้น หากต้องการให้ภาษาไทยถูกต้อง อย่าคลิกเลือกในขั้นตอนนี้ (ดูวิธีติดตั้งในส่วนถัดไป)
    Ubuntu 9.10 (Karmic Koala) : LAMP = Linux 2.6.31-14 + Apache 2.2.12 + Mysql 5.1.37 + PHP 5.2.10-2
  • กำหนดรหัสผ่านของ MySQL root ตัวอย่าง 1234
    โปรดอ่าน: ***สำคัญมาก จดไว้อย่าลืม เพราะต้องใช้ในการล็อกอินเข้าใช้งาน MySQL
  • รอ...จนติดตั้งเสร็จ (ประมาณห้านาที)
  • เข้าสู่หน้าจอล็อกอิน
    ใส่ชื่อผู้ใช้งานและรหัสผ่านที่กำหนดไว้ตอนต้น ตัวอย่าง somchai/1234
  • ตั้งรหัสผ่านของ root คำสั่ง sudo passwd root
    หากต้องการเปลี่ยนเป็น root (เวลารันคำสั่งไม่ต้องมี sudo นำหน้า)
    คำสั่ง su root
  • กำหนด IP Address แบบ Static ตัวอย่าง 192.168.1.10/255.255.255.0
    sudo nano /etc/network/interfaces
    auto eth0
    iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.254
    
    sudo /etc/init.d/networking restart
    ทดสอบคำสั่ง ping -c 4 google.co.th

  • กรณีที่ทำการข้ามขั้นตอน Configurating apt ของการติดตั้ง Ubuntu ในตอนต้น หรือหากไม่แน่ใจว่าได้ติดตั้ง package ต่าง ๆ ถูกต้องหรือไม่ ก็ให้สั่งรันอัปเดท package ใหม่อีกครั้งก็ได้ตามสะดวก คำสั่ง sudo apt-get update
  • คำสั่งที่จำเป็นต้องรู้ (ปกติผมก็ใช้อยู่แค่นี้ล่ะ) shutdown now
    reboot

II. ปรับแต่ง Ubuntu

ขั้นตอนต่อไปจะทำการคอนฟิกเซิร์ฟเวอร์ Ubuntu บนวินโดวส์ผ่าน Telnel

ติดตั้งโปรแกรม PuTTY

ดาวน์โหลดที่ http://www.putty.org (ฟรี)
การติดตั้งโปรแกรม Telnet Client เช่น PuTTY บนวินโดวส์ก็เพื่อความสะดวกในการรันคำสั่งบนเซิร์ฟเวอร์ที่อยู่คนละเครื่องกัน ซึ่งเวลาค้นหาคำสั่งของ Linux ต่าง ๆ จากเว็บไซด์เช่น Google ก็ copy คำสั่งที่ต้องการ แล้วคลิกขวามา paste ใส่ใน PuTTY เลยสะดวกกว่า
  • ระบุ IP Address ของเครื่อง Ubuntu ตัวอย่าง 192.168.1.10 SSH พอร์ต 22
  • ใส่ชื่อผู้ใช้งานและรหัสผ่านที่กำหนดไว้ตอนต้น ตัวอย่าง somchai/1234 (หรือ root ก็ได้ตามสะดวก)

    หมายเหตุ: หากตอนติดตั้ง Ubuntu ไม่ได้คลิกเลือก OpenSSH ก็ให้รันคำสั่ง
    sudo apt-get install ssh openssh-server


ทดสอบ Apache

  • เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น ระบุ URL ไปที่ Ubuntu ตัวอย่าง http://192.168.1.10


ทดสอบ PHP

  • รันคำสั่งใน PuTTY เพื่อสร้างไฟล์เอกสารสำหรับทดสอบ PHP ดังนี้ sudo nano /var/www/phpinfo.php
    ใส่ข้อความดังนี้
    <?php phpinfo(); ?>
    
  • เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น ระบุ URL ไปที่ Ubuntu ตัวอย่าง http://192.168.1.10/phpinfo.php

  • ตรวจสอบดูว่ามีส่วน MySQL หรือไม่ ?

ติดตั้ง phpMyAdmin

การติดตั้ง phpMyAdmin ก็เพื่อให้สามารถใช้งาน MySQL ผ่านเว็บบราวเซอร์
  • รันคำสั่งใน PuTTY ดังนี้ sudo apt-get install phpmyadmin
  • เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น ระบุ URL ไปที่ Ubuntu ตัวอย่าง http://192.168.1.10/phpmyadmin

    ใส่ชื่อผู้ใช้งานและรหัสผ่านของ MySQL ที่กำหนดไว้ในขั้นตอนการติดตั้ง Ubuntu ตัวอย่าง root/1234

ปรับแต่ง MySQL ให้ใช้งานกับ Windows Client (VB, VFP) ในวงแลน

  • รันคำสั่งใน PuTTY แก้ไขไฟล์คอนฟิกของ MySQL ดังนี้ sudo nano /etc/mysql/my.cnf
    # bind-address = 127.0.0.1 
    skip-name-resolve 
    
    sudo /etc/init.d/mysql restart
  • วิธีทดสอบแบบง่ายๆ เปิด ODBC Manager ใน Control Panel ของวินโดวส์
    หมายเหตุ กำหนด Privileges ของผู้ใช้งานแบบ Any Host (%) ใน MySQL

ติดตั้ง FTP Server

การติดตั้ง FTP Server ก็เพื่อให้สามารถ Upload/Download ไฟล์สำหรับทำเว็บแอปพลิเคชันต่าง ๆ บนเว็บเซิร์ฟเวอร์ Ubuntu ในตัวอย่างนี้เลือกใช้ Vsftpd เป็น FTP Server
  • รันคำสั่งใน PuTTY ดังนี้ sudo apt-get install vsftpd
  • แก้ไขไฟล์คอนฟิกของ Vsftpd ดังนี้ sudo nano /etc/vsftpd.conf
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    xferlog_enable=NO
    ascii_upload_enable=YES 
    ascii_download_enable=YES
    
    sudo /etc/init.d/vsftpd restart
  • กำหนดกลุ่ม www-data สำหรับ ftp-client ไว้ที่เว็บโฟลเดอร์หลัก sudo chgrp www-data /var/www/
    sudo chmod 775 /var/www/
  • เพิ่มชื่อของเราในกลุ่ม www-data สำหรับ ftp-client ตัวอย่าง somchai sudo adduser somchai www-data
  • (ทางเลือก) สร้าง user ใหม่ชื่อ webmin สำหรับ ftp-client sudo useradd webmin -g www-data -d /var/www
    sudo passwd webmin
ทดสอบรันโปรแกรม FTP Client เช่น CuteFTP, FileZilla บนวินโดวส์
  • ระบุ Host Address ไปที่ Ubuntu ตัวอย่าง 192.168.1.10
  • กำหนด FTP พอร์ต 21
  • ระบุชื่อล็อกอินที่กำหนดไว้ข้างต้น ตัวอย่าง somchai หรือ webmin
  • กำหนด Remote Folder: /var/www

ติดตั้ง SAMBA

การติดตั้ง Samba ก็เพื่อให้สามารถแชร์ไฟล์ (File Sharing) บน Ubuntu กับเครื่องอื่นในวงแลน
sudo apt-get install samba (ถ้าไม่ได้เลือก Samba ไว้ในตอนติดตั้ง)
ตัวอย่าง แชร์โฟลเดอร์ชื่อ myapp และ temp
  • รันคำสั่งใน PuTTY สร้างโฟล์เดอร์ใน Ubuntu ดังนี้
    sudo mkdir /myshare
    sudo mkdir /myshare/myapp
    sudo mkdir /myshare/temp
    sudo chmod 0777 /myshare/myapp
    sudo chmod 0777 /myshare/temp
    
  • คอนฟิก Samba อนุญาติให้แชร์ไฟล์กับวินโดวส์แบบไม่ต้องมีหน้าจอล็อกอิน sudo nano /etc/samba/smb.conf
    workgroup = MYGROUP
    security = share
    
    [myapp]
    path = /myshare/myapp
    public = yes
    browseable = no
    writeable = yes
    
    [temp]
    path = /myshare/temp
    public = yes
    browseable = yes
    writeable = yes
    
    หมายเหตุ ตั้งชื่อ Workgroup ให้เหมือนกันกับเครื่องอื่น ๆ ในวงแลน
    sudo /etc/init.d/samba restart
ทดสอบไฟล์แชร์บน Ubuntu กับวินโดวส์ ดังนี้
  • เลือกเมนู Start | Run
  • ระบุชื่อเครื่องหรือ IP Address ของ Ubuntu ตัวอย่าง \\192.168.1.10

ติดตั้ง Webmin

การติดตั้ง Webmin ก็เพื่อให้สามารถบริหารจัดการเซิร์ฟเวอร์ Ubuntu ผ่านเว็บบราวเซอร์ เหมาะสำหรับคนไม่ชอบคำสั่งลีนุกซ์เช่นผมนั่นล่ะ
หมายเหตุ ตรวจสอบเวอร์ชันใหม่ที่ http://sourceforge.net/projects/webadmin
  • รันคำสั่งใน PuTTY ติดตั้ง webmin ดังนี้ sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
    wget http://prdownloads.sourceforge.net/webadmin/webmin_1.490_all.deb
    sudo dpkg -i webmin_1.490_all.deb
  • หากคำสั่ง wget ข้างต้นดาวน์โหลดไฟล์ไม่ได้ ก็ให้เพิ่ม webmin ใน Repository (อ่านเพิ่มเติม ที่นี่) nano /etc/apt/sources.list เพิ่มบรรทัดนี้
    deb http://download.webmin.com/download/repository sarge contrib 
    
    ติดตั้ง webmin เวอร์ชันล่าสุดจาก Repository ดังนี้
    cd /root
    wget http://www.webmin.com/jcameron-key.asc
    apt-key add jcameron-key.asc
    apt-get update
    apt-get install webmin
    
  • เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น ระบุ https:// ไปที่ Ubuntu ต่อท้ายด้วย :10000 ตัวอย่าง https://192.168.1.10:10000

    ระบุล็อกอินที่กำหนดไว้ในตอนติดตั้ง Ubuntu ข้างต้น ตัวอย่าง somchai/1234 (หรือ root ก็ได้ตามสะดวก)


ติดตั้ง PostgreSQL (ภาษาไทย)

การติดตั้งระบบฐานข้อมูล PostgreSQL บน Ubuntu จะสร้าง Database Cluster ให้อัตโนมัติด้วย ดังนั้นเพื่อให้ใช้งานภาษาไทยถูกต้อง ให้กำหนด Locale เป็น th_TH ก่อน มิฉะนั้นต้อง initdb -E สร้าง Cluster ใหม่ ซึ่งค่อนข้างยุ่งยากกว่า
  • รันคำสั่งใน PuTTY กำหนดภาษาไทยของ Ubuntu ดังนี้ sudo nano /var/lib/locales/supported.d/local
    en_US.UTF-8 UTF-8
    th_TH.UTF-8 UTF-8
    
    sudo dpkg-reconfigure locales
  • ตรวจสอบว่ามี th_TH.UTF-8 อยู่ใน Locale หรือไม่ locale -a

  • เปลี่ยนดีฟอลต์ Locale เป็นไทย ก่อนติดตั้ง PostgreSQL
  • export LANG=th_TH.UTF-8
  • ตรวจสอบให้แน่ใจว่า ค่าดีฟอลต์ทั้งหมดต้องเป็น th_TH locale

  • รันคำสั่งติดตั้ง PostgreSQL ดังนี้ sudo apt-get install postgresql-8.4
    หมายเหตุ ข้อความในหน้าจอขณะติดตั้งจะเป็นขยะอ่านไม่รู้เรื่อง ก็ให้ตอบ Y อย่างเดียว
  • (ทางเลือก) เปลี่ยนดีฟอลต์ Locale กลับเป็นอังกฤษ export LANG=en_US.UTF-8
  • ตั้งรหัสผ่านของ postgres ตัวอย่าง 1234 sudo -u postgres psql
    postgres=# \password postgres
    postgres=# \q
    
  • ตรวจสอบว่า ภาษาไทยใน PostgreSQL ถูกต้องหรือไม่ ? sudo -u postgres psql
    postgres=# \encoding
    UTF-8
    
    postgres=# show lc_collate ;
    th_TH.UTF-8
    
    postgres=# \q
หมายเหตุ
  • การสร้าง Database ใน PostgreSQL ให้กำหนด Encoding เป็น UTF-8
  • PHP กำหนด META ในส่วนหัวเอกสาร ระบุ Charset=UTF-8
  • การสร้างวินโดวส์แอปพลิเคชันเลือก ODBC ระบุ Driver={PostgreSQL UNICODE};

ติดตั้ง phpPgAdmin


การติดตั้ง phpPgAdmin ก็เพื่อให้สามารถใช้งาน PostgreSQL ผ่านเว็บบราวเซอร์
  • รันคำสั่งใน PuTTY ดังนี้ sudo apt-get install phppgadmin
  • แก้ไขไฟล์คอนฟิกของ Apache ดังนี้ sudo nano /etc/phppgadmin/apache.conf
    <DirectoryMatch /usr/share/phppgadmin/>
    allow from all
    
    sudo /etc/init.d/apache2 reload
  • กำหนดให้ล็อกอินของ postgres เข้าใช้งานได้ sudo nano /usr/share/phppgadmin/conf/config.inc.php
    $conf['extra_login_security'] = false;
    
    sudo /etc/init.d/apache2 reload
  • เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น ระบุ URL ไปที่ Ubuntu ตัวอย่าง http://192.168.1.10/phppgadmin

    ใส่ชื่อผู้ใช้งานและรหัสผ่านของ PostgreSQL ตัวอย่าง postgres/1234


ปรับแต่ง PHP ให้ใช้งานกับ PostgreSQL


การคอนฟิกในส่วนนี้ ก็เพื่อให้สามารถใช้งานคำสั่งของ PHP กับ PostgreSQL เช่น pg_connect(), pg_query() เป็นต้น
  • เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น รันสคริปท์คำสั่ง phpinfo() ที่ได้สร้างไว้แล้วในตอนต้น ตัวอย่าง http://192.168.1.10/phpinfo.php
    ตรวจดูว่ามีส่วน pgsql หรือไม่ ?

  • หากไม่พบส่วนดังกล่าวให้รันคำสั่งใน PuTTY ดังนี้ sudo apt-get install php5-pgsql

ปรับแต่ง PostgreSQL ให้ใช้งานกับ Windows Client (VB, VFP) ในวงแลน

  • รันคำสั่งใน PuTTY แก้ไขไฟล์คอนฟิกของ PostgreSQL ดังนี้ sudo nano /etc/postgresql/8.4/main/postgresql.conf
    listen_addresses = '*'
    password_encryption = on
    
    sudo nano /etc/postgresql/8.4/main/pg_hba.conf
    กำหนดช่วง IP ในวงแลน ตัวอย่าง 192.168.1.0
    host all all 192.168.1.0/24 md5
    host all all 127.0.0.1/32 md5
    
    sudo /etc/init.d/postgresql-8.4 restart
  • วิธีทดสอบแบบง่ายๆ เปิด ODBC Manager ใน Control Panel ของวินโดวส์
    หมายเหตุ สร้างผู้ใช้งาน (Role) ใน PostgreSQL ด้วย phpPgAdmin หรือ pgAdmin กำหนด Can Login ? = Yes

ติดตั้ง SQLite

การติดตั้งระบบฐานข้อมูล SQLite และตัวอย่างการใช้งานต่าง ๆ สามารถอ่านเพิ่มเติมได้ ที่นี่
  • ติดตั้ง SQLite2 Command Line ทำดังนี้
    $ sudo apt-get install sqlite
    $ sqlite
    

  • ติดตั้ง SQLite3 Command Line ทำดังนี้
    $ sudo apt-get install sqlite3
    $ sqlite3
    


ปรับแต่ง PHP ให้ใช้งานกับ SQLite


การคอนฟิกในส่วนนี้ ก็เพื่อให้สามารถใช้งานคำสั่งของ PHP กับ SQLite เช่น sqlite_open(), sqlite_query() เป็นต้น
  • รันคำสั่งใน PuTTY ดังนี้
    $ sudo apt-get install php5-sqlite
    $ sudo /etc/init.d/apache2 restart
    

  • เปิดเว็บบราวเซอร์ เช่น IE, Firefox, Opera เป็นต้น รันสคริปท์คำสั่ง phpinfo() ที่ได้สร้างไว้แล้วในตอนต้น ตัวอย่าง http://192.168.1.10/phpinfo.php
    ตรวจดูว่ามีส่วน SQLite ลักษณะดังรูปหรือไม่ ?

Wednesday, May 4, 2011

ติดตั้ง no-ip บน clearos 5.2

ผมเพิ่งได้ทดลองติดตั้ง no-ip บน clearos 5.2 ดู เป็นอันว่าผ่านไปได้ด้วยดีครับ
เนื่องจาก dyndns ของผมมันชอบ block     ผมก็เลยต้องเปลี่ยน
หวังว่าคงเป็นการแบ่งปัน เล็ก ๆ น้อย ๆ จากผม จากที่เคย เอาจาก linuxthai มาเยอะมากครับ
สำหรับท่านที่ติดตั้งเป็นแล้ว ก็ผ่านได้เลยครับ
สำหรับมือใหม่ ก็ลองเอาไปใช้ดูก่อนนะครับ
ผิดพลาดประการใด ต้องให้ มืออาชีพมาแนะนำต่อ ครับ
ก่อนอื่นต้องไปสมัครสมาชิกที่ https://www.no-ip.com/ มากันก่อนนะครับ
เสร็จแล้วก็ทำการ ยืนยันการสมัครสมาชิก ที่ e-mail ด้วย
login เข้า no-ip แล้วก็สร้าง host ที่ menu :Hosts/Redirects
add host ตามต้องการ เช่น xyz.no-ip.org
ในที่นี้ผมใช้ ssh นะครับ
download add-on ก่อนแล้วกัน
[root@system ~]#  wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz หรือจะ download ในเว็ปไซค์ แล้วโยนเข้า server ไปเลยก็ได้ครับ
[root@system ~]# tar -zxvf noip-duc-linux.tar.gz
[root@system ~]#ls
 noip-2.1.9-1
[root@system ~]# cd noip-2.1.9-1
[root@system noip-2.1.9-1]# make
gcc -Wall -g -02 -Dlinux -DPREFIX=\"/usr/local\" noip2.c -o noip2
make: gcc: Command notfound
make: *** [noip2] Error 127            error ซะงั้น   
[root@system noip-2.1.9-1]# ls binaries/
noip2-i686  noip2-x86_64
[root@system noip-2.1.9-1]# cp binaries/noip2-i686 ./noip2
[root@system noip-2.1.9-1]# make install
if [ ! -d /usr/local/bin ]; then mkdir -p /usr/local/bin;fi
if [ ! -d /usr/local/etc ]; then mkdir -p /usr/local/etc;fi
cp noip2 /usr/local/bin/noip2
/usr/local/bin/noip2 -C -c /tmp/no-ip2.conf
Auto configuration for Linux client of no-ip.com.
Multiple network devices have been detected.
Please select the Internet interface from this list.
By typing the number associated with it.
0       eth1
1       tun0
2       ppp0
2                                  <<<<<<  ตรงนี้ ให้เลือก การ์ดแลนที่ใช้ออก internet ในที่นี้ของผมคือ 2
Please enter the login/email string for no-ip.com e-mail@e-mail.com ใส่ e-mail ที่ใช้ในการ login no-ip
Please enter the password for user 'e-mail@email.com' 12345678 ใส่ password ที่ใช้ในการ login no-ip
Do you wish to run something at successful update?[N] (y/N) n <<<< ตรงนี้ไม่รู้ว่ามัน update อะไร ผมก็เลย ตอบ no ไว้ก่อน (กำลังหาข้อมูลครับ)
New configuration file '/tmp/no-ip2.conf' created.
mv /tmp/no-ip2.conf /usr/local/etc/no-ip2.con
[root@system noip-2.1.9-1]#
make the noip client run every time the system boots
[root@system ~]# whereis noip2
noip2: /usr/local/bin/noip2
[root@system ~]# echo '/usr/local/bin/noip2' >> /etc/rc.local
[root@system ~]#
เสร็จแล้วครับ      
[root@system ~]#noip2 -h  
USAGE: noip2 [ -C [ -F][ -Y][ -U #min]
        [ -u username][ -p password][ -x progname]]
        [ -c file][ -d][ -D pid][ -i addr][ -S][ -M][ -h]
Version Linux-2.1.9
Options: -C               create configuration data
         -F               force NAT off
         -Y               select all hosts/groups
         -U minutes       set update interval
         -u username      use supplied username
         -p password      use supplied password
         -x executable    use supplied executable
         -c config_file   use alternate data path
         -d               increase debug verbosity
         -D processID     toggle debug flag for PID
         -i IPaddress     use supplied address
         -I interface     use supplied interface
         -S               show configuration data
         -M               permit multiple instances
         -K processID     terminate instance PID
         -z               activate shm dump code
         -h               help (this text)
ตรงนี้ ลองไปศึกษาดูเองนะครับ

ผิดพลาดประการใด ต้องขออภัยด้วย เพิ่งค้นหาและลองติดตั้ง ณ ตอนที่เริ่มหัวข้อไปพร้อม ๆ กันครับ
ท่านที่ ชำนาญ แล้ว แนะนำเพิ่มเติมได้ครับ

วิธีการทำ No-IP บน CentOS 5.xx

cd /usr/src
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar -zxvf noip-duc-linux.tar.gz
cd noip-*
/usr/sbin/setenforce 0
make
make install

cp /usr/src/sources/noip-*/redhat.noip.sh /etc/rc.d/init.d/noip
chcon --reference /etc/rc.d/init.d/xfs /etc/rc.d/init.d/noip
chcon -t unconfined_t /usr/local/etc/no-ip2.conf
chmod +x /etc/rc.d/init.d/noip
/usr/sbin/setenforce 1
service noip stop
service noip start

นี่คือวิธีการลงนะครับ ส่วนการตั้งค่า config ของตัวโปรแกรม เด่วจะมาบอกทีหลัง 

Thursday, February 10, 2011

Another app is currently holding the yum lock; waiting for it to exit...

Re: Kile installation on fedora 12

but looking at the error isn't it possible to say what is the issue exactly? I mean how to track the exact problem?
How to sure about it.. that the problem is with proxy?

---------- Post added at 03:56 AM ---------- Previous post was at 03:40 AM ----------

Now another problem I see if I enter:
yum install yumex
Code:
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: PackageKit
    Memory :  16 M RSS ( 32 MB VSZ)
    Started: Sun Jan 23 03:54:09 2011 - 02:07 ago
    State  : Sleeping, pid: 2208
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: PackageKit
    Memory :  16 M RSS ( 32 MB VSZ)
    Started: Sun Jan 23 03:54:09 2011 - 02:09 ago
    State  : Sleeping, pid: 2208


---------- Post added at 04:16 AM ---------- Previous post was at 03:56 AM ----------

the problem is not solved yet

===========================================

Lets back up here a bit. Has your package manager (PackageKit) or yum at the command line ever worked on this install of F12? Do you have internet access via your browser on this F12 machine? If you are posting to this forum from the F12 machine, then I suppose that answers the 2nd question. If you have working internet via your browser, then I don't know why yum would not work through the proxy as long as the correct entries in the yum.conf file were made. I don't know how you could tell for sure if the problem was with the proxy server or not.

By default, PackageKit check for updates, using yum, at intervals. Yum only allow one running instance. You can either wait for that to finish (assuming it will time out), or just kill the process, which should clear the LOCK file.

su -c 'kill -9 2208'

In the case above, the pid of that process was reported as 2208. You can also check if it's cleared with:

ls /var/lock/

Look for a file like: LCK...somename

where somename is indicative of the target process (PackageKit or yum). If it's stubborn, you can always just delete, as root, the lock file.

============================================

Glad to know you finally got the proxy server vs yum thing straightened out. Congrats. If making a mistake makes one an idiot, then we're all idiots. As for how you can run Kile or IPE, do you mean how to install them? If so, either use the PackageKit manager or yum to install them. I prefer yum at the command line, as root:
Code:
yum install kile ipe
As to how to use either, I don't know, never used them. But if you're planning to upgrade to F14, then I wouldn't bother installing any programs until that task was done. As to how to update to F14 using yum, I'm not totally sure, but I think you would use something like this:
Code:
yum --releasever=14 update
Now, in order for that to work, you'd need to edit the fedora.repo and fedora-updates.repo files again so that you commented out the new baseurl= lines that point to the archives, and then uncomment the original mirrorlist= lines. I would wait for confirmation from another person who has used the yum upgrade method if what I told you is valid, or search forum for threads discussing that, before proceeding. 

Thursday, February 3, 2011

รุ่น i386 กับ x68_64 มันต่างกันยังไง

คือผมไปโหลดรุ่น i386 กับ x68_64 มันต่างกันยังไงครับ ผมโหลดมา2อันจะลงอันไหนดี แล้ว เวลาไรท์ใส่แผ่นต้องไรท์แบบไหนครับ
 ====================================

i386 ใ้ช้ลงกับ chip Intel , AMD ได้ทุกเครื่องครับ

x86-64 เป็นเฉพาะ CPU ที่ใช้ instruction x64 ได้เช่น Athon X2 , Core2 Duo , etc

ลอง x86-64 ก่อนก็ได้ครับ ถ้าไม่ได้ค่อยลง i386

file ที่ได้มาน่าจะเป็น .iso ผมว่า burner เกือบทุกโปรแกรม write ได้อยู่แล้ว

 
Design by GURU