วันพฤหัสบดีที่ 14 ธันวาคม พ.ศ. 2566

วันศุกร์ที่ 8 ธันวาคม พ.ศ. 2566

Yii2 Spinner

html

<div id="loading-spinner" style="display: none;">

    <!-- Add your spinner image or loading text here -->

    Loading...

</div>

หรือ

<div id="loading-spinner" style="display: none; color: purple; font-size: 20px;">

    <!-- Customize the text and style as needed -->

    <strong>Loading...</strong>

</div>


<javascript>

<script>

$(document).ready(function() {

    $('.popup-link').click(function(e) {

        e.preventDefault();

        var url = $(this).data('url');

        openModalWithData(url);

    });

    $('#selectAll').click(function() {

        // Show the spinner when the button is clicked

        $('#loading-spinner').show();

    });


    // Assuming you have a form with the class 'your-form-class'

    $(document).on('beforeSubmit', 'form[name="frmMain"]', function() {

        // Show the spinner before form submission

        $('#loading-spinner').show();

        return true;

    });

    // If you're using Pjax, hide the spinner on successful Pjax response

    $(document).on('pjax:success', function() {

        $('#loading-spinner').hide();

    });


    // If you're not using Pjax, hide the spinner on any AJAX request completion

    $(document).ajaxStop(function() {

        $('#loading-spinner').hide();

    });

});

function openModalWithData(url) {

    $.ajax({

        url: url,

        method: 'GET',

        success: function(response) {

            $('#myModal .modal-body').html(response);

            $('#myModal').modal('show');

        },

        error: function() {

            alert('An error occurred while fetching data.');

        }

    });

}

</script>


วันพุธที่ 6 ธันวาคม พ.ศ. 2566

Smart Refer EMR

 git clone https://gitlab.com/smartrefer-ubonratchathani/docker-server/smartrefer-client.git

https://gitlab.com/smartrefer/smartemr-web.git

https://gitlab.com/smartrefer/smartemr-api.git

 npm i -g typescript

npm i -g ts-node

npm i -g nodemon

npm i --force

http://localhost:10021/services/visit/2023-10-01/2023-10-01


แจ้งหน่วยบริการทุกแห่งที่ใช้ smart refer

ขณะนี้ทางทีมพัฒนา ได้พัฒนาเวอร์ชั่น 5.1 (เวอร์ชั่นนี้แยกออกจากเขต8) เสร็จเรียบร้อยแล้ว 

*หมายเหตุ ให้ทุกแห่ง down server docker smart refer client และ smart emr ก่อน

แล้วจึงทำตามขั้นตอนการติดตั้งด้านล่างค่ะ


การติดตั้งโปรแกรม R10 Smart Platform

1. cd smartrefer-client 

2. docker-compose down

3. cd ..

4. remane smartrefer-client เป็น  smartrefer-client_old

5. git clone https://gitlab.com/smartrefer-ubonratchathani/docker-server/smartrefer-client.git

6.  cd smartrefer-client

7. แก้ไข ไฟล์ config.api , config.emr , config.pharmacy การเชื่อมต่อ ฐาน his รพ.

8. สั่ง docker system prune -a  แล้วตอบ y 

9. docker-compose  up แล้วลองเข้าระบบ เช่น http://192.168.1.2:8080/    , http://192.168.1.2:8080/smartemr/ ,http://192.168.1.2:8080/coc/

   9.1 ถ้าสั่ง docker-compose  up แล้ว ERROR: Network kong-network declared as external, but could not be found. Please create the network manually using docker network create kong-network and try again. **ให้สั่ง docker network create kong-network ใหม่ครับ

10. ระบบเข้าได้ปกติ ให้กดคีย์บอร์ด Ctrl + C

11. docker-compose  up -d

วันศุกร์ที่ 1 ธันวาคม พ.ศ. 2566

HAIT

 thcc.or.th/index  หนังสือ
http://thcc.or.th/ebook_shelf.html  Ebook
https://drive.google.com/drive/folders/1fWBOu9mff8O463-fiPt9BW1NqQvUmxIF///TMI
การขอรับการตรวจเยี่ยมและตรวจประเมินHAIT รบกวนศึกษาจาก file ใน folder  https://fileserv.moph.go.th/index.php/s/NN3hTcgPocIubgi  

