Sửa lỗi h1 zero that is really bad cho blogspot năm 2024

“LAMP” là một nhóm phần mềm nguồn mở thường được cài đặt cho phép server chạy các trang web và ứng dụng web động. Thuật ngữ này viết tắt từ Linux, với web server Apache. Dữ liệu trang web được lưu trữ trong database MySQL và nội dung xử lý bởi PHP. Trong hướng dẫn này, ta sẽ cài đặt LAMP trên server Ubuntu 18.04.


Chuẩn bị

Để hoàn thành hướng dẫn này, ta cần server Ubuntu 18.04 với tài khoản user kích hoạt

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

2 không phải root và firewall cơ bản. Điều này có thể được định cấu hình bằng cách sử dụng hướng dẫn thiết lập server ban đầu của ta cho Ubuntu 18.04 .

Bước 1 - Cài Apache và cập nhật firewall

Web server Apache là một trong những web server phổ biến nhất trên thế giới. Nó được được sử dụng rộng rãi trong phần lớn lịch sử của web, điều này khiến nó trở thành lựa chọn mặc định tuyệt vời để lưu trữ một trang web.

Cài đặt Apache bằng trình quản lý gói của Ubuntu,

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

3 : undefined

  • sudo apt update
  • sudo apt install apache2

undefined

Vì đây là

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

2 , các thao tác này được thực hiện với đặc quyền root. Nó sẽ yêu cầu bạn nhập mật khẩu của regular user.

Sau khi bạn nhập mật khẩu ,

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

3 sẽ cho bạn biết gói nào dự định cài đặt và dung lượng ổ đĩa bổ sung mà chúng sẽ chiếm. Nhấn

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

6 và nhấn

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

7 để tiếp tục và quá trình cài đặt sẽ tiếp tục.

Điều chỉnh firewall để Cho phép Lưu lượng truy cập Web

Tiếp theo, giả sử rằng bạn đã làm theo hướng dẫn thiết lập server ban đầu và bật firewall UFW, hãy đảm bảo rằng firewall cho phép lưu lượng HTTP và HTTPS. Bạn có thể kiểm tra xem UFW có profile ứng dụng cho Apache như sau không: undefined

  • sudo ufw app list

undefined undefined

Output

Available applications:   Apache   Apache Full   Apache Secure   OpenSSH 

Nếu bạn nhìn vào profile

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

8 , sẽ cho thấy rằng nó cho phép lưu lượng truy cập đến các cổng

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

9 và undefined

00 : undefined

  • sudo ufw app info "Apache Full"

undefined undefined

Output

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

Cho phép lưu lượng HTTP và HTTPS đến cho cấu hình này: undefined

  • sudo ufw allow in "Apache Full"

undefined

Kiểm tra kết quả, truy cập địa chỉ IP server trên trình duyệt web: undefined

2

Bạn sẽ thấy trang web Ubuntu 18.04 Apache mặc định, giống như sau:

Nếu bạn thấy trang này, thì web server hiện đã được cài đặt chính xác và có thể truy cập thông qua firewall .

Cách Tìm Địa chỉ IP của server

Nếu bạn không biết địa chỉ IP của server là gì, có một số cách tìm. Thông thường, đây là địa chỉ bạn sử dụng để kết nối với server thông qua SSH.

Có một số cách khác nhau để thực hiện việc này từ dòng lệnh. Trước tiên, bạn có thể sử dụng các công cụ undefined

01 để lấy địa chỉ IP bằng cách nhập: undefined

  • ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

undefined

Kết quả có vài dòng. Tất cả đều là địa chỉ chính xác, nhưng chỉ sử dụng được một trong số chúng, nên hãy thử từng địa chỉ.

Một phương pháp nữa là sử dụng tiện ích undefined

02 để liên hệ với bên ngoài để cho bạn biết cách họ nhìn thấy server . Điều này được thực hiện bằng cách: undefined

  • sudo apt install curl
  • curl http://icanhazip.com

undefined

Sau khi có IP, nhập địa chỉ đó vào thanh địa chỉ của trình duyệt web để xem trang Apache mặc định.

Bước 2 - Cài đặt MySQL

Bây giờ bạn đã thiết lập và chạy web server , đã đến lúc cài đặt MySQL. MySQL là một hệ quản trị database. Về cơ bản, nó sẽ tổ chức và cung cấp quyền truy cập vào database nơi trang web có thể lưu trữ thông tin.

Một lần nữa, hãy sử dụng

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

3 để mua và cài đặt phần mềm này: undefined

  • sudo apt install mysql-server

undefined

Lưu ý : Trong trường hợp này, bạn không phải chạy undefined

