Hướng Dẫn Cài Apache, PHP 7 và MySQL trên CentOS 7 | VN-Zoom | Cộng đồng Chia Sẻ Kiến Thức Công Nghệ và Phần Mềm Máy Tính

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add https://vn-z.vn to your ad blocking whitelist or disable your adblocking software.

×

Hướng Dẫn Cài Apache, PHP 7 và MySQL trên CentOS 7

Hinun97

Ở đâu khó có Hinun
Thành viên BQT
how-to-install-apache-php-7-2-and-mysql-on-centos-7-part-1-780x405.jpg

Hướng dẫn này sẽ chỉ cách bạn cài đặt Apache web server trên Centos 7 cùng với việc cài PHP và MySQL với các phiên bản PHP từ 5.4 cho đến 7.0, 7.1, 7.2.
Bài này mình dịch và gôm gọn lại từ chuỗi 3 bài viết tiếng Anh ở trang: How to install Apache, PHP 7.2 and MySQL on CentOS 7

Dưới đây là chi tiết các bước thực hiện từ A-Z khi các bạn vừa cài xong Centos 7.

Hướng Dẫn Cài Apache, PHP 7 và MySQL trên CentOS 7 - Part 1

BƯỚC 1: Thêm EPEL và các công cụ hỗ trợ cho Centos 7

Để có thể tiến hành cài đặt trơn tru, các bạn cần add repo EPEL cho Centos 7 bằng lần lược các lệnh sau:

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

Khi thực hiện chỉnh sửa file trên Centos ta có thể sử dụng trình mặc định vi, nhưng mình khuyến khích xài nano vì nó thuận tiện và dễ thao tác hơn (ý kiến cá nhân là vậy) bằng lệnh:

Mã:
yum -y install nano

BƯỚC 2: Tiến hành cài MySQL / MariaDB

MariaDB là một sản phẩm mã đóng tách ra từ mã mở do cộng đồng phát triển của hệ quản trị cơ sở dữ liệu quan hệ MySQL nhằm theo hướng không phải trả phí với GNU GPL. MariaDB được phát triển từ sự dẫn dắt của những nhà phát triển ban đầu của MySQL, do lo ngại khi MySQL bị Oracle Corporation mua lại. MariaDB được định hướng để duy trì khả năng tương thích cao với MySQL, để đảm bảo khả năng hỗ trợ về thư viện đồng thời kết hợp một cách tốt nhất với các API và câu lệnh của MySQL.

Do đó, gần như các system và dev giờ đều chuyển sang dùng MariaDB do nó tốt hơn hẳn MySQL. Để cài đặt, các bạn dùng lệnh như dưới đây:

Mã:
yum -y install mariadb-server mariadb

Sau khi cài, các bạn cần khởi động MariaDB và setup cho nó tự khởi động cùng hệ thống với câu lệnh:

Mã:
systemctl start mariadb.service
systemctl enable mariadb.service

Tiếp theo là cài đặt mật khẩu cho user root của MySQL:

Mã:
mysql_secure_installation

Khi gõ dòng lệnh trên, các bạn sẽ trãi qua các bước như bên dưới, và cứ làm theo hướng dẫn nhé.

Mã:
Enter current password for root (enter for none): <–ENTER
Set root password? [Y/n] New password: <–điền pass của bạn vào và nhấn ENTER
Re-enter new password: <–nhập lại mật khẩu và nhấn ENTER
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!
 

Hinun97

Ở đâu khó có Hinun
Thành viên BQT
how-to-install-apache-php-7-2-and-mysql-on-centos-7-part-2-780x405.jpg

Hướng Dẫn Cài Apache, PHP 7 và MySQL trên CentOS 7 - Part 2

BƯỚC 3: Cài đặt Apache 2.4
Centos 7 có sẵn thư viện cài đặt Apache 2.4. Do đó, chúng ta có thể cài đặt nhanh chóng bằng lệnh:
Mã:
yum -y install httpd

how-to-install-apache-php-7-2-and-mysql-on-centos-7-part-2-a-1024x473.png

