Làm thế nào để cài đặt Linux, Apache, MySQL, PHP (LAMP) ngăn xếp trên Ubuntu 18.04

by jhteam
0 comment

Giới thiệu

“LAMP” là một nhóm phần mềm mã nguồn mở thường được cài đặt cùng nhau để cho phép máy chủ lưu trữ các trang web và ứng dụng web động. Thuật ngữ này thực sự là một từ viết tắt đại diện cho hệ điều hành Linux, với máy chủ web Apache. Dữ liệu trang web được lưu trữ trong cơ sở dữ liệu MySQL và nội dung động được xử lý bởi PHP.

Trong hướng dẫn này, chúng tôi sẽ cài đặt một ngăn xếp LAMP trên máy chủ Ubuntu 18.04.

Điều kiện tiên quyết

Để hoàn thành hướng dẫn này, bạn sẽ cần phải có một máy chủ Ubuntu 18.04 với một tài khoản người dùng không kích hoạt gốc và tường lửa cơ bản.

Bước 1 — Cài đặt Apache và Cập nhật Tường lửa

Máy chủ web Apache là một trong những máy chủ web phổ biến nhất trên thế giới. Nó được ghi chép đầy đủ và đã được sử dụng rộng rãi trong phần lớn lịch sử của web, điều này làm cho nó trở thành một 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, :apt

sudo apt update
sudo apt install apache2

Vì đây là một lệnh, các hoạt động này được thực hiện với quyền root. Nó sẽ yêu cầu bạn cho mật khẩu người dùng thường xuyên của bạn để xác minh ý định của bạn.sudo

Một khi bạn đã nhập mật khẩu của bạn, sẽ cho bạn biết những gói nó có kế hoạch cài đặt và bao nhiêu không gian đĩa thêm họ sẽ mất. Nhấn và nhấn để tiếp tục và quá trình cài đặt sẽ được tiến hành.aptYENTER

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

Tiếp theo, giả sử rằng bạn đã làm theo các hướng dẫn thiết lập máy chủ ban đầu và kích hoạt tường lửa UFW, đảm bảo rằng tường lửa của bạn cho phép lưu lượng truy cập HTTP và HTTPS. Bạn có thể kiểm tra xem UFW có hồ sơ ứng dụng cho Apache như sau:

sudo ufw app list
OutputAvailable applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

Nếu bạn nhìn vào hồ sơ, nó sẽ cho thấy rằng nó cho phép lưu lượng truy cập đến cổng và:Apache Full80443

sudo ufw app info "Apache Full"
OutputProfile: 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 truy cập HTTP và HTTPS đến cho cấu hình này:

sudo ufw allow in "Apache Full"

Bạn có thể kiểm tra tại chỗ ngay lập tức để xác minh rằng mọi thứ đã diễn ra theo kế hoạch bằng cách truy cập địa chỉ IP công cộng của máy chủ trong trình duyệt web của bạn (xem ghi chú dưới tiêu đề tiếp theo để tìm hiểu địa chỉ IP công cộng của bạn là gì nếu bạn chưa có thông tin này):

http://your_server_ip

Bạn sẽ thấy trang web Ubuntu 18.04 Apache mặc định, đó là có cho mục đích thông tin và thử nghiệm. Nó sẽ trông giống như thế này:

Ubuntu 18.04 Apache default

Nếu bạn thấy trang này, sau đó máy chủ web của bạn bây giờ là một cách chính xác cài đặt và có thể truy cập thông qua tường lửa của bạn.

Làm thế nào để tìm địa chỉ IP công cộng của máy chủ của bạn

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

Có một vài cách khác nhau để làm điều này từ dòng lệnh. Trước tiên, bạn có thể sử dụng các công cụ để có được địa chỉ IP của bạn bằng cách gõ này:iproute2

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

Điều này sẽ cung cấp cho bạn hai hoặc ba dòng trở lại. Họ là tất cả các địa chỉ chính xác, nhưng máy tính của bạn chỉ có thể sử dụng một trong số họ, vì vậy cảm thấy tự do để thử mỗi một.

Một phương pháp thay thế là sử dụng các tiện ích để liên hệ với một bên ngoài để cho bạn biết làm thế nào nó nhìn thấy máy chủ của bạn. Điều này được thực hiện bằng cách yêu cầu một máy chủ cụ thể địa chỉ IP của bạn là gì: curl

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

Bất kể phương pháp bạn sử dụng để lấy địa chỉ IP của bạn, hãy nhập nó vào thanh địa chỉ của trình duyệt web của bạn để xem trang Apache mặc định.

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

