“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. Show 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
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 firewallWeb 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,
3 : undefined
undefined Vì đây là
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 ,
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
6 và nhấn
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 WebTiế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
undefined undefined Output
Nếu bạn nhìn vào profile
8 , sẽ cho thấy rằng nó cho phép lưu lượng truy cập đến các cổng
9 và undefined 00 : undefined
undefined undefined Output
Cho phép lưu lượng HTTP và HTTPS đến cho cấu hình này: undefined
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 serverNế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
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
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 MySQLBâ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
3 để mua và cài đặt phần mềm này: undefined
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
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
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
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
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
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
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
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
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
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
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 PHPPHP 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
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
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õ
6 , sau đó nhấn
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
undefined Kiểm tra trạng thái của undefined 27 bằng undefined 28 : undefined
undefined undefined Sample Output
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
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:
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
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
undefined Bạn sẽ tìm thấy giống như sau: undefined Output undefined 0 Ví dụ cài undefined 34: undefined
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
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
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
undefined Tiếp theo, tạo một trang undefined 20: undefined
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
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
undefined Tắt trang web mặc định được xác định trong undefined 51 : undefined
undefined Tiếp theo, hãy kiểm tra lỗi cấu hình: undefined
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
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
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
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ậnNhư 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í. |