Tương tự như khi cài MariaDB, chúng ta cũng cần khởi động và cài đặt cho nó tự chạy cùng Centos.

Mã:
systemctl start httpd.service
systemctl enable httpd.service

Để có thể truy cập máy chủ web từ bên ngoài, chúng ta phải mở các cổng HTTP (80) và HTTPS (443) trong tường lửa. Tường lửa mặc định trên CentOS là firewalld có thể được cấu hình bằng lệnh firewalld-cmd.

Mã:
firewall-cmd –permanent –zone=public –add-service=http
firewall-cmd –permanent –zone=public –add-service=https
firewall-cmd –reload

Bây giờ, bạn có thể thử truy cập vào IP của VPS hoặc địa chỉ localhost và coi thành quả của mình. Nếu giống như hình dưới thì bạn đã hoàn tất bước 3 và qua bước 4 cùng Hinun nhé :p


how-to-install-apache-php-7-2-and-mysql-on-centos-7-part-2-b.png

BƯỚC 4: Cài đặt PHP

Phiên bản mặc định của Centos 7 là PHP 5.4 khá cũ. Do đó, chúng ta cần phải add thêm Remi repo để cài các phiên bản PHP mới nhất như PHP 7.0, PHP 7.1, PHP 7.2,...

Thêm Remi CentOS repository lần lượt bằng các lệnh:

Mã:
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Install yum-utils as we need the yum-config-manager utility.
yum -y install yum-utils
and run yum update
yum update


Bây giờ bạn phải chọn phiên bản PHP nào bạn muốn sử dụng trên máy chủ của mình thông qua các phương án bên dưới.
Nếu bạn cài PHP 5.4 thì sử dụng lệnh đơn giản sau:

Mã:
yum -y install php

Nếu bạn cài PHP 7.0 thì cần thực hiện lệnh:

Mã:
yum-config-manager –enable remi-php70
yum -y install php php-opcache

Nếu bạn cài PHP 7.1 thì dùng lệnh:

Mã:
yum-config-manager –enable remi-php71
yum -y install php php-opcache

Và nếu bạn sử dụng PHP 7.2 thì cần gõ lệnh sau:


Mã:
yum-config-manager –enable remi-php72
yum -y install php php-opcache

Cuối cùng là khởi động lại Apache để các thay đổi của bạn được áp dụng vào server nhé.

Mã:
systemctl restart httpd.service
 

Hinun97

Ở đâu khó có Hinun
Thành viên BQT
how-to-install-apache-php-7-2-and-mysql-on-centos-7-part-3-780x405.jpg

Hướng Dẫn Cài Apache, PHP 7 và MySQL trên CentOS 7 - Part 3

BƯỚC 6: Thiết lập MySQL hỗ trợ PHP
Để có được sự hỗ trợ của MySQL cho PHP, chúng ta có thể cài đặt gói php-mysqlnd. Bạn nên cài đặt một số gói PHP khác cũng như bạn có thể cần chúng cho các ứng dụng của mình. Bạn có thể tìm kiếm các gói PHP5 sẵn có như sau:

Mã:
yum search php

Chọn những cái bạn cần và cài đặt như thế này:

Mã:
yum -y install php-mysqlnd php-pdo

Mình sẽ cài đặt một số gói thông dụng hay dùng Wordpress, Joomla, Drupal bằng lệnh:

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

Khởi động lại Apache service:

Mã:
systemctl restart httpd.service

Bạn có thể tạo 1 file info.php và để thư mục web để kiểm tra các gói được cài đặt như hình nhé:

how-to-install-apache-php-7-2-and-mysql-on-centos-7-part-3-a-1024x649.png


BƯỚC 7: Cài đặt phpMyAdmin

phpMyAdmin là web GUI giúp bạn quản lý MySQL database một cách trực quan, dễ thao tác hơn là sử dụng các dòng lệnh phức tạp. Để cài đặt nó, bạn cần làm như sau:

Mã:
yum -y install phpMyAdmin

