13 พฤษภาคม 2565

PostgreSQL : กำหนดให้ postgresql เก็บ log คำสั่ง SQL

การกำหนดให้ PostgreSQL เก็บ log คำสั่ง SQL

1. เข้าไปที่แก้ไขไฟล์ postgresql.conf กรณีใช้ postgresql 14 ถ้ารุ่นอื่นก็เปลี่ยนตัวเลขรุ่นตามต้องการ โดยป้อนคำสั่งผ่าน Terminal

        
sudo vim /etc/postgresql/14/main/postgresql.conf

        จากนั้น ไปหาและแก้ไขค่าตามนี้          

      

        กดปุ่ม i เพื่อเข้าโหมด insert ของ โปรแกรม vim แล้วแก้ไข

         log_destination = 'csvlog'
         logging_collector = on
         log_directory = 'pg_log'
         log_filename = 'test_postgresql-%Y-%m-%d_%H%M%S.log'
         log_statement = 'all'

         เมื่อแก้ไขเสร็จให้กดปุ่ม Esc เพื่อออกจากโหมดแก้ไข
         กด   
:w       บันทึก
          กด   
:q        ออก

2. ทำการ รีสตาร์ทเซอร์วิสของ postgresql ใหม่ ด้วยคำสั่ง

         sudo systemctl restart postgresql

จากนั้นไป เมื่อมีการใช้คำสั่ง SQL จัดการกับฐานข้อมูลก็จะถูกเก็บ log ไว้ที่          

        /var/lib/postgresql/14/main/   ภายใต้โฟลเดอร์ pg_log

เรียกดูไฟล์

        sudo ls -l /var/lib/postgresql/14/main/pg_log/

เมื่อพบไฟล์เป้าหมาแล้ว ก็เอาออกมาไว้ที่อื่น เช่น โฟลเดอร์ Desktop

        sudo cat /var/lib/postgresql/14/main/pg_log/ชื่อไฟล์log.csv > Desktop/ชื่อไฟล์log.csv

เป็นอันเรียบร้อย  


03 พฤษภาคม 2565

PostgreSQL : กำหนด Configuration สำหรับฐานข้อมูล PostgreSQL บน Ubuntu 20.04 ให้สามารถเข้าถึงผ่าน ip address จากภายนอก

การกำหนด Configuration สำหรับฐานข้อมูล PostgreSQL บน Ubuntu 20.04  ให้สามารถเข้าถึงผ่าน ip address จากภายนอก
สำหรับเครื่องที่ใช้ เป็นระบบปฏิบัติการ Windows 10 ดังนั้นเราจำเป็นต้องติดตั้ง Hyper-V ซึ่งเป็น Virtualization ของ Windows เอง ดั้งนั้นของที่มีก็ใช้แบบไม่ต้องไปหาอื่นไกล ส่วนการติดตั้ง Hyper-V และติดตั้ง Ubuntu 20.04 ไม่ขอกล่าวถึง


 

 

 

 

 

 

 

 

 

เปิด Terminal แล้วเรียกใช้คำสั่ง ifconfig ดู ip address แล้วจดไว้เพื่อจะ Connect เข้าถึงข้อมูล

เมื่อติดตั้ง Ubuntu ใน hyper-v เสร็จก็ไปทำการติดตั้ง PostgreSQL ต่อเลยโดยเข้าไปดูตาม Link ด้านล่างได้เลย 555

https://www.cherryservers.com/blog/how-to-install-and-setup-postgresql-server-on-ubuntu-20-04

 

ทำการเปิด firewall ให้กับ port ที่ต้องการ เช่น 5432 โดยพิมพ์คำสั่ง ดังนี้

sudo ufw allow from any to any port 5432 proto tcp 

* สั้ง List รายการเพื่อตรวจสอบว่า port เปิดหรือไม่

sudo lsof -i -P -n | grep LISTEN

ติดตั้งเสร็จ ให้เข้าไปแก้ไข config เพิ่มเติ่มจากเว็บก่อนหน้าที่ให้กำหนดไว้ โดยพิมพ์คำสั่งที่ Terminal

sudo vim /etc/postgresql/14/main/postgresql.conf

แล้วแก้ ตรงส่วนของ listen_addresses = 'local' ให้เป็น

listen_addresses = '*'

จากนั้นไปแก้ไฟล์ pg_hba.conf