https://tmi.or.th/wp-content/uploads/2023/12/HAIT_Plus_Guideline.pdf
https://drive.google.com/drive/folders/1rvfYS7Io7agyqYgOqbsPgv4987D_tGoE?usp=sharing?? รพ.มะเร็ง
https://pdpa.moph.go.th/pdpa/law_ict.php
https://drive.google.com/drive/folders/1CYZ2sh6LhIUjRuToCZ9pGR_aeEb-Lwj1?usp=sharing?50พรรษา
https://docs.google.com/forms/u/0/d/e/1FAIpQLScqTJbgHvzNL662lhvQ6yGXJJCKkcMEounqRS2eA61Z_jbu-g/formResponse??ประเมิน HAIT ระดับเขต

Proxmox

 https://blog.limitrack.com/proxmox-basic/

วันอังคารที่ 28 พฤศจิกายน พ.ศ. 2566

Jhcis-SQL

 https://jhcismuanglampang.blogspot.com/p/blog-page.html
https://drive.google.com/drive/folders/0B2hokdFdQRsxT2pxb1VyaGdUS2M?resourcekey=0-ctji3-1c-TioO1ao8fvcMA //ไฟล์คิวรี่

https://www.facebook.com/JhcisBetong/?locale=th_TH

โค้ดรายชื่อประชากรอายุ 20-50 ปี เป้าหมายการฉีดวัคซีน dt (เกิดตั้งแต่ 1 ม.ค.08-31 ธ.ค.38)


SELECT person.pid AS pid, concat(ctitle.titlename,person.fname,' ',person.lname)as pname, person.birth AS pbirth, GetAgeYearNum(person.birth,CURRENT_DATE)as age, person.idcard AS pcid, person.sex AS sex, person.hnomoi AS hno, person.mumoi AS mu, village.villno AS village_villno, village.villname AS village_villname FROM person INNER JOIN ctitle ON person.prename = ctitle.titlecode INNER JOIN house ON person.pcucodeperson = house.pcucode AND person.hcode = house.hcode INNER JOIN village ON house.pcucode = village.pcucode AND village.villcode = house.villcode WHERE person.typelive IN ('1','3') and person.pid not in (SELECT persondeath.pid FROM persondeath) and person.birth between '1965-01-01' and '1995-12-31' and SUBSTRING(house.villcode,7,2)<>'00' AND nation='99' order BY village.villno,person.hnomoi*1;
* สปสช.ออนไลน์
https://www.nhso.go.th/page/online_service
* Facebook สปสช.
https://www.facebook.com/NHSO.Thailand/
* Web NEW Authen
https://authenservice.nhso.go.th/authencode/#/login
* Web NEW E-Claim บันทึกข้อมูลเบิก
https://eclaim.nhso.go.th/Client/login
* Web E-claim
https://eclaim.nhso.go.th/webComponent/main/MainWebAction.do
* OP/PP Individual Records
https://op.nhso.go.th/op/main/MainWebAction.do
* รายงานระบบบริหารการเบิกจ่ายกองทุนหลักประกันสุขภาพแห่งชาติ (Smart Money Transfer)
https://smt.nhso.go.th/smtf/#/home/budget/summary
* ระบบข้อมูลพื้นฐานหน่วยบริการ (สำหรับสร้าง QR Code ในการ Scan เพื่อ Authen)
http://cpp.nhso.go.th/CPP/
* KTB
https://www.healthplatform.krungthai.com/healthPlatform/login
* ระบบบูรณาการติดตามข้อมูลการจ่ายชดเชยโรคเฉพาะ (Seamless for DMIS)
https://seamlessfordmis.nhso.go.th/seamlessfordmis/faces/login.jsf
* Drug Catalogue
http://drug.nhso.go.th/drugcatalogue
* Moph-IC
https://cvp1.moph.go.th/dashboard
* Moph Claim
https://claim-nhso.moph.go.th/nhso/
* สกส. SSOP
https://cs5.chi.or.th/ssopupload/Main
* หมอพร้อม Digital ID
https://mohpromt.moph.go.th/mpc/mp-pf/mohprompt-did/
* MOPH IDP Center (สำหรับกำหนดรายชื่อและอุปกรณ์ผู้พิสูจน์ตัวตนสำหรับหมอพร้อม)
https://phr1.moph.go.th/idpadmin
* หมอพร้อม Moph ID
https://moph.id.th/login

