[Info] Hướng dẫn cách cài đặt LEMP trên Centos 7

Trong bài viết này, HOSTVN sẽ hướng dẫn các bạn cách cài đặt LEMP trên Centos 7 – Linux Nginx, 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 LEMP trên Centos 7 – Linux Nginx, MariaDB, PHP-FPM, PhpMyAdmin.

Hướng dẫn cách cài đặt LEMP trên Centos 7

LEMP là gì?

LEMP 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, Nginx, 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 LEMP 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 Nginx và Cấu hình cơ bản

Để thuận tiện cho việc chỉnh sửa và tạo file, bạn có thể kết nối với VPS qua SFTP theo hướng dẫn sau

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 Nginx

Theo mặc định, khi cài đặt qua CentOS repo sẽ không phải là phiên bản mới nhất. Để cài đặt phiên bản mới nhất của Nginx chúng ta cần tạo repo của riêng mình bằng cách tạo tệp /etc/yum.repos.d/nginx.repo với nội dung sau

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

Sau khi tạo repo, hãy chạy lệnh sau để cài đặt nó Nginx

yum install -y epel-release nginx

Để kiểm tra phiên bản Nginx đã cài đặt, bạn có thể sử dụng lệnh sau

nginx -v

Ảnh chụp màn hình_115

Nếu sử dụng Firewalld, 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 Nginx cơ bản

Tất cả các tệp cấu hình Nginx đều nằm trong. danh mục / etc / nginx

Screenshot_116

  • Sao lưu tệp cấu hình Nginx

Trước khi bắt đầu cấu hình Nginx Bạn nên sao lưu tập tin cấu hình để có thể khôi phục lại khi cần

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

Sau khi bạn đã sao lưu tệp cấu hình, hãy mở tệp /etc/nginx/nginx.conf và xóa nội dung bên trong và thay thế bằng nội dung sau

user  nginx;

worker_processes  auto;
pid /var/run/nginx.pid;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

events {
   worker_connections  10240;
}