Bây giờ bạn đã có máy chủ web của bạn và chạy, đó là thời gian để cài đặt MySQL. MySQL là một hệ thống quản lý cơ sở dữ liệu. Về cơ bản, nó sẽ tổ chức và cung cấp quyền truy cập vào cơ sở dữ liệu nơi trang web của bạn có thể lưu trữ thông tin.

Một lần nữa, sử dụng để có được và cài đặt phần mềm này:apt

sudo apt install mysql-server

Lưuý: Trong trường hợp này, bạn không cần phải chạy trước khi 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 của bạn nên đã được cập nhật.sudo apt update

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 để tiếp tục.Y

Khi cài đặt hoàn tất, chạy một kịch bản bảo mật đơn giản mà đi kèm cài đặt sẵn với MySQL mà sẽ loại bỏ một số mặc định nguy hiểm và khóa truy cập vào hệ thống cơ sở dữ liệu của bạn. Bắt đầu tập lệnh tương tác bằng cách chạy:

sudo mysql_secure_installation

Điều này sẽ hỏi nếu bạn muốn cấu hình các.VALIDATE PASSWORD PLUGIN

Lưu ý: Bật tính năng này là một cái gì đó của một cuộc gọi bản án. Nếu được bật, mật khẩu không khớp với tiêu chí được chỉ định sẽ bị MySQL từ chối do lỗi. Điều này sẽ gây ra vấn đề nếu bạn sử dụng một 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 người dùng MySQL, chẳng hạn như các gói Ubuntu cho phpMyAdmin. Nó là an toàn để lại xác nhận vô hiệu hóa, nhưng bạn nên luôn luôn sử dụng mạnh mẽ, mật khẩu duy nhất cho cơ sở dữ liệu thông tin đăng nhập.

Trả lời cho có, hoặc bất cứ điều gì khác để tiếp tục mà không cho phép.Y

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

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 cho mức độ mạnh nhất, bạn sẽ nhận được lỗi khi cố gắng thiết lập bất kỳ mật khẩu mà không chứa số, chữ hoa và chữ thường, và các ký tự đặc biệt, hoặc đó là dựa trên các từ điển phổ biến.2

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

Bất kể bạn đã chọn để thiết lập, máy chủ của bạn tiếp theo sẽ yêu cầu bạn chọn và xác nhận mật khẩu cho người dùng gốc MySQL. Đây là một tài khoản quản trị trong MySQL đã tăng đặc quyền. Hãy suy nghĩ của nó như là tương tự như các tài khoản gốc cho các máy chủ riêng của mình (mặc dù một trong những bạn đang cấu hình bây giờ là một tài khoản MySQL cụ thể). Hãy chắc chắn rằng đây là một mật khẩu mạnh mẽ, duy nhất, và không để trống.VALIDATE PASSWORD PLUGIN

Nếu bạn đã bật xác thực mật khẩu, bạn sẽ được hiển thị cường độ mật khẩu cho mật khẩu gốc bạn vừa nhập và máy chủ của bạn sẽ hỏi xem bạn có muốn thay đổi mật khẩu đó không. Nếu bạn hài lòng với mật khẩu hiện tại của mình, hãy nhập “không” theo lời nhắc: N

Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

Đối với phần còn lại của câu hỏi, nhấn và nhấn phím ở mỗi dấu nhắc. Điều này sẽ loại bỏ một số người dùng ẩn danh và cơ sở dữ liệu thử nghiệm, vô hiệu hóa thông tin đă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. Y ENTER

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), người dùng MySQL gốc được thiết lập để xác thực bằng cách sử dụng plugin theo mặc định thay vì 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 lớn hơn trong nhiều trường hợp, nhưng 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 người dùng.auth_socket

Nếu bạn thích sử dụng mật khẩu khi kết nối với MySQL làm root,bạn sẽ cần phải chuyển đổi phương thức xác thực của nó từ thành . Để thực hiện việc này, hãy mở lời nhắc MySQL từ thiết bị đầu cuối của bạn:auth_socketmysql_native_password

sudo mysql

Tiếp theo, kiểm tra phương pháp xác thực mỗi tài khoản người dùng MySQL của bạn sử dụng với lệnh sau:

SELECT user,authentication_string,plugin,host FROM mysql.user;
Output+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

Trong ví dụ này, bạn có thể thấy rằng người dùng gốc thực sự xác thực bằng cách sử dụng plugin. Để cấu hình tài khoản gốc để xác thực bằng mật khẩu, hãy chạy lệnh sau. Hãy chắc chắn để thay đổi một mật khẩu mạnh mẽ của sự lựa chọn của bạn:auth_socketALTER USERpassword

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