วันอังคารที่ 24 ตุลาคม พ.ศ. 2566

SmartEMR Smart Refer

 git clone https://gitlab.com/smartrefer-ubonratchathani/docker-server/smartrefer-client.git

https://gitlab.com/smartrefer/smartemr-web.git

https://gitlab.com/smartrefer/smartemr-api.git
http://192.168.200.92:8081/#/login   
http://192.168.200.92:8081/allergy/
http://192.168.200.92:8081/api/smartemr/
http://192.168.200.92:8081/smartemr/#/main

 docker-compose pull

 docker-compose up -d
ทดสอบ http://localhost:10021/services/visit/2023-10-01/2023-10-01

npm i -g typescript

npm i -g ts-node

npm i -g nodemon

 npm i --force

pm2 start nodemon --name xxxx
pm2 save
######## Smartemr-web๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒

npm i  ถ้าไม่ได้ npm i --force
npm start  รอจนกว่า Compiled เสร็จ

ng serve --host 0.0.0.0 --port 4200 
----- EMR ---
smartrefer_client

.การอัพเดทโปรแกรมเพื่อดึง images ใหม่ใชค ้ า สั่งดงัน ้ ี
docker-compose down
docker-compose pull
docker-compose up -d
คำสั่ง down = docker-compose down
คำสั่ง รัน = docker-compose up -d
คำสั่ง รันและดูError  = docker-compose up 
GET::http://192.168.200.92:8081/api/smartemr/
GET::: http://192.168.200.92:8081/api/smartemr/services/visit/2022-10-02/2022-10-30













วันอังคารที่ 10 ตุลาคม พ.ศ. 2566

