Cài đặt LAMP Stack trên CentOS 7

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ị:

CentOS 7 Apache default

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ị:

CentOS 7 default PHP info

Đế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.

Leave a Reply