Cài đặt Apache, PHP, MySQL và phpMyAdmin (LAMP) trên CentOS

0
525

Hướng dẫn Cài đặt Apache, PHP, MySQL và phpMyAdmin (LAMP) trên CentOS.

Bạn đang có nhu cầu tạo một trang web, hay dựng một server web, nhưng chưa biết cài những phần mềm nào hoặc cài như thế nào?. Ở bài viết này mình sẽ hướng dẫn các bạn các bước để có thể cài những công cụ, services đầy đủ để có thể làm điều này.

Hệ điều hành Linux, các services Apache, MySQL và PHP (LAMP) là bộ ba mã nguồn phổ biến nhất hiện nay được sử dụng để phục vụ cho các web server.

Bạn cũng có thể cài đặt Apache, PHP và MySQL trên Ubuntu, Windows và nhiều hệ điều hành khác. Còn phpMyAdmin là phần mềm mã nguồn mở được viết bằng ngôn ngữ PHP nhằm giúp người dùng (thường là các nhà quản trị cơ sở dữ liệu hay database administrator) có thể quản lý cơ sở dữ liệu MySQL thông qua giao diện web thay vì sử dụng giao diện cửa sổ dòng lệnh (command line interface). Sử dụng phpMyadmin người dùng có thể thực hiện được nhiều tác vụ khác nhau như khi sử dụng cửa sổ dòng lệnh. Các tác vụ này bao gồm việc tạo, cập nhật và xoá các cơ sở dữ liệu, các bảng, các trường, dữ liệu trên bảng, phân quyền và quản lý người dùng….

Ở bài viết này, mình sẽ cài đặt trên môi trường CENTOS.

1. Cài đặt Apache

Để cài đặt và khởi động Apache, sử dụng lệnh sau:

[root@tuanvd ~] # sudo yum install httpd

Khởi động Apache

Trên CENTOS 6
[root@tuanvd ~] # sudo service httpd start
Trên CENTOS 7 
[root@tuanvd ~] # systemctl start httpd

Sau đó bạn tiến hành cho phép Apache khởi động cùng hệ thống khi server khởi động:

Trên CENTOS 6 bạn sử dụng lệnh:
[root@tuanvd ~]# chkconfig httpd on
Trên CENTOS 7 bạn sử dụng lệnh:
[root@tuanvd ~]# systemctl enable httpd

Để kiểm tra xem Apache đã chạy hay chưa, bạn có thể truy cập vào IP để xem, ví dụ http://192.168.0.10/. Nếu trang web hiển thị như sau thì bạn đã cài đặt Apache thành công.

cài đặt Apache - httpd trên centos

2. Cài đặt MySQL

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.

Để cài đặt MySQL trên CentOS, sử dụng lệnh sau:

[root@tuanvd ~] # sudo yum install mysql-server

Khởi động và cho phép MySQL chạy cùng hệ thống khi khởi động:

Trên CENTOS 6
[root@tuanvd ~] # service mysqld start
[root@tuanvd ~] # chkconfig mysqld on
Trên CENTOS 7
[root@tuanvd ~] # systemctl start mysqld
[root@tuanvd ~] # systemctl enable mysqld

Nếu đây là lần đầu tiên bạn khởi động MySQL, có thể bạn sẽ nhìn thấy thông báo như sau:

Initializing MySQL database:  Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h sitecuatui.com password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script!
                                                           [  OK  ]
Starting mysqld:                                           [  OK  ]

Đây là chỉ một thông báo nhắc bạn về các vấn đề như khởi động, bảo mật và báo cáo lỗi MySQL mà thôi.

Khi cài đặt, MySQL sẽ không thiết lập mật khẩu, nên bạn phải thiết lập mật khẩu root thủ công. Điều này giúp bạn đảm bảo được tính bảo mật cho MySQL hơn. Để thiết lập mật khẩu và các tùy chọn bảo mật, sử dụng lệnh sau:

[root@tuanvd ~] # /usr/bin/mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, 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):
OK, successfully used password, moving on...

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

Set root password? [Y/n] y
New password: -> nhập mật khẩu
Re-enter new password: -> nhập lại mật khẩu
Password updated successfully!
Reloading privilege tables..
 ... Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL 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, MySQL 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 MySQL