ClaimDT

 {

    "statusCode"200,
    "results": {
        "seq""0002982975",
        "hn""031416",
        "pid""2341400019081",
        "id_type""1",
        "title""น.ส.",
        "fname""จรงค์ทรัพย์",
        "lname""พันธุ์วรรณ",
        "marriage""1",
        "dob""1993-07-20",
        "sex""2",
        "nation""099",
        "hcode""10953",
        "hospital_name""โรงพยาบาลม่วงสามสิบ",
        "visit_date_time""2023-10-08T20:25:39.000Z",
        "vaccine": [
            {
                "code""106",
                "lot_number""233L7002B",
                "dose_quantity""1",
                "manufacturer""",
                "expiration_date""2024-07-31",
                "occurence_time""2022-06-27  13:00",
                "site_code""",
                "route_code""IM",
                "license_no""ว.20812",
                "name""นพ.ประจักษ์ สีลาชาติ ",
                "note"""
            }
        ]
    },
    "results_claim": {
        "error""unauthorized",
        "message""JWT Expire",
        "message_th""ยืนยันตัวตนไม่สำเร็จ",
        "status"401
    }
} ##########################################################################
SELECT distinct o.visit_id as seq ,o.hn ,p.cid as pid ,'1' as id_type ,CASE WHEN p.PRENAME not in('') THEN TRIM(p.PRENAME) WHEN TIMESTAMPDIFF(year,p.BIRTHDATE,NOW()) < '15' AND p.sex='1' THEN 'ด.ช.' WHEN TIMESTAMPDIFF(year,p.BIRTHDATE,NOW()) >= '15' AND p.sex='1' THEN 'นาย' WHEN TIMESTAMPDIFF(year,p.BIRTHDATE,NOW()) < '15' AND p.sex='2' THEN 'ด.ญ.' WHEN TIMESTAMPDIFF(year,p.BIRTHDATE,NOW()) >= '15' AND p.sex='2' AND p.MARRIAGE ='1' THEN 'น.ส.' ELSE 'นาง' END as title ,trim(p.fname) as fname ,trim(p.lname) as lname ,oc.oc_name as nameoccptn ,CASE WHEN p.marriage = '1' THEN '1' WHEN p.marriage = '2' THEN '2' WHEN p.marriage = '3' THEN '3' WHEN p.marriage = '4' THEN '6' ELSE '9' END AS marriage ,p.birthdate as dob ,p.sex ,timestampdiff(year,p.birthdate,o.reg_datetime) as age ,concat('0',n.natn_id) as nation ,h.hospcode as hcode ,concat('โรงพยาบาล',h.hospname) as hospital_name ,DATE_FORMAT(o.reg_datetime,'%Y-%m-%dT%T.000Z') as visit_date_time ,'' as code_status ,d.drug_id ,d.drug_name FROM address_hosp h, opd_visits o INNER JOIN cid_hn c ON o.HN=c.HN AND o.IS_CANCEL=0 INNER JOIN population p ON p.CID=c.CID LEFT JOIN opd_diagnosis dx on dx.visit_id= o.visit_id AND dx.is_cancel=0 LEFT JOIN icd10new i on i.icd10=dx.icd10 INNER JOIN prescriptions pr ON pr.visit_id = o.visit_id and pr.IS_CANCEL = 0 LEFT JOIN drugs d ON d.drug_id = pr.drug_id LEFT JOIN occupation_new oc ON oc.oc_id = p.oc_id LEFT JOIN nations n ON n.natn_id = p.natn_id LEFT JOIN ipd_reg ipd ON ipd.visit_id = o.visit_id AND ipd.is_cancel = 0 where o.visit_id = ${info.vn} #o.reg_datetime BETWEEN CURDATE()-2 AND NOW() AND ipd.adm_id is null AND TIMESTAMPDIFF(year,p.birthdate,o.reg_datetime) >= 25 AND d.drug_id = '1850' ตามด้วย SELECT DISTINCT CASE WHEN cv.dose_time = '1' THEN '106' WHEN cv.dose_time = '2' THEN '107' WHEN cv.dose_time = '3' THEN '108' ELSE '109' END as 'code' ,max(od.lot_no) as lot_number ,'1' as dose_quantity ,'' as manufacturer ,DATE_FORMAT(max(od.exp_date),'%Y-%m-%d') as expiration_date ,DATE_FORMAT(cv.vac_datetime,'%Y-%m-%d %H:%s') as occurence_time ,'' as site_code ,'IM' as route_code ,'ว.20812' as license_no ,'นพ.ประจักษ์ สีลาชาติ ' as 'name' ,'' as note FROM opd_visits o INNER JOIN cid_hn c ON o.HN=c.HN AND o.IS_CANCEL=0 INNER JOIN population p ON p.CID=c.CID LEFT JOIN cid_vaccinate_v2 cv ON o.visit_id = o.visit_id LEFT JOIN vaccinecovid vc ON vc.vaccine_id = cv.vaccine_id LEFT JOIN order_details od ON od.ivt_id = vc.drug_id #LEFT JOIN invoices v ON v.ivs_id = od.ivs_id where o.visit_id = '0002982975' #o.visit_id = ${info.vn} AND vc.drug_id = '1850' LIMIT 1

วันศุกร์ที่ 29 กันยายน พ.ศ. 2566

InnoDB กับ Lock wait timeout exceeded!

 ผมใช้ innoDB  ใน MySQL แล้วเจอข้อความ error นี้

Lock wait timeout exceeded; try restarting  transaction