sudo vim /etc/postgresql/14/main/pg_hba.conf

แล้วเพิ่มสิทธิ์เข้าไปตามนี้ หรือจะกำหนดเฉพาะไอพีก็ได้  แต่สำหรับตัวอย่างข้างล่างคือเปิดหมด

host     all    all     0.0.0.0/0           scram-sha-256
host     all    all     ::1/128              trust
host     all    all     127.0.0.1/32     trust

ทำเสร็จก็ทำการ restart service ด้วยคำสั่ง

systemctl restart postgresql

เสร็จสำหรับ Ubuntu และ PostgreSQL

------------------------------

จากนั้นไปที่เครื่อง Client ที่เราต้องการติดต่อที่ Windows 10

ไปทำการดาวน์โหลด ODBC มาลงที่เครื่อง ที่เว็บ

https://www.postgresql.org/ftp/odbc/versions/msi/

ให้เลือกตัวใหม่ ๆ แล้วเลือก 32 bit หรือ 64 bit ขึ้นอยู่กับโปรแกรมที่เราจะติดต่อว่าเป็น 32 bit หรือ 64 bit ก็ลงตามนั้น

ส่วนการติดต่อก็ผ่าน connection string ประมาณนี้

Driver={PostgreSQL Unicode};Server=172.18.117.166;Port=5432;Database=ชื่อDatabase;Uid=postgres;Pwd=รหัสผ่าน;

ตัวอย่างโปรแกรมที่ใช้เขียนเพื่อติดต่อฐานข้อมูล

cPostgreSQL = [Driver={PostgreSQL Unicode};Server=172.18.117.166;Port=5432;Database=test_erp;Uid=postgres;Pwd=12345555;]
nHandle = SQLSTRINGCONNECT(cPostgreSQL)
IF nHandle > 0
    TEXT TO cSQL NOSHOW TEXTMERGE
        SELECT * FROM clients
    ENDTEXT
    nSuccess = SQLEXEC(nHandle,cSQL)
    IF nSuccess > 0
        ** นำข้อมูลมาแสดงข้อมูล
    ENDIF
    =SQLDISCONNECT(nHandle)
ENDIF


16 กุมภาพันธ์ 2565

macOS : macOS Monterey การติดตั้ง Home-brew และติดตั้ง apache php

macOS Monterey เป็นรุ่นที่ตัด php ออกจากสารบบ ถ้าจะใข้ต้องลงเอง 555

เริ่มกันเลย ก่อนอื่นให้เปิด Terminal ขึ้นมาก่อน แล้วป้อนคำสั่ง

1. ติดตั้ง Xcode command line tools

        xcode-select --install

2. ติดตั้ง Apache (ล้างของเก่าแล้วลงใหม่)

       sudo apachectl stop

        sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null


        brew install httpd


    จากนั้นก็ทำการ stop แล้ว start service ของ php

        brew services stop httpd

        

        brew services start httpd


    สำหรับ document root ในการนำไฟล์ html ไปใส่ จะเก็บที่ /usr/local/var/www     



3. ติดตั้ง Visual Studio Code กัน


        brew install --cask visual-studio-code


        แต่ถ้าเคยติดตั้ง VS Code ไปแล้วก็ให้หาดูว่ามี โฟลดเดอร์ /opt/homebrew/bin อยู่ไหม 

        ถ้าไม่มีให้สร้างก่อน ด้วยคำสั่ง mkdir  แล้วเรียกคำสั่ง ตามด้านล่าง


        sudo ln -s /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code /opt/homebrew/bin/code


4. ติดตั้ง php 7.4   รุ่นอื่นรอให้เขาทำออกมาก่อน แล้วก็เปลี่ยนตัวเลขรุ่นด้านหลังคำสั่งเอาเองนะ


        brew install shivammathur/php/php@7.4

        

        กำหนด path ให้กับ php ด้วยคำสั่ง


        brew link --overwrite --force php@7.4  


        การ start / stop / restart  php จะสั่งอะไรก็เลือกเอาได้ ตามต้องการ 

        แต่ยังไงสุดท้ายก็อย่าลืม start ละ

        stop

        brew services stop shivammathur/php/php@7.4

        start

        brew services start shivammathur/php/php@7.4

         restart

         brew services restart shivammathur/php/php@7.4


        หลังจาก start php ได้แล้ว ลองทดสอบดู ถาม version ของ php กัน


        php -v


        ลองเรียกใช้งาน phpinfo()


        php -r 'phpinfo();'


  5. แก้ไขไฟล์ httpd.conf    

      ให้เข้าไปแก้ที่โฟลดเดอร์   /usr/local/etc/httpd/   (สำหรับ cpu intel นะ)

      ถ้า cpu M1 ก็ไปอีกที่ ... ลืม ไว้หาก่อน

    

        sudo code httpd.conf


        แล้วไปเพิ่ม 

    

        LoadModule php7_module    /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so

        

        แก้ตรง dir_module ตามนี้


        <IfModule dir_module>

            DirectoryIndex index.php index.html

        </IfModule>

        <FilesMatch \.php$>

            SetHandler application/x-httpd-php

        </FilesMatch>