installation should now be secure.

Thanks for using MySQL!

Có rất nhiều mã nguồn miễn phí dùng để quản lý dữ liệu mà bạn có thể thay thế cho MySQL. Mình đã có sử dụng MariaDB, MariaDB được phát triển rẻ nhánh từ MySQL và có tính tương thích cao. MariaDB cũng cho một hiệu suất cao hơn MySQL và cài đặt MariaDB trên CentOS rất dễ dàng. Mình đã có bài hướng dẫn cài đặt MARIADB. Ngoài ra mình cũng có bài hướng dẫn cài đặt phpMyAdmin để quản lý dữ liệu MySQL thông qua trình duyệt mà không cần phải sử dụng lệnh trong SSH.

3. Cài đặt PHP

PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh. Chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. WordPress, XenForo và rất nhiều mã nguồn mở khác được viết trên ngôn ngữ PHP. Vì vậy nếu bạn muốn chạy các mã nguồn này thì bạn cần phải cài đặt PHP

Để cài đặt PHP, sử dụng lệnh sau:

root@tuanvd ~] # sudo yum install php php-mysql

php-mysql là gói ứng dụng hỗ trợ cho MySQL, nếu bạn dùng PHP 5.4 hoặc mới hơn thì cài php-mysqlnd sẽ tốt hơn.

Cài đặt thêm các gói mở rộng cho PHP

Để PHP hỗ trợ đầy đủ các tính năng cần thiết. Bạn cần phải cài đặt các php modules tương ứng.

Bạn có thể sử dụng lệnh sudo yum search php- để tìm kiếm modules cho PHP, bạn có thể lựa chọn modules từ danh sách để cài đặt. Để cài đặt modules cho PHP, sử dụng lệnh sudo yum install tên module, ví dụ như sau:

[root@tuanvd ~]# sudo yum install php-cli php-devel php-gd php-mbstring php-pear php-pecl-apc php-soap

Sử dụng lệnh sau để khởi động lại Apache:

Trên CENTOS 6
[root@tuanvd ~]# service httpd restart
Trên CENTOS 7
[root@tuanvd ~]# systemctl restart httpd

Bạn không cần phải khởi động PHP, vì PHP sẽ được sử dụng như một module của Apache là mod_php. Vì vậy mỗi khi bạn thay đổi trong file php.ini thì bạn phải khởi động lại Apache để áp dụng. File php.ini nằm ở đâu?, Trong bài này thì file php.ini nằm ở /etc/php.ini. Bạn cũng có thể cấu hình để sử dụng PHP-FPM cho Apache thay vì sử dụng mod_php như trên.

4. Kiểm tra kết quả cài đặt

Để chắc chắn rằng Apache, MySQL và PHP làm việc tốt, bạn hãy tạo một file info.php trong /var/www/html:

[root@tuanvd ~]# vi /var/www/html/info.php

với nội dung  như sau:

<?php 
phpinfo (); 
?>

Và truy cập vào http://ip-cua-server/info.php để kiểm tra. Các mục cần kiểm tra là version PHP và các modules, kèm theo là version MySQL.

cai dat, install php, mysql, LAMP

Nếu bạn muốn xóa trang “Apache 2 Test Page powered by CentOS” thì bạn hãy xóa file /etc/httpd/conf.d/welcome.conf và khởi động lại Apache là được.

5. Cài đặt phpMyAdmin

Ở bài viết trước, mình đã có hướng dẫn các bạn cài phpMyAdmin trên CentOS7 tại bài viết này: https://tuanvd.com/huong-dan-cai-dat-phpmyadmin-tren-centos-7/

Các  bạn có thể tham khảo và làm tương tự với Centos 6 nhé.

Như vậy là bạn đã hoàn thành việc cài đặt Apache, MySQL và PHP (LAMP) trên CentOS. Chúc các bạn thành công. Mọi câu hỏi các bạn có thể truy cập mục liên hệ để liên hệ với mình. Mình sẽ cố gắng trả lời các bạn một cách nhanh nhất.

BÌNH LUẬN

Please enter your comment!
Please enter your name here