[Microsoft Azure] Deploy PHP website lên Azure App Service

Khi phát triển một ứng dụng website PHP, việc sử dụng LAMP stack đã trở thành xu hướng phổ biến trong thời gian gần đây. Tuy nhiên ở bài viết này, tôi sẽ hướng dẫn các bạn triển khai một ứng dụng website PHP với một lựa chọn hoàn toàn mới đó là kết hợp PHP với SQL Server sử dụng IIS của Microsoft Azure làm nền tảng server.

Đăng ký tài khoản Microsoft Azure

Đầu tiên, bạn cần phải có một tài khoản Microsoft Azure. Hãy truy cập vào https://azure.microsoft.com/en-us/free/ và chọn “Start now”:

Bạn sẽ được yêu cầu đăng nhập tài khoản Microsoft của mình. Hãy đăng nhập nhé. Trường hợp bạn chưa có tài khoản Microsoft (email có đuôi là @hotmail, @outlook, @live) thì nên đăng ký một cái để tận hưởng các dịch vụ của Microsoft nhé.

  1. Kiểm tra tài khoản bạn đã đăng nhập
  2. Chọn Country
  3. Nhập số điện thoại ở nhà
  4. Nhập số di động của bạn
  5. Nhấn nút Send text message

Việc tiếp theo là ngồi canh điện thoại của bạn. Chờ một cái tin nhắn giống như thế này:

Nhập cái code này vào ô mới hiện ra trên web:

Mục thứ 3 xuất hiện, bạn điền thông tin thẻ tín dụng của mình vào rồi click “Sign up”.

Tại sao lại cần thẻ tín dụng? Theo như thông tin mô tả thì thông tin thẻ tín dụng này chỉ thu thập để xác thực danh tính của bạn. Sẽ không có khoản tiền nào bị trừ. Bạn nên điền đầy đủ tất cả các thông tin có thể:

Sau khi đăng ký xong, bạn sẽ thấy một giao diện chào mừng như thế này là thành công nhé.

Con số này là số ngày bạn được dùng Azure miễn phí, được cấp hẳn 200 USD trong 29 ngày này để xài/test tất cả các dịch vụ của Azure.

Deploy website lên Azure

Tạo Web App và SQL Databases

Tiếp theo, bạn hãy truy cập vào địa chỉ https://portal.azure.com/ và đăng nhập bằng tài khoản mà bạn vừa đăng ký ở trên.  Sau khi đăng nhập xong, bạn có thể khởi tạo SQL databases và Web App cho site của bạn:



ãy lưu lại các thông tin đăng ký này để sử dụng cho các phần tiếp theo của bài viết. Khi tạo mới thành công, Web App và SQL Database sẽ được hiển thị như bên dưới:



Cấu hình FTP để upload source

Có 2 cách để thực hiện lấy thông tin cấu hình FTP cho website của bạn:

  • Trường hợp mặc định, bạn truy cập vào Web App mà bạn vừa tạo ở trên, chọn “Get Publish Info” để download về máy.

Bạn sẽ nhận được một file .PublishSettings và hãy mở nó ra bằng notepad. Tiếp tục search với từ khóa publishMethod=”FTP” và tìm tới publishUrl/userName/userPWD để sử dụng cho tài khoản FTP của bạn.

  • Ngoài ra bạn cũng có thể tự tạo mới một tài khoản FTP cho mình bằng cách chọn “All setting” và chọn tiếp “Deployment creadentials”, nhập thông tin tài khoản FTP của bạn và click “Save”: (khuyến khích dùng)

Sau đó, bạn sẽ dùng tài khoản này để đăng nhập vào một FTP Client nào đó, trong trường hợp này tôi sử dụng WinSCP để đăng nhập.

Bây giờ bạn có thể upload source website của bạn lên thư mục gốc /site/wwwroot của Azure.

Kết nối tới SQL Database

Để có thể kết nối tới database trên server, bạn hãy quay trở lại “Microsoft Azure > SQL Databases”, chọn lấy một database của bạn, sau đó click vào link “Show database connection string” và copy đoạn text trong PHP ra notepad để có thể xem thông tin kết nối tới database server của bạn. Ở đây chứa thông tin về database của bạn và một vài sample code sử dụng để kết nối tới database. Tuy nhiên không thấy có password của database của bạn, vậy nó ở đâu?

Hãy xem lại mục Tạo Web App và SQL Databases ở phía trên, bạn đã đăng ký một server database với username và password. Đó chính là thông tin để kết nối tới database của bạn. Nếu bạn chẳng may quên mất mật khẩu kết nối database, bạn hãy làm như sau:

Bạn đặt lại password trong phần “Reset admin password”, sau đó click “save” để lưu lại. Và giờ bạn có thể sử dụng nó để kết nối tới database được rồi. Ở đây, thông tin kết nối tới database của tôi như sau:

Server: kanji-testapp.database.windows.net
SQL Database: kanji
User Name: kanji-admin
Password: <password mà bạn đã đăng ký>

Bây giờ, bạn phải connect Web App của bạn tới database trước đã. Bạn vào Web App của bạn, chọn “All settings > Database Connections” và thực hiện các thao tác như bên dưới:


Sử dụng username và password đã đăng ký cho database để điền vào phần “Connection string”. Chọn OK để hoàn tất. Bạn có thể kiểm tra Web App của bạn đã được kết nối tới database này hay chưa bằng cách sau: (xem hình dưới)

Vậy là kết nối Web App tới database gần như đã xong. Tuy nhiên, để website của bạn chạy được thì bạn cần phải config website của bạn nữa. Đây là đoạn code mà tôi đã sử dụng cho config website của tôi, bạn có thể thay đổi các thông tin này phù hợp với website của bạn:

 Lưu ý: Địa chỉ IP Client của bạn có thể thay đổi theo thời gian và bạn có thể không truy cập được vào SQL Databases của bạn cho đến khi bạn tạo ra một cài đặt firewall mới. Xem How to: Configure firewall settings on SQL Database using the Azure Portal để biết thêm chi tiết.

Bạn sử dụng SQL Server Management Studio  để kết nối tới database của bạn:

Hoặc bạn cũng có thể kết nối bằng Navicate Premium  như sau:

Sau khi kết nối tới thành công, bạn có thể làm việc với các table, với các dòng dữ liệu trên database một cách bình thường được rồi.

Vậy là tôi đã hướng dẫn xong cho các bạn cách sử dụng Microsoft Azure cho các dự án PHP của mình. Chúc các bạn có những trải nghiệm thú vị cùng với Microsoft Azure.


[ML] Classification – Part 3