18 มกราคม 2561

SQL Server - ติดตั้ง SQL Server บน Linux (Ubuntu)

        เป็นการปรับตัวของ Microsoft ที่พัฒนา SQL Server สำหรับติดตั้งบน OS Linux ทำให้ผู้ที่อยากใช้ Linux เป็น Server ทำการติดตั้ง SQL Server ได้แล้ว (ประหยัดงบไปได้เยอะสำหรับ หน่วยงานเบี้ยน้อยหอยน้อย) เอาละมาเริ่มกันเลย

1. ทำการติดตั้งระบบปฏิบัติการ Linux สำหรับผู้เรียนใช้ Ubuntu 16.04 ซึ่ง Microsoft ก็ระบุให้ใช้รุ่น 16.04 หรือใหม่กว่า

2. เปิดหน้าต่าง Terminal ขึ้นมาแล้วลุยกันเลย (วิธีติดตั้งอ้างอิงมาจาก https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu)

          2.1 Import the public repository GPG keys: ด้วยคำสั่ง

             wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

          2.2 Register the Microsoft SQL Server Ubuntu repository: ด้วยคำสั่ง

               sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"

          2.3 ติดตั้ง SQL Server : ด้วยคำสั่ง

                sudo apt-get update 
        sudo apt-get install -y mssql-server

                ในขั้นตอนนี้การติดตั้งจะให้

          2.4 ทำการเรียก mssql-conf setup เพื่อเลือกว่าจะติดตั้ง SQL Server รุ่นไหน มีทั้งเสียเงินและฟรี หลายรุ่นมาก และกำหนดรหัสผ่านสำหรับ sa : ด้วยคำสั่ง

                sudo /opt/mssql/bin/mssql-conf setup


           เมื่อถึงขั้นตอนที่ให้เลือกว่าจะติดตั้ง SQL Server ให้พิมพ์ข้อ 3 เพื่อติดตั้ง SQL Server รุ่น Express ระบบจะติดตั้งและ ให้กำหนดรหัสผ่าน  
           การกำหนดรหัสผ่านให้กำหนดอยา่งน้อย 8 ตัว มีตัวอักษรพิมพ์ใหญ่ พิมพ์เลข ตัวเลข

           2.5 ดูสถานะของ service ที่ run : ด้วยคำสั่ง
     
        systemctl status mssql-server  

           ** หากมีการใช้งานแบบรีโมท SQL Server ให้เปิดพอร์ด 1433 และ 433 ด้วยคำสั่ง 
               
        sudo ufw enable
        sudo ufw allow 1433
        sudo ufw allow 433
 

          เรียบร้อยสำหรับการติดตั้ง SQL Server บน Linux แต่ยังไม่จบ... อ่านต่อข้อ 3

3. ติดตั้ง SQL Server Command Line Tools เครื่องมือป้อนคำสั่ง SQL แบบ textmode บน Linux

         3.1 Import the public repository GPG keys: ด้วยคำสั่ง         

         wget -qO- https://packages.microsoft.com/keys/microsoft.asc 
| sudo apt-key add -

          3.2 Register the Microsoft SQL Server Ubuntu repository: ด้วยคำสั่ง

          sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"

          3.3 ติดตั้ง SQL Command Line : ด้วยคำสั่ง

          sudo apt-get update
          sudo apt-get install -y mssql-tools unixodbc-dev

         3.4 ทำการเพิ่ม PATH สำหรับเรียกใช้งาน sqlcmd จากที่ไหนก็ได้ : ด้วยคำสั่ง 

          echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
          echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
          source ~/.bashrc

 *** เรียบร้อยสำหรับการติดตั้ง SQL Server บนระบบปฏิบัติการ Linux

การเรียกใช้ SQL Server ผ่านทาง SQL Server Command Line ใช้คำสั่ง

          sqlcmd -S localhost -U SA -P รหัสผ่าน

ที่เหลือก็สร้าง database สร้าง table ด้วยคำสั่ง T-SQL ตามต้องการ

