Codeigniter ใช้ตัวแปล CI จาก External Class

เวลาเราแยก Class ใน Layer ที่ทำหน้าที่เกี่ยวกับ Logic ออกจาก Controller ถ้า Class นั้น จะต้องใช้ความสามารถของ CI เช่น load library , load model ให้เราทำตามตัวอย่างนี้

Class Example{

private $CI;

   public function __construct(){
      $this->CI = &get_instance();
      $this->CI->load->library('session'); //if it's not autoloaded in your CI setup
   }

   public function some_method(){
      $this->CI->session->userdata('key','value');
   }

}
Posted in codeigniter | Leave a comment

วิธี Bind DNS Server ใน virtualmin/webmin

การจะผูก domain กับ dns server ไม่ว่าจะเป็น Hosting แรก หรือเป็นการย้าย Hosting จะต้องทำขั้นตอนนี้คือ วิธี Bind DNS Server สร้างชื่อ dns ของเราเอง และนำ DNS ไปผูกใส่กับ domain ของเรา ถ้าซื้อ domain จาก godaddy ก็เข้าไปจัดการที่ godaddy ทำตามรูป

1. Webmins > Servers > BIND DNS Server > เลือก zone โดเมนเรา > Edit Record File

2. สร้าง DNS ชื่อโดเมนเราเอง เพิ่ม Record 4 บรรทัดตามรูป xxx.com คือ โดเมนของคุณ และ yourip คือไอพีของคุณ และกด save

3. ถ้าจะใช้ของ digitalocean ง่ายกว่ามาก ให้เข้าไปล็อคอิน เลือก Networking จากนั้นใส่ Domain และเลือก droplet เราจะได้ ns1-ns3.digitalocean.com มา

4. ไปที่ผู้ให้บริการจดโดเมนของคุณ > เข้าสู่ระบบ > และเข้าไปแก้ไข DNS เป็น ns1.digitalocean.com ns2.digitalocean.com ns3.digitalocean.com

5. รอ DNS เปลี่ยนมาที่ใหม่ ใช้เวลาภายใน 24 ชม. ถ้าเปลี่ยนไว อาจจะติดเรื่อง local dns cache ทำให้เวลาเราเรียก domain ในบางครั้งอาจกลับไปได้ IP เก่า บางครั้งได้ IP ใหม่ ต้องรอซักระยะครับ

Posted in digitalocean | Leave a comment

ติดตั้ง centos7 virtualmin บน digitalocean

การเช่า Hosting ธรรมดาข้อดีคือถูก ซึ่งเว็บเราจะแชร์กันใช้ Memory กับเว็บคนอื่นอีกมากมาย หากมีเว็บๆนึงโหลดหนัก หรือโดนยิง เว็บเราจะซวยไปด้วย หรือเวลาเจ้าของ Hosting มีการอัพเดทเซิฟเวอร์แล้วมันเกิดปัญหา เว็บทั้งหมดจะซวยไปด้วย ยิ่งถ้าเป็นเว็บขายของด้วยนะ แนะนำให้ใช้เซิฟของ Digitalocean ดีกว่าเพราะอยู่บน Cloud แล้วไม่ต้องแชร์กับใคร เวลาเว็บมีปัญหาเราแก้ไขได้เอง ไม่ต้องรออีกต่อไป ใครที่เป็นสาย IT ก็ไม่น่ายากเกินไป ทำตามขั้นตอนนี้ ค่อยๆ Copy วางใน putty(SSH) ทีละเสต็บ

1. Install virtualmin/webmin

yum groupinstall 'Development Tools'

wget http://software.virtualmin.com/gpl/scripts/install.sh

chmod +x install.sh

./install.sh

2. install mcrypt

2.1 รันคำสั่งด้านล่าง เพื่อดาวโหลด Package หรือ Repository

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm

(ข้อ 2.1 ให้ดู version ล่าสุดของ epel ด้วย โดยเข้าลิ้ง http://dl.fedoraproject.org/pub/epel/7/x86_64/e แล้วดู epel-release เวอร์ชั่นล่าสุด)

2.2 อัพเดท Package หรือ Repository และติดตั้ง Package php mcrypt

yum update

yum install php-mcrypt

3. เข้า Vitualmin ที่ browser ด้วย url https://yourip:10000 ใช้ user,pass เดียวกับ SSH

3.1 เลือก TAB Virtualmin > Create Virtual Server กรอกรายละเอียด Domain name , Administration username เป็น CUSTOM เป็น user ที่เข้า FTP

3.2 Enabled features ติ๊ก Setup IP-based virtual FTP? เพื่อเปิดใช้ FTP ตามรูป

3.3 เข้า FTP เพื่ออัพโหลด code หา Script PhpmyAdmin มาใช้ และลองเข้า URL เว็บของเรา เท่านี้เราก็ได้เว็บมาใหม่แล้ว

4. Centos7 Timezone ประเทศไทย

cp /usr/share/zoneinfo/Asia/Bangkok /etc/localtime

Configure Timezones and Network Time Protocol Synchronization(NTP)

timedatectl set-timezone Asia/Bangkok

sudo yum install ntp

sudo systemctl start ntpd

sudo systemctl enable ntpd


แล้วพิมคำสั่ง date ดูเวลา Last Login ถูกต้องเป็นปัจจุบันหรือยัง

5. DNS Setup

5.1 วิธี Bind DNS Server ใน virtualmin/webmin

6. Mysql Timezone ประเทศไทย

mysql -u root -p password

SET time_zone = '+7:00';

7. เมื่อเซ็ทอัพครบแล้ว ให้ปิด webmin เพื่อความปลอดภัย ด้วยคำสั่งนี้

setvice webmin stop

https://www.digitalocean.com/community/tutorials/additional-recommended-steps-for-new-centos-7-servers



sudo yum install ntp
Posted in digitalocean | Leave a comment

Centos7 การทำ swap file

ในขั้นตอนของการ create droplet ของ Digitalocean จะให้เลือก Choose a size เหมือนเป็น Spec ของเครื่อง ซึ่งตัวอย่างเลือกแบบ $10 ต่อเดือน จะมี Memory 1 GB และ Disk 30 GB ดังรูป

การติดตั้ง install centos7 โดยค่า default จะยังไม่มีการทำ swap file ซึ่งถ้าเว็บเราใช้ Memory จนหมด เว็บก็จะล่ม การทำ swap file จะมาช่วยในเรื่องนี้ โดยหลักการคือจะนำ disk มาทำเป็น memory จำลอง ถ้าหาก memory ของเซิฟเวอร์หมด จะทำให้เซิฟไม่ล่ม

หลังจากทำ swap file ในตัวอย่างใช้ disk 4GB มาเป็น memory จำลอง เมื่อใช้คำสั่ง top สังเกตในรูป

วิธีการทำ swap file

https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-centos-7

Posted in digitalocean | Leave a comment

Mitre openid

https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server

https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server/wiki/Server-configuration

Posted in ไม่มีหมวดหมู่ | Leave a comment