/ / Symfony / Comment (0)

Cài đặt Web Server

Cài đặt Web Server: cách không an toàn

Trong phần trước, chúng ta đã tạo một thư mục để chứa project Jobeet. Nếu bạn tạo thư mục này dưới thư mục gốc của web server, bạn đã có thể truy cập vào project trên trình duyệt.

Thật là dễ dàng và không cần phải cấu hình gì cả! Tuy nhiên, hãy thử truy cập file config/databases.yml từ trình duyệt để hiểu tác hại của sự lười biếng này.

Không bao giờ được sử dụng cách cài đặt này trên server cho một sản phẩm thực sự và hãy đọc phần tiếp theo để biết cách cấu hình web server đúng đắn.

Cài đặt Web Server: cách bảo mật

Tốt nhất là chỉ đặt trong thư mục web root các file mà trình duyệt cần truy cập trực tiếp như stylesheets, JavaScripts, hoặc file ảnh. Mặc định, chúng tôi để những file này trong thư mục web của symfony project.

Nếu bạn xem trong thư mục này, bạn sẽ thấy vài thư mục con như css, images, js và 2 file front controller. File front controllers là file php duy nhất cần đặt trong thư mục web root. Tất cả các file PHP khác có thể ẩn đi đối với trình duyệt, để bảo mật cho ứng dụng.

Cấu hình Web Server

Bây giờ cần thay đổi cấu hình Apache để có thể truy cập project.

Mở file cấu hình httpd.conf và thêm vào cuối file:


# Be sure to only have this line once in your configuration
NameVirtualHost 127.0.0.1:8080

# This is the configuration for Jobeet
Listen 127.0.0.1:8080

<VirtualHost 127.0.0.1:8080>
  DocumentRoot "/home/sfprojects/jobeet/web"
  DirectoryIndex index.php
  <Directory "/home/sfprojects/jobeet/web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf /home/sfprojects/jobeet/lib/vendor/symfony/data/web/sf
  <Directory "/home/sfprojects/jobeet/lib/vendor/symfony/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

/sf cho phép bạn truy cập các file ảnh và javascript cần để hiển thị các trang mặc định của symfony và thanh web debug toolbar.

Ở Windows, bạn cần sửa dòng Alias thành:


Alias /sf "c:\development\sfprojects\jobeet\lib\vendor\symfony\data\web\sf"

/home/sfprojects/jobeet/web sẽ được thay thế bởi:


c:\development\sfprojects\jobeet\web

Cấu hình này giúp Apache lắng nghe cổng 8080 trên máy bạn, vì thế website Jobeet có thể được truy cập được theo URL:


http://localhost:8080/

Bạn có thể đổi 8080 thành bất kì số nào nhưng nên lớn hơn 1024 để chắc rằng cổng này chưa được sử dụng.

Cấu hình để tạo một tên miền cho Jobeet

Nếu bạn có quyền administrator trên máy, tốt nhất là tạo một virtual hosts thay vì thêm một cổng mới mỗi khi bạn tạo một project mới. Thay vì tạo một cổng và Listen , hãy chọn một tên miền và thêm ServerName:


# This is the configuration for Jobeet
<VirtualHost 127.0.0.1:80>
ServerName jobeet.localhost
<!-- same configuration as before -->
</VirtualHost>

Tên miền jobeet.localhost phải được khai báo. Nếu bạn dùng Linux, bạn cần thêm vào trong file /etc/hosts . Nếu bạn dùng Windows XP, file này nằm trong thư mục C:\WINDOWS\system32\drivers\etc\.

Thêm dòng sau:


127.0.0.1         jobeet.localhost

Kiểm tra cấu hình

Khởi động lại Apache, và kiểm tra xem bạn có thể truy cập ứng dụng từ địa chỉ http://localhost:8080/index.php/, hoặc http://jobeet.localhost/index.php/ tùy vào cấu hình bạn chọn ở mục trước.

congratulations

