Hướng dẫn does apache handle php? - apache có xử lý php không?

Như bài trước Tôi đã nói qua cách để biên dịch và tự cài đặt 1 ứng dụng theo ý muốn, trong bài này Tôi sẽ hướng dẫn các bạn biên dịch gói tin Apache và PHP.

Bước 1 – Cài đặt gcc (nếu chưa có): 

Đầu tiên bạn cần kiểm tra xem đã có trình biên dịch hay chưa với lệnh RPM, YUM,… hoặc biên dịch thử gói tin nếu nhận được thống báo bên dưới có nghĩa hệ thống của bạn chưa có sẵn.

Hướng dẫn does apache handle php? - apache có xử lý php không?

yum install gcc -y

Bước 2 – Download & giải nén ứng dụng (httpd, php)

Tạo thư mục lưu trữ và tiền hành cài đặt sau khi tải về.

mkdir ~/download && cd ~/download

wget http://www.gtlib.gatech.edu/pub/apache//httpd/httpd-2.2.29.tar.gz

wget http://am1.php.net/get/php-5.3.29.tar.gz

tar -xzvf httpd-2.2.29.tar.gz

tar -xzvf php-5.3.29.tar.gz

Bước 3 – Biên dịch và cài đặt ứng dụng

Cài đặt HTTP-daemon:

Yêu cầu:

  • Không gian ổ cứng trống: cần tối thiểu 50MB trong quá trình build ứng dụng, HTTPd sẽ chiếm 10MB sau khi cài đặt, tuy nhiên, dung lượng sẽ thay đổi tùy theo module bạn sử dụng thêm.
  • apr/apr-util: Cần Apr/Apr-util phiên bản 1.2 trở lên.

Kiểm tra apr/apr-util:

rpm -qa | grep apr

Hướng dẫn does apache handle php? - apache có xử lý php không?

Kiểm tra sự tồn tại của gói APR

apr/apr-util đã đạt yêu cầu (phiên bản >= 1.2) nên ta bỏ qua và làm bước tiếp theo tạo thư mục cài đặt cho ứng, nếu khộng đạt yêu cần bạn có thể dùng Yum để update hoặc cài đặt hoặc có thể tìm hiểu cách biên dịch gói apr/apr-util thông qua bài viết này:

mkdir -p /usr/local/webserver/apache

cd httpd-2.2.29

./configrue mkdir ~/download && cd ~/download0mkdir ~/download && cd ~/download1

mkdir ~/download && cd ~/download2

mkdir ~/download && cd ~/download3

Hướng dẫn does apache handle php? - apache có xử lý php không?

Các tùy chọn:

–prefix=: chỉ đường dẫn cài đặt cho ứng dụng: chỉ đường dẫn cài đặt cho ứng dụng

–enable-rewrite=shared: bật tính năng rewrite theo cơ chế DSO cho phép viết lại đường dẫn URL. Tính năng này rất thích hợp đa số các website muốn rewrite đường dẫn URL của website.: bật tính năng rewrite theo cơ chế DSO cho phép viết lại đường dẫn URL. Tính năng này rất thích hợp đa số các website muốn rewrite đường dẫn URL của website.

–enable-speling=shared: bật tính năng tự động độ dò tìm đường dẫn phù hợp khi có request sai chính tả theo cơ chế DSO.: bật tính năng tự động độ dò tìm đường dẫn phù hợp khi có request sai chính tả theo cơ chế DSO.

Note: Cách trên sẽ build Apache với chức năng Rewrite Link và check Speling ở mode DSO. Bạn có thể thay thế 2 option đó thành “–enable-so” để build tất cả chức năng của Apache chạy ở chế độ DSO. Cách trên sẽ build Apache với chức năng Rewrite Link và check Speling ở mode DSO. Bạn có thể thay thế 2 option đó thành “–enable-so” để build tất cả chức năng của Apache chạy ở chế độ DSO.

Sau khi kiểm tra và thêm các thành phần thành công (không lỗi) từ tập tin configure ta tiến hành tạo các tập tin biên dịch và cài đặt chúng thông qua lệnh:

mkdir ~/download && cd ~/download4

Với câu lệnh trên (&&) hệ thống sẽ tiến hành cài đặt sau khi tạo tập tin biên dịch thành công (không lỗi), nếu không nó sẽ ngừng lại ở vế lệnh make.&&) hệ thống sẽ tiến hành cài đặt sau khi tạo tập tin biên dịch thành công (không lỗi), nếu không nó sẽ ngừng lại ở vế lệnh make.

Cài đặt thành công Apache, ta khởi động dịch vụ:

mkdir ~/download && cd ~/download5mkdir ~/download && cd ~/download6

mkdir ~/download && cd ~/download7

kiểm tra dịch vụ Apache đã start thành công hay chưa, Ta có thể dùng 2 cách (kiểm tra bằng dòng lệnh “netstat -ptl” hoặc dùng trình duyệt web)

Hướng dẫn does apache handle php? - apache có xử lý php không?

Kiểm tra hệ thống có đang lắng nghe giao thức http (apache) hay không.

Hướng dẫn does apache handle php? - apache có xử lý php không?

Kiểm tra Apache server bằng cách dùng WebBrowsers

Như vậy, Apache đã được build thành công, tiếp theo ta sẽ build PHP với các option cơ bản:

mkdir ~/download && cd ~/download8

mkdir ~/download && cd ~/download9

wget http://www.gtlib.gatech.edu/pub/apache//httpd/httpd-2.2.29.tar.gz0

(chờ script kiểm tra và thiết lập hoàn tất)

mkdir ~/download && cd ~/download4

Hướng dẫn does apache handle php? - apache có xử lý php không?

Biên dịch gói tin PHP

