Cách cài đặt Laravel trên Ubuntu 20.04

Mọi thứ bạn cần biết để triển khai ứng dụng web Laravel trên máy Ubuntu 20.04 LTS

Laravel là một khung công tác PHP mã nguồn mở rất phổ biến với cú pháp biểu đạt và thanh lịch được sử dụng để thiết kế các ứng dụng web hiện đại và đẹp mắt. Laravel hướng tới mục tiêu loại bỏ khó khăn của việc phát triển web và biến nó thành một trải nghiệm thú vị và sáng tạo, biến các nhà phát triển web thành các nghệ nhân web.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt Laravel với ngăn xếp LAMP trên máy chủ Ubuntu 20.04 để thiết lập và chạy ứng dụng web của bạn.

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

Để làm theo hướng dẫn này, bạn sẽ cần một máy chủ Ubuntu 20.04 LTS và đăng nhập với tư cách sudo người dùng. Trước khi chúng tôi bắt đầu, hãy cập nhật và nâng cấp các gói Ubuntu 20.04 bằng cách chạy:

cập nhật sudo apt & & nâng cấp sudo apt

Cài đặt LAMP Stack

LAMP là từ viết tắt của L hệ điều hành inux, MỘT máy chủ web pache, M cơ sở dữ liệu ySQL và P Ngôn ngữ lập trình HP. Chúng tôi đã có trên Ubuntu 20.04 tích hợp Linux trong ngăn xếp LAMP. Vì vậy, chúng tôi sẽ cài đặt phần còn lại của ba gói để hoàn thành ngăn xếp LAMP cho ứng dụng Laravel của chúng tôi.

Không có gói meta nào có sẵn để cài đặt ngăn xếp LAMP trong kho lưu trữ Ubuntu 20.04. Nhưng chúng ta có thể sử dụng một tính năng nhỏ gọn gàng của đúng cách trình quản lý gói được gọi là nhiệm vụ. Nhiệm vụ được biểu thị bằng cách sử dụng tên của nhiệm vụ có sẵn với một thiếu sinh quân (^) được thêm vào nó.

sudo apt install lamp-server ^

Lệnh này sẽ tìm kiếm các tệp danh sách gói cho tất cả trường “Tác vụ:” và cài đặt tất cả các gói có “máy chủ đèn” trong trường tác vụ của chúng. Vì vậy, ngăn xếp LAMP bao gồm các gói Apache, MySQL và PHP với tất cả các gói phụ thuộc của chúng sẽ được cài đặt trên máy chủ Ubuntu của bạn.

Định cấu hình tường lửa

Khi bạn đã cài đặt LAMP stack, bạn cũng cần phải định cấu hình tường lửa không phức tạp (UFW) và thay đổi các quy tắc của nó để bạn có thể truy cập máy chủ Apache từ internet.

UFW cung cấp các cấu hình ứng dụng đơn giản có thể được sử dụng để thay đổi các quy tắc và chuyển đổi lưu lượng trên các cổng mạng. Chạy lệnh sau để liệt kê tất cả ứng dụng truy cập vào các cổng mạng:

danh sách ứng dụng sudo ufw

Bạn sẽ thấy một kết quả như sau:

Các ứng dụng có sẵn: Apache Apache Full Apache Secure OpenSSH

Các cổng mạng mà các cấu hình này mở trên máy chủ Ubuntu 20.04 của bạn được liệt kê bên dưới:

  • Apache: Cấu hình này chỉ mở cổng 80 (cho phép lưu lượng truy cập HTTP)
  • Apache Full: Hồ sơ này mở cả hai 80 & 443 cổng (cho phép lưu lượng HTTP & HTTPS)
  • Apache Secure: Cấu hình này chỉ mở cổng 443 (cho phép lưu lượng HTTPS)
  • OpenSSH: Cấu hình này mở cổng 22 cho phép giao thức SSH