04 trước lệnh. Điều này là do gần đây bạn đã chạy nó trong các lệnh trên để cài đặt Apache. Chỉ mục gói trên máy tính phải được cập nhật.

Lệnh này cũng sẽ hiển thị cho bạn danh sách các gói sẽ được cài đặt, cùng với dung lượng ổ đĩa mà chúng sẽ chiếm. Nhập

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

6 để tiếp tục.

Khi quá trình cài đặt hoàn tất, hãy chạy một tập lệnh bảo mật đơn giản được cài đặt sẵn với MySQL để loại bỏ một số mặc định nguy hiểm và khóa quyền truy cập vào hệ thống database . Bắt đầu tập lệnh tương tác bằng cách chạy: undefined

  • sudo mysql_secure_installation

undefined

Điều này sẽ hỏi bạn có muốn định cấu hình undefined

06 .

Lưu ý: Việc kích hoạt tính năng này chỉ mang tính chất phán xét. Nếu được bật, mật khẩu không phù hợp với tiêu chí đã chỉ định sẽ bị MySQL từ chối với lỗi. Điều này sẽ gây ra sự cố nếu bạn sử dụng mật khẩu yếu kết hợp với phần mềm tự động cấu hình thông tin đăng nhập user MySQL, chẳng hạn như gói Ubuntu cho phpMyAdmin. Có thể an toàn để tắt tính năng xác thực, nhưng bạn phải luôn sử dụng mật khẩu mạnh, duy nhất cho thông tin đăng nhập database.

Trả lời

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

6 có hoặc bất kỳ điều gì khác để tiếp tục mà không cần bật. undefined

1

Nếu bạn trả lời “có”, bạn sẽ được yêu cầu chọn mức độ xác thực mật khẩu. Hãy nhớ rằng nếu bạn nhập undefined

08 cho cấp độ mạnh nhất, bạn sẽ nhận được lỗi khi cố gắng đặt bất kỳ mật khẩu nào không chứa số, chữ hoa và chữ thường và các ký tự đặc biệt hoặc dựa trên các từ thông dụng trong từ điển. undefined

2

Bất kể bạn đã chọn thiết lập undefined

06 , server sẽ yêu cầu bạn chọn và xác nhận mật khẩu cho user root MySQL. Đây là tài khoản quản trị trong MySQL. Đảm bảo rằng đây là mật khẩu mạnh, không giống mật khẩu nào (duy nhất) và không để trống.

Nếu đã bật xác thực mật khẩu, bạn sẽ được hiển thị độ mạnh mật khẩu cho mật khẩu root mà bạn vừa nhập và server sẽ hỏi bạn có muốn thay đổi mật khẩu đó hay không. Nếu bạn hài lòng với mật khẩu hiện tại , hãy nhập undefined

10 cho “không” ở lời nhắc: undefined

3

Đối với các câu hỏi còn lại, nhấn

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

6 + Enter để tiếp tục. Thao tác này sẽ xóa một số user ẩn danh và database thử nghiệm, vô hiệu hóa đăng nhập root từ xa và tải các quy tắc mới này để MySQL ngay lập tức tôn trọng những thay đổi bạn đã thực hiện.

Lưu ý rằng trong các hệ thống Ubuntu chạy MySQL 5.7 (và các phiên bản mới hơn), user MySQL root được đặt để xác thực bằng cách sử dụng plugin undefined

12 theo mặc định chứ không phải bằng mật khẩu. Điều này cho phép một số bảo mật và khả năng sử dụng cao hơn trong nhiều trường hợp, nó cũng có thể làm phức tạp mọi thứ khi bạn cần cho phép một chương trình bên ngoài (ví dụ: phpMyAdmin) truy cập vào user.

Nếu bạn thích sử dụng mật khẩu khi kết nối với MySQL dưới dạng root , bạn sẽ cần chuyển phương thức xác thực từ undefined

12 sang undefined

14 . Để thực hiện, hãy mở MySQL từ dòng lệnh : undefined

  • sudo mysql

undefined

Tiếp theo, hãy kiểm tra phương thức xác thực mà mỗi tài khoản user MySQL sử dụng bằng lệnh sau: undefined

  • SELECT user,authentication_string,plugin,host FROM mysql.user;

undefined undefined

Output undefined

9

Trong ví dụ này, bạn có thể thấy rằng user root trên thực tế xác thực bằng cách sử dụng plugin undefined

12 . Để định cấu hình tài khoản root để xác thực bằng mật khẩu, hãy chạy undefined

16 sau. Đảm bảo thay đổi undefined

17 thành một mật khẩu mạnh mà bạn chọn: undefined

  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

undefined

Sau đó, chạy undefined

