Home Máy chủ LinuxWeb Server Hướng dẫn cài đặt LAMP Stack trên CentOS 7

Hướng dẫn cài đặt LAMP Stack trên CentOS 7

by Thạch Phạm
Published: Last Updated on
A+A-
Reset

Hướng dẫn cài đặt LAMP Stack trên CentOS 7 đơn giản cùng với AZDIGI.

I. Giới thiệu

LAMP là gì?

LAMP là chữ viết tắt thường được dùng để chỉ sự sử dụng các phần mềm LinuxApacheMySQL và ngôn ngữ văn lệnh PHP hay Perl hay Python để tạo nên một môi trường máy chủ Web có khả năng chứa và phân phối các trang Web động.

Các chức năng cụ thể các bạn có thể hiểu nhanh là LAMP hoạt động từ các phần mềm Linux, với máy chủ web là Apache, máy chủ cơ sở dữ liệu MariaDB hoặc MySQL và nội dung file động được xử lý bởi PHP.

LAMP là dạng mã nguồn mở với lợi thế miễn phí, nên các năm gần đây LAMP luôn được cộng động tin tưởng sử dụng bởi tính ổn định, dễ dàng cài đặt cũng như dễ dàng vận hành.

Các bạn có thể tìm hiểu kỹ hơn về LAMP tại đây

II. Hướng dẫn cài đặt

Để cài đặt LAMP các bạn có thể thực hiện cài đặt với 5 bước sau.

Bước 1: Cài đặt Apache Web Server

Máy chủ web Apache là một trong những máy chủ web phổ biến nhất trên thế giới. Nó đã được ghi chép đầy đủ và được sử dụng rộng rãi trong một thời gian dài, điều này khiến cho Apache trở thành một lựa chọn mặc định tuyệt vời để lưu trữ một website.

Vì Apache có sẵn trong kho lưu trữ của Centos , nên bạn chỉ cần cài đặt bằng lệnh sau

AZDIGI Tutorial
yum install -y httpd
    

Sau khi cài đặt hoàn tất, các bạn có thể sử dụng các lệnh sau để quản lý Apache

AZDIGI Tutorial
systemctl start httpd      (Khởi động dịch vụ Apache)
systemctl stop httpd       (Dừng dịch vụ Apache)
systemctl reload httpd     (Tải lại dịch vụ Apache)
systemctl restart httpd    (Khởi động lại  dịch vụ Apache:)
systemctl enable httpd     (Thiết lập Apache khởi động cùng hệ thống)
systemctl disable httpd    (Vô hiệu hoá Apache khởi động cùng hệ thống )
systemctl status httpd     (Xem trạng thái dịch vụ Apache)
    
Hướng dẫn cài đặt LAMP Stack trên CentOS 7

Mặc định trên Centos 7 sẽ sử dụng tường lửa là Firewall, nên các bạn cần thực hiện mở Port dịch vụ Apache với Firewall theo các cách sau:

AZDIGI Tutorial
firewall-cmd --zone=public --add-port=80/tcp
firewall-cmd --reload      (Reload lại Firewalld) 
    

Bước 2: Cài đặt MariaDB

Để cài đặt MariaDB các bạn chạy lệnh sau.

AZDIGI Tutorial
yum install -y mariadb mariadb-server
    

Sau khi cài đặt hoàn tất, các bạn có thể sử dụng các lệnh sau để quản lý MariaDB

AZDIGI Tutorial
systemctl start mariadb      (Khởi động dịch vụ mariadb)
systemctl stop mariadb      (Dừng dịch vụ mariadb)
systemctl restart mariadb    (Khởi động lại  dịch vụ mariadb)
systemctl enable mariadb     (Thiết lập mariadb khởi động cùng hệ thống)
systemctl disable mariadb    (Vô hiệu hoá mariadb khởi động cùng hệ thống )
systemctl status mariadb     (Xem trạng thái dịch vụ mariadb)
    
Hướng dẫn cài đặt LAMP Stack trên CentOS 7

Lưu ý: File cấu hình chính của MariaDB là file /etc/my.conf

Thiết lập bảo mật MariaDB Server

Như vậy ta đã cài đặt thành công MariaDB Server . MariaDB Server  bao gồm một tập lệnh bảo mật để thay đổi một số tùy chọn mặc định kém an toàn như Remote Connect và user test. Các bạn sử dụng lệnh sau để chạy tập lệnh bảo mật:

AZDIGI Tutorial
mysql_secure_installation
    
[root@template ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): (Nhấn Enter)
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password:    (Nhập password root mysql mới)
Re-enter new password: (Nhập lại password)
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Bước 3: Cài đặt PHP

Phiên bản PHP có sẵn CentOS 7 là các bản cũ và đã lỗi thời và vì lý do đó, các bạn nên cài đặt kho lưu trữ gói của bên thứ ba để có thể sử dụng các phiên bản PHP mới nhất . Và Remi là kho lưu trữ gói phổ biến cung cấp các bản phát hành PHP mới nhất cho các máy chủ CentOS.

  • Để cài đặt kho Remi các bạn chạy lệnh sau.
AZDIGI Tutorial
yum install -y yum-utils http://rpms.remirepo.net/enterprise/remi-release-7.rpm
    
  • Sau khi cài đặt gói Remi xong, các bạn cần chọn phiên bản PHP mà mình cần cài đặt và kích hoạt gói chứa phiên bản PHP đó. Ở hướng dẫn này mình sẽ cài đặt PHP 8.0 nên sẽ kích hoạt gói bằng lệnh sau.