Bạn cần kích hoạt cấu hình ‘Apache Full’ sẽ cho phép lưu lượng truy cập vào máy chủ web Apache từ internet. Ngoài ra, bạn cũng sẽ cần bật cấu hình ‘OpenSSH’ để cho phép lưu lượng truy cập trên cổng 22 (SSH) trên máy chủ Ubuntu 20.04 của bạn. Nếu bạn bật UFW mà không cho phép cấu hình ‘OpenSSH’, bạn sẽ không thể kết nối với máy chủ của mình bằng SSH.

Để thay đổi quy tắc UFW và cho phép lưu lượng truy cập trên cổng 8022, chạy:

sudo ufw allow 'Apache Full' sudo ufw allow 'OpenSSH'

Sau đó kích hoạt tường lửa UFW bằng lệnh sau:

sudo ufw kích hoạt

Bạn có thể nhận được lời nhắc “lệnh có thể làm gián đoạn các kết nối ssh hiện có. Tiến hành các phép toán (y | n)? ”. nhấn Y để tiếp tục vì chúng tôi đã thêm quy tắc cho phép SSH trong UFW.

Bây giờ bạn có thể truy cập trang web mặc định của Apache bằng địa chỉ IP của máy chủ Ubuntu từ internet. Để làm như vậy, hãy mở trình duyệt của bạn và nhập địa chỉ IP của máy chủ Ubuntu 20.04 vào thanh URL và nhấn enter.

// Your_ubuntu_server_ip

Trang này xác nhận rằng máy chủ web Apache đang chạy chính xác và các quy tắc UFW được thiết lập đúng cách.

Thiết lập cơ sở dữ liệu MySQL cho Laravel

Laravel 7 làm cho việc tương tác với cơ sở dữ liệu trở nên cực kỳ đơn giản trên các phần mềm hỗ trợ cơ sở dữ liệu khác nhau mà nó hỗ trợ như MySQL phiên bản 5.6+, PostgreSQL 9.4+, SQLite 3.8.8+ và SQL Server 2017+. Chúng tôi đã cài đặt gói MySQL mới nhất với người cắt đèn ^ nhiệm vụ. Vì vậy, trong phần này, chúng ta sẽ cấu hình máy chủ MySQL và sau đó xem xét cách thiết lập cơ sở dữ liệu và người dùng MySQL mới cho ứng dụng Laravel.

Định cấu hình MySQL

Cơ sở dữ liệu MySQL đi kèm với một tập lệnh bảo mật được cài đặt sẵn có thể được sử dụng để loại bỏ một số cài đặt mặc định không an toàn. Bạn nên chạy tập lệnh này trước khi triển khai ứng dụng Laravel của mình.

sudo mysql_secure_installation

Lệnh trên sẽ thực thi tập lệnh bảo mật, lệnh này sẽ nhắc bạn một loạt câu hỏi để định cấu hình máy chủ MySQL.

Đầu tiên, bạn sẽ được hỏi xem bạn có muốn thiết lập MẬT KHẨU HIỆU LỰC cắm vào. Plugin này kiểm tra mật khẩu của bạn và xếp hạng chúng là an toàn hoặc không an toàn dựa trên cấp chính sách xác thực mật khẩu mà bạn sẽ chọn ngay sau đây. Vì vậy hãy nhấn Y nếu bạn muốn kích hoạt plugin này.

Đầu ra: Bảo mật việc triển khai máy chủ MySQL. Kết nối với MySQL bằng mật khẩu trống. THÀNH PHẦN MẬT KHẨU HỢP LỆ có thể được sử dụng để kiểm tra mật khẩu và cải thiện bảo mật. Nó kiểm tra độ mạnh của mật khẩu và cho phép người dùng chỉ đặt những mật khẩu đủ an toàn. Bạn có muốn thiết lập thành phần MẬT KHẨU HỢP LỆ không? Nhấn y | Y cho Có, bất kỳ phím nào khác cho Không: Y

Sau đó, đặt cấp chính sách xác thực mật khẩu bằng cách nhập 0, 1 hoặc là 2 tùy thuộc vào mức độ bạn muốn tạo mật khẩu cho cơ sở dữ liệu của mình.

