Hướng dẫn cài đặt LAMP trên CentOS 7.4 step-by-step

//

Hướng dẫn cài đặt LAMP trên CentOS 7.4 step-by-step

LAMP server là gì?

LAMP  là nền tảng của các website server sử dụng chủ yếu Linux. LAMP là viết tắt của Linux, Apache, (MySQL / MariDB) và PHP, là giải pháp máy chủ linh hoạt, được kết hợp từ 4 lớp giải pháp phần mềm riêng lẻ.

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

LAMP Webserver (Linux + Apache + MySQL/MariaDB + PHP)

Các thành phần này, được sắp xếp theo các lớp hỗ trợ lẫn nhau, tạo thành các stack phần mềm. Các website và ứng dụng web chạy trên nền tảng của các stack cơ bản này.

Linux: là lớp đầu tiên trong stack. Hệ điều hành này là cơ sở nền tảng cho các lớp phần mềm khác.

Apache: Lớp thứ hai bao gồm phần mềm web server, thường là Apache Web (HTTP) Server. Lớp này nằm trên lớp Linux. Web server chịu trách nhiệm chuyển đổi các web browser sang các website chính xác của chúng. Apache đã (và vẫn) là ứng dụng web server phổ biến nhất trên public Internet hiện nay. Trên thực tế, Apache được ghi nhận là đóng một vai trò quan trọng trong sự phát triển ban đầu của World Wide Web.

MySQL: Lớp thứ ba là nơi cơ sở dữ liệu database được lưu trữ. MySQL lưu trữ các chi tiết có thể được truy vấn bằng script để xây dựng một website. MySQL thường nằm trên Linux và cùng với Apache / lớp 2. Trong cấu hình highend, MySQL có thể được off load xuống 1 máy chủ lưu trữ riêng biệt.

PHP: là lớp trên cùng của stack. Lớp script bao gồm PHP và / hoặc các ngôn ngữ lập trình web tương tự khác. Các website và ứng dụng web chạy trong lớp này.

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

Trước khi tiến hành cài đặt LAMP server chúng ta tiến hành update centos trước

yum -y update

Bước 1: install Apache

Sau khi update Centos xong chúng ta sẽ cài đặt apache trên centos 7, hiện tại version của là Apache 2.4

các bạn chạy lệnh sau:

yum -y install httpd

Sau khi cài đặt xong các bạn chạy lệnh sau để khởi động Apache theo hệ thống

systemctl start httpd.service
systemctl enable httpd.service

Check kiểm tra thông tin apache

httpd -v

Tiếp theo cấu hình firewall mở port cho Apache, mặc định trong centos 7 sử dụng FirewallD, đối với các phiên bản trước thì là Iptables, nếu không thích các bạn có thể sử dụng firewall khác như CSF (mình hay dùng cái này) ở đây mình sử dụng FirewallD mặc định của centos 7

Giờ chúng ta sẽ mở port 80 và 443 cho dịch vụ webserver

firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

LƯU Ý: Để thiết lập firewall không bị thay đổi chúng ta phải sử dụng tuỳ chọn –permanent

Enable-Firewall-in-CentOS-7

Để kiểm tra Apache cài đặt hoạt động thành công chưa các bạn mở trình duyệt web truy cập địa chỉ ip của server (http://your-ip-address or http://localhost), nếu xuất hiện màn hình như dưới đây là đươc

test apache

Bước 2 Installing MySQL / MariaDB

MariaDB là một nhánh của MySQL của nhà phát triển MySQL gốc Monty Widenius. MariaDB tương thích với MySQL và ở đây mình sử dụng MariaDB thay vì MySQL.

Chạy lệnh sau để cài đặt MariaDB

yum -y install mariadb-server mariadb MariaDB-client

Lưu ý với lệnh trên chúng ta chỉ cài đặt bản MariaDB v5 cũ nếu muốn cài bản mới nhất các bạn phải thực thêm MariaDB YUM repository

Đầu tiên truy cập vào kho file cài đặt maraDB và chọn phiên bản cần cài tại đây Source MariaDB

Ở đây mình chọn phiên bản mariadb 10.3 cài đặt trên centos 7 thì đươc thông tin tạo MariaDB YUM repository như sau:

# MariaDB 10.3 CentOS repository list
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb] 
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB 
gpgcheck=1

