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

Đăng bởi: Admin | Lượt xem: 1497 | Chuyên mục: Linux/Server

LAMP (viết tắt của Linux, Apache, MySQL, và PHP) là bộ phần mềm xuất hiện lâu đời được cài đặt phổ biến trên VPS/Server Linux. Trong bài viết này VnCoder sẽ hướng dẫn các bạn cài đặt LAMP và phpMyAdmin trên hệ điều hành CentOS.


1. LAMP là gì?

LAMP là chữ viết tắt thường được dùng để chỉ sự sử dụng các phần mềm LinuxApacheMySQL và ngôn ngữ văn lệnh PHP hay Perl hay Python để tạo nên một môi trường máy chủ Web có khả năng chứa và phân phối các trang Web động.

LAMP được yêu thích sử dụng bởi sự phổ biến, lâu đời, dễ dàng cài đặt, sử dụng. Thích hợp cho các bạn mới làm quen với quản trị server, VPS hoặc các bạn đã quen với Apache htaccess.  Một lựa chọn thay thế phổ biến là LEMP với webserver là nginx nên tốc độ và hiệu suất cao hơn so với Apache.

2. Hướng dẫn cài đặt LAMP trên CentOS

Trước khi cài bạn cần có một server CentOS mới (các bạn có thể cài trên CentOS 6, CentOS 7, CentOS 8 hoặc các hệ điều hành linux tương tự). Mình khuyên bạn nên mua server của Vultr giá rẻ hiệu năng cao, đặc biệt đang có ưu đãi 100$ dùng thử đăng kí tại đây.

1. Cài đặt Apache

Apache là phần mềm máy chủ web phổ biến nhất trên mạng. Nó rất an toàn, nhanh chóng, và đáng tin cậy. Chúng ta có thể tùy chỉnh để Apache hỗ trợ các ngôn nhữ web khác nhau như PHP, CGI / Perl, SSL, SSI, ePerl, và thậm chí ASP.

yum install httpd

Đường dẫn cấu hình mặc định của Apache

/etc/httpd/conf/httpd.conf

Bật Apache

service httpd start

Để kiểm tra xem apache đã hoạt động chưa, các bạn truy cập từ trình duyệt theo địa chỉ http://<youraddress> bạn sẽ thấy thông báo “Apache 2 Test Page” như vậy là  thành công

Lưu ý: Nếu bạn mới cài đặt VPS có thể tường lửa sẽ chặn cổng 80 do đó cẩn tiền hành mở cổng như sau:

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

Cấu hình Apache Virtual Hosts

Mặc định khi cài đặt Apache, tất cả tên miền trỏ về server của bạn sẽ có thư mục webroot là /var/www/html Nếu bạn muốn thay đổi thư mục hoặc thêm nhiều website thì sẽ cần sử dụng Apache Virtual Hosts

Hướng dẫn thêm một tên miền mới 

Trước tiên ban 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

Reload lại Apache

service httpd reload

Nếu muốn thêm website, bạn chỉ cần tạo thêm một file .conf khác tương tự như trên

2. Cài đặt MySQL

yum install mysql-server
service mysqld start

Tiến hành cấu hình bảo mật cho 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, nếu cần module nào các bạn có thể cài thêm bằng lệnh  

yum install php-module_name

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

Để LAMP tự động khởi chạy khi khởi động lại VPS ta dùng lệnh sau

chkconfig httpd on
chkconfig mysqld on

Nếu muốn Restart Apache

service httpd restart

5. Cài đặt phpMyAdmin

Như vậy là quá trình cài đặt LAMP đã hoàn thành, tuy nhiên các bạn nên cài đặt phpMyAdmin để tiện xử lý database ngay trên web

Thêm EPEL repository: phpMyAdmin không có sẵn trong repo mặc định của CentOS nên bạn phải sử dụng Fedora Projects EPEL (Extra Packages for Enterprise Linux) repo. Cài đặt:

yum install epel-release

Cài đặt phpMyAdmin:

yum install phpmyadmin

Cấu hình phpMyAdmin

Nếu bạn sử dụng Apache Webserver, hãy chỉnh sửa nano /etc/httpd/conf.d/phpMyAdmin.conf
Để có thể truy cập được vào phpMyAdmin bạn cần thay đổi thông tin IP từ 127.0.0.1 sang All.

Bạn cũng có thể giới hạn truy cập bằng cách sử dụng IP của bạn. Tuy nhiên, do đặc điểm mạng ADSL VN thường xuyên thay đổi IP nên bạn không nên dùng IP cá nhân. Có 4 chỗ bạn cần thay đổi IP

. . .
Require ip All
. . .
Allow from All
. . .
Require ip All
. . .
Allow from All
. . .

Lưu và khởi động lại server

service httpd restart

Khi đó, bạn có thể truy cập qua domain.com/phpMyAdmin và đăng nhập sử dụng tài khoản MySQL.

Tổng kết

Như vậy mình đã hướng dẫn bài cặt đặt LAMP (Linux, Apache, MySQL, và PHP) và phpMyAdmin trên CentOS. Nếu có gì thắc mắc vui lòng để lại comment bên dưới. Chúc các bạn thành công!

Theo: VnCoder
vncoder logo

Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!



Khóa học liên quan

Khóa học: Linux/Server