04 กันยายน 2564

Unity : การติดตั้ง Unity Remot 5

การติดตั้งและใช้งาน Unity Remote 5 สำหรับ OS Android

กำหนดค่า โทรศัพท์/แท็บเล็ต

1. ไปที่หน้า ตั้งค่า (Setting) แล้วเข้าไปที่ เกี่ยวกับเครื่อง (Aboout Phone) / เกี่ยวกับแท็บเล็ต (About Tablet)








2. ไปที่ หมายเลขรุ่น (Build Number) แล้วให้นิ้วแตะ 7 ครั้ง จนกระทั่งระบบแจ้งว่าเราเป็นนักพัฒนา (Developer)







3. 
ให้ออกมาที่หน้าตั้งค่า (Settingจะเห็นรายการ ทางเลือกผู้พัฒนา (Developer Option) ให้เปิดเข้าไป





4. ที่หน้า ทางเลือกผู้พัฒนา (Developer Option) ให้เปิดสถานะ และเปิดในส่วนของ การแก้ไขข้อบกพร่อง USB (USB Debugging)













5.
เชื่อมต่อสาย USB เข้ากับเครื่องคอมพิวเตอร์ แล้วให้สิทธิ์ในการเข้าถึงโทรศัพท์/แท็บเล็ต
6. ติดตั้งแอพ Unity Remote 5 จาก Play Store










7. เปิดแอพ Unity Remote 5 เพื่อรอรับการทดสอบเกมจากโปรแกรม Unity จากเครื่องคอมพิวเตอร์








กำหนดค่า โปรแกรม Unity

1. ที่โปรแกรม Unity เลือกเมนู File -> Build Setting ที่หน้าต่าง Build Setting ให้เลือก Android แล้วคลิกปุ่ม Switch Platform










2. เลือกเมนู Edit -> Project Setting ที่หน้าต่าง Project Setting เลือก Editor ในช่อง Device เลือก Any Android Device




จากนั้นก็ทำการคลิกปุ่ม Play เพื่อทดสอบเกม ตัวเกมก็จะไปปรากฎที่หน้าคอมพิวเตอร์ และหน้าจอโทรศัพท์/แท็บเล็ต พร้อม ๆ กัน ในการบังคับให้บังคับผ่านทางโทรศัพท์/แท็บเล็ต

ผ่านไป 1 ปี สำหรับการเพิ่มกระทู้ใหม่
มีโชคร่ำรวยเงินทอง


04 กันยายน 2563

SQL Server : Install SQL Server and MariaDB via Docker Container on Windows 10

 ทความนี้นำเสนอ การติดตั้ง Docker บน Windows 10 พร้อมติดตั้ง SQL Server บน Docker 

ติดตั้ง Docker 

 ให้ทำการดาวน์โหลดตัวติดตั้ง Docker สำหรับ Windows 10 โดยเข้าไปที่เว็บ

https://www.docker.com/get-started

จากนั้นทำการดาวน์โหลด Docker Desktop for Windows 

จะได้ไฟล์ Docker Desktop Installer เมื่อได้ไฟล์เรียบร้อยให้ทำการติดตั้งโปรแกรมได้เลย 

ขณะติดตั้งจะขึ้นหน้าต่าง 







ให้คลิก OK

โปรแกรมก็จะทำการติดตั้งจนเสร็จ 

จะปรากฎไอคอน Docker Desktop ที่หน้า Desktop ให้ดับเบิ้ลคลิกเพื่อเรียกใช้งาน Docker 

รอสักครู่ให้ Docker Start จนเร็จ จากนั้นไปคลิกที่ ปุ่ม Hidden Icon ที่ Task bar 







ให้คลิกที่ไอคอน Docker แล้วเลือก Dashboard จะปรากฎหน้าต่าง Docker Dashboard

จากนั้นคลิก Sign In
(หากยังไม่เคยสมัครให้ทำการสมัครก่อนโดยเข้าไปสมัครที่ http://hub.docker.com)








หน้าต่าง Dashboard จะเป็นตัวบริหารจัดการ Container ที่เราสร้างขึ้น 

ต่อไปเราไปทำการติดตั้ง SQL Server 


ติดตั้ง SQL Server

ไปที่ Windows Search ที่ Taskbar แล้วค้นหา PowerShell 

เมื่อเจอแล้วให้ เปิดหน้าต่าง Windows PowerShell ในโหมด Run as Administrator










เมื่อเปิดหน้าต่าง PowerShell ขึ้นมาแล้วให้พิมพ์

docker login

เริ่มต้นติดตั้ง SQL Server 

สำหรับตัวอย่างคำสั่ง 2019-CU6-ubuntu-16.04 จะเป็นการติดตั้ง SQL Server 2019 

หากต้องการติดตั้งในรุ่นอื่นสามารถกำหนดรุ่นได้ตามต้องการ โดยดูรุ่นต่าง ๆ ตามลิงค์
https://hub.docker.com/_/microsoft-mssql-server

1. ดาวน์โหลดไฟล์ติดตั้งสำหรับ SQL Server โดยพิม์คำสั่ง 

docker pull mcr.microsoft.com/mssql/server:2019-CU6-ubuntu-16.04

โปรแกรมจะทำการดาวน์โหลด SQL Server ดังภาพ







2. สร้าง Container และติดตั้ง SQL Server ให้กับ Docker โดยพิมพ์คำสั่ง

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=รหัสผ่าน" -p1433:1433 --name sql2019 -d mcr.microsoft.com/mssql/server:2019-CU6-ubuntu-16.04

*** กำหนดรหัสผ่านสำหรับ SA ตรง รหัสผ่าน ตามต้องการ






เมื่อกำหนดเสร็จ ไปที่หน้าต่าง Docker Dashboard จะปรากฎ SQL Server ดังภาพ







ยินดีด้วย ติดตั้ง SQL Server ภายใต้ Docker เสร็จเรียบร้อย ในหน้าต่างนี้เราสามารถบริหารจัดการ Container sql2019 ได้ผ่านไอคอนด้านหลัง 

ต่อไปเราจะทำการทดสอบ ให้ไปทำการปิด firewall ก่อน

แล้วทำการติดตั้ง SQL Management Studio ดาวน์โหลดได้ตามเว็บไซต์ด้านล่าง

https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15

ติดตั้งเสร็จทำการเปิดใช้งาน

แล้ว login เข้า SQL Server  ตามภาพด้านล่าง


ทดสอบดูว่าเราติดตั้ง SQL Server รุ่นใด












ยินดีด้วย ทำสำเร็จแล้ว เย้ ๆ ๆ ๆ 

สำหรับระบบปฎิบัติการ MacOS ก็ทำลักษณะเดียวกัน แต่ต้องระวังเรื่องการกำหนดรหัสผ่าน ซึ่งต้องเป็นรหัสผ่านที่เป็นไปตามข้อกำหนด คือ อย่างน้อย 8 ตัวอักษรและมีตัวอักษรใหญ่เล็ก เป็นต้น ไม่เช่นนั้นจะไม่สามารถ start ตัว sql container ได้

สำหรับระบบปฏิบัติการ MacOS Linux ยังไม่มี SSMS เราสามารถดาวน์โหลด Azure Data Studio มาใช้แทนได้ โดยไปทำการดาวน์โหลดได้ที่เว็บ 

https://github.com/Microsoft/azuredatastudio

ติดตั้ง MariaDB

1. เปิด Terminal หรือ Powershell แล้วป้อนคำสั่ง

docker login

2. ดาวน์โหลดไฟล์ติดตั้งสำหรับ MariaDB  โดยพิม์คำสั่ง 

docker pull mariadb:latest

รอจนกระทั่งทำการดาวน์โหลดโปรแกรมเสร็จ

3. สร้าง Container และติดตั้ง MariaDB ให้กับ Docker โดยพิมพ์คำสั่ง

docker run --name mariadb -e MYSQL_ROOT_PASSWORD=รหัสผ่าน -d mariadb 


*** กำหนดรหัสผ่านสำหรับ root ตรง รหัสผ่าน ตามต้องการ


หากไม่มีข้อผิดพลาดใด ๆ การติดตั้งสำเร็จเรียบร้อย ให้ไปเปิด Docker -> Dashboard จะปรากฎ Container ของ mariadb 



ติดตั้ง Web Server

1. เปิด Terminal หรือ Powershell แล้วป้อนคำสั่ง

docker login

2. ดาวน์โหลดไฟล์ติดตั้งสำหรับ PHP 7.4 โดยพิม์คำสั่ง (รุ่นล่าสุดปี 2563)

docker pull php:7.4-apache


3. สร้าง Container และติดตั้ง PHP ให้กับ Docker โดยพิมพ์คำสั่ง


docker run -p 80:80 --name webm php:7.4-apache  


กรณีที่มีการใช้งาน port 80 อยู่ก่อนแล้ว ให้ทำการเปลี่ยน port ใหม่ เช่น 8080


docker run -p 8080:80 --name webm php:7.4-apache 



4. เมื่อติดตั้งเสร็จเรียบร้อย ให้เปิด browser แล้วป้อน url ดังนี้


http://localhost


หากขึ้นข้อความ ว่า....

Forbidden

You don't have permission to access this resource.


Apache/2.4.38 (Debian) Server at localhost Port 80



ยินดีด้วย คุณติดตั้ง web server ได้แล้ว



กลับมานับ 1 กันใหม่


เราจะมาทำการเขียน php กัน ดังนั้น เริ่มต้นกันใหม่อีกครั้ง 


1. ให้ไปทำการสร้าง โฟลเดอร์ใหม่ ชื่ออะไรก็ได้ เช่น php_www

แล้วไปสร้างเท็กซ์ไฟล์ ธรรมด้า ธรรมดา ชื่อ Dockerfile  (ไม่ต้องมีนามสกุลไฟล์) 

ป้อนคำสั่งในไฟล์ ดังนี้


FROM php:7.4-apache



2. สร้างไฟล์ชื่อ docker-compose.yml แล้วเขียนคำสั่ง ดังนี้


version: "3"
services:
www01:
build: .
ports:
- "8080:80"
volumes:
- ./src:/var/www/html/
networks:
- default



3. สร้างโฟลเดอร์ ชื่อ src ภายใต้ php_www แล้วเขียนคำสั่ง php เพื่อทดสอบ 

โดยสร้างไฟล์ชื่อ phpinfo.php แล้วป้อนคำสั่ง


<?php 

    phpinfo();

?>


เมื่อสร้างไฟล์เสร็จจะได้ไฟล์ตามภาพด้านล่าง
















4. เปิดโปรแกรม Powershell หรือ Terminal

พิมพ์


docker login


แล้วย้ายตำแหน่งโฟล์เดอร์ไปที่ โฟลเดอร์ที่เก็บไฟล์ ( php_www ที่สร้างไว้ในข้อ 1 )


แล้วป้อนคำสั่งต่อ ดังนี้


docker-compose up

กลับไปดูที่ Docker dashboard จะปรากฎ container รันขึ้นมาอีกตัว



 














5. เปิดโปรแกรม browser ขึ้นมาแล้วป้อน url ดังนี้


http://localhost:8080/phpinfo.php


จะปรากฎหน้าจอ phpinfo ดังภาพ





















ที่เหลือก็นำไฟล์ .php มาใส่ไว้ใน โฟลเดอร์ src (โฟลเดอร์ที่สร้างไว้ในข้อ 3) ก็สามารถเรียกใช้งานได้แล้ว


สรุปง่าย ๆ แบบส่วนตัว


container ที่สร้างเหมือนเราสร้างโปรเจกต์ ในนั้นก็จะประกอบไปด้วยไฟล์ที่จำเป็น 

ไม่ใช้ก็ลบ container ออก หรือ หยุดก็ได้ 

ใช้เมื่อไหร่ก็เข้าไปที่โฟลเดอร์ แล้วก็เรียกคำสั่ง  docker-compose up 

ระวังเรื่อง port ชนกันให้ดี 


 ขอแสดงความยินดีด้วย



;-)


"I Believe in You"

Copyright(c) 2007 - 2022 by Kasem Kamolchaipisit.