1 thought on “InnoDB กับ Lock wait timeout exceeded!”

  1. ubuntu
    Path::::: /etc/mysql/my.cnf
    sudo nano /etc/mysql/my.cnf

    วิธีแก้คือไปเพิ่มใน my.cnf หรือ my.ini
    innodb_log_file_size = 100M
    file นี้มันเก็บ transaction ไว้ default ของมันแค่ 5mb
    มันไม่พอต้องเพิ่ม

    สมมุติสเปกเครื่องเซิร์ฟเวอร์ CPU 4 core  RAM 4 GB)

    # InnoDB Settings
    default_storage_engine          = InnoDB
    innodb_buffer_pool_instances    = 1     # Use 1 instance per 1GB of InnoDB pool size
    innodb_buffer_pool_size         = 1G    # Use up to 70-80% of RAM
    innodb_file_per_table           = 1
    innodb_flush_log_at_trx_commit  = 0
    innodb_flush_method             = O_DIRECT
    innodb_log_buffer_size          = 8M
    innodb_log_file_size            = 256M
    innodb_stats_on_metadata        = 0
    

    คำสั่งคิวรีที่ใช้ตรวจสอบค่าที่เหมาะสมของ innodb_buffer_pool_size

    SELECT CEILING(Total_InnoDB_Bytes*1.6/POWER(1024,3)) RIBPS FROM
    (SELECT SUM(data_length+index_length) Total_InnoDB_Bytes
    FROM information_schema.tables WHERE engine='InnoDB') A;
    

    เมื่อใช้ดาต้าเบสไปได้ 1-2 สัปดาห์ ให้ใช้คำสั่งคิวรีนี้เพื่อใช้ตรวจสอบว่าหน่วยความจำ GB จริงที่ถูกใช้โดย InnoDB Data ใน InnoDB Buffer Pool ในขณะนี้ถูกใช้งานไปเท่าไร

    SELECT (PagesData*PageSize)/POWER(1024,3) DataGB FROM
    (SELECT variable_value PagesData
    FROM information_schema.global_status
    WHERE variable_name='Innodb_buffer_pool_pages_data') A,
    (SELECT variable_value PageSize
    FROM information_schema.global_status
    WHERE variable_name='Innodb_page_size') B;
    

    และมีค่าอื่นๆ อีกเช่น

    join_buffer_size = 1M
    read_buffer_size = 1M
    sort_buffer_size = 2M
    read_rnd_buffer_size = 1M
    

    เสร็จแล้วให้บักทึก และ Restart การทำงาน MySql/Mariadb ใหม่อีกครั้ง

    แนะนำบทความเพื่อศึกษาเพิ่มเติม : Tuning MySQL : สำรวจตัวเองและเข้าใจตัวแปร



วันเสาร์ที่ 9 กันยายน พ.ศ. 2566

Backup VMware ESXI6.7

 Custom Pocy Regis  ///เป็นวิธีที่เสถียรมากที่สุด
--Datastore---> .VMDK.File----->Regis.VMX
https://www.youtube.com/watch?v=qU5HMZveN9E

--ไปที่เก็บ Datastore  Browser
--เลือกโฟลเดอร์ที่เก็บ vm
--หา 2 ไฟล์ 
   * 1.  .vmdk
   * 2. . vmx   // ไฟล์ Rergister


--สร้างโฟลเดอร์ ที่จะเก็บ Image

วันอังคารที่ 22 สิงหาคม พ.ศ. 2566

วันพุธที่ 16 สิงหาคม พ.ศ. 2566

ไฟฟ้าดับ

วันที 24 กันยายน 2566 เวลา  16.00  น.  การไฟฟ้าม่วง  จะขอดับไฟ  ทุกระบบ  เพื่อทำการเปลี่ยนสายที่เสื่อมสภาพ  ตรงบริเวณข้างห้องคลอด      เป็นเวลา  20  นาที  


มีมีการแก้ไขไฟฟ้าจากการไฟฟ้า  เมื่อวันศุกร์ที่ 7 พฤษภาคม 2564 เวลา 16.00 น.

เพื่อเปลี่ยนเครื่องกำเนิดไฟฟ้าในโรงพยาบาล งดการจ่ายไฟฟ้าทุกจุด รวมใช้เวลาประมาณ 1 ชั่วโมง

- ก่อนการเชื่อมต่อ ทางช่างและผู้รับเหมาจะทดสอบระบบปั่นไฟฟ้าสำรอง ให้มั่นใจว่าเมื่อเชื่อมต่อระบบแล้วจะสามารถรองรับโหลดเครื่องใช้ไฟฟ้าและใช้งานได้ปกติ

- กำหนดการเชื่อมต่อระบบคือ วันศุกร์ที่ 7 พ.ค.2564 เวลา 16.00 น.

- ผู้รับเหมารับปากที่จะเชื่อมต่อให้เสร็จภายในเวลา 30 นาที 

- การเตรียมการของหน่วยงาน

o ก่อนดับไฟฟ้า บริหารจะประกาศให้ทุกหน่วยงานทราบ เพื่อเตรียมตัวล่วงหน้า 30 นาที

o ในช่วงเวลาที่ดับไฟฟ้าเพื่อเชื่อมต่อ ระบบ Mbase และ Internet จะใช้การไม่ได้

