fbpx

zero2hero #5: Cài đặt và cấu hình Web Server Apache

Share

Sau khi nắm được mô hình hệ thống Web, hôm nay chúng ta bắt tay vào xây dựng website đầu tiên sử dụng LAMP. Tham khảo lại bài #1 – Chuẩn bị môi trường và bài #2 – Kết nối SSH để quản trị server để chuẩn bị môi trường. Mục tiêu bài hôm nay sẽ cài đặt và cấu hình Apache để phục vụ các file tĩnh, bài tiếp theo sẽ kết hợp Apache và PHP để xử lý code.

Cài đặt Apache

  • Cài đặt apache từ yum
$ yum install httpd
  • Start dịch vụ httpd
$ systemctl start httpd
  • Mặc định nếu ta không cấu hình, httpd sẽ không tự động start khi ta reboot server. Để httpd tự khởi động cùng hệ điều hành:
$ systemctl enable httpd
  • Kiểm tra lại, đảm bảo httpd đã được start thành công
$ netstat -nlpt 
  • Khi chạy sẽ bị báo lỗi 
-bash: netstat: command not found
  • Nguyên nhân là do ta chưa cài package có chứa lệnh netstat. Áp dụng TIP #18
$ yum provides "*/netstat"
$ yum install net-tools
  • Chạy lại lệnh netstat và xem httpd có xuất hiện trong danh sách hay chưa
$ netstat -nlpt

Cấu hình Apache

Một số file/directory quan trọng cần phải nhớ:

  • File cấu hình chính của httpd: /etc/httpd/conf/httpd.conf
  • Thư mục chứa các file cấu hình quan trọng khác, nếu file kết thúc bằng đuôi “.conf” sẽ được include vào httpd: /etc/httpd/conf.d/

Tìm hiểu file httpd.conf

Dùng vim mở file httpd.conf 

$ vim /etc/httpd/conf/httpd.conf

Bạn nào chưa biết dùng vim thì xem lại bài #3 – Sử dụng vim để chỉnh sửa nội dung file. Tìm đến Directive sau và xem giá trị mặc định:

DirectiveGiá trị mặc địnhÝ nghĩa
Listen80Khai báo IP:Port dịch vụ httpd sẽ listen. Nếu không khai báo IP mà chỉ có port thì sẽ listen trên all interfaces.
ServerRoot/etc/httpdThư mục gốc, các cấu hình nếu không chỉ định đường dẫn tuyệt đối thì đường dẫn tương đối sẽ được tính từ thư mục này đi ra.
Userapachehttpd sẽ chạy dưới quyền user này.
Groupapachehttpd sẽ chạy dưới quyền group này
DocumentRoot/var/www/htmlThư mục chứa source code
ErrorLoglogs/error_logVị trí lưu file error log. Đường dẫn tương đối tính từ ServerRoot ra.
IncludeOptional conf.d/*.confInclude các file có tên dạng “*.conf” trong thư mục conf.d. Đường dẫn tương đối tính từ ServerRoot ra.

Kiểm tra hoạt động của httpd

Theo cấu hình mặc định vừa xem ở phần trên, thư mục chứa file mặc định ở “/var/www/html”. Thử tạo 1 file mới trong thư mục đấy và truy cập để xem httpd có hoạt động đúng chưa.

$ echo "zero2hero" > /var/www/html/hello.html

Mở browser và truy cập thử vào file vừa tạo: http://192.168.0.10/hello.html

Kết quả như sau là ổn:

Tổng kết

Đến đây, chúng ta đã hoàn thành bước làm quen và dựng được website đơn giản nhất. Bước tiếp theo sẽ tiến hành điều chỉnh 1 vài cấu hình httpd.conf để hiểu rõ, sau đó tích hợp PHP + MySQL và cuối cùng sẽ dựng lên 1 website WordPress hoàn chỉnh.