Thứ năm, 01/10/2015 | 00:00 GMT+7

Cách cài đặt và bắt đầu với Symfony 2 trên Ubuntu 14.04

Symfony là một framework PHP open-souce đầy đủ. Nó nổi tiếng với các thành phần độc lập có thể dễ dàng tích hợp vào bất kỳ dự án PHP nào khác. Khung công tác Symfony phù hợp để xây dựng các ứng dụng PHP ở bất kỳ kích thước nào, bao gồm cả các ứng dụng console chỉ chạy trên dòng lệnh.

Trong hướng dẫn này, ta sẽ thấy cách cài đặt, cấu hình và bắt đầu với ứng dụng Symfony 2 trên Ubuntu 14.04.

Đây là một cài đặt phát triển , nhằm mục đích giúp bạn làm quen với Symfony và giúp bạn bắt đầu viết dự án Symfony đầu tiên của bạn . Ta sẽ hướng dẫn bạn cách cài đặt và cài đặt một dự án Symfony hoàn toàn mới.

Yêu cầu

Đối với hướng dẫn này, bạn cần :

Bước 1 - Cài đặt PHP

Trước khi bắt đầu, ta cần cài đặt PHP cho môi trường dòng lệnh. Không cần phải cài đặt một web server đầy đủ tính năng như Apache hoặc Nginx vì Symfony đi kèm với một lệnh console giúp việc chạy và quản lý web server tích hợp sẵn của PHP trở nên dễ dàng hơn trong khi bạn đang phát triển ứng dụng của bạn . Đó là một cách đơn giản và hiệu quả để chạy ứng dụng trong khi nó đang ở chế độ phát triển.

Đầu tiên, hãy cập nhật bộ nhớ cache của trình quản lý gói:

  • sudo apt-get update

Bây giờ, để sử dụng và thực thi các tập lệnh PHP qua dòng lệnh, hãy cài đặt gói php5-cli .

  • sudo apt-get install php5-cli

Đến đây bạn đã cài đặt PHP trên server của bạn . Để kiểm tra xem nó đã được cài đặt thành công chưa, hãy chạy:

  • php -v

Và bạn sẽ nhận được kết quả tương tự như sau:

Output
PHP 5.5.9-1ubuntu4.11 (cli) (built: Jul 2 2015 15:23:08) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

Bước 2 - Cấu hình date.timezone trong php.ini

Symfony yêu cầu tùy chọn date.timezone được đặt trong (các) file php.ini của bạn. Nếu bạn đang thử nghiệm hướng dẫn này trên một server mới, tùy chọn này chưa được xác định. Nếu đúng như vậy, ứng dụng Symfony của bạn sẽ không chạy.

Ta cần chỉnh sửa file php.ini của server đảm bảo rằng ta đã xác định tùy chọn này. Tệp này phải được đặt tại /etc/php5/cli/php.ini .

Mở file php.ini bằng nano hoặc trình soạn thảo dòng lệnh yêu thích của bạn:

  • sudo nano /etc/php5/cli/php.ini

Tìm kiếm dòng chứa date.timezone . Bỏ ghi chú chỉ thị bằng cách xóa ; đăng nhập vào đầu dòng và thêm múi giờ thích hợp cho ứng dụng của bạn. Trong ví dụ này, ta sẽ sử dụng Europe/Amsterdam , nhưng bạn có thể chọn bất kỳ múi giờ nào được hỗ trợ .

Đã sửa đổi php.ini
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Europe/Amsterdam 

Lưu file và thoát.

Bước 3 - Download Trình cài đặt Symfony

Cách dễ nhất để tạo một dự án Symfony mới là sử dụng Trình cài đặt Symfony chính thức. Đó là một tập lệnh đơn giản được tạo ra để tạo điều kiện khởi động cho các ứng dụng Symfony mới.

Lệnh sau sẽ download Symfony Installer và đặt nó trên đường dẫn /usr/local/bin :

  • sudo curl -LsS http://symfony.com/installer -o /usr/local/bin/symfony

Bây giờ, bạn cần làm cho tập lệnh có thể thực thi được bằng lệnh tiếp theo:

  • sudo chmod a+x /usr/local/bin/symfony

Để kiểm tra Trình cài đặt Symfony, hãy chạy:

  • symfony

Đầu ra sẽ như thế này:

Output
Symfony Installer (1.1.7) ========================= This is the official installer to start new projects based on the Symfony full-stack framework. To create a new project called blog in the current directory using the latest stable version of Symfony, execute the following command: symfony new blog . . .

Bước 4 - Tạo một dự án Symfony mới

Bây giờ ta đã có Trình cài đặt Symfony, ta có thể tiến hành và tạo một dự án Symfony mới. Vì đây là cài đặt phát triển và ta sẽ sử dụng web server tích hợp sẵn của PHP, bạn có thể tiếp tục tạo dự án bên trong folder chính của bạn . Đối với ví dụ này, ta sẽ tạo một dự án có tên là “myproject”, nhưng bạn có thể sử dụng tên dự án của riêng mình trong lệnh tiếp theo.

  • cd ~
  • symfony new myproject

Thao tác này sẽ tạo một folder myproject bên trong folder chính của bạn, chứa một ứng dụng Symfony hoàn toàn mới. Lệnh sẽ tạo ra kết quả tương tự như sau:

Output
Downloading Symfony... Preparing project... ✔ Symfony 2.7.3 was successfully installed. Now you can: * Change your current directory to /home/sammy/myproject * Configure your application in app/config/parameters.yml file. * Run your application: 1. Execute the php app/console server:run command. 2. Browse to the http://localhost:8000 URL. * Read the documentation at http://symfony.com/doc

Bước 5 - Chạy ứng dụng với Symfony Console

Web server tích hợp đi kèm với PHP (kể từ PHP 5.4) phù hợp để chạy các ứng dụng PHP khi đang phát triển, để thử nghiệm hoặc trình diễn. Nó cho phép trải nghiệm dễ dàng hơn vì bạn sẽ không cần phải cấu hình web server đầy đủ tính năng như Apache hoặc Nginx.

Symfony đi kèm với một lệnh console hỗ trợ quá trình khởi động / dừng web server tích hợp sẵn của PHP, cũng cho phép (kể từ Symfony 2.6) bạn chạy web server trong nền.

Control panel Symfony là một tập lệnh CLI có một số lệnh để giúp bạn xây dựng và kiểm tra ứng dụng của bạn . Bạn thậm chí có thể bao gồm các lệnh của bạn được viết bằng PHP!

Web server có thể được khởi động bất cứ lúc nào bằng server:run lệnh console server:run . Tuy nhiên, cài đặt mặc định được sử dụng bởi lệnh Symfony sẽ chỉ chấp nhận các kết nối tới localhost trên cổng 8000 . Nếu bạn đang làm theo hướng dẫn này trên server phát triển / thử nghiệm bên ngoài hoặc máy ảo local , bạn cần cung cấp một tham số bổ sung cho lệnh, yêu cầu web server lắng nghe địa chỉ IP khác.

Để cho phép các kết nối đến từ cả mạng bên trong và bên ngoài, hãy chạy lệnh này từ bên trong folder dự án:

  • php app/console server:run 0.0.0.0:8000
Output
Server running on http://0.0.0.0:8000 Quit the server with CONTROL-C.

Thao tác này sẽ khởi động web server tích hợp sẵn của PHP, lắng nghe tất cả các network interface trên cổng 8000 .

Bây giờ, bạn có thể truy cập ứng dụng nếu bạn trỏ trình duyệt của bạn tới http:// your_server_ip :8000 . Bạn sẽ thấy một trang như thế này:

Xem trước ứng dụng Symfony

Lệnh sẽ tiếp tục chạy trong terminal đang hoạt động cho đến khi bạn kết thúc thực thi bằng CTRL+C Để làm cho web server chạy trong nền, bạn nên sử dụng lệnh server:start thay thế:

  • php app/console server:start 0.0.0.0:8000
Output
Web server listening on http://0.0.0.0:8000

Điều này sẽ làm cho web server chạy ở chế độ nền, khiến phiên terminal của bạn rảnh để thực hiện các lệnh khác. Để dừng server , bạn nên sử dụng:

  • php app/console server:stop 0.0.0.0:8000
Output
Stopped the web server listening on http://0.0.0.0:8000

Bạn cũng có thể kiểm tra trạng thái của web server bằng:

  • php app/console server:status 0.0.0.0:8000

Khi server không chạy, đây là kết quả bạn sẽ nhận được:

Output
No web server is listening on http://0.0.0.0:8000

Khi có một server đang hoạt động chạy trong IP và cổng được chỉ định, bạn sẽ nhận được kết quả như sau:

Output
Web server still listening on http://0.0.0.0:8000

Chỉ cần nhớ rằng các lệnh server:status server:stopserver:status phải bao gồm cùng một phần IPADDRESS:PORT mà bạn đã sử dụng khi khởi tạo server với server:start .

Kết luận

Symfony là một framework PHP đầy đủ phù hợp để xây dựng các ứng dụng ở bất kỳ kích thước nào. Trong hướng dẫn này, ta đã xem cách cài đặt và bắt đầu với Symfony 2 trên server Ubuntu 14.04 mới bằng cách sử dụng web server tích hợp sẵn của PHP để chạy ứng dụng. Để biết thêm thông tin về cách xây dựng các ứng dụng PHP bằng Symfony, hãy xem tài liệu chính thức của họ.


Tags:

Các tin liên quan

Cách cài đặt MemSQL trên Ubuntu 14.04
2015-09-30
Cách thiết lập xác thực đa yếu tố cho SSH trên Ubuntu 14.04
2015-09-29
Cách bảo vệ WordPress với Fail2Ban trên Ubuntu 14.04
2015-09-16
Cách cài đặt và sử dụng Composer trên Ubuntu 14.04
2015-09-11
Cách tối ưu hóa cài đặt Tomcat của bạn trên Ubuntu 14.04
2015-09-08
Cách cài đặt Mailpile trên Ubuntu 14.04
2015-08-21
Cách cài đặt CouchDB và Futon trên Ubuntu 14.04
2015-08-10
Cách thiết lập firewall với UFW trên Ubuntu 14.04
2015-08-05
Cách đánh giá độ trễ HTTP theo chuẩn với wrk trên Ubuntu 14.04
2015-07-21
Cách cài đặt và sử dụng Command Line Cheat Sheets trên Ubuntu 14.04
2015-07-21