18 để yêu cầu server tải lại các bảng và đặt các thay đổi mới có hiệu lực: undefined

  • FLUSH PRIVILEGES;

undefined

Kiểm tra lại các phương pháp xác thực được sử dụng bởi từng user để xác nhận rằng root không còn xác thực bằng plugin undefined

12 : undefined

  • SELECT user,authentication_string,plugin,host FROM mysql.user;

undefined undefined

Output undefined

7

Bạn có thể thấy đầu ra ví dụ trên user MySQL root hiện xác thực bằng mật khẩu. Khi bạn xác nhận điều này trên server, bạn có thể thoát MySQL shell: undefined

  • exit

undefined

Như vậy, database đã được cấu hình và ta có thể chuyển sang cài đặt PHP, thành phần cuối cùng của LAMP.

Bước 3 - Cài đặt PHP

PHP là thành phần thiết lập sẽ xử lý mã để hiển thị nội dung động. Nó có thể chạy các tập lệnh, kết nối với database MySQL để lấy thông tin và chuyển nội dung đã xử lý cho web server để hiển thị.

Cài đặt: undefined

  • sudo apt install php libapache2-mod-php php-mysql

undefined

Ta sẽ kiểm tra kết quả trong giây lát.

Hiện tại, nếu user yêu cầu một thư mục từ server, Apache trước tiên sẽ tìm kiếm một file có tên là undefined

20 . Nhưng ta sẽ cấu hình để Apache dùng undefined

21 trước.

Để thực hiện việc này, soạn thảo file undefined

22 với quyền root: undefined

  • sudo nano /etc/apache2/mods-enabled/dir.conf

undefined

Nội dung tương tự:

/etc/apache2/mods-enabled/dir.conf undefined

4

Di chuyển file index.php (được đánh dấu ở trên) đến vị trí đầu tiên sau đặc tả undefined

23 , như sau:

/etc/apache2/mods-enabled/dir.conf undefined

5

Khi bạn hoàn tất, hãy lưu bằng cách nhấn undefined

24 Xác nhận lưu bằng cách gõ

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

6 , sau đó nhấn

Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server.  Ports:   80,443/tcp 

7 để xác minh vị trí lưu file.

Rồi khởi động lại web server Apache để tải các thay đổi: undefined

  • sudo systemctl restart apache2

undefined

Kiểm tra trạng thái của undefined

27 bằng undefined

28 : undefined

  • sudo systemctl status apache2

undefined undefined

Sample Output

Available applications:   Apache   Apache Full   Apache Secure   OpenSSH 

1

Nhấn undefined

29 để thoát khỏi đầu ra trạng thái này.

Để nâng cao chức năng của PHP, bạn có tùy chọn cài đặt một số module bổ sung. Để xem các tùy chọn có sẵn cho các module và thư viện PHP, hãy chuyển kết quả của undefined

30 thành undefined

31: undefined

  • apt search php- | less

undefined

Sử dụng các phím mũi tên để cuộn lên và xuống, và nhấn undefined

29 để thoát.

Kết quả là các lựa chọn cài đặt:

Available applications:   Apache   Apache Full   Apache Secure   OpenSSH 

4

Để biết chức năng của mỗi module, bạn có thể tìm kiếm trên internet. Ngoài ra, có thể xem mô tả dài của gói bằng cách nhập: undefined

  • apt show package_name

undefined

Trường được gọi là undefined

33 sẽ có phần giải thích dài hơn về chức năng mà module cung cấp.

Ví dụ, để tìm hiểu những gì module undefined

34 làm: undefined

  • apt show php-cli

undefined

Bạn sẽ tìm thấy giống như sau: undefined

Output undefined

0

Ví dụ cài undefined

34: undefined

  • sudo apt install php-cli

undefined

Nếu bạn muốn cài đặt nhiều hơn một module, thực hiện bằng cách liệt kê từng module, được phân tách bằng dấu cách, sau undefined

36 , như sau: undefined

  • sudo apt install package1 package2 ...

undefined

Vậy, LAMP đã được cài đặt và cấu hình. Trước khi làm bất kỳ điều gì khác, bạn nên thiết lập VirtualHost Apache, nơi lưu trữ chi tiết cấu hình server .

Bước 4 - Thiết lập VirtualHost (Khuyến nghị)

Khi sử dụng web server Apache, bạn có thể sử dụng VirtualHost (tương tự như block server trong Nginx) để đóng gói chi tiết cấu hình và lưu trữ nhiều hơn một domain trên server. Ta sẽ thiết lập domain có tên your_domain , bạn nên thay thế domain này bằng tên domain của riêng bạn.

