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 :
- Một server Ubuntu 14.04
- User sudo không phải root, bạn có thể cài đặt theo hướng dẫn Cài đặt server ban đầu
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:
OutputPHP 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ợ .
[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
OutputServer 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:
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
OutputWeb 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
OutputStopped 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:
OutputNo 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:
OutputWeb server still listening on http://0.0.0.0:8000
Chỉ cần nhớ rằng các lệnh server:status
server:stop
và server: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ọ.
Các tin liên quan
Cách cài đặt MemSQL trên Ubuntu 14.042015-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