o หากไฟฟ้าดับเกินเวลา 30 นาที จะใช้ระบบบริการโดย OPD card ตามที่เคยฝึกซ้อม

** วันที่ 9 ตุลาคม 2565 ปิดระบบการจ่ายไฟฟ้าทั้งหมด

ตั้งแต่เวลา 11.30 น. -14.00 น  ใช้เวลา 2 ชั่งโมง 30 นาที

คุณชิตพันธ์ พิสุทธิโกศล ขึ้นเวร 

ระบบเครือข่ายไม่มีการหยุดชะงักในช่วงเวลาที่ไฟฟ้าดับ



**วันที่ 13 สิงหาคม 2566 ปิดระบบการจ่ายไฟฟ้าทั้งหมด เฉพาะตึกเวชปฏิบัติชั้น2 เนื่องจากเปลี่ยนเสาไฟใหม่ที่ต้องการยกให้สูงจากหลังคาตึกแพทย์แผนไทยที่กำลังสร้างใหม่

ตั้งแต่เวลา 11.30 น. -13.00 น  คุณศุภมิตร สุทโธ  ขึ้นเวร 

เครื่องสำรองไฟที่ห้องสำรองใช้งานได้ดี สามารถสำรองได้ เกิน 1 ชั่งโมง 30 นาที

ระบบเครือข่ายไม่มีการหยุดชะงักในช่วงเวลาที่ไฟฟ้าดับ


**วันที่ 14 สิงหาคม 2566 ปิดระบบการจ่ายไฟฟ้าทั้งหมด เฉพาะตึกเวชปฏิบัติชั้น2 เนื่องจากเปลี่ยนเสาไฟใหม่ที่ต้องการยกให้สูงจากหลังคาตึกแพทย์แผนไทยที่กำลังสร้างใหม่  เปลี่ยนสายไฟที่เชื่อมเข้าตึกเวชปฏิบัติใหม่

ตั้งแต่เวลา 10.00 น. -11.00 น  คุณชาตรี บุญทา  ขึ้นเวร 

เครื่องสำรองไฟที่ห้องสำรองใช้งานได้ดี สามารถสำรองได้ เกิน 1 ชั่งโมง

ระบบเครือข่ายไม่มีการหยุดชะงักในช่วงเวลาที่ไฟฟ้าดับ


ตัวชี้วัด:ระบบเครือข่ายล่มเกิน15 นาที่โดยไม่ได้ตั้งใจ ตัวชี้วัดให้เป็น 0 คือไม่ไห้เกินขึ้น จากการเปรียบเทียบ5ปี

ทุกอย่างเป็น 0 เท่านั้น


วันพฤหัสบดีที่ 22 มิถุนายน พ.ศ. 2566

ตรวจสอบการจองห้อง

 https://www.thaicreate.com/php/forum/136259.html
http://sunzandesign.blogspot.com/2013/05/php-mysql-booking-room.html  คิวรี่ตรวจสอบ

โดยจะเขียน SQL เพื่อหาห้องว่างแบบเต็มๆ ได้ดังนี้

SELECT *
FROM tb_room
WHERE room_number NOT IN
(
SELECT
tb_booking_detail.room_num
FROM
tb_booking
INNER JOIN
tb_booking_detail on tb_booking.id = tb_booking_detail.ref_booking_id
WHERE
(date_start BETWEEN ‘2018–07–18’ AND ‘2018–07–22’)
OR
(date_end BETWEEN ‘2018–07–18’ AND ‘2018–07–22’)
OR
(‘2018–07–18’ BETWEEN date_start AND date_end)
OR
(‘2018–07–22’ BETWEEN date_start AND date_end )
)

วันพฤหัสบดีที่ 18 พฤษภาคม พ.ศ. 2566

Cancer Anywhere2023

 Cancer Anywhere2023

 รพ. ที่ติดปัญหาเข้าใช้งาน tcb2023 ติดต่อผ่านตรงนี้นะครับ

 https://canceranywhere.com/webindex/
https://drive.google.com/drive/folders/1tuPZSWoB7L1xWWUbwROlak4ZQMx3FHRK
https://canceranywhere.com/documents/caw_api_20230115.pdf
คู่มือ ลองใช้ postman รันดูครับ

วันศุกร์ที่ 17 กุมภาพันธ์ พ.ศ. 2566