หรือ เปิดใช้งาน SQL Server Management Studio จากเครื่องที่เป็น Windows ที่อยู่ในเครือข่ายเดียวกันโดยอ้าง Server ด้วยหมายเลข ip ของ Server Linux

 ต้องการดูหมายเลข ip ของ Linux ให้ใช้คำสั่ง 
 
         ifconfig


4. การติดตั้ง Full Text Search

         4.1 ติดตั้ง mssql-server-fts : ด้วยคำสั่ง

        sudo apt-get update 
        sudo apt-get install -y mssql-server-fts

5. หากต้องการจัดการฐานข้อมูลด้วย SQL Server Management Studio (SSMS) สำหรับในช่วงเวลานี้จำเป็นต้องติดตั้งบนระบบปฏิบัติการ Windows ที่เครื่องลูกข่ายเท่านั้น ยังไม่รู้ว่าอีกเมื่อไหร่ MS จะทำ SSMS สำหรับ Linux มาให้เราใช้
         5.1 ให้ดาวน์โหลด SSMS ตั้งแต่รุ่น SSMS 17.x ขึ้นไปมาใช้งาน โดยเข้าไปดาวน์โหลดที่เว็บ

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

6. ติดตั้ง MariaDB
 
        sudo apt-get update 
        sudo apt-get install mariadb-server
  
           ทำการกำหนดรหัสผ่านให้กับ root โดยพิมพ์คำสั่ง
  
        sudo apt-get install mysql_secure_installation
 
            จะขึ้นให้กำหนดรหัสผ่านสำหรับ root จากนั้นกำหนด
            Remove anonymous user ?    Y
            Disallow root login remotely?  Y
            Remove test database and access to it? Y
            Reload privilege tables now? Y

            เข้าใช้งาน mysql ด้วยคำสั่ง

         sudo mysql -uroot -pรหัสผ่าน

7. ติดตั้ง PHP7
 
        sudo apt-get update 
        sudo apt-get install php-fpm

           ทำให้ nginx มองเห็น php
 
        sudo nano /etc/nginx/sites-enabled/default 
 
           ให้ไปที่บรรทัด

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;
           แล้วแก้เพิ่ม index.php เข้าไป

        index index.php index.html index.htm index.nginx-debian.html; 
  
           ไปแก้ตรง pass the PHP script โดยเอาเครื่องหมาย # ออก ตามตัวอย่าง

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
               include snippets/fastcgi-php.conf;
        #
        #       # With php7.0-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php7.0-fpm:
               fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }        
  
           และตรงบรรทัด deny access to .htaccess file
 
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
               deny all;
        }
 
           กดปุ่ม Ctrl-O แล้ว Enter จากนั้นกด Ctrl-X เพื่อบันทึก และออกจากการแก้ไข

8. ติดตั้ง nginx เพื่อทำ web server
 
        sudo apt-get update 
        sudo apt-get install nginx
 
           การ เปิด - ปิด Service ของ nginx
          
        sudo service nginx stop         -- ปิด Service ของ nginx
        sudo apt-get install nginx      -- เปิด Service ของ nginx

           สำหรับไฟล์ html ต่างๆ จะถูกจัดเก็บไว้ภายใต้ /var/www/html สามารถเข้าไปดูได้โดยใช้คำสั่ง

        cd /var/www/html 
        ls -l 

           ทำการสร้างไฟล์ php เพื่อทดสอบ

        sudo nano /var/www/html/index.php
 
           จากนั้นพิมพ์คำสั่งดังนี้          
           
       <?php 
            phpinfo();
       ?>
 
           บันทึกแล้วทดสอบ....

9. ติดตั้ง phpmyadmin สามารถเข้าไปดูได้โดย
อ้างอิงจาก https://websiteforstudents.com/install-phpmyadmin-on-ubuntu-17-04-17-10-with-nginx-mariadb-and-php-fpm-support/ 

       sudo apt-get install phpmyadmin php-gettext
 
ระหว่างติดตั้งจะให้กำหนดรหัสผ่านสำหรับ MariaDB หรือ MySQL
จากนั้น เมื่อถึงหน้าจอกำหนด Web Server ให้คลิกปุ่ม Tab เพื่อมาที่ปุ่ม OK โดยไม่ต้องเลือก Web Server  ดังภาพ