Chạy lệnh sau

nano /etc/yum.repos.d/MariaDB.repo

Copy nội dung ở trên paste vào xong lưu lại và thoát

Chạy lệnh sau để cài đặt MariaDB

yum -y install mariadb-server mariadb MariaDB-client

Tự khởi động Mysql theo hệ thống

systemctl start mariadb.service
systemctl enable mariadb.service

Tiếp theo chúng ta cần cấu hình bảo mật Mysql:

mysql_secure_installation

Các bạn thiết lập theo yêu cầu

[root@server1 ~]# mysql_secure_installation

Enter current password for root (enter for none): <--ENTER

Set root password? [Y/n] 
New password: <--yourmariadbpassword
Re-enter new password: <--yourmariadbpassword

Remove anonymous users? [Y/n] <--ENTER

Disallow root login remotely? [Y/n] <--ENTER

Remove test database and access to it? [Y/n] <--ENTER

Reload privilege tables now? [Y/n] <--ENTER

Thanks for using MariaDB!

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

Phiên bản cài đặt mặc định trên centos là php 5.4 khá cũ, ở đây mình sẽ cài đặt PHP 7 phiên bản mới và ổn định hiện nay

Thêm repository
Cài đặt yum-utils và enable EPEL repository

yum install epel-release yum-utils -y
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Các bạn chọn một trong các phiên bản PHP dưới đây

Configure PHP 7.0 repository

yum-config-manager --enable remi-php70

Configure PHP 7.1 repository

yum-config-manager --enable remi-php71

Configure PHP 7.2 repository

yum-config-manager --enable remi-php72

chạy lệnh sau để install php 7

yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql -y

xong khởi động lại apache

systemctl restart httpd.service

Bước 4 kiểm tra việc Apache xử lý PHP

Thư mục gốc web mặc định là / var / www / html. Mình sẽ tạo một tệp PHP(info.php) trong thư mục đó để kiểm tra Apache xử lý PHP.

File sẽ hiển thị nhiều chi tiết  phiên bản PHP mà chúng ta cài đặt.

nano /var/www/html/info.php
<?php
phpinfo();

Bây giờ các bạn mở trình duyệt lên và gõ ip webserver, nếu kết quả hiện thị như hình dưới là việc cài đặt của chúng ta đã thành công

kiểm tra kết quả cài đặt LAMP

Bước 5: Cài đặt các modules cần thiết cho PHP

Khi xây dựng webserver apache chúng ta sẽ cần một số modules và phần mở rộng cho PHP, để tìm danh sách các modules các bạn chạy lệnh sau:

yum search php

Mình sẽ cài đặt một số mô-đun PHP phổ biến được các Hệ thống CMS yêu cầu như WordPress, Joomla và Drupal:

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel

Xong Restart Apache

 systemctl restart httpd.service

Bước 6: Cài đặt phpMyAdmin

Mình sẽ thêm EPEL repo để cài đặt phpMyAdmin mới nhất như sau:

 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release

Để quản lý Mysql dễ dàng qua giao diện chúng ta sẽ sử dụng phpmyadmin

 yum -y install phpMyAdmin

Cấu hình phpmyadmin, các bạn vào file phpmyadmin.conf để thiết lập

 nano /etc/httpd/conf.d/phpMyAdmin.conf
 [...]
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8

<IfModule mod_authz_core.c>
# Apache 2.4
# <RequireAny>
# Require ip 127.0.0.1
# Require ip ::1
# </RequireAny>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/>
Options none
AllowOverride Limit
Require all granted
</Directory>

[...]

Tiếp theo, mình sẽ thay đổi xác thực trong phpMyAdmin từ cookie thành http:

 nano /etc/phpMyAdmin/config.inc.php
 [...]
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
[...]

Restart Apache:

 systemctl restart httpd.service

Giờ các bạn có thể quản lý mysql tại http://Ip_webserver/phpmyadmin/

Link tham khảo

Apache: http://httpd.apache.org/
PHP: http://www.php.net/
MySQL: http://www.mysql.com/
CentOS: http://www.centos.org/
phpMyAdmin: http://www.phpmyadmin.net/

Leave a Comment