Đầu ra: Chính sách xác thực mật khẩu có ba cấp độ: Độ dài THẤP> = 8 Độ dài TRUNG BÌNH> = 8, số, chữ hoa và chữ thường và các ký tự đặc biệt MẠNH Độ dài> = 8, số, chữ hoa và chữ thường, ký tự đặc biệt và tệp từ điển Vui lòng nhập 0 = LOW, 1 = TRUNG BÌNH và 2 = MẠNH: 2

Tiếp theo, bạn sẽ được yêu cầu nhập mật khẩu mới cho người dùng gốc MySQL. Nhập mật khẩu phù hợp cho MySQL root của bạn. Plugin MẬT KHẨU HỢP LỆ sẽ cung cấp cho bạn độ mạnh ước tính của mật khẩu theo cấp độ xác thực mật khẩu của bạn. nhấn Y để tiếp tục với mật khẩu bạn đã cung cấp.

Đầu ra: Vui lòng đặt mật khẩu cho người chủ tại đây. Mật khẩu mới: Nhập lại mật khẩu mới: Độ mạnh ước tính của mật khẩu: 100 Bạn có muốn tiếp tục với mật khẩu đã cung cấp không? (Nhấn y | Y cho Có, bất kỳ phím nào khác cho Không): Y

nhấn Y đối với phần còn lại của lời nhắc, họ sẽ xóa một số người dùng ẩn danh và cơ sở dữ liệu thử nghiệm, vô hiệu hóa đăng nhập gốc từ xa và tải lại cài đặt mới cho máy chủ MySQL. Khi bạn hoàn thành, hãy kiểm tra cơ sở dữ liệu của bạn bằng cách chạy:

sudo mysql

Lệnh trên sẽ mở bảng điều khiển MySQL, kết nối với cơ sở dữ liệu MySQL dưới dạng nguồn gốc người dùng. Bạn sẽ thấy một kết quả như sau:

Đầu ra: Chào mừng bạn đến với màn hình MySQL. Các lệnh kết thúc bằng; hoặc \ g. Id kết nối MySQL của bạn là 10 Phiên bản máy chủ: 8.0.20-0ubuntu0.20.04.1 (Ubuntu) Bản quyền (c) 2000, 2020, Oracle và / hoặc các chi nhánh của nó. Đã đăng ký Bản quyền. Oracle là nhãn hiệu đã đăng ký của Oracle Corporation và / hoặc các chi nhánh của nó. Những tên khác có thể là thương hiệu của chủ sở hữu tương ứng. Nhập 'help;' hoặc '\ h' để được trợ giúp. Gõ '\ c' để xóa câu lệnh nhập hiện tại. mysql>

Bạn có thể nhận thấy rằng bạn không cần nhập mật khẩu bạn đã đặt cho người dùng gốc MySQL. Đó là bởi vì phương pháp xác thực mặc định cho người dùng gốc MySQL quản trị là caching_sha2_authentication thay cho mysql_native_password phương pháp sử dụng mật khẩu để đăng nhập.

Vì vậy, theo mặc định, bạn chỉ có thể đăng nhập với tư cách là người dùng gốc MySQL với sudo cho phép người dùng hoạt động như một bảo mật bổ sung cho máy chủ MySQL. Nhưng thư viện MySQL PHP không hỗ trợ caching_sha2_authentication phương pháp. Do đó chúng ta cần sử dụng mysql_native_password khi chúng tôi tạo một người dùng mới cho Laravel vì nó sử dụng mật khẩu để kết nối và tương tác với cơ sở dữ liệu.

Tạo người dùng và cơ sở dữ liệu MySQL mới

Bạn nên tạo một người dùng và cơ sở dữ liệu mới cho ứng dụng của mình thay vì sử dụng người dùng gốc MySQL và cơ sở dữ liệu thử nghiệm. Vì vậy, chúng tôi sẽ thiết lập một người dùng MySQL mới được gọi là laravel_user và một cơ sở dữ liệu được gọi là laravel. Nếu bạn đã làm theo hướng dẫn đến thời điểm này, bạn nên mở bảng điều khiển MySQL. Để tạo người dùng được gọi là laravel_user chạy truy vấn sau trong bảng điều khiển MySQL:

Ghi chú: Thay thế cái vượt qua kiểm tra trong truy vấn MySQL bên dưới với mật khẩu mạnh.

TẠO NGƯỜI DÙNG 'laravel_user' @ '%' ĐƯỢC XÁC ĐỊNH VỚI mysql_native_password BẰNG 'testpass';

Tiếp theo, tạo một cơ sở dữ liệu có tên laravel cho ứng dụng Laravel của chúng tôi bằng cách chạy truy vấn này:

TẠO CƠ SỞ DỮ LIỆU laravel;

Chỉ người dùng gốc MySQL mới có quyền truy cập laravel cơ sở dữ liệu mới được tạo. Cấp tất cả các quyền đối với laravel cơ sở dữ liệu cho laravel_user bằng cách chạy:

CẤP TẤT CẢ TRÊN laravel. * ĐẾN 'laravel_user' @ '%';

Vì vậy, bây giờ chúng ta có một người dùng MySQL mới và một cơ sở dữ liệu, hãy thoát khỏi bảng điều khiển MySQL bằng cách chạy:

LỐI RA;

Kiểm tra người dùng MySQL mới của bạn bằng cách đăng nhập vào bảng điều khiển MySQL bằng nó, để làm như vậy hãy chạy lệnh này trong terminal:

mysql -u laravel_user -p

Chú ý -P gắn cờ trong lệnh, nó sẽ nhắc bạn nhập mật khẩu bạn đã sử dụng khi tạo laravel_user (vượt qua kiểm tra trong truy vấn). Sau khi bạn đã đăng nhập vào bảng điều khiển MySQL bằng laravel_user, xác nhận rằng người dùng có quyền truy cập vào laravel cơ sở dữ liệu bằng cách chạy:

HIỂN THỊ DỮ LIỆU;
Đầu ra: + -------------------- + | Cơ sở dữ liệu | + -------------------- + | laravel | | information_schema | + -------------------- + 2 hàng trong bộ (0,01 giây)

Kết quả ở trên xác nhận rằng người dùng MySQL laravel_user có quyền đối với cơ sở dữ liệu laravel. Thoát khỏi bảng điều khiển MySQL bằng cách sử dụng LỐI RA; truy vấn để chúng ta có thể tiến hành tạo ứng dụng DemoApp Laravel.

Cài đặt Laravel

Khung Laravel sử dụng Composer để tải xuống và quản lý các phần phụ thuộc của nó. Vì vậy, chúng ta cần cài đặt Composer trên máy Ubuntu 20.04 trước khi có thể tạo ứng dụng Laravel.

Cài đặt trình soạn nhạc

Composer là một công cụ quản lý phụ thuộc cho PHP, giúp cài đặt và cập nhật các khung và thư viện PHP dễ dàng hơn rất nhiều. Chúng ta sẽ xem xét cách cài đặt nhanh Composer trong hướng dẫn này để chúng ta có thể sử dụng nó để tải xuống và quản lý framework Laravel.

Bạn cần cài đặt một số gói bổ sung được yêu cầu bởi Composer để hoạt động, chẳng hạn như php-cli để chạy các tập lệnh PHP trong thiết bị đầu cuối và giải nén để giúp Composer giải nén các gói. Cài đặt cả hai bằng cách chạy:

sudo apt install php-cli giải nén

Sau đó, để cài đặt Composer trên toàn cầu, hãy tải xuống tập lệnh cài đặt Composer với Xoăn và cài đặt nó bằng lệnh sau:

curl -sS //getcomposer.org/installer | sudo php - --install-dir = / usr / local / bin --filename = composer

Cuối cùng, hãy xác minh rằng trình soạn nhạc đã được cài đặt chính xác bằng cách chạy:

nhà soạn nhạc
 ______ / ____ / ___ ____ ___ ____ ____ ________ _____ / / / __ \ / __ `__ \ / __ \ / __ \ / ___ / _ \ / ___ / / / ___ / / _ / / / / / / / / _ / / / _ / (__) __ / / \ ____ / \ ____ / _ / / _ / / _ / .___ / \ ____ / ____ / \ ___ / _ / / _ / Phiên bản nhà soạn 1.10.8 2020-06- 24 21:23:30 Cách sử dụng: lệnh [tùy chọn] [đối số]

Đầu ra này xác nhận rằng Trình soạn thảo đang hoạt động bình thường trên máy chủ Ubuntu 20.04 của bạn, bạn có thể bắt đầu sử dụng nó để cài đặt và quản lý các khung và thư viện PHP.

Tạo một ứng dụng Laravel

Chúng tôi có khá nhiều thứ cần thiết để tạo ứng dụng Laravel trên máy chủ Ubuntu 20.04 ngoại trừ một số tiện ích mở rộng PHP. Cài đặt các tiện ích mở rộng bị thiếu này bằng lệnh sau:

sudo apt install php-mbstring php-xml php-bcmath php-zip php-json

Bây giờ, chúng ta có thể cài đặt Laravel và tạo một ứng dụng Laravel mới với sự trợ giúp của Composer. Trước tiên, hãy đảm bảo rằng bạn đang ở trong thư mục chính của người dùng:

cd ~

Sau đó, tạo một dự án Laravel mới bằng cách sử dụng Trình soạn thảo tạo dự án yêu cầu:

nhà soạn nhạc tạo-dự án --prefer-dist laravel / laravel LaravelApp

Lệnh trên sẽ tạo một dự án mới có tên là LaravelApp và nó cũng sẽ cài đặt và cấu hình Laravel Framework cho bạn. Bạn sẽ thấy một kết quả tương tự như sau:

Đầu ra: Tạo dự án "laravel / laravel" tại "./LaravelApp" Cài đặt laravel / laravel (v7.12.0) Cài đặt laravel / laravel (v7.12.0): Đang tải xuống (100%) Đã tạo dự án trong / home / Ath / LaravelApp @php - r "file_exists ('. env') || copy ('. env.example', '.env');" Đang tải kho của nhà soạn nhạc với thông tin gói Cập nhật phần phụ thuộc (bao gồm cả request-dev) Hoạt động của gói: 97 lượt cài đặt, 0 bản cập nhật, 0 lượt xóa Cài đặt voku / portable-ascii (1.5.2): Đang tải xuống (100%) Cài đặt symfony / polyfill-ctype (v1 .17.1): Tải xuống (100%) Cài đặt phpoption / phpoption (1.7.4): Tải xuống (100%) Cài đặt vlucas / phpdotenv (v4.1.7): Tải xuống (100%) Cài đặt symfony / css-selector (v5.1.2) : Đang tải xuống (100%) ....

Khi quá trình cài đặt hoàn tất, hãy chuyển đến thư mục gốc của ứng dụng và sau đó chạy Laravel’s nghệ nhân lệnh để xác minh rằng tất cả các thành phần được cài đặt đúng cách:

cd LaravelApp / nghệ nhân php
Đầu ra: Laravel Framework 7.18.0 Cách sử dụng: lệnh [tùy chọn] [đối số] Tùy chọn: -h, --help Hiển thị thông báo trợ giúp này -q, --quiet Không xuất bất kỳ thông báo nào -V, --version Hiển thị phiên bản ứng dụng này --ansi Buộc đầu ra ANSI --no-ansi Tắt đầu ra ANSI -n, - không tương tác Không hỏi bất kỳ câu hỏi tương tác nào --env [= ENV] Môi trường lệnh phải chạy trong -v | vv | vvv, --verbose Tăng độ dài của thông báo: 1 cho đầu ra bình thường, 2 cho đầu ra dài hơn và 3 cho gỡ lỗi ....

Kết quả này xác nhận rằng cài đặt thành công và tất cả các tệp đã ở đúng vị trí và các công cụ dòng lệnh của Laravel đang hoạt động bình thường. Tuy nhiên, chúng ta vẫn cần cấu hình ứng dụng để thiết lập cơ sở dữ liệu và một vài cài đặt khác.

Định cấu hình ứng dụng Laravel

Các tệp cấu hình Laravel nằm trong một thư mục được gọi là cấu hình bên trong thư mục gốc của ứng dụng. Ngoài ra, khi chúng tôi cài đặt Laravel thông qua Composer, nó đã tạo một tệp môi trường có tên là ‘.env’ trong thư mục gốc của ứng dụng. Tệp môi trường bao gồm các cấu hình dành riêng cho môi trường và nó được ưu tiên hơn các cài đặt trong tệp cấu hình thông thường nằm bên trong thư mục cấu hình.

Lưu ý: Tệp cấu hình môi trường chứa thông tin nhạy cảm về máy chủ của bạn như mật khẩu cơ sở dữ liệu, khóa ứng dụng Laravel, v.v. Vì vậy, tệp này không bao giờ được chia sẻ công khai.

Bây giờ chúng tôi sẽ chỉnh sửa .env để thay đổi cấu hình và thêm thông tin đăng nhập cơ sở dữ liệu vào đó. Mở tệp bằng trình chỉnh sửa nano bằng cách chạy:

nano .env

Có nhiều biến cấu hình trong này .env tập tin. Chúng tôi không cần thay đổi từng cài đặt vì Composer đã tự động định cấu hình hầu hết các cài đặt. Vì vậy, đây là danh sách một số biến cấu hình chính mà bạn phải biết:

  • TÊN ỨNG DỤNG: Tên ứng dụng được sử dụng cho thông báo và tin nhắn, vì vậy chúng tôi sẽ đặt nó thành ‘LaravelApp’.
  • APP_ENV: Biến này được sử dụng để chỉ ra môi trường ứng dụng hiện tại. Nó có thể được đặt thành môi trường cục bộ, phát triển, thử nghiệm hoặc sản xuất. Chúng tôi sẽ đặt nó vào môi trường phát triển ngay bây giờ.
  • APP_KEY: Khóa ứng dụng duy nhất được sử dụng để tạo muối và băm cho ứng dụng web. Nó được tạo tự động khi bạn cài đặt Laravel thông qua Composer, vì vậy không cần phải thay đổi điều này.
  • APP_DEBUG: Nó có thể được đặt thành true hoặc false, tùy thuộc vào việc bạn có muốn hiển thị lỗi ở phía máy khách hay không. Đặt nó thành false khi bạn chuyển sang môi trường sản xuất.
  • APP_URL: URL cơ sở hoặc IP cho ứng dụng, hãy thay đổi nó thành tên miền của bạn nếu bạn có một tên miền cho ứng dụng Laravel của mình hoặc nếu không, hãy giữ nguyên nó ngay bây giờ.
  • DB_DATABASE: Tên cơ sở dữ liệu bạn muốn sử dụng với ứng dụng Laravel. Chúng tôi sẽ sử dụng cơ sở dữ liệu MySQL ‘laravel’ mà chúng tôi đã tạo trong khi định cấu hình MySQL.
  • DB_USERNAME: Tên người dùng để kết nối với cơ sở dữ liệu. Chúng tôi sẽ sử dụng người dùng MySQL ‘laravel_user’ mà chúng tôi đã tạo.
  • DB_PASSWORD: Mật khẩu để kết nối với cơ sở dữ liệu.
 APP_NAME = LaravelApp APP_ENV = sự phát triển APP_KEY = base64: Application_unique_key APP_DEBUG = true APP_URL = // domain_or_IP LOG_CHANNEL = ngăn xếp DB_CONNECTION = mysql DB_HOST = 127.0.0.1 DB_PORT = 3306 DB_DATABASE = laravel DB_USERNAME = laravel_user DB_PASSWORD = vượt qua kiểm tra

Thực hiện các thay đổi đối với .env tệp phù hợp và khi bạn chỉnh sửa xong, hãy lưu và thoát tệp bằng cách sử dụng CTRL + X sau đó nhấn Y và nhấn enter để xác nhận. Bây giờ, tất cả những gì còn lại là cấu hình máy chủ Apache và tạo một máy chủ ảo cho ứng dụng Laravel của chúng ta.

Thiết lập Máy chủ Web Apache

Chúng tôi đã cài đặt Laravel trong thư mục cục bộ của thư mục chính của người dùng. Mặc dù điều này hoạt động hoàn toàn tốt cho sự phát triển cục bộ, nhưng bạn nên đặt thư mục ứng dụng web trong / var / www. Lý do tại sao chúng tôi không cài đặt Laravel trong / var / www trực tiếp là do nó thuộc sở hữu của root và không nên sử dụng Composer với sudo.

Vì vậy, hãy sử dụng mv lệnh để di chuyển thư mục ứng dụng Laravel và nội dung của nó sang / var / www:

sudo mv ~ / Laravel / / var / www

Thư mục LaravelApp thuộc sở hữu của người dùng, vì vậy bạn vẫn có thể chỉnh sửa và thực hiện các thay đổi đối với tệp mà không cần sử dụng sudo yêu cầu. Nhưng máy chủ web Apache cần quyền truy cập vào bộ đệm và thư mục lưu trữ của ứng dụng vì Laravel lưu trữ các tệp do ứng dụng tạo ra trong đó. Thay đổi chủ sở hữu của các thư mục này thành www-data người dùng sử dụng băm nhỏ yêu cầu:

sudo chown -R www-data.www-data / var / www / LaravelApp / storage sudo chown -R www-data.www-data / var / www / LaravelApp / bootstrap / cache

Sau khi thay đổi chủ sở hữu của các thư mục này, hãy bật Apache's mod_rewrite vì Laravel yêu cầu chuyển đổi chính xác các URL để được thông dịch bởi chức năng định tuyến của nó thông qua .htaccess tập tin.

sudo a2enmod viết lại

Tiếp theo, chúng ta cần thiết lập một máy chủ ảo cho ứng dụng Laravel. Các cấu hình máy chủ ảo được đặt tại / etc / apache2 / sites-available. Chúng tôi sẽ chỉnh sửa tệp máy chủ ảo mặc định để triển khai ứng dụng Laravel. Mở tệp cấu hình máy chủ ảo mặc định bằng trình chỉnh sửa nano:

sudo nano /etc/apache2/sites-available/000-default.conf

Thay đổi gốc tài liệu từ / var / www / html đến / var / www / LaravelApp / public và thêm đoạn mã sau vào bên dưới dòng DocumentRoot:

 AllowOverride Tất cả 

Của bạn 000-default.conf nên trông giống như thế này bây giờ với ít bình luận.

 ServerAdmin webmaster @ localhost DocumentRoot / var / www / LaravelApp / public AllowOverride All ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log kết hợp 

Khởi động lại máy chủ web Apache bằng cách chạy lệnh sau:

sudo systemctl khởi động lại apache2

Bây giờ hãy truy cập trình duyệt của bạn và nhập địa chỉ IP của máy chủ Ubuntu 20.04 của bạn. Bạn sẽ thấy trang bắt đầu của Laravel thay vì trang chào mừng Apache mặc định.

Giả sử bạn đã làm theo hướng dẫn này cho đến nay, bạn sẽ có một ứng dụng Laravel đang hoạt động với cơ sở dữ liệu MySQL được gọi là laravel cho nó. Từ thời điểm này, bạn có thể bắt đầu tự phát triển ứng dụng Laravel của mình. Để tìm hiểu thêm về khung Laravel và cách sử dụng của nó, hãy truy cập trang tài liệu Laravel.