แล้วทำการติดตั้งไปจนเสร็จ

10. ส่วนนี้เพิ่มเติม สำหรับ ทำให ้Files (File Manager) เปิดแบบใช้สิทธิ root ให้ติดตั้งโปรแกรม ด้วยคำสั่ง
           
      sudo apt-get install -y nautilus-admin

      nautilus -q 

11. การเปิด File Manager ของ Ubuntu ผ่านทาง Terminal
           ให้ไปที่ Folder ที่ต้องการ เช่น cd  /var/www/html
           จากนั้นเปิด File Manager ด้วยคำสั่ง

      sudo xdg-open .


การติดตั้ง SQL Server , nginx , PHP 7, MariaDB  บน Ubuntu ง่ายนิดเดียว

สวัสดีมีเงินเหลือใช้

16 มกราคม 2561

VB.Net : Send email

การส่ง Email ด้วย VB.Net ผ่านทาง gmail ของ google
1. ให้ทำการสร้างฟอร์ม จากนั้นทำการออกแบบหน้าจอตามตัวอย่าง

 ให้กำหนดชื่อ Textbox  และ Label ตามภาพ

- txtTo คือ email ที่เราต้องการส่ง
- txtSubject คือ ข้อความหัวเรื่อง
- txtMessage คือข้อความที่ส่ง
      - กำหนด Multiline = true
- lblSendResult ไว้สำหรับแสดงสถานะการส่งว่าสำเร็จหรือไม่
- ปุ่ม Send Mail ไว้คลิกส่ง email

2. จากนั้นทำการดับเบิ้ลคลิกที่ปุ่ม Send Mail เพื่อทำการเขียนคำสั่ง ดังนี้ (คำสั่งสีน้ำเงิน)
** ทำการ Import System.Net.Mail เข้ามาด้วย ห้ามลืม เดี๋ยวจะ Error

Imports System.Net.Mail 

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim Mail As New MailMessage
        Try
            Mail.Subject = txtSubject.Text
            Mail.To.Add(txtTo.Text)
            Mail.From = New MailAddress("ใส่EmailของGoogle@gmail.com")
            Mail.Body = txtMessage.Text

        
            ' หากต้องการแนบไฟล์ ก็เพิ่มตรงส่วนนี้เข้าไป
            Dim attachment As System.Net.Mail.Attachment
            attachment = New System.Net.Mail.Attachment("D:\Pictures\vbSendMail.png")
            Mail.Attachments.Add(attachment)


            Dim SMTP As New SmtpClient("smtp.gmail.com")
            SMTP.EnableSsl = True
            SMTP.Credentials = New System.Net.NetworkCredential("ใส่EmailของGoogle@gmail.com", "ใส่ Email Password")
            SMTP.Port = 587
            SMTP.Send(Mail)
            lblSendResult.Text = "Email sent successfully!"

            txtTo.Text = ""
            txtSubject.Text = ""
            txtMessage.Text = ""
        Catch ex As Exception
            lblSendResult.Text = ex.Message
        End Try
    End Sub

End Class


ทำการบันทึกฟอร์ม

3. จากนั้นทำการ login เข้าไปที่ gmail ที่เราจะใช้สำหรับเป็นตัวส่ง email

4. หลังจากที่ login เข้า gmail แล้วให้เข้าไปกำหนดสิทธิโดยเข้าไปที่เว็บ 

https://myaccount.google.com/lesssecureapps

แล้วทำการเปิดสิทธิ์ตามภาพ


จากนั้นก็ไป run ฟอร์มที่ VB.Net แล้วทดสอบส่ง Email ดู

หมายเหตุ  สำหรับการกำหนดค่า เซิร์ฟเวอร์ SMTP ของ gmail สามารถเข้าดูได้ที่
https://support.google.com/a/answer/176600?hl=th


โชคดีมีเมล์ส่ง


"I Believe in You"

Copyright(c) 2007 - 2022 by Kasem Kamolchaipisit.