Cách cài đặt gói LAMP trên CentOS 7
LAMP stack (Linux, Apache, MySQL, PHP) là một nhóm các phần mềm mã nguồn mở thường được cài đặt lại cùng nhau để cho phép server lưu trữ website(Kể cả web động) và web app, gồm hệ điều hành Linux, cùng với Apache web server. Dữ liệu được lưu trong một MySQL database (dùng MariaDB),và những dynamic content (thành phần động) xử lí bởi PHP.
Hướng dẫn này cho sẽ giúp bạn cài đặt LAMP stack trên Centos 7 một cách chi tiết.
Bước 1: Cài Apache
Apache web server đang là một trong những web server nổi tiếng và tốt nhất hiện nay.
Vì Apache được lưu sẵn nên ta có thể cài Apache bằng trình quản lí gói của CentOS, yum
. Dùng trình quản lí này cho phép ta cài hầu hết những gói của Centos.
Dùng lệnh:
sudo yum install httpd
Với sudo
, lệnh trên được thực hiện với quyền root. Nhập vào mật khẩu của user để tiếp tục.
Vậy là web server đã được cài đặt.
Giờ đây ta có thể khởi động Apache trên VPS:
sudo systemctl start httpd.service
Bạn có thể test tại chỗ ngay lập tức để xác minh rằng việc cài đặt đã thành công bằng cách truy cập public IP address của server trong trình duyệt web của bạn (xem phần dưới để xem cách lấy public IP address):
http://your_server_IP_address/
Trang mặc định của Centos hiển thị:
Bây giờ hãy cài đặt để Apache chạy tự động khi khởi động bằng lệnh:
sudo systemctl enable httpd.service
Cách lấy Public IP Address của Server
Có nhiều cách để làm việc này, thông thường ta hay dùng cách công cụ iproute2
để lấy địa chỉ bằng lệnh:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
Bạn sẽ nhận được một hoặc hai địa chỉ. Tất cả địa chỉ đều có thể dùng được nhưng bạn chỉ có thể chọn một.
Một cách khác là lấy địa chỉ IP qua một nơi khác trên internet, vì địa chỉ IP là định danh của bạn để các bộ phận khác trên mạng nhìn vào.
Gõ lệnh:
curl http://icanhazip.com
Bất kể bạn dùng cách nào, bạn cũng có thể truy cập vào server bằng cách gõ địa chỉ vừa lấy được vào thanh địa chỉ của trình duyệt.
Bước 2 — Cài MySQL (MariaDB)
Bây giờ chúng ta có web server sẵn sàng để hoạt động, giờ là lúc cài MariaDB, một bản thay thế của MySQL. MariaDB là một nhánh phát triển bởi cộng đồng của hệ quản trị cơ sở dữ liệu quan hệ MySQL. Về cơ bản, nó sẽ tổ chức và cung cấp quyền truy cập vào cơ sở dữ liệu nơi ta có thể lưu dữ liệu.
Ta lại dùng yum
để
lấy ra và cài đặt gói phần mềm. Lần này ta sẽ cài đặt thêm
những “helper” package, chúng sẽ hỗ trợ ta bằng những thành phần dùng để
giao tiếp.
Gõ lệnh:
sudo yum install mariadb-server mariadb
Sau khi cài xong, khởi động MariaDB với lệnh:
sudo systemctl start mariadb
Cài thêm một vài đoạn script bảo mật để loại bỏ những thành phần không an toàn và hạn chế truy cập không cho phép vào database:
sudo mysql_secure_installation
Khi được hỏi về mật khẩu, bỏ trống và bấm Enter. Sau đó bạn sẽ được yêu cầu thêm một root password.Nhập vào mật khẩu rồi bấm Y
, sau đó thực hiện theo hướng dẫn sau:
Enter current password for root (just hit Enter and do NOTHING):
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: passwordRe-enter new password: passwordPassword updated successfully!
Reloading privilege tables..
... Success!
Bấm Enter cho những tùy chọn sau đó để chũng nhận giá tri default. Quá trình này gỡ bỏ một số user và database mặc định, vô hiệu hóa remote root logins, và reload lại để MySQL chấp nhận những thay đổi.
Bước cuối cùng là cho MariaDB khởi động cùng với server.
sudo systemctl enable mariadb.service
Đến đây database của ta đã được thiết lập xong.
Bước 3 — Cài PHP
PHP là thành phần sẽ xử lý những thành phần động (dynamic content). Nó có thể chạy script, kết nối với MySQL database để lấy thông tin, và đảm nhận quá trình xử lí rồi truyền cho web server.
Dùng yum
một lân nữa để cài đặt PHP cùng những gói php-mysql.
sudo yum install php php-mysql
Khởi động lại Apache Web Server để nó làm việc với PHP:
sudo systemctl restart httpd.service
Cài PHP Modules
Cài đặt những PHP module để sử dụng những hàm của chúng.
Để xem những module và thư viện có thể cài đặt, dùng lệnh:
yum search php-
Lệnh trên trả về tất cả các module và thư viện cùng với một đặc tả ngắn về chúng:
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
. . .
Để xem cụ thể thông tin về một module, gõ lệnh:
yum info package_name
Sẽ có nhiều output, với trường Description
cung cấp thông tin về những hàm module đó hỗ trợ.
Ví dụ với module php-fpm
:
yum info php-fpm
Ouput:
. . .
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.
Dùng lệnh yum install
để cài gói như bình thường, chẳng hạn:
sudo yum install php-fpm
Nếu muốn cài nhiều gói cùng lúc, dùng lệnh:
sudo yum install package1package2...
với package1, package2 ...
là tên gói muốn cài.
Bước 4 — Test quá trình xử lí của PHP trên Web Server
Tạo một script đơn giản tên info.php
. Để Apache có thể tìm thấy file và thao tác đúng, file script cần đưuọc lưu trong một thư mục cụ thể, gọi là “web root”.
Trong CentOS 7, thư mục này là /var/www/html/
. Tạo file trong thư mục đó với lệnh:
sudo vi /var/www/html/info.php
Lệnh trên tạo ra một file trống. Thêm một đoạn script hợp lệ vào file đó, chẳng hạn:
Lưu và đóng file.
Dùng những lệnh sau để firewall cho phép những thông điệ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
Giờ hãy kiểm tra xem web server đã hiển thi chính xác đoạn script vừa rồi chưa bằng cách truy cập vào trang web đó trên trình duyệt.
Địa chỉ sẽ như sau:
http://your_server_IP_address/info.php
Trang hiển thị:
Đến đây việc cài PHP đã thành công.
Xóa file này sau khi test, vì nó có thể làm lộ thông tin của server tới những người lạ.
Dùng lệnh:
sudo rm /var/www/html/info.php
Tạo lại trang này nếu muốn xem lại thông tin về server.
Tổng kết
Đén đây bạn đã cài thành công LAMP stack trên server CentOS 7 của mình. Bạn đã có một platform cơ bản để cài đặt hầu hết website và ứng dụng web trên server.