http {
   include       /etc/nginx/mime.types;

   default_type  application/octet-stream;
   tcp_nopush on;
   tcp_nodelay on;
   sendfile        on;

   log_format bytes '$bytes_sent $request_length';

   keepalive_timeout  15;
   types_hash_max_size 2048;

   disable_symlinks if_not_owner from=$document_root;

   server_tokens off;

   add_header X-Frame-Options SAMEORIGIN;
   add_header X-XSS-Protection "1; mode=block";
   add_header X-Content-Type-Options nosniff;
   add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
   
   client_max_body_size 1024m;
   client_body_buffer_size 128k;

   server_names_hash_bucket_size 128;
   server_names_hash_max_size 10240;

   ssl_dhparam /etc/nginx/ssl/dhparams.pem;
   ssl_session_cache   shared:SSL:10m;
   ssl_session_timeout  5m;
   proxy_read_timeout 1800s;

   ssl_protocols TLSv1.2 TLSv1.3;
   ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
   ssl_prefer_server_ciphers on;

   index  index.html index.htm index.php;

   gzip on;
   gzip_static on;
   gzip_disable "msie6";
   gzip_http_version 1.1;
   gzip_vary on;
   gzip_comp_level 1;
   gzip_proxied any;
   gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js image/svg+xml;
   gzip_buffers 16 8k;

   include /etc/nginx/conf.d/*.conf;
}

Để tạo dhparam bạn chạy 2 lệnh sau

mkdir -p /etc/nginx/ssl
openssl dhparam -out /etc/nginx/ssl/dhparams.pem 2048
1.4. Khởi động Nginx

Sau khi cấu hình xong Nginx, bạn tiến hành khởi động Nginx

  • Kiểm tra cấu hình nginx

Trước khi bắt đầu Nginx, bạn có thể kiểm tra xem cấu hình có bị sai hay không bằng cách chạy lệnh sau

nginx -t

Screenshot_117

systemctl enable nginx
systemctl start nginx

Screenshot_118

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-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 các thông số 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 PHP-FPM

Tất cả các tệp cấu hình PHP-FPM sẽ nằm trong thư mục /etc/php-fpm.d. Đầu tiên, sao lưu tệp cấu hình mặc định

cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.bak

Sau đó mở tệp /etc/php-fpm.d/www.conf xóa tất cả nội dung bên trong và thay thế bằng nội dung sau

[www]
user = nginx 
group = nginx
listen = /var/run/php-fpm.sock;
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
pm = ondemand
pm.max_children = 10
pm.process_idle_timeout = 20
pm.max_requests = 500
;slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path]    = /var/lib/php/session
php_value[soap.wsdl_cache_dir]  = /var/lib/php/wsdlcache
security.limit_extensions = .php .php52 .php53 .php54 .php55 .php56 .php60 .php70 .php71 .php73

Tiếp theo, chạy lệnh sau

chown -R nginx:nginx /var/lib/php/*
3.4. Khởi động PHP-FPM

Sau khi cấu hình xong, hãy chạy 2 lệnh sau để khởi động PHP-FPM

systemctl enable php-fpm
systemctl start php-fpm
3.5. Kiểm tra mã PHP-FPM

Sau khi khởi động PHP-FPM, bạn có thể kiểm tra xem nó có hoạt động hay không. Đầu tiên bạn mở tệp /etc/nginx/conf.d/default.conf Xóa tất cả nội dung bên trong và thay thế bằng nội dung sau:

server {
    listen 80;
    server_name localhost;
    access_log /var/log/nginx/localhost.log;
    access_log /var/log/nginx/localhost.bytes bytes;
    error_log /var/log/nginx/localhost.error.log;
    root /usr/share/nginx/html;
    index index.html index.htm index.php;

    location ~ .php$ {
        try_files $uri $uri/ =404;
        fastcgi_split_path_info ^(.+.php)(/.+)$;
        fastcgi_pass unix:/var/run/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Khởi động lại Nginx để tải lại cấu hình

systemctl restart nginx

Sau đó, bạn tạo tệp /usr/share/nginx/html/info.php với nội dung sau:

<?php
phpinfo();

Tiến hành theo liên kết ip-vps / info.php Để kiểm tra.

Screenshot_119 - cài đặt LEMP trên Centos 7

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
ln -s /usr/share/phpMyAdmin /usr/share/nginx/html/phpMyAdmin
  • 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 nginx:nginx /usr/share/phpMyAdmin/tmp
4.3. Cấu hình bảo mật cho PhpMyAdmin
  • Chặn quyền truy cập thư mục

Bạn mở tệp /etc/nginx/conf.d/default.conf xóa tất cả nội dung và thay thế bằng nội dung sau:

server {
    listen 80;
    server_name localhost;
    access_log /var/log/nginx/localhost.log;
    access_log /var/log/nginx/localhost.bytes bytes;
    error_log /var/log/nginx/localhost.error.log;
    root /usr/share/nginx/html;
    index index.html index.htm index.php;

    location ~ .php$ {
        try_files $uri $uri/ =404;
        fastcgi_split_path_info ^(.+.php)(/.+)$;
        fastcgi_pass unix:/var/run/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_intercept_errors on;

        if (-f $request_filename)
        {
            fastcgi_pass unix:/var/run/php-fpm.sock;
        }
    }
    location ~ ^/phpmyadmin {
        rewrite ^/* /phpMyAdmin last;
    }
    location ~ ^/pma {
        rewrite ^/* /phpMyAdmin last;
    }
    location ^~ /phpMyAdmin/log/ {
        deny all;
    }
    location ^~ /phpMyAdmin/libraries/ {
        deny all;
    }
    location ^~ /phpMyAdmin/templates/ {
        deny all;
    }
    location ^~ /phpMyAdmin/tmp/ {
        deny all;
    }
}

Tiếp theo, chạy lệnh sau:

mv /etc/nginx/conf.d/default.conf /etc/nginx/default.conf

Mở tệp /etc/nginx/nginx.conf và thêm bên trên bao gồm. hàng /etc/nginx/conf.d/*.conf; quy tắc sau

include /etc/nginx/default.conf;

Screenshot_146

  • 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

Screenshot_120 - cài đặt LEMP trên Centos 7

Screenshot_123 - cài đặt LEMP trên Centos 7

Screenshot_122

Sau khi đăng ký thành công bạn sẽ được cung cấp CHÌA KHOÁ WEBSITECHÌ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Á WEBSITECHÌA KHOÁ BÍ MẬT của bạn trong, sau đó truy cập ip-vps / phpmyadmin Để kiểm tra

Screenshot_124 - cài đặt LEMP trên Centos 7

5. Bước 5: Định cấu hình Vhost

Máy chủ ảo là một tệp cấu hình cho phép nhiều miền chạy trên cùng một máy chủ. Tất cả các tệp vhost sẽ nằm trong thư mục /etc/nginx/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/nginx/conf.d/hostvn.net.conf với nội dung sau:

server {
    listen 80;
    server_name www.hostvn.net hostvn.net;
    access_log /home/hostvn.net/logs/access.log;
    error_log /home/hostvn.net/logs/.error.log;
    root /home/hostvn.net/public_html;
    index index.html index.htm index.php;

    location ~ .php$ {
        try_files $uri $uri/ =404;
        fastcgi_split_path_info ^(.+.php)(/.+)$;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_intercept_errors on;
        if (-f $request_filename)
        {
            fastcgi_pass unix:/var/run/php-fpm.sock;
        }
    }
}

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 nginx:nginx /home/hostvn.net

Khởi động lại Nginx để tải cấu hình

systemctl restart nginx

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.php 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 LEMP trên CentOS 7</title>
</head>
<body>
	<p><center><?= "HOSTVN.NET - Hướng dẫn cài đặt LEMP trên CentOS 7" ?></center></p>
</body>
</html>

Ảnh chụp màn hình_125

6. Bước 6: Định cấu hình SSL

Để cấu hình SSL, bạn có thể tham khảo hướng dẫn cài đặt SSL trên VPS sử dụng Nginx của chúng tôi HOSTVN.

7. Tài liệu tham khảo

8. Kết luận

Qua bài đăng này HOSTVN Tôi đã chỉ cho bạn cách cài đặt nó LEMP trên CentOS 7. Nếu có bất kỳ góp ý nào, 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.

Viết một bình luận

bahis10bets.com betvole1.com casinomaxi-giris.com interbahis-giris1.com klasbahis1.com mobilbahisguncelgiris1.com piabetgiris1.com tipobettgiris.com tumbetgiris1.com betboro 1xbet giriş
bahis10bets.com betvole1.com casinomaxi-giris.com interbahis-giris1.com klasbahis1.com mobilbahisguncelgiris1.com piabetgiris1.com tipobettgiris.com tumbetgiris1.com betboro 1xbet giriş
antalya bayan escort
antalya bayan escort
antalya bayan escort