wget http://www.gtlib.gatech.edu/pub/apache//httpd/httpd-2.2.29.tar.gz2: chỉ định PHP cài đặt theo Apache shared module.: chỉ định PHP cài đặt theo Apache shared module.

wget http://www.gtlib.gatech.edu/pub/apache//httpd/httpd-2.2.29.tar.gz3: cho phép hỗ trợ cho việc truy cập cơ sở dữ liệu (csdl) thông qua PHP.: cho phép hỗ trợ cho việc truy cập cơ sở dữ liệu (csdl) thông qua PHP.

wget http://www.gtlib.gatech.edu/pub/apache//httpd/httpd-2.2.29.tar.gz4: cho phép hỗ trợ mbstring (sử dụng cho PHPMyAdmin): cho phép hỗ trợ mbstring (sử dụng cho PHPMyAdmin)

wget http://www.gtlib.gatech.edu/pub/apache//httpd/httpd-2.2.29.tar.gz5b: hỗ trợ zlib: hỗ trợ zlib

Sau khi đã Build PHP ta cần chỉnh kiểm tra và chỉnh sửa 1 chút trong tập tin cấu hình của apache để có thể load php module và thiết lập handler php cho apache.

wget http://www.gtlib.gatech.edu/pub/apache//httpd/httpd-2.2.29.tar.gz6

wget http://www.gtlib.gatech.edu/pub/apache//httpd/httpd-2.2.29.tar.gz7

Kiểm tra xem Apache đã load php với dòng (wget http://www.gtlib.gatech.edu/pub/apache//httpd/httpd-2.2.29.tar.gz8) với từ khóa LoadModule và thêm xử lý Handler php cho Apache bằng cách chèn thêm dòng (wget http://www.gtlib.gatech.edu/pub/apache//httpd/httpd-2.2.29.tar.gz9) như trong hình dưới.wget http://www.gtlib.gatech.edu/pub/apache//httpd/httpd-2.2.29.tar.gz8) với từ khóa LoadModule và thêm xử lý Handler php cho Apache bằng cách chèn thêm dòng (wget http://www.gtlib.gatech.edu/pub/apache//httpd/httpd-2.2.29.tar.gz9) như trong hình dưới.

Hướng dẫn does apache handle php? - apache có xử lý php không?

Kiểm tra Apache Load Module PHP

Hướng dẫn does apache handle php? - apache có xử lý php không?

Chèn thêm dòng chỉ định Apache xử lý code php

Tất cả đã OK ta lưu đóng tập tin lại, tiến hành kiểm tra và khởi động lại dịch vụ Apache.

Hướng dẫn does apache handle php? - apache có xử lý php không?
 Note:

Thông thường khi tự biên dịch Apache sẽ không có tập tin kịch bản để khởi động trong wget http://am1.php.net/get/php-5.3.29.tar.gz0 vì vậy Bạn có thể tìm 1 script trên mạng và chỉnh sửa theo cấu hình đường dẫn của mình để có thể dễ dàng thao tác với Apache hơn.wget http://am1.php.net/get/php-5.3.29.tar.gz0 vì vậy Bạn có thể tìm 1 script trên mạng và chỉnh sửa theo cấu hình đường dẫn của mình để có thể dễ dàng thao tác với Apache hơn.

Kiểm tra kết quả:

Kiểm tra Apache đã Load PHP hay chưa:

wget http://am1.php.net/get/php-5.3.29.tar.gz1

wget http://am1.php.net/get/php-5.3.29.tar.gz2

hoặc (2 lệnh này tương đương nhau)

wget http://am1.php.net/get/php-5.3.29.tar.gz3

Hướng dẫn does apache handle php? - apache có xử lý php không?

Kiểm tra Apache Load Module PHP

Chèn thêm dòng chỉ định Apache xử lý code php trong thư mục /htdocs/php.php 

Tất cả đã OK ta lưu đóng tập tin lại, tiến hành kiểm tra và khởi động lại dịch vụ Apache.

wget http://am1.php.net/get/php-5.3.29.tar.gz4

Hướng dẫn does apache handle php? - apache có xử lý php không?

Thông thường khi tự biên dịch Apache sẽ không có tập tin kịch bản để khởi động trong wget http://am1.php.net/get/php-5.3.29.tar.gz0 vì vậy Bạn có thể tìm 1 script trên mạng và chỉnh sửa theo cấu hình đường dẫn của mình để có thể dễ dàng thao tác với Apache hơn.

Hướng dẫn does apache handle php? - apache có xử lý php không?

Kiểm tra kết quả:

Kiểm tra Apache đã Load PHP hay chưa:

hoặc (2 lệnh này tương đương nhau)

Hướng dẫn does apache handle php? - apache có xử lý php không?

Ta tạo 1 tập tin php với nội dung  trong thư mục /htdocs/php.php 

dùng lệnh (sử dụng cho local thích hợp với người thích dùng dòng lệnh):libdir) thông thường xảy ra do bạn dùng hệ thống 64bits. Vì vậy để giải quyết bạn chỉ cần thêm option wget http://am1.php.net/get/php-5.3.29.tar.gz5

Hướng dẫn does apache handle php? - apache có xử lý php không?

hoặc dùng WebBrowser:

Như vậy, việc biên dịch và cài đặt Apache và PHP đã thành công với các tùy chọn cũng như xử dụng các tính năng cở bản đã thành công.

Hướng dẫn does apache handle php? - apache có xử lý php không?

Lỗi không tìm thấy xml2-config

– Nguyên nhân thư viện XML cho phép thao tác tập tin XML, để khắc phục bạn có thể dùng YUM để cài đặt gói tin libxml2-devel tự động hoặc download source và build.

Chúc Bạn thành công!

Theo httpd.apache.org

php.net

  • Tweet
  • Share0 0

Comments

comments