» » Cách cài đặt Apache, MySQL và PHP (LAMP) trên CentOS 6

Cách cài đặt Apache, MySQL và PHP (LAMP) trên CentOS 6

Cài đặt Apache, MySQL và PHP (LAMP) trên CentOS 6 là cách đơn giản nhất để có một máy chủ web. Bạn cũng có thể dễ dàng cài đặt LAMP trên Ubuntu.

Apache, PHP và MySQL (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. Apache, PHP và MySQL cũng là điểm tốt nhất để bắt đầu tìm hiểu về web server vì chúng rất dễ dàng cài đặt và sử dụng. 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.

Bài viết này sẽ hướng dẫn bạn cài đặt Apache sử dụng mod_php. Tuy nhiên, đối với các server nhỏ thì cài đặt Nginx và PHP-FPM có lẽ sẽ đạt hiệu suất tốt hơn.

  1. Cài đặt Apache
  2. Cài đặt MySQL
  3. Cài đặt PHP
  4. Kiểm tra kết quả

Cài đặt Apache

CentOS 6 chỉ cung cấp cho bạn gói cài đặt Apache 2.2, nếu bạn muốn sử dụng Apache 2.4 thì bạn có thể build Apache từ source hoặc sử dụng CentOS 7. Nếu bạn đang sử dụng Ubuntu thì bạn hoàn toàn có thể cài đặt Apache 2.4 mới nhất trên Ubuntu rất dễ dàng.

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

# sudo yum install httpd

Để khởi động Apache trên CentOS, sử dụng lệnh:

# sudo service httpd start
Starting httpd:                                            [  OK  ]

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

Apache 2 Test Page
powered by CentOS

Nếu bạn muốn khởi động Apache cùng với hệ thống thì sử dụng lệnh sau:

# sudo chkconfig --level 235 httpd on

Khi bạn khởi động lại VPS thì Apache cũng tự khởi động mà không cần bạn phải làm thủ công.

Cài đặt MySQL

MySQL là một mã nguồn miễn phí dùng để quản lý dữ liệu. Trên CentOS 6, MySQL có sẵn phiên bản 5.1 để cài đặt. Nếu bạn muốn cài đặt MySQL 5.5, 5.6, 5.7 hoặc mới hơn thì bạn có thể cài đặt MySQL từ MySQL Yum Repository.

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

# sudo yum install mysql-server

Khởi động MySQL:

# sudo service mysqld start

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 nhở bạn về các vấn đề như khởi động, bảo mật và báo cáo lỗi MySQL thôi.

MySQL sẽ không thiết lập mật khẩu trong lúc cài đặt, 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 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:

# /usr/bin/mysql_secure_installation

Bạn sẽ nhìn nhận được một số tùy chọn như sau:

  • Enter current password for root (enter for none): đây là yêu cầu bạn nhập mật khẩu cho tài khoản root của MySQL, vì bạn chưa có mật khẩu nên không cần nhập gì cả, chỉ cần bấm enter.
  • Set root password? [Y/n]: nếu bạn muốn thiết lập mật khẩu cho MySQL thì nhập “y” hoặc enter, ngược lại thì nhập “n“. Tất nhiên là bạn nên thiết lập mật khẩu cho root, nhập “y” hoặc enter.
  • New password” và “Re-enter new password“: nhập mật khẩu 2 lần giống nhau nhé.
  • Enter cho các tùy chọn còn lại.
# /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!

Nếu bạn muốn khởi động MySQL cùng với hệ thống thì sử dụng lệnh sau:

# sudo chkconfig --level 235 mysqld on

Bây giờ MySQL cũng sẽ tự khởi động cũng với VPS và Apache như ở trên.

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. Theo các thông tin mà mình tham khảo thì 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à bạn cũng có thể cài đặt MariaDB trên CentOS 6 rất dễ dàng. Bạn cũng có thể 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.

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.

Mặc định thì CentOS 6 chỉ có sẵn phiên bản PHP 5.3, tuy nhiên bạn vẫn có thể cài đặt PHP 5.4, 5.5, 5.6 và PHP 7 mới nhất thông qua Remi repository hoặc build PHP từ source.

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

# 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 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. Ví dụ bạn muốn sử dụng curl thì cài module curl, hoặc bạn muốn sử dụng opcache thì có thể cài module APC, memcached cho PHP…

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:

# 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:

# sudo service httpd restart

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 và chỉnh sửa PHP 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.

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:

# sudo nano /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à phiên bản PHP và các modules, kèm theo là MySQL.

Cách cài đặt Apache, MySQL và PHP (LAMP) trên CentOS 6

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 nhé.

# rm /etc/httpd/conf.d/welcome.conf
# sudo service httpd restart

Như vậy là bạn đã hoàn thành việc cài đặt Apache, MySQL và PHP (LAMP) trên CentOS 6.

Thích hoặc chia sẽ bài này