AZDIGI Tutorial
yum-config-manager --enable remi-php80
    

Lưu ý: Ở số 80 (tương ứng PHP 8.0), bạn có thể thay thế bằng phiên bản PHP bạn muốn (Ví dụ: 72 73 74 tương ứng 7.27.3 7.4..)

  • Khi module remi-80 của PHP đã được bật, bạn có thể tiến hành cài đặt PHP và các PHP Extension cần thiết bằng lệnh bên dưới.
AZDIGI Tutorial
yum install -y php php-ldap php-zip php-embedded php-cli php-mysql php-common php-gd php-xml php-mbstring php-mcrypt php-pdo php-soap php-json php-simplexml php-process php-curl php-bcmath php-snmp php-pspell php-gmp php-intl php-imap perl-LWP-Protocol-https php-pear-Net-SMTP php-enchant php-pear php-devel php-zlib php-xmlrpc php-tidy php-opcache php-cli php-pecl-zip unzip gcc
    
  • Kiểm tra phiên bản PHP vừa cài đặt bằng cách
AZDIGI Tutorial
php -v
    

Như hiển thị trên thì đã cài đặt thành công PHP 8.0 rồi nhé.

PHP 8.0.1 (cli) (built: Jan  5 2021 13:54:54) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.1, Copyright (c), by Zend Technologies

Bước 4: Cấu hình Virtual Host (Apache)

Virtual Host là file cấu hình trong Apache để cho phép nhiều Domain cùng chạy trên một máy chủ. Tất cả các file vhost sẽ nằm trong thư mục tại đường dẫn  /etc/httpd/conf.d/. Để dễ dàng quản lý thì mỗi Website nên có một vhost riêng, ví dụ: azdigi.cf.conf

Ở bài hướng dẫn này, mình sẽ tạo website là azdigi.cf và vhost của nó tương ứng sẽ là /etc/httpd/conf.d/azdigi.cf.conf

AZDIGI Tutorial
touch /etc/httpd/conf.d/azdigi.cf.conf  (Tạo file azdigi.cf.conf)
vi /etc/httpd/conf.d/azdigi.cf.conf     (Chỉnh sửa file azdigi.cf.conf)
    

Sau khi mở file azdigi.cf.conf lên, các bạn copy nội dung bên dưới và dán vào file azdigi.cf.conf => Save lại.

VirtualHost *:80
        ServerName azdigi.cf
        ServerAlias www.azdigi.cf
        DocumentRoot /var/www/azdigi.cf/html
        ErrorLog /var/log/httpd/azdigi.cf_error.log
        CustomLog /var/log/httpd/azdigi.cf_access.log combined
/VirtualHost
Hướng dẫn cài đặt LAMP Stack trên CentOS 7

Tiếp theo các bạn cần tạo thư mục chứa mã nguồn website bằng lệnh sau.

AZDIGI Tutorial
mkdir -p /var/www/azdigi.cf/html           (Tạo folder azdigi.cf và html chứa dữ liệu website)
chown -R apache:apache /var/www/azdigi.cf  (Phân quyền thực thi cho thư mục)
    

Bây giờ ta khởi động lại dịch vụ Apache bằng lệnh.

AZDIGI Tutorial
systemctl restart httpd
    

Bước 5: Kiểm tra hoạt động website

Sau khi đã cấu hình hoàn tất Virtual Host và tạo folder website hoàn tất, các bạn kiểm tra nhanh xem website của mình có hoạt động hay không bằng cách tạo thử file index bằng lệnh sau

Lưu ý: Bạn cần phải trỏ Domain về IP máy chủ trước thì mới có thể truy cập được nhé. Và các bạn nhớ thay đổi đúng đường dẫn ở VPS của bạn.

AZDIGI Tutorial
touch /var/www/azdigi.cf/html/index.html | echo "Cai dat thanh cong LAMP" > /var/www/azdigi.cf/html/index.html
    
Tạo xong file các bạn ra trình duyệt bất kỳ và gõ tên website để kiểm tra, như hiển thị bên dưới là website của mình đã hoạt động.
lamp4 2

III. Tổng kết

Như vậy, ở bài viết này AZDIGI đã hướng dẫn bạn cách cài đặt LAMP lên máy chủ sử dụng Centos 7 hoàn tất một cách chi tiết nhất. Việc cài đặt LAMP sẽ giúp bạn có một máy chủ để vận hành website một cách ổn định và trơn tru nhất. Do LAMP chỉ cài đặt các dịch vụ cần thiết để sử dụng Website , điều đó có nghĩa là nó sẽ loại bỏ được các dịch vụ không cần thiết để tài nguyên VPS có thể tập trung tối đa cho việc vận hành website. Hy vọng bài viết này sẽ giúp bạn cài đặt thành công.!

Nếu thấy bài viết hữu ích, hãy chia sẻ rộng rãi đến mọi người để cùng biết cách cài đặt nhé. Ngoài ra Các bạn có thể xem qua một số bài viết khác về kiến thức Linux tại link bên dưới

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:

Đánh giá

Tham gia nhóm hỗ trợ Server - Hosting

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay

Bài viết cùng chuyên mục

AZDIGI – Không chỉ là đơn vị hàng đầu trong lĩnh vực Web Hosting và Máy chủ, chúng tôi mong muốn mang lại những kiến thức bổ ích nhất và luôn cập nhật thường xuyên cho cộng đồng người đam mê thiết kế website, công nghệ,…

Vui lòng không sao chép nội dung nếu chưa xin phép. Designed and Developed by PenciDesign