Trong bài viết này, HOSTVN sẽ hướng dẫn các bạn cách cài đặt LAMP trên Centos 7 – Linux Apache, MariaDB, PHP-FPM, PhpMyAdmin.
Trong bài viết này, HOSTVN sẽ hướng dẫn chi tiết các bạn cách cài đặt LAMP trên Centos 7 – Linux Apache, MariaDB, PHP-FPM, PhpMyAdmin.
Hướng dẫn cách cài đặt LAMP trên Centos 7
LAMP là gì?
ĐÈN NGỦ là một từ viết tắt thường được sử dụng để chỉ việc sử dụng phần mềm Linux, Apache, MySQL / MariaDB và PHP / PHP-FPM để tạo môi trường máy chủ Web giúp triển khai các trang web trên môi trường Internet.
Cài đặt LAMP trên Centos 7
Nếu bạn chưa biết cách kết nối VPS qua SSH thì có thể xem hướng dẫn bên dưới
1. Bước 1: Cài đặt Apache và cấu hình cơ bản
1.1. Tắt SELinux
Để tắt Selinux bạn chạy lệnh sau
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0
1.2. Cài đặt Apache
Để cài đặt Apache trên centOS, hãy chạy các lệnh sau:
yum -y install epel-release yum -y update yum -y install httpd
Nếu bạn sử dụng Firewalld thì bạn sẽ cần phải mở cổng để có thể truy cập trang web
firewall-cmd --add-service=http --permanent firewall-cmd --add-service=https --permanent firewall-cmd --reload
1.3. Cấu hình Apache cơ bản
Để thuận tiện cho việc chỉnh sửa tập tin, bạn có thể kết nối với VPS qua SFTP theo hướng dẫn sau
Để cấu hình Apache, hãy mở tệp /etc/httpd/conf/httpd.conf
Dưới đây là các thông số cần được hiệu chỉnh
#ServerName www.example.com:80
DirectoryIndex index.html
Bạn thay đổi nó thành như sau
Tên máy chủ www.example.com: 80
DirectoryIndex index.html index.htm index.php
Thay thế www.example.com với bất kỳ tên miền nào. Tiếp theo, bạn thêm 2 quy tắc sau vào bên dưới dòng Nghe 80
ServerTokens Prod
KeepAlive On
ServerSignature Off
1.4. Bật Userdir
Theo mặc định, thư mục chứa mã sẽ nằm trong / var / www / htmlvới chức năng của userdir cho phép di chuyển thư mục chứa mã sang vị trí khác và dễ dàng quản lý vhost theo từng người dùng.
Để bật Userdir, hãy mở tệp /etc/httpd/conf.d/userdir.conf. Ở đây bạn cần chỉnh sửa các quy tắc sau
UserDir bị vô hiệu hóa
#UserDir public_html
Chỉnh sửa nó như thế này
#UserDir bị vô hiệu hóa
UserDir public_html
Tiếp theo, hãy tìm quy tắc sau
<Directory "/home/*/public_html"> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS </Directory>
Sửa nó như thế này
<Directory "/home/*/public_html"> AllowOverride All Options None Require method GET POST OPTIONS </Directory>
1.5. Chặn IP truy cập VPS tự động chuyển hướng đến trang web trên VPS
Mặc định khi truy cập IP của VPS hoặc khi trỏ tên miền vào VPS mà tên miền này không được cấu hình với vhost thì bạn sẽ bị chuyển hướng đến bất kỳ trang web nào trên VPS, điều này là không nên và để hạn chế điều này. Này các bạn, hãy mở tệp /etc/httpd/conf/httpd.conf và thêm phía trên dòng ConfeOptional conf.d / *. Conf các quy tắc sau:
<VirtualHost *:80> DocumentRoot /var/www/html ServerName www.example.com <Directory "/var/www/html"> AllowOverride All Options None Require method GET POST OPTIONS </Directory> </VirtualHost>
www.example.com cấu hình tương tự Tên máy chủ trong tập tin httpd.conf
1.6. Tạo máy chủ ảo (vhost) cho trang web
Máy chủ ảo là một tệp cấu hình trong Apache để cho phép nhiều miền chạy trên cùng một máy chủ. Có một khái niệm khác được đề cập trong Nginx cũng hoạt động tương tự như Máy chủ ảo được gọi là Khối máy chủ.
Tất cả các tệp vhost sẽ nằm trong thư mục /etc/httpd/conf.d/. Để dễ quản lý, mỗi trang web nên có một vhost riêng biệt, ví dụ: hostvn.net.conf
Trong ví dụ này, chúng tôi sẽ tạo một trang web hostvn.net với vhost tương ứng /etc/httpd/conf.d/hostvn.net.conf với nội dung sau:
<VirtualHost *:80> ServerName www.hostvn.net ServerAlias hostvn.net DocumentRoot /home/hostvn.net/public_html ErrorLog /home/hostvn.net/logs/error_log CustomLog /home/hostvn.net/logs/access_log combined </VirtualHost>
Tiếp theo, bạn cần tạo thư mục chứa mã nguồn trang web và thư mục chứa tệp nhật ký bằng các lệnh sau
mkdir -p /home/hostvn.net/public_html mkdir -p /home/hostvn.net/logs chown -R apache:apache /home/hostvn.net
1.7. Khởi động Apache
Tiếp theo bạn cần tiến hành khởi động Apache bằng cách chạy 2 lệnh sau
systemctl start httpd systemctl enable httpd
1.8. Bài kiểm tra
Sau khi cấu hình xong, bạn trỏ tên miền vào vps rồi tạo file /home/hostvn.net/public_html/index.html với nội dung sau và nhập tên miền của bạn vào thanh địa chỉ của trình duyệt để kiểm tra
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>HOSTVN.NET - Hướng dẫn cài đặt LAMP trên CentOS 7</title> </head> <body> <p><center>HOSTVN.NET - Hướng dẫn cài đặt LAMP trên CentOS 7</center></p> </body> </html>
1.9. Cấu hình SSL
Để cài đặt SSL, bạn có thể tham khảo hướng dẫn cài đặt SSL cho Apache trên Centos VPS của mình HOSTVN.
2. Bước 2: Cài đặt MariaDB
MariaDB là một sản phẩm mã nguồn mở được phân tách từ mã nguồn mở được phát triển bởi cộng đồng của hệ quản trị cơ sở dữ liệu quan hệ MySQL theo hướng miễn phí với GNU GPL. MariaDB được phát triển với sự dẫn dắt của các nhà phát triển ban đầu của MySQL, do lo ngại khi MySQL được 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 hỗ trợ thư viện và kết hợp tốt nhất với các lệnh và API MySQL.
Trong hướng dẫn này HOSTVN sẽ hướng dẫn bạn cài đặt MariaDB thay vì Mysql. Theo mặc định, kho CentOS chỉ có sẵn MariaDB 5. Để cài đặt MariaDB 10, bạn cần tạo repo của riêng mình.
2.1. Tạo repo để cài đặt MariaDB 10
Bạn tạo tệp /etc/yum.repos.d/mariadb.repo với nội dung sau
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4.12/rhel7-amd64/ gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
2.2. Cài đặt MariaDB
Để cài đặt MariaDB, hãy chạy lệnh sau
yum install MariaDB-server MariaDB-client -y
2.3. Đặt mật khẩu gốc
Sau khi cài xong MariaDB, bạn tiến hành đặt mật khẩu root bằng cách chạy 2 lệnh sau
systemctl enable mariadb systemctl start mariadb mysql_secure_installation
Nhập mật khẩu hiện tại cho root (nhập cho không): Nhấn phím Enter
Chuyển sang xác thực unix_socket [Y/n]: N
Thay đổi mật khẩu gốc? [Y/n]: Y
Mật khẩu mới: Nhập mật khẩu gốc bạn muốn tạo
Nhập lại mật khẩu mới: Nhập lại mật khẩu gốc
Xóa người dùng ẩn danh? [Y/n] : Y
Không cho phép đăng nhập root từ xa? [Y/n]: Y
Xóa cơ sở dữ liệu thử nghiệm và truy cập vào nó? [Y/n] : Y
Tải lại bảng đặc quyền ngay bây giờ? [Y/n]: Y
3. Bước 3: Cài đặt PHP-FPM và các mô-đun cần thiết
3.1. Cài đặt mã PHP-FPM
Để cài đặt PHP-FPM, hãy chạy các lệnh sau
yum -y install yum-utils rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum -y update yum-config-manager --enable remi-php73 yum -y install php php-fpm php-ldap php-zip php-embedded php-cli php-mysql php-common php-gd php-xml php-mbstring php-mcrypt php-pdo php-soap php-json php-simplexml php-process php-curl php-bcmath php-snmp php-pspell php-gmp php-intl php-imap perl-LWP-Protocol-https php-pear-Net-SMTP php-enchant php-pear php-devel php-zlib php-xmlrpc php-tidy php-mysqlnd php-opcache php-cli php-pecl-zip unzip gcc
3.2. Cấu hình php cơ bản
Tất cả cấu hình php cần thiết sẽ có trong tệp /etc/php.ini. Một số thông số cơ bản bạn có thể chỉnh sửa như sau
; date.timezone =
Exp_php = Bật
short_open_tag = Tắt
; max_input_vars = 1000
disable_functions =
Bạn thay đổi nó như thế này:
date.timezone = Asia / Ho_Chi_Minh
Exp_php = Tắt
short_open_tag = Bật
max_input_vars = 3000
disable_functions = executive, system, passthru, shell_exec, proc_close, proc_open, dl, popen, show_source, posix_kill, posix_mkfifo, posix_getpwuid, posix_setpgid, posix_setsid, posix_setuid, posix_setgidname, posix_setgid, posix_setuid, posix_setgid
3.3. Định cấu hình chạy PHP-FPM
Bạn mở tệp /etc/httpd/conf.d/php.conf tìm dòng Ứng dụng SetHandler / x-httpd-php chỉnh sửa thành SetHandler “proxy: fcgi: //127.0.0.1: 9000”
Tiếp theo khởi động lại apache để tải lại cấu hình
systemctl restart httpd
3.4. Khởi động PHP-FPM
Sau khi hoàn thành cấu hình, hãy chạy 2 lệnh sau để khởi động PHP-FPM
systemctl start php-fpm systemctl enable php-fpm
3.5. Bài kiểm tra
Để kiểm tra xem PHP-FPM có hoạt động hay không, hãy tạo một tệp /home/hostvn.net/public_html/info.php với nội dung sau
<?php phpinfo();
Tiếp theo truy cập tệp info.php trên trình duyệt để kiểm tra
4. Bước 4: Cài đặt PhpMyAdmin
phpMyAdmin là một công cụ mã nguồn mở miễn phí được viết bằng PHP để quản trị MySQL thông qua trình duyệt web. Nó có thể thực hiện nhiều tác vụ như tạo, sửa đổi hoặc xóa cơ sở dữ liệu, bảng, trường hoặc bản ghi; thực thi các câu lệnh SQL; hoặc quản lý người dùng và cấp quyền truy cập vào cơ sở dữ liệu.
4.1. Cài đặt PhpMyAdmin
Để cài đặt PhpMyAdmin, hãy chạy lần lượt các lệnh sau
cd /usr/share wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip unzip phpMyAdmin-5.0.2-all-languages.zip mv phpMyAdmin-5.0.2-all-languages phpMyAdmin rm -rf phpMyAdmin-5.0.2-all-languages.zip rm -rf /usr/share/phpMyAdmin/setup
- Ghi chú: Truy cập phpmyadmin.net để lấy link tải phiên bản mới nhất
4.2. Định cấu hình PhpMyAdmin
Tệp cấu hình của PhpMyadmin là tệp config.inc.php. Trước tiên, bạn cần chạy lệnh sau
mv /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php
Tiếp theo, mở tệp /usr/share/phpMyAdmin/config.inc.php và chỉnh sửa các thông số sau
– Tìm thấy
$cfg['blowfish_secret'] = '';
Thêm bất kỳ ký tự nào giữa các dấu ngoặc kép. Ví dụ:
$cfg['blowfish_secret'] = 'dsa123e12rwDSADs1few12tr3ewg3s2df3sAD';
– Tiếp theo, thêm đoạn mã sau vào cuối tệp
$cfg['TempDir'] = '/usr/share/phpMyAdmin/tmp/';
Sau đó, bạn cần tạo thư mục tmp cho PhpMyAdmin
mkdir -p /usr/share/phpMyAdmin/tmp chown -R apache:apache /usr/share/phpMyAdmin/tmp
4.3. Định cấu hình vhost cho PhpMyAdmin
Để có thể truy cập PhpMyAdmin, bạn cần phải có vhost cho nó. Tạo tệp /etc/httpd/conf.d/phpmyadmin.conf với nội dung sau
Alias /pma /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin <Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> <RequireAll> Require all granted </RequireAll> </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from All Allow from ::1 </IfModule> </Directory> <Directory /usr/share/phpMyAdmin/log/> Order Deny,Allow Deny from All Allow from None </Directory> <Directory /usr/share/phpMyAdmin/libraries/> Order Deny,Allow Deny from All Allow from None </Directory> <Directory /usr/share/phpMyAdmin/templates/> Order Deny,Allow Deny from All Allow from None </Directory> <Directory /usr/share/phpMyAdmin/tmp/> Order Deny,Allow Deny from All Allow from None </Directory>
Khởi động lại apache để tải cấu hình
systemctl restart httpd
4.4. Bật reCAPTCHA của Google
Để bật reCAPTCHA của Google, trước tiên bạn cần đăng ký V3 API tại liên kết sau: https://www.google.com/recaptcha/intro/v3.html
Sau khi đăng ký thành công bạn sẽ được cung cấp CHÌA KHOÁ WEBSITE và CHÌA KHOÁ BÍ MẬT. Tiếp theo, bạn mở tệp /usr/share/phpMyAdmin/config.inc.php và thêm 2 dòng sau vào cuối tệp
$cfg['CaptchaLoginPublicKey'] = 'SITE KEY'; $cfg['CaptchaLoginPrivateKey'] = 'SECRET KEY';
Thay thế CHÌA KHOÁ WEBSITE và CHÌA KHOÁ BÍ MẬT của bạn trong, sau đó truy cập ip-vps / phpmyadmin Để kiểm tra
4.5. Bài kiểm tra
Tiếp theo bạn ghé thăm ip-vps / pma hoặc tên miền / pma Để kiểm tra
5. Tài liệu tham khảo
6. Kết luận
Qua bài đăng này HOSTVN Mình đã hướng dẫn các bạn cách cài đặt LAMP trên CentOS 7. Nếu có góp ý, bạn có thể để lại bình luận bên dưới. Ngoài ra, bạn có thể xem thêm Hướng dẫn cài đặt CSF Firewall trên CentOS 7.