Bước tiếp theo là thiết lập 1 số thông tin, bảo mật cho phpMyAdmin bằng cách chỉnh sửa file này:

Mã:
nano /etc/httpd/conf.d/phpMyAdmin.conf

Khi gõ lệnh trên, các bạn sẽ thấy nội dung như bên dưới. Và chú ý phần chú thích của mình nhé.

Mã:
Alias /phpMyAdmin /usr/share/phpMyAdmin (chổ này bạn có thể đặt thành tên khác để ẩn đi cách truy cập mặc định)
Alias /phpmyadmin /usr/share/phpMyAdmin (Ở trên đổi tên gì, dưới này i như vậy)

<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 (chổ này thêm 1 dòng Allow nữa, nhập IP mà bạn cấp quyền truy cập)
# </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 (chổ này thêm 1 dòng Allow nữa, nhập IP mà bạn cấp quyền truy cập)
 </IfModule>
</Directory>


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

Giờ chúng ta cần phải thay đổi giao thức truy cập cho phpMyAdmin:

Mã:
nano /etc/phpMyAdmin/config.inc.php

Các bạn đổi chữ 'cookie' thành "'http' là được.

Mã:
$cfg['Servers'][$i]['auth_type']     = 'http';    // Authentication method (config, http or cookie based)?

Cuối cùng là khởi động lại Apache:

Mã:
systemctl restart  httpd.service

Giờ các bạn hãy thử kiểm tra coi giống như hình chưa nhé http://192.168.1.100/phpmyadmin/:


how-to-install-apache-php-7-2-and-mysql-on-centos-7-part-3-b-1024x649.png

Xin cảm ơn bài viết tại Share-projects.com.Phần hướng dẫn đến đây là hết. Nếu trong quá trình cài đặt có gặp lỗi hay vấn đề gì thì đừng ngại post lên đây nhé bạn. Mọi người sẽ hỗ trợ bạn ngay khi có thể :p
 

LL Stylish

Chờ ngày mai tới...
bài này nếu mình nhớ không nhầm thì có ở bên tecmint.com rồi
 
Mình bị lỗi đã thay đổi mật khẩu trong file phpmyadmin/config.inc.php nhưng vẫn không đăng nhập được
 

NgoHungCuong

Rìu Vàng Đôi
Sao không cài XAMPP luôn bạn?
Như thế chắc sẽ dễ dàng hơn đi vào sử dụng.
 

mrdaohai

Búa Gỗ
cho mình hỏi ngoài lề chút là mình thấy có các loại hosting chạy trên linux <-> Wordpress hosting cũng chạy linux nhưng tốc độ của Wordpress hosting khi dùng cho wordpress thì tốc độ cao hơn hẳn rất nhiều . Thì như vậy lí do là ở đâu bạn ? do cấu hình ??
 

Hinun97

Ở đâu khó có Hinun
Thành viên BQT
cho mình hỏi ngoài lề chút là mình thấy có các loại hosting chạy trên linux <-> Wordpress hosting cũng chạy linux nhưng tốc độ của Wordpress hosting khi dùng cho wordpress thì tốc độ cao hơn hẳn rất nhiều . Thì như vậy lí do là ở đâu bạn ? do cấu hình ??
Vì wordpress là mã nguồn có cộng đồng sử dụng vô cùng lớn. Do đó, các nhà cung cấp hosting đã cài đặt sẵn 1 hosting tối ưu tốt nhất cho wordpress. Từ đó mới có khái niệm Wordpress Hosting. (Giả sử Xenforo phát triển mạnh như WP thì cũng sẽ có Xenforo Hosting).
 

Hinun97

Ở đâu khó có Hinun
Thành viên BQT
Sao không cài XAMPP luôn bạn?
Như thế chắc sẽ dễ dàng hơn đi vào sử dụng.
Trên Windows phần mềm cài hết tất cả các thứ trên người ta gọi là XAMP.
Còn trên Linux thì không có bạn nhé. Quá trình trên mình hướng dẫn gọi là LAMP.
 


Top