Nếu bạn có cài đặt module Apache mod_rewrite , bạn có thể bỏ đoạn /index.php/ trên URLs.

Bạn có thể truy cập ứng dụng trên môi trường development:


http://jobeet.localhost/frontend_dev.php/

Thanh web debug toolbar được hiển thị bên góc phải, bao gồm các biểu tượng nhỏ được cung cấp từ sf/ nếu bạn cấu hình đúng.

web_debug_toolbar

Cách cài đặt có khác chút nếu bạn chạy symfony trên IIS server ở Windows. Cách cấu hình có thể tìm ở hướng dẫn này.

Subversion

Tốt nhất là sử dụng một công cụ để quản lý phiên bản của mã nguồn khi phát triển một ứng dụng web. Nó cho phép chúng ta:

  • làm việc với sự tin cậy
  • chuyển lại phiên bản trước nếu sự thay đổi gây ra lỗi
  • cho phép nhiều người cùng làm việc trên một project
  • có thể truy cập tất cả các phiên bản của ứng dụng

Trong mục này, chúng tôi sẽ mô tả cách sử dụng Subversion với symfony. Nếu bạn sử dụng công cụ quản lý mã nguồn khác, nó cũng tương tự như những gì chúng tôi hướng dẫn với Subversion.

Chúng tôi giả sử rằng bạn có quyền truy cập Subversion server.

Nếu bạn không có một Subversion server, bạn có thể tạo miễn phí trên Google Code hoặc gõ “free subversion repository” trên Google để có nhiều lựa chọn.

Đầu tiên, tạo một kho chứa mới cho project jobeet:

$ svnadmin create http://svn.example.com/jobeet
$ svn mkdir -m "created default directory structure" http://svn.example.com/jobeet/trunk http://svn.example.com/jobeet/tags http://svn.example.com/jobeet/branches

Sau đó, xóa các file trong thư mục cache/log/ vì chúng ta không muốn đưa nó lên kho chứa.

$ cd /home/sfprojects/jobeet
$ rm -rf cache/*
$ rm -rf log/*

Bây giờ, chúng ta chmod để chắc chắc rằng chúng ta có quyền ghi vào thư mục cache và logs để web server của bạn có thể ghi vào đó:

$ chmod 777 cache
$ chmod 777 log

Tiếp theo, đưa mã nguồn lên kho chứa:

$ svn import -m "made the initial import" . http://svn.example.com/jobeet/trunk

Chúng ta không bao giờ muốn commit những file trong thư mục cache//log , nên ta đưa nó vào danh sách cần bỏ qua:

$ svn propedit svn:ignore cache

Text editor mặc định để cấu hình SVN được mở. Subversion phải bỏ qua tất cả nội dung trong thư mục:

*

Lưu lại vào thoát.

Làm tương tự với thư mục log/:

$ svn propedit svn:ignore log

Và gõ:

*

Cuối cùng, commit những thay đổi lên kho chứa:

$ svn commit -m "added cache/ and log/ content in the ignore list"

người dùng Windows có thể sử dụng TortoiseSVN client, một công cụ tuyệt vời để quản lý subversion.
Nguồn bài viết: http://symfony.com/



07/05/2015
Written by nobitacnt

Trong bài viết không tránh khỏi những câu từ chưa chính xác,mong nhận được sự góp ý để website hoàn thiện hơn.Nếu thấy bài viết có ích với bạn hãy like và share để ủng hộ nhé :D.

Bài viết chùng chuyên mục

Gửi bình luận

Giới thiệu

Mình tạo ra blog này với mong muốn chia sẻ và học hỏi kinh nghiệm trong quá trình thiết kế website. Website đang trong quá trình phát triển chân thành cảm ơn mọi sự góp ý của các bạn để làm cho website ngày càng hoàn thiên.

DMCA.com Protection Status
Theo dõi qua Email

Tổng hợp các bài viết về

Hoc php - CodeIgniter Framework - Laravel Framework - PHP va MYSQL