Apache trên Ubuntu 18.04 có một config server mặc định cấu hình để cung cấp document từ thư mục undefined

37 . Mặc dù điều này hoạt động tốt cho một trang web nhưng nó có thể trở nên khó sử dụng nếu bạn cần lưu trữ nhiều trang web. Thay vì sửa đổi undefined

37 , hãy tạo cấu trúc thư mục trong undefined

39 cho trang web your_domain, để undefined

37 ở vị trí làm thư mục mặc định.

Tạo thư mục cho your_domain như sau: undefined

5

Chỉ định quyền sở hữu thư mục với biến môi trường undefined

41 : undefined

  • sudo chown -R $USER:$USER /var/www/your_domain

undefined

Các điều khoản của gốc web nên chính xác nếu bạn chưa sửa đổi undefined

42 giá trị, nhưng bạn có thể chắc chắn rằng bằng cách gõ: undefined

  • sudo chmod -R 755 /var/www/your_domain

undefined

Tiếp theo, tạo một trang undefined

20: undefined

  • nano /var/www/your_domain/index.html

undefined

Bên trong, thêm HTML mẫu sau:

/var/www/your_domain/index.html undefined

2

Lưu và đóng file khi bạn hoàn tất.

Để Apache phân phát nội dung này, bạn cần tạo một file VirtualHost với các lệnh chính xác. Thay vì sửa đổi trực tiếp file cấu hình mặc định nằm tại undefined

44 , hãy tạo một file mới tại undefined

45 : undefined

  • sudo nano /etc/apache2/sites-available/your_domain.conf

undefined

Dán vào khối cấu hình sau, khối này tương tự như khối mặc định, nhưng được cập nhật cho thư mục và tên domain mới:

/etc/apache2/sites-available/your_domain.conf undefined

5

Lưu ý rằng ta đã cho undefined

46 mục mới và undefined

47. Ta cũng đã thêm hai chỉ thị: undefined

48 , thiết lập domain cơ sở phù hợp với định nghĩa VirtualHost này và undefined

49. Ghi lại file.

Hãy kích hoạt file bằng undefined

50 : undefined

  • sudo a2ensite your_domain.conf

undefined

Tắt trang web mặc định được xác định trong undefined

51 : undefined

  • sudo a2dissite 000-default.conf

undefined

Tiếp theo, hãy kiểm tra lỗi cấu hình: undefined

  • sudo apache2ctl configtest

undefined

Kết quả sau là thành công: undefined

Output undefined

3

Khởi động lại Apache để triển khai các thay đổi: undefined

  • sudo systemctl restart apache2

undefined

Bạn có thể kiểm tra bằng cách vào địa chỉ web: undefined

52, bạn sẽ thấy giống như sau:

Vậy VirtualHost đã được thiết lập đầy đủ. Tuy nhiên, trước khi thực hiện thêm bất kỳ thay đổi hoặc triển khai ứng dụng nào, sẽ rất hữu ích nếu bạn chủ động kiểm tra cấu hình PHP trong trường hợp có bất kỳ vấn đề nào cần được giải quyết.

Bước 5 - Kiểm tra Xử lý PHP trên web server

Để kiểm tra xem hệ thống có được cấu hình đúng cho PHP hay không, hãy tạo một tập lệnh PHP rất cơ bản có tên là undefined

53 .

Tạo file ở root web: undefined

  • sudo nano /var/www/your_domain/info.php

undefined

Tạo nội dung file:

info.php undefined

8

Bây giờ bạn xem web server có thể hiển thị chính xác nội dung được tạo bởi tập lệnh PHP này hay không. Truy cập trang này trong trình duyệt web undefined

9

Kết quả giống như sau:

Trang này cung cấp một số thông tin cơ bản về server. Nó cần để đảm bảo rằng cài đặt đang được áp dụng chính xác.

Nếu bạn có thể thấy trang này trong trình duyệt, thì PHP đang hoạt động như mong đợi.

Bạn có thể xóa file này sau khi kiểm tra vì nó có thể cung cấp thông tin về server cho user trái phép, hacker. Xóa bằng cách: undefined

  • sudo rm /var/www/your_domain/info.php

undefined

Bạn có thể tạo lại trang này nếu sau cần truy cập lại thông tin.

Kết luận

Như vậy ta đã cài đặt LAMP, một nền tảng cho phép ta cài đặt hầu hết các loại trang web và phần mềm web trên server.

Bước tiếp theo, bạn nên đảm bảo rằng các kết nối đến web server qua HTTPS. Tùy chọn dễ nhất ở đây là sử dụng Let's Encrypt để bảo mật trang web bằng chứng chỉ TLS / SSL miễn phí.