Sau đó, chạy mà nói với máy chủ để tải lại các bảng cấp và đưa những thay đổi mới của bạn có hiệu lực:FLUSH PRIVILEGES

FLUSH PRIVILEGES;

Kiểm tra các phương pháp xác thực được sử dụng bởi mỗi người dùng của bạn một lần nữa để xác nhận rằng gốc không còn xác thực bằng cách sử dụng plugin:auth_socket

SELECT user,authentication_string,plugin,host FROM mysql.user;
Output+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

Bạn có thể thấy trong ví dụ này đầu ra rằng người sử dụng MySQL gốc bây giờ xác thực bằng cách sử dụng một mật khẩu. Một khi bạn xác nhận điều này trên máy chủ của riêng bạn, bạn có thể thoát khỏi vỏ MySQL:

exit

Tại thời điểm này, hệ thống cơ sở dữ liệu của bạn bây giờ được thiết lập và bạn có thể chuyển sang cài đặt PHP, thành phần cuối cùng của lamp stack.

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

PHP là thành phần của thiết lập của bạn 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 cơ sở dữ liệu MySQL của bạn để lấy thông tin và bàn giao nội dung được xử lý cho máy chủ web của bạn để hiển thị.

Một lần nữa, tận dụng hệ thống để cài đặt PHP. Ngoài ra, bao gồm một số gói trợ giúp lần này để mã PHP có thể chạy dưới máy chủ Apache và nói chuyện với cơ sở dữ liệu MySQL của bạn:apt

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

Điều này sẽ cài đặt PHP mà không có bất kỳ vấn đề. Chúng tôi sẽ kiểm tra điều này trong một thời điểm.

Trong hầu hết các trường hợp, bạn sẽ muốn sửa đổi cách apache phục vụ các tập tin khi một thư mục được yêu cầu. Hiện tại, nếu người dùng yêu cầu một thư mục từ máy chủ, Apache trước tiên sẽ tìm kiếm một tệp được gọi là . Chúng tôi muốn nói với các máy chủ web để thích các tập tin PHP hơn những người khác, do đó, làm cho Apache tìm kiếm một tập tin đầu tiên.index.htmlindex.php

Để thực hiện việc này, hãy nhập lệnh này để mở tệp trong trình soạn thảo văn bản có đặc quyền gốc:dir.conf

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

Nó sẽ trông như thế này:/etc/apache2/mods-enabled/dir.conf /etc/apache2/mods-enabled/dir.conf /etc/apache2/mods-enabled/dir.conf /etc

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

Di chuyển tệp chỉ mục PHP (được tô sáng ở trên) đến vị trí đầu tiên sau đặc tả, như sau:DirectoryIndex/etc/apache2/mods-enabled/dir.conf /etc/apache2/mods-enabled/dir.conf /etc/apache2/mods-enabled/dir.conf /etc

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Khi bạn hoàn tất, lưu và đóng tệp bằng cách nhấn . Xác nhận lưu bằng cách nhập rồi nhấn để xác minh vị trí lưu tệp.CTRL+XYENTER

Sau đó, khởi động lại máy chủ web Apache để các thay đổi của bạn được nhận dạng. Thực hiện việc này bằng cách nhập thông tin này:

sudo systemctl restart apache2

Bạn cũng có thể kiểm tra tình trạng của dịch vụ bằng cách sử dụng:apache2systemctl

sudo systemctl status apache2
Sample Output● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Tue 2018-04-23 14:28:43 EDT; 45s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 13581 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
  Process: 13605 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
    Tasks: 6 (limit: 512)
   CGroup: /system.slice/apache2.service
           ├─13623 /usr/sbin/apache2 -k start
           ├─13626 /usr/sbin/apache2 -k start
           ├─13627 /usr/sbin/apache2 -k start
           ├─13628 /usr/sbin/apache2 -k start
           ├─13629 /usr/sbin/apache2 -k start
           └─13630 /usr/sbin/apache2 -k start

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

Để nâng cao chức năng của PHP, bạn có tùy chọn cài đặt một số mô-đun bổ sung. Để xem các tùy chọn có sẵn cho các mô-đun php và thư viện, ống kết quả của vào, một máy phân trang cho phép bạn di chuyển qua đầu ra của các lệnh khác:apt searchless

apt search php- | less

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

Kết quả là tất cả các thành phần tùy chọn mà bạn có thể cài đặt. Nó sẽ cung cấp cho bạn một mô tả ngắn cho mỗi:

