Do đã xuất hiện từ lâu nên LAMP (viết tắt của Linux, Apache, MySQL, và PHP) được dùng rất phổ biến trên thế giới.

Các bước cài đặt LAMP trên CentOS

Đầu tiên bạn cần chuẩn bị một server CentOS mới tinh chưa cài gì cả, ở đây mình dùng CentOS 6.4 64bit. Trước khi thao tác bạn cần phải đổi lại hostname và chỉnh sửa file host.

1. Cài đặt Apache

yum install httpd

Đường dẫn file cấu hình Apache:

/etc/httpd/conf/httpd.conf

Khởi động Apache

service httpd start

Test thử bằng cách truy cập vào http://<youraddress> bạn sẽ thấy thông báo “Apache 2 Test Page”

Lưu ý: nếu sử dụng VPS ở Vultr, mặc định port 80 sẽ bị block, khi truy cập vào IP sẽ bị báo lỗi ERR_CONNECTION_REFUSED. Bạn hãy thực hiện thêm thao tác mở port như sau:

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/etc/rc.d/init.d/iptables save

Cấu hình Apache Virtual Hosts

– Tạo một file cấu hình ở thư mục /etc/httpd/conf.d, đặt tên ví dụ example.com.conf (thay bằng domain của bạn)

Nội dung file /etc/httpd/conf.d/example.com.conf

NameVirtualHost *:80

<VirtualHost *:80> 
     ServerAdmin webmaster@example.com
     ServerName example.com
     ServerAlias www.example.com
     DocumentRoot /var/www/example.com/public_html/
     ErrorLog /var/www/example.com/logs/error.log 
     CustomLog /var/www/example.com/logs/access.log combined
</VirtualHost>

– Tạo thư mục cho website

mkdir -p /var/www/example.com/public_html
mkdir /var/www/example.com/logs

– Nếu muốn thêm website, bạn chỉ cần tạo thêm một file .conf khác và reload lại Apache với lệnh: service httpd reload

2. Cài đặt MySQL

yum install mysql-server
service mysqld start

Tiến hành cài đặt MySQL bằng lệnh

/usr/bin/mysql_secure_installation

Do mới cài đặt nên nếu bị hỏi password bạn nhấn Enter

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Sau đó cần đặt root password bằng cách chọn y

Tiếp theo bạn sẽ phải trả lời một loạt các câu hỏi, tốt nhất cứ chọn y

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!

3. Cài đặt PHP

yum install php php-mysql

PHP Modules

PHP có rất nhiều thư viện module khác nhau, bạn có thể xem bằng cách gõ lệnh sau

yum search php-
php-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php-cli.x86_64 : Command-line interface for PHP
php-common.x86_64 : Common files for PHP
php-dba.x86_64 : A database abstraction layer module for PHP applications
php-devel.x86_64 : Files needed for building PHP extensions
php-embedded.x86_64 : PHP library for embedding in applications
php-enchant.x86_64 : Human Language and Character Encoding Support
php-gd.x86_64 : A module for PHP applications for using the gd graphics library
php-imap.x86_64 : A module for PHP applications that use IMAP

Để cài module nào dùng lệnh sau

yum install name of the module

4. Tự động chạy service khi reboot

chkconfig httpd on
chkconfig mysqld on

Restart Apache

service httpd restart

OK vậy là quá trình cài đặt LAMP trên CentOS vậy là xong.

Xem thêm

Comment của bạn

Lưu ý: tất cả comment đều được kiểm duyệt cẩn thận! Nếu có code bạn hãy up lên pastebin.com rồi để lại link trong comment.

110 Comments

  1. Thanh Chính 11 comment

    Rất dễ hiểu. Cho mình hỏi sau khi cài xong LAMP thì cần cài gì nữa không để tối ưu hoặc bảo mật hệ thống server đó. Mới tìm hiểu vps nên cũng không rõ. Nếu có rất mong bạn cho xin từ khóa để tìm hiểu hoặc trên hocvps có rồi thì cho mình xin link

  2. Nguyễn Đình Mạnh 12 comment

    Đến bước 2. Cài đặt MySQL
    Em gõ lệnh cài: yum install mysql-server
    Thì trả về lỗi no park:
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirror.0x.sg
    * extras: mirror.0x.sg
    * updates: mirror.0x.sg
    No package mysql-server available.
    Error: Nothing to do
    Dẫn tới ko lệnh sau ko thực hiện được.
    Vậy khắc phục ntn ạ? Cảm ơn bác.

    1. Việt Phương Moderator

      Mình test trên CentOS release 6.10 (Final) vẫn thấy bình thường. Bạn kiểm tra có đúng đang cài trên CentOS 6 không?
      # yum install mysql-server
      Installed:
      mysql-server.x86_64 0:5.1.73-8.el6_8

      1. Nguyễn Đình Mạnh 12 comment

        Dạ e lại đang cài CentOS 7 của DO ợ. 😀 Bắt buộc dùng bản 6 à a?

          1. Mạnh 12 comment

            OK a. E đã cái CentOS 6 và cài được MySQL rồi. Nhưng tới đoạn set up nhập pass. Nhấn Enter thì nó báo lỗi ko kết nối đc ạ.

            Enter current password for root (enter for none):
            ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

  3. Tài 1 comment

    ở bước: Cấu hình Apache Virtual Hosts

    /etc/httpd/conf.d/domain1.com.conf

    mình enter dòng trên thì nó báo: -bash: /etc/httpd/conf.d/domain1.com.conf no such file or tồn tại

    1. Việt Phương Moderator

      Lệnh trên không phải chỉnh sửa. Bạn phải dùng nano hoặc vi để chỉnh sửa file nhé
      Ví dụ nano /etc/httpd/conf.d/domain1.com.conf

  4. Hapida 8 comment

    Chào Luân!
    Cứ 1 vài ngày thì site mình lại bị lỗi “cant connect to local msql server through socket var/lib/mysql/mysql.sock”. Mình đã tạo file và cmod thư mục mysql như hướng dẫn, chạy được 1 thời gian lại bị như vậy lại. Bạn chỉ mình cách khác phục được ko? Mình cảm ơn!

    1. Việt Phương Moderator

      Tức cứ vài ngày là file mysql.sock không tồn tại và bạn phải tạo và chmod cho file ý? Bạn kiểm tra log mysql xem thì cụ thể hơn

      1. Hapida 8 comment

        Kêt nối database, mình dùng 127.0.0.1 thay cho localhost thì nó không bị lỗi đó nữa.

        1. Việt Phương Moderator

          Well Noted. Mặc dù thực sự 2 cái này mình thấy same same nhau. Bạn để kết nối database trong source code là 127.0.0.1?

          1. Hapida 8 comment

            Đúng rồi bạn. Trong source code mình kết nối data là 127.0.0.1 thì nó ko bị lỗi nữa. Nhưng dùng “localhost” thì cứ 1 ngày nó lại báo lỗi, mặc dù đã tạo file .sock và cmod thư mục rồi.