แปลงวันที่ พ.ศ ให้เป็นไทย ของ Yii2

 #แปลงวันที่ พ.ศ ให้เป็นไทย ของ Yii2

<?php
function thai_date($time){
global $thai_day_arr,$thai_month_arr;
$thai_date_return="วัน".$thai_day_arr=array("อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์")[date("w",$time)];
$thai_date_return.= "ที่ ".date("j",$time);
$thai_date_return.=" เดือน".$thai_month_arr=array(
"","มกราคม","กุมภาพันธ์","มีนาคม","เมษายน", "พฤษภาคม",
"มิถุนายน", "กรกฎาคม", "สิงหาคม","กันยายน", "ตุลาคม",
"พฤศจิกายน", "ธันวาคม"
)[date("n",$time)];
$thai_date_return.= " พ.ศ.".(date("Yํ",$time)+543);
// $thai_date_return.= " ".date("H:i",$time)." น.";
return $thai_date_return;
}
?>


วันจันทร์ที่ 9 มกราคม พ.ศ. 2566

Mimio-Ubuntu

 

จะติดตั้ง Minio บน Ubuntu ได้อย่างไร?

เพื่อใช้บริการที่ยอดเยี่ยมนี้ เราจะพิมพ์คำสั่งต่อไปนี้เพื่อให้สามารถใช้งาน Minio ในระบบของเราได้

Primero เราจะดาวน์โหลดและติดตั้งไบนารีบนระบบ:

sudo useradd --system minio-user --shell /sbin/nologin
curl -O https://dl.minio.io/server/minio/release/linux-amd64/minio
sudo mv minio /usr/local/bin
sudo chmod +x /usr/local/bin/minio
sudo chown minio-user:minio-user /usr/local/bin/minio

ตอนนี้ Minio ต้องเริ่มต้นด้วยการรีบูตระบบ และได้รับการยอมรับจาก OS ว่าเป็นบริการที่ทำงานอยู่

1
2
3
4
sudo mkdir /usr/local/share/minio
sudo mkdir /etc/minio
sudo chown minio-user:minio-user /usr/local/share/minio
sudo chown minio-user:minio-user /etc/minio

ภายในไดเร็กทอรี / etc / default เราต้องสร้างไฟล์ minio เพื่อระบุตัวแปรสภาพแวดล้อม เช่นหมายเลขพอร์ตที่เราจะฟังและไดเร็กทอรีที่ควรบันทึกข้อมูล

Vamos เพื่อสร้างไฟล์ใน / etc / default / minio และเพิ่มเนื้อหาต่อไปนี้ภายใน:

1
2
3
sudo nano /etc/default/minio
MINIO_VOLUMES="/usr/local/share/minio/"
MINIO_OPTS="-C /etc/minio --address tu-dominio.com:443"

คุณต้องแก้ไข "your-domain" สำหรับโดเมนหรือโดเมนย่อยที่คุณจะกำหนดให้กับ minio โดยเฉพาะ:

1
2
3
4
5
6
sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/minio
curl -O https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/
minio.service
sudo mv minio.service /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable minio

ตอนนี้ เรากำลังจะนำใบรับรอง TLS ไปใช้กับ certbot:

01
02
03
04
05
06
07
08
09
10
11
sudo apt update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot
sudo certbot certonly --standalone -d tu-dominio.com --staple-ocsp -m
tu@correoelectronico.com --agree-tos
cp /etc/letsencrypt/live/minio.ranvirslog.com/fullchain.pem /etc/minio/certs/public.crt
cp /etc/letsencrypt/live/minio.ranvirslog.com/privkey.pem /etc/minio/certs/private.key
chown minio-user:minio-user /etc/minio/certs/public.crt
chown minio-user:minio-user /etc/minio/certs/private.key

ในที่สุด มาเริ่มบริการและตรวจสอบว่าทุกอย่างทำงานถูกต้อง:

1
2
3
sudo service minio start
 
sudo service minio status

https://ubunlog.com/th/crea-tu-almacenamiento-privado-al-estilo-aws-s3-con-minio-en-ubuntu/
https://ciksiti.com/th/chapters/11752-a-complete-guide-to-install-minio-server-and-client-on-ubunt