Cách cài đặt Linux, Apache, MySQL, PHP (LAMP) trên CentOS 7
LAMP là một group phần mềm nguồn mở thường được cài đặt cùng nhau để cho phép server lưu trữ các trang web động và ứng dụng web. Thuật ngữ này thực sự là một từ viết tắt đại diện cho hệ điều hành L inux, với web server A pache. Dữ liệu trang web được lưu trữ trong database M ySQL (sử dụng MariaDB) và nội dung động được xử lý bởi P HP.Trong hướng dẫn này, ta sẽ cài đặt LAMP trên VPS CentOS 7. CentOS sẽ đáp ứng yêu cầu đầu tiên của ta : hệ điều hành Linux.
Lưu ý: LAMP có thể được cài đặt tự động trên Server bằng cách thêm tập lệnh này vào Dữ liệu user của nó khi chạy nó. Hãy xem hướng dẫn này để tìm hiểu thêm về Dữ liệu user Server.
Yêu cầu
Trước khi bắt đầu với hướng dẫn này, bạn nên cài đặt một account user riêng, không phải root trên server của bạn . Bạn có thể xem cách thực hiện việc này bằng cách hoàn tất các bước 1-4 trong cài đặt server ban đầu cho CentOS 7 .
Bước một - Cài đặt Apache
Web server Apache hiện là web server phổ biến nhất trên thế giới, điều này khiến nó trở thành lựa chọn mặc định tuyệt vời để lưu trữ một trang web.
Ta có thể cài đặt Apache một cách dễ dàng bằng trình quản lý gói của CentOS, yum
. Trình quản lý gói cho phép ta cài đặt hầu hết phần mềm một cách dễ dàng từ repository được duy trì bởi CentOS. Bạn có thể tìm hiểu thêm về cách sử dụng yum
tại đây.
Đối với mục đích của ta , ta có thể bắt đầu bằng lệnh các lệnh sau:
sudo yum install httpd
Vì ta đang sử dụng sudo
, các thao tác này được thực thi với các quyền của root. Nó sẽ yêu cầu bạn nhập password của regular user để xác minh ý định của bạn.
Sau đó, web server của bạn đã được cài đặt.
Sau khi cài đặt xong, bạn có thể khởi động Apache trên VPS của bạn :
sudo systemctl start httpd.service
Bạn có thể thực hiện kiểm tra tại chỗ ngay lập tức để xác minh mọi thứ đã diễn ra như kế hoạch bằng cách truy cập địa chỉ IP công cộng của server trong trình duyệt web (xem ghi chú dưới tiêu đề tiếp theo để tìm hiểu địa chỉ IP công cộng của bạn là gì nếu không có ):
http://your_server_IP_address/
Bạn sẽ thấy trang web CentOS 7 Apache mặc định, trang này dành cho mục đích thông tin và thử nghiệm. Nó trông giống như sau :
Nếu bạn thấy trang này, thì web server của bạn hiện đã được cài đặt chính xác.
Điều cuối cùng bạn cần làm là kích hoạt Apache khởi động khi server khởi động . Sử dụng lệnh sau để thực hiện :
sudo systemctl enable httpd.service
Cách tìm địa chỉ IP công cộng của server của bạn
Nếu bạn không biết địa chỉ IP công cộng của server của bạn là gì, bạn có thể tìm thấy nó bằng một số cách. Thông thường, đây là địa chỉ bạn sử dụng để kết nối với server của bạn thông qua SSH.
Từ dòng lệnh, bạn có thể tìm thấy điều này theo một số cách. Đầu tiên, bạn có thể sử dụng các công cụ iproute2
để lấy địa chỉ của bạn bằng lệnh :
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
Điều này sẽ trả lại cho bạn một hoặc hai dòng. Cả hai đều là địa chỉ chính xác, nhưng máy tính của bạn có thể chỉ sử dụng được một trong số chúng, vì vậy hãy thử từng địa chỉ.
Một phương pháp thay thế là sử dụng một bên ngoài để cho bạn biết cách nó nhìn thấy server của bạn. Bạn có thể thực hiện việc này bằng cách hỏi một server cụ thể xem địa chỉ IP của bạn là gì:
curl http://icanhazip.com
Dù phương pháp bạn sử dụng để lấy địa chỉ IP của bạn , bạn có thể nhập nó vào thanh địa chỉ của trình duyệt web để truy cập server của bạn.
Bước hai - Cài đặt MySQL (MariaDB)
Bây giờ ta đã cài đặt và chạy web server của bạn , đã đến lúc cài đặt MariaDB, một trình thay thế MySQL drop-in. MariaDB là một nhánh của hệ quản trị database quan hệ MySQL do cộng đồng phát triển. Về cơ bản, nó sẽ tổ chức và cung cấp quyền truy cập vào database nơi trang web của ta có thể lưu trữ thông tin.
, ta có thể sử dụng yum
để cài đặt phần mềm của bạn . Lần này, ta cũng sẽ cài đặt một số gói “trợ giúp” khác sẽ hỗ trợ ta trong việc khiến các thành phần của ta giao tiếp với nhau:
sudo yum install mariadb-server mariadb
Khi quá trình cài đặt hoàn tất, ta cần khởi động MariaDB bằng lệnh sau:
sudo systemctl start mariadb
Bây giờ database MySQL của ta đang chạy, ta muốn chạy một tập lệnh bảo mật đơn giản sẽ loại bỏ một số mặc định nguy hiểm và khóa quyền truy cập vào hệ thống database của ta một chút. Bắt đầu tập lệnh tương tác bằng lệnh:
sudo mysql_secure_installation
Dấu nhắc sẽ yêu cầu bạn nhập password root hiện tại của bạn. Vì bạn vừa cài đặt MySQL, rất có thể bạn sẽ không có, vì vậy hãy để trống bằng cách nhấn enter. Sau đó, dấu nhắc sẽ hỏi bạn có muốn đặt password root hay không. Tiếp tục và nhập Y
, và làm theo hướng dẫn:
Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorization. New password: password Re-enter new password: password Password updated successfully! Reloading privilege tables.. ... Success!
Đối với các câu hỏi còn lại, bạn chỉ cần nhấn phím "ENTER" qua mỗi dấu nhắc để chấp nhận các giá trị mặc định. Thao tác này sẽ xóa một số user và database mẫu, vô hiệu hóa đăng nhập root từ xa và tải các luật mới này để MySQL áp dụng ngay những thay đổi mà ta đã thực hiện.
Điều cuối cùng bạn cần làm là kích hoạt MariaDB để bắt đầu khi server khởi động . Sử dụng lệnh sau để thực hiện :
sudo systemctl enable mariadb.service
Đến đây, hệ thống database của bạn đã được cài đặt xong và ta có thể tiếp tục.
Bước 3 - Cài đặt PHP
PHP là thành phần cài đặt của ta sẽ xử lý mã để hiển thị nội dung động. Nó có thể chạy các tập lệnh, kết nối với database MySQL của ta để lấy thông tin và chuyển giao nội dung đã xử lý cho web server của ta để hiển thị.
Ta có thể tận dụng hệ thống yum
để cài đặt các thành phần của ta . Ta cũng sẽ bao gồm gói php-mysql:
sudo yum install php php-mysql
Điều này sẽ cài đặt PHP mà không gặp bất kỳ vấn đề gì. Ta cần khởi động lại web server Apache để nó hoạt động với PHP. Bạn có thể thực hiện việc này bằng lệnh :
sudo systemctl restart httpd.service
Cài đặt module PHP
Để nâng cao chức năng của PHP, ta có thể tùy chọn cài đặt thêm một số module.
Để xem các tùy chọn có sẵn cho các module và thư viện PHP, bạn có thể nhập mã này vào hệ thống của bạn :
yum search php-
Kết quả là tất cả các thành phần tùy chọn mà bạn có thể cài đặt. Nó sẽ cung cấp cho bạn một mô tả ngắn cho mỗi:
php-bcmath.x86_64 : A module for PHP applications for using the bcmath library php-cli.x86_64 : Command-line interface for PHP php-common.x86_64 : Common files for PHP php-dba.x86_64 : A database abstraction layer module for PHP applications php-devel.x86_64 : Files needed for building PHP extensions php-embedded.x86_64 : PHP library for embedding in applications php-enchant.x86_64 : Enchant spelling extension for PHP applications php-fpm.x86_64 : PHP FastCGI Process Manager php-gd.x86_64 : A module for PHP applications for using the gd graphics library . . .
Để biết thêm thông tin về chức năng của mỗi module , bạn có thể tìm kiếm trên internet hoặc bạn có thể xem mô tả dài trong gói bằng lệnh :
yum info package_name
Sẽ có rất nhiều kết quả , với một trường được gọi là Description
sẽ có phần giải thích dài hơn về chức năng mà module cung cấp.
Ví dụ, để tìm hiểu module php-fpm
làm gì, ta có thể nhập:
yum info php-fpm
Cùng với một lượng lớn thông tin khác, bạn sẽ tìm thấy thứ gì đó giống như sau:
. . . Summary : PHP FastCGI Process Manager URL : http://www.php.net/ License : PHP and Zend and BSD Description : PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI : implementation with some additional features useful for sites of : any size, especially busier sites.
Nếu sau khi nghiên cứu, bạn cần cài đặt một gói phần mềm, bạn có thể thực hiện bằng cách sử dụng lệnh yum install
giống như ta đã làm cho phần mềm khác của bạn .
Nếu ta quyết định rằng php-fpm
là thứ ta cần, ta có thể nhập:
sudo yum install php-fpm
Nếu bạn muốn cài đặt nhiều module , bạn có thể thực hiện bằng cách liệt kê từng module , được phân tách bằng dấu cách, sau lệnh yum install
, như sau:
sudo yum install package1 package2 ...
Đến đây, LAMP của bạn đã được cài đặt và cấu hình. Tuy nhiên, ta vẫn nên thử nghiệm PHP của bạn .
Bước 4 - Kiểm tra PHP processor trên Server Web của bạn
Để kiểm tra xem hệ thống của ta có được cấu hình đúng cho PHP hay không, ta có thể tạo một tập lệnh PHP rất cơ bản.
Ta sẽ gọi tập lệnh này là info.php
. Để Apache có thể tìm thấy file và phân phát nó một cách chính xác, nó phải được lưu vào một folder rất cụ thể, được gọi là “web root”.
Trong CentOS 7, folder này được đặt tại /var/www/html/
. Ta có thể tạo file tại vị trí đó bằng lệnh :
sudo vi /var/www/html/info.php
Thao tác này sẽ mở một file trống. Ta muốn đặt văn bản sau, là mã PHP hợp lệ, bên trong file :
<?php phpinfo(); ?>
Khi bạn hoàn tất, hãy lưu file .
Nếu bạn đang chạy firewall , hãy chạy các lệnh sau để cho phép truy cập HTTP và HTTPS:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
Bây giờ ta có thể kiểm tra xem web server của ta có thể hiển thị chính xác nội dung được tạo bởi tập lệnh PHP hay không. Để thử điều này, ta chỉ cần truy cập trang này trong trình duyệt web của ta . Bạn cần lại địa chỉ IP công cộng của server .
Địa chỉ bạn muốn đến sẽ là:
http://your_server_IP_address/info.php
Trang mà bạn đến sẽ trông giống như sau:
Về cơ bản, trang này cung cấp cho bạn thông tin về server của bạn . Nó rất hữu ích để gỡ lỗi và đảm bảo cài đặt của bạn đang được áp dụng chính xác.
Nếu điều này thành công, thì PHP của bạn đang hoạt động như mong đợi.
Bạn có thể cần xóa file này sau khi kiểm tra này vì nó có thể cung cấp thông tin về server của bạn cho user lạ . Để làm điều này, bạn có thể gõ sau:
sudo rm /var/www/html/info.php
Bạn luôn có thể tạo lại trang này nếu sau này cần truy cập lại thông tin.
Kết luận
Đến đây bạn đã cài đặt LAMP , bạn có nhiều lựa chọn để làm gì tiếp theo. Về cơ bản, bạn đã cài đặt một nền tảng cho phép bạn cài đặt hầu hết các loại trang web và phần mềm web trên server của bạn .
Các tin liên quan
Thiết lập server ban đầu với CentOS 72014-07-21
Cách sử dụng NSD, một server DNS chỉ ủy quyền, trên Ubuntu 14.04
2014-07-03
Cách cấu hình bind server lưu trữ hoặc chuyển tiếp DNS trên Ubuntu 14.04
2014-07-01
cách cấu hình bind làm server DNS chỉ ủy quyền trên Ubuntu 14.04
2014-07-01
So sánh các loại server DNS: Cách chọn cấu hình DNS phù hợp
2014-07-01
5 Thiết lập server Chung cho Ứng dụng Web của Bạn
2014-05-30
Cách sử dụng npm để quản lý gói Node.js trên server Linux
2014-05-14
Cách sử dụng npm để xây dựng và xuất bản các gói Node.js trên server Linux
2014-05-14
Cách khắc phục sự cố trang web thường gặp trên server Linux
2014-05-09
Cách Fail2Ban hoạt động để bảo vệ các dịch vụ trên server Linux
2014-05-07