bandwidthd-pgsql/bionic 2.0.1+cvs20090917-10ubuntu1 amd64
  Tracks usage of TCP/IP and builds html files with graphs

bluefish/bionic 2.2.10-1 amd64
  advanced Gtk+ text editor for web and software development

cacti/bionic 1.1.38+ds1-1 all
  web interface for graphing of monitoring systems

ganglia-webfrontend/bionic 3.6.1-3 all
  cluster monitoring toolkit - web front-end

golang-github-unknwon-cae-dev/bionic 0.0~git20160715.0.c6aac99-4 all
  PHP-like Compression and Archive Extensions in Go

haserl/bionic 0.9.35-2 amd64
  CGI scripting program for embedded environments

kdevelop-php-docs/bionic 5.2.1-1ubuntu2 all
  transitional package for kdevelop-php

kdevelop-php-docs-l10n/bionic 5.2.1-1ubuntu2 all
  transitional package for kdevelop-php-l10n
…
:

Để tìm hiểu thêm về những gì mỗi mô-đun nào, bạn có thể tìm kiếm trên internet để biết thêm thông tin về họ. Ngoài ra, hãy xem mô tả dài của gói bằng cách nhập:

apt show package_name

Sẽ có rất nhiều đầu ra, với một trường được gọi là sẽ có một lời giải thích dài hơn về chức năng mà mô-đun cung cấp.Description

Ví dụ, để tìm hiểu những gì các mô-đun nào, bạn có thể gõ này: php-cli

apt show php-cli

Cùng với một lượng lớn thông tin khác, bạn sẽ tìm thấy nội dung trông như sau:

Output…
Description: command-line interpreter for the PHP scripting language (default)
 This package provides the /usr/bin/php command interpreter, useful for
 testing PHP scripts from a shell or performing general shell scripting tasks.
 .
 PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
 open source general-purpose scripting language that is especially suited
 for web development and can be embedded into HTML.
 .
 This package is a dependency package, which depends on Ubuntu's default
 PHP version (currently 7.2).
…

Nếu, sau khi nghiên cứu, bạn quyết định bạn muốn cài đặt một gói, bạn có thể làm như vậy bằng cách sử dụng lệnh như bạn đã làm cho các phần mềm khác.apt install

Nếu bạn quyết định đó là một cái gì đó mà bạn cần, bạn có thể gõ:php-cli

sudo apt install php-cli

Nếu bạn muốn cài đặt nhiều hơn một mô-đun, bạn có thể làm điều đó bằng cách liệt kê từng mô-đun, cách nhau bằng một khoảng trắng, theo lệnh, như sau:apt install

sudo apt install package1 package2 ...

Tại thời điểm này, ngăn xếp ĐÈN của bạn được cài đặt và cấu hình. Trước khi bạn làm bất cứ điều gì khác, chúng tôi khuyên bạn nên thiết lập một máy chủ ảo Apache, nơi bạn có thể lưu trữ chi tiết cấu hình máy chủ của bạn.

Khi sử dụng máy chủ web Apache, bạn có thể sử dụng máy chủ ảo (tương tự như các khối máy chủ trong Nginx) để đóng gói chi tiết cấu hình và lưu trữ nhiều miền từ một máy chủ duy nhất. Chúng tôi sẽ thiết lập một tên miền được gọi your_domain, nhưng bạn nên thay thế tên miền này bằng tên miền của riêng bạn. Để tìm hiểu thêm về cách thiết lập tên miền với DigitalOcean, hãy xem Giới thiệu về DNS DigitalOcean của chúng tôi.

Apache trên Ubuntu 18.04 có một khối máy chủ được kích hoạt theo mặc định được cấu hình để phục vụ tài liệu từ thư mục. Trong khi điều này hoạt động tốt cho một trang web duy nhất, nó có thể trở nên khó sử dụng nếu bạn đang lưu trữ nhiều trang web. Thay vì sửa đổi , hãy tạo một cấu trúc thư mục bên trong cho trang web your_domain của chúng tôi, để lại tại chỗ như là thư mục mặc định sẽ được phục vụ nếu một yêu cầu khách hàng không phù hợp với bất kỳ trang web khác./var/www/html/var/www/html/var/www/var/www/html

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

sudo mkdir /var/www/your_domain

Tiếp theo, gán quyền sở hữu thư mục với biến môi trường:$USER

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

Quyền của nguồn gốc web của bạn phải chính xác nếu bạn chưa sửa đổi giá trị của mình, nhưng bạn có thể đảm bảo bằng cách nhập:unmask

sudo chmod -R 755 /var/www/your_domain

Tiếp theo, tạo một trang mẫu bằng cách sử dụng hoặc trình soạn thảo yêu thích của bạn:index.htmlnano

nano /var/www/your_domain/index.html

Bên trong, thêm HTML mẫu sau:Tháng var/www/your_domain/index.html

<html>
    <head>
        <title>Welcome to Your_domain!</title>
    </head>
    <body>
        <h1>Success!  The your_domain server block is working!</h1>
    </body>
</html>

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

Để Apache phục vụ nội dung này, cần phải tạo một tệp máy chủ ảo với các chỉ thị chính xác. Thay vì sửa đổi tệp cấu hình mặc định nằm trực tiếp, hãy tạo tệp cấu hình mới tại: /etc/apache2/sites-available/000-default.conf/etc/apache2/sites-available/your_domain.conf

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

Dán vào khối cấu hình sau, tương tự như mặc định, nhưng được cập nhật cho thư mục và tên miền mới của chúng tôi:/etc/apache2/sites-available/your_domain.conf /etc/apache2/sites-available/your_domain.conf /etc/apache2/sites-available/your_domain.conf /etc

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Lưu ý rằng chúng tôi đã cập nhật thư mục mới của mình và email mà quản trị viên trang web your_domain có thể truy cập. Chúng tôi cũng đã thêm hai chỉ thị: , thiết lập tên miền cơ sở phù hợp với định nghĩa máy chủ ảo này và , định nghĩa thêm tên phù hợp như thể chúng là tên cơ sở. DocumentRootServerAdminServerNameServerAlias

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

Hãy kích hoạt tệp bằng công cụ: a2ensite

sudo a2ensite your_domain.conf

Vô hiệu hóa trang web mặc định được xác định trong :000-default.conf

sudo a2dissite 000-default.conf

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

sudo apache2ctl configtest

Bạn sẽ thấy đầu ra sau:

OutputSyntax OK

Khởi động lại Apache để thực hiện các thay đổi của bạn:

sudo systemctl restart apache2

Apache bây giờ sẽ được phục vụ tên miền của bạn. Bạn có thể kiểm tra điều này bằng cách điều hướng đến , nơi bạn sẽ thấy một cái gì đó như thế này:http://your_domain

Apache virtual host example

Với điều đó, máy chủ ảo của bạn được thiết lập đầy đủ. Tuy nhiên, trước khi thực hiện bất kỳ thay đổi nào khác hoặc triển khai ứng dụng, sẽ rất hữu ích khi chủ động kiểm tra cấu hình PHP của bạn 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 Máy chủ Web của bạn

Để kiểm tra xem hệ thống của bạn 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 gọi là . Để Apache tìm thấy tập tin này và phục vụ nó một cách chính xác, nó phải được lưu vào thư mục gốc web của bạn.info.php

Tạo tệp ở gốc web bạn đã tạo ở bước trước đó bằng cách chạy:

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

Điều này sẽ mở ra một tập tin trống. Thêm văn bản sau đây, đó là mã PHP hợp lệ, bên trong tệp:info.php (bằng info.php)

<?php
phpinfo();
?>

Khi bạn hoàn tất, lưu và đóng tệp.

Bây giờ bạn có thể kiểm tra xem máy chủ web của bạn có thể hiển thị chính xác nội dung được tạo ra bởi tập lệnh PHP này hay không. Để thử điều này, hãy truy cập trang này trong trình duyệt web của bạn. Bạn sẽ cần lại địa chỉ IP công cộng của máy chủ.

Địa chỉ bạn sẽ muốn truy cập là:

http://your_domain/info.php

Trang mà bạn đến sẽ trông giống như sau:

Ubuntu 18.04 default PHP info

Trang này cung cấp một số thông tin cơ bản về máy chủ của bạn từ quan điểm của PHP. Nó rất hữu ích cho gỡ lỗi và để đảm bảo rằng các thiết đặt của bạn đang được áp dụng một cách chính xác.

Nếu bạn có thể thấy trang này trong trình duyệt của bạn, sau đó PHP của bạn đang làm việc như mong đợi.

Bạn có thể muốn loại bỏ tệp này sau khi kiểm tra này bởi vì nó thực sự có thể cung cấp thông tin về máy chủ của bạn cho người dùng trái phép. Để thực hiện việc này, chạy lệnh sau:

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

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

Kết thúc

Bây giờ bạn đã cài đặt lamp stack, bạn có nhiều lựa chọn để làm gì tiếp theo. Về cơ bản, bạn đã cài đặt một nền tảng cho phép bạn cài đặt hầu hết các loại trang web và phần mềm web trên máy chủ của mình.

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

You may also like

Leave a Comment