Đối với hệ điều hành Windows chúng ta sẽ dễ dàng cài đặt Apache + MySQL + PHP thông qua các gói cài đặt đã được cấu hình sẵn Apache + MySQL + PHP. Tuy nhiên trong hệ điều hành Linux chúng ta thường chọn cách cài đặt riêng lẽ từng gói trên.
Mục lục
Tại sao chúng ta thường triển khai ứng dụng web PHP trên Linux?
- Nhiều cuộc thử nghiệm đã chứng minh rằng Linux với định dạng ext4 hoạt động tốt hơn Windows với định dạng NTFS và do đó PHP khi chạy trên Linux sẽ có tốc độ thực thi nhanh hơn so với trên Windows.
- Không phải tốn thêm chi phí cho license của hệ điều hành, dễ dàng nâng cấp các bản cập nhật.
- Bảo mật tốt hơn thông qua cơ chế phân quyền của hệ điều hành.
- Tiêu tốn ít tài nguyên (RAM + disk storage) so với hệ điều hành Windows.
Các biến thể phổ biến của hệ điều hành Linux thường được sử dụng để triển khai ứng dụng web PHP:
- CentOS
- Ubuntu
- Debian
- Redhat Enterpise Linux
Trong bài viết này chúng ta sẽ tìm hiểu cách cài đặt LAMP trên hệ điều hành CentOS. Bạn cần cài đặt hệ điều hành CentOS lên VPS hoặc dedicated server để có thể thực hiện được bài lab này. Để có thể cài đặt được LAMP bạn cần phải có quyền root.
Trước khi cài đặt bạn nên cập nhật respository
1 | [root@ecode ~] # yum install updates |
Bước 1: Cài đặt Apache
1 | [root@ecode ~] # yum install httpd |
Sau khi cài đặt xong bạn có thể khởi động Apache thông qua lệnh sau
1 | [root@ecode ~] # service httpd start |
Để kiểm tra Apache đã chạy thành công chúng ta sẽ gõ địa chỉ ip của server lên trình duyệt. Ví dụ: http://103.56.45.32. Nếu như bạn thấy trang mặc định của Apache hiện lên nghĩa là Apache đã được cài đặt thành công. Nếu như bạn không biết WAN IP của server bạn có thể sử dụng lệnh sau để lấy IP
1 | [root@ecode ~] # ifconfig eth0 | grep inet | awk '{ print $2 }' |
Trong trường hợp webserver đã được thiết lập firewall chặn cổng 80, bạn sẽ không thể truy cập vào trang web mặc định của Apache. Bạn có thể mở cổng 80 thông qua lệnh sau:
1 2 | [root@ecode ~] # firewall-cmd --zone=public --add-port=80/tcp --permanent [root@ecode ~] # firewall-cmd --reload |
Bước 2: Cài đặt MySQL server thông qua lệnh sau:
1 | [root@ecode ~] # yum install mysql-server |
Start MySQL server qua lệnh sau:
1 | [root@ecode ~] # service mysqld start |
Sau khi cài đặt thành công bạn nên đổi lại mật khẩu MySQL:
1 | [root@ecode ~] # /usr/bin/mysql_secure_installation |
MySQL sẽ hỏi bạn có muốn xóa anonymous users và disable login từ xa và một số tùy chọn khác như xóa database test và reload lại quyền hạn. Bạn hãy chọn y (yes)
Bước 3: Cài đặt PHP
1 | [root@ecode ~] # yum install php php-mysql |
Để kiểm tra PHP đã được cài đặt thành công hay chưa bạn sẽ tạo file test.php trong /var/www/html/ với nội dung như sau:
1 2 3 | <?php phpinfo(); ?> |
Restart lại webserver qua lệnh sau
1 | [root@ecode ~] # service httpd restart |
Sau đó truy cập theo địa chỉ http://your-server-ip/test.php. Nếu bạn thấy màn hình tương tự sau hiện ra nghĩa là đã cài đặt thành công:
Để thiết lập Apache và MySQL tự động khởi động khi server start, chúng ta sẽ sử dụng thêm 2 lệnh sau:
1 2 | [root@ecode ~] # chkconfig httpd on [root@ecode ~] # chkconfig mysqld on |
Trong trường hợp bạn muốn quản trị MySQL thông qua PHP MyAdmin bạn có thể cài đặt thêm PHP MyAdmin. Ngoài mô hình webserver theo LAMP, còn một mô hình webserver khác cũng khá phổ biến là LEMP (Linux, Nginx, MySQL/MariaDB, PHP).