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ẻ.
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
Để 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
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
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/