แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - อั๋น ทรงวุฒิ

หน้า: [1] 2 3 ... 10
1
ไฟล์ sources.list
อ้างถึง
ใส่ old-releases.ubuntu.com lucid-updates

ปัญหา SSL version เก่า

อ้างถึง
apt-get install libssl-dev curl wget openss libcurl4-openssl-devl

ติดตั้ง git
อ้างถึง
aptitude build-dep git-core

อ้างถึง
apt-get install python-software-properties
add-apt-repository ppa:git-core/ppa
apt-get update
apt-get install git


2
หากต้องการดู log file อะไรสักอย่างแบบ Real time เราสามารถใช้คำสั่ง

อ้างถึง
tail -f ตามด้วยชื่อไฟล์

มันจะแสดงรายการ log ใหม่ๆ แบบ Real time  ให้เราดู หากต้องการออกจากหน้าจอก็กด Ctrl + c

3
ติดตั้ง PostgreSQL ก่อน แนะนำรุ่น 11


อ้างถึง
apt install libldap2-dev libsasl2-dev python3-pyldap  python3-vobject python3-qrcode python3-pip npm  libpq-dev -y

pip3 install vobject qrcode
pip3 install pyldap
pip3 install num2words

npm install -g rtlcss
npm install -g less

git clone  https://github.com/odoo/odoo.git  -b master  --single-branch --depth 1

pip3 install -r requirements.txt


อ้างถึง
./odoo-bin --addons-path=[addons],../mymodules --db-filter=[mydb]

4
อ้างถึง

//แปลงภาษาไทย แบบ tis-620 เป็น utf-8 ใน array

array_walk_recursive($person, function(&$value, $key) {
    if (is_string($value)) {
        $value = iconv('tis-620', 'utf-8', $value);
    }
});

5
พัฒนาเว็บไซต์ Webbased Developer / yii 1.1 : ยกเลิก main.css
« เมื่อ: 25 กุมภาพันธ์ 2019, 09:01:33 PM »
เนื่องจาก css ใน yii มันมีความเชยพอตัว เราก็เลยอยากใช้ css framework ตัวอื่นแทน มีวิธีปิด main.css ดังนี้

[ views/site/pages/about.php ]

อ้างถึง
Yii::app()->clientScript->scriptMap = array(
    'main.css' => false
);

6
พัฒนาเว็บไซต์ Webbased Developer / yii 1.1 : pretty url
« เมื่อ: 25 กุมภาพันธ์ 2019, 08:49:27 PM »
 [ .htaccess ]

อ้างถึง
Options +FollowSymLinks
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php

RewriteRule . index.php [L]


[ protected/config/main.php ]

อ้างถึง
'urlManager'=>array(
                        'showScriptName'=>false,
                        'urlFormat'=>'path',
                        'rules'=>array(
                                '<controller:\w+>/<id:\d+>'=>'<controller>/view',
                                '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
                                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
                                'gii'=>'gii',
                                'gii/<controller:\w+>'=>'gii/<controller>',
                                'gii/<controller:\w+>/<action:\w+>'=>'gii/<controller>/<action>',
                        ),
                ),


7
ผมได้มีโอกาสไปซ่อมเครื่องที่สำนักงานพัฒนาชุมชน พบว่าการตั้งค่าให้ Boot ผ่าน USB เป็นเรื่องพิศวง ไม่มีภาพขึ้นจอ มีแต่เสียงตี๊ด 2 ครั้งแล้ว Reboot ตัวเองวนไป

ผมเสียเวลากับมันหลายชั่วโมง กว่าจะปิดงานได้ แล้วก็ลืมวิธีการจัดการมันไป

ผ่านไปประมาณ 2 ปี ได้กลับมาเจอมันอีกครั้ง เพื่อลง Windows ใหม่ ปัญหาเดิมกลับมาหลอน ไล่ search ข้อมูลอยู่นาน ไม่เป็นผล กดปุ่ม reset bios หลายรอบ ก็ไม่ดีขึ้น

จนต้องรื้อเครื่องมาจัดการอย่างละเอียด ถอดการ์ดจอ เสียบสายจอกับช่อง VGA Onboard จึงได้เห็นภาพขึ้นจอให้ใจชื้น

เครื่องแบรนด์ที่ต่อการ์ดจอ มักจะไม่แสดงภาพในขั้นตอน POST กว่าจะเห็นภาพอีกที ก็ตอนที่เครื่องมัน Boot เข้า Windows แล้ว

8
อ้างถึง
VBoxmanage modifyhd MyLinux.vdi --resize 100000

100,000 => 100GB

จากนั้นใช้โปรแกรมประเภท Paritiion Magic หรือ Gparted ทำการขยายขนาด Partition  ได้โดยข้อมูลไม่หาย

9
เกี่ยวกับเซิร์ฟเวอร์ [ Network Server ] / DOCKER : PostgreSQL and pgAdmin
« เมื่อ: 07 กุมภาพันธ์ 2019, 10:31:39 AM »
20 นาทีพร้อมใช้ : การเตรียม Postgresql และ pgAdmin ใน Ubuntu

1 ) ลง Ubuntu จาก ไฟล์ .iso แนะนำให้ลงแบบ Textmode จากนั้นใช้สิทธิ์ root ในข้อถัดไปทุกขั้นตอน

2 ) อัพเกรดระบบเป็นตัวล่าสุด
อ้างถึง
apt update && apt upgrade -y

3 ) ติดตั้ง Docker ซึ่งจะมีหน้าที่เหมือนตู้ Container ให้ระบบฐานข้อมูลอยู่ในนั้น
อ้างถึง
apt install -y  docker.io 

4 ) ติดตั้ง docker-compose เป็นตัวจัดการโปรแกรม ให้ทำงานแบบเป็นไฟล์สคริปต์

อ้างถึง
curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

5 ) เปิดโหมดไฟล์สคริปต์ที่โหลดมาจากข้อ 4 ให้สามารถ execute ได้

อ้างถึง
chmod +x /usr/local/bin/docker-compose

6 ) เตรียมพื้นที่สำหรับเก็บข้อมูลระบบของเรา

อ้างถึง
mkdir /var/docker/pg10 && cd /var/docker/pg10


7 ) สร้างไฟล์ docker-compose.yml ด้วยคำสั่ง

อ้างถึง
nano docker-compose.yml

โปรดระวังเรื่องการจัดย่อหน้าให้ตรงกัน

โค๊ด: [Select]
version : '2'
services :
pgsql:
  container_name: pgsql
  image: postgres:10.6-alpine
  ports:
    - "5432:5432"
  environment:
    - POSTGRES_PASSWORD=hosxp
    - POSTGRES_USER=hosxp
    - POSTGRES_DB=hosxp
  volumes:
    - ./data:/var/lib/postgresql
  restart: always
 

pgadmin:
  container_name: pgadmin
  image: fenglc/pgadmin4:python3.6-alpine
#   user : [email protected], passwd : admin

  ports:
    - "5050:5050"

8 ) ดำเนินการขึ้นระบบค้วยคำสั่งเดียว ซึ่งมันจะ Download โปรแกรมทั้งหมด และ config ให้เราพร้อมใช้งาน

อ้างถึง
docker-compose up -d

9 ) ทดสอบใช้ Navicat เชื่อมต่อ หรือ เข้า Browser => http://(ip เครื่อง):5050


ข้อมูลจะอยู่ใน /var/docker/pg10/data ปิดเครื่องแล้วไม่หาย

10
ในบางครั้งเปิดไฟล์งานเก่าที่ใช้รหัสภาษาไทยแบบ Windows 874 หรือ Tis-620 ใน MS Visual Studio Code (vscode)
ซึ่งปัจจุบันนิยมใช้รหัสแบบ UTF-8 ที่รองรับหลายภาษา ทำให้มองเห็นตัวอักษรภาษาไทยเพี้ยน อ่านไม่รู้เรื่อง

วิธ๊แก้ไข ให้ดูมุมขวาล่างของจอ มันจะแสดง Codepage ล่าสุดที่ใช้อยู่
ให้กด Reopen with Encoding แล้วเลือกรหัสภาษาให้ถูก

11
อ้างถึง
hostnamectl set-hostname (ชื่อใหม่)

[ /etc/cloud/cloud.cfg ]

อ้างถึง
preserve_hostname: true

[/etc/hosts]
อ้างถึง
127.0.0.1       localhost
127.0.1.1       ชื่อใหม่

12
ถ้าพื้นที่ใน server กำลังจะเต็ม จะทำอย่างไร ?

ทางแก้คือสร้าง NFS share พื้นที่ข้ามเครื่อง จากนั้นก็จะมี folder โล่งๆ ให้รับข้อมูล

ปกติการใช้ mysqldump จะมีข้อเสียคือ ระหว่าง backup ฐานข้อมูลจะถูกล็อคการบันทึก ซึ่งถ้าเป็นหลัก 10GB ขึ้นไป ต้องรอกันนาน

ทางออกคือใช้โปรแกรม Percona XtraBackup (https://www.percona.com/doc/percona-xtrabackup/LATEST/index.html)

อ้างถึง
xtrabackup --backup  --target-dir=/data/backups --datadir=/var/lib/mysql

ฐานข้อมูลขนาด 250GB ใช้เวลาประมาณ 1 ชั่วโมง 30 นาที

จากนั้นต้องทำการ prepare ก่อนนำข้อมูลไป restore

อ้างถึง
xtrabackup --prepare --target-dir=/data/backups/

แล้วทำการ สำเนา /data/backup ไปเครื่องปลายทาง


13
mysql-bin.000001 จะบันทึกร่องรอยของการแก้ไขเพิ่มเติมในฐานข้อมูล ซึ่งเครื่อง slave ก็จะอ่านไป update เครื่องตัวเองให้ตรงกับ Master
นอกจากนี้เครื่อง Master ก็ควรตั้งเวลาให้ Log ถูกลบอัตโนมัติภายในกี่วัน ซึ่งถ้าไม่ทำ อาจจะทำให้ Harddisk เต็มได้

[my.cnf]

อ้างถึง
[mysqld]
log-bin=mysql-bin
server-id=1
expire_logs_days=3

การลบ Log แบบ Manual ทำได้ด้วยคำสั่ง PURGE BINARY LOGS TO 'mysql-bin.03';
มันจะไล่ลบข้อมูลก่อนหน้าจนถึงไฟล์ที่เราระบุไว้ หรืออาจจะระบุเป็นวันก็ได้
PURGE BINARY LOGS BEFORE '2008-12-15 10:06:06';
ประโยชน์อีกอย่างของ bin log คือ ใช้แกะรอยความเปลี่ยนแปลงใน database ได้
mysqlbinlog binlog_files > newer_transaction.sql

14
เหมือนว่าคำสั่ง sysv-rc-conf ใน ubuntu 18.04 จะถูกถอดออกไปแล้ว คำสั่งที่น่าจะใช้การแทนได้คือ
อ้างถึง

systemctl status
systemctl stop some-service
systemctl disable some-service



15
เกี่ยวกับเซิร์ฟเวอร์ [ Network Server ] / Network config : Ubuntu 18.04
« เมื่อ: 20 กันยายน 2018, 01:25:57 PM »
[ /etc/netplan/01-network-manager-all.yaml ]

อ้างถึง
network:
 version: 2
 renderer: networkd
 ethernets:
   enp3s0: (เปลี่ยนเอง)
     dhcp4: no
     dhcp6: no
     addresses: [192.168.1.100/24]
     gateway4: 192.168.1.1
     nameservers:
       addresses: [8.8.8.8,8.8.4.4]


netplan apply  แล้วทำการ Restart ก็ควรจะใช้การได้

หน้า: [1] 2 3 ... 10