Laravel là một nền tảng ứng dụng web dựa trên PHP được sử dụng để xây dựng các ứng dụng web doanh nghiệp. Đây là một nền tảng web miễn phí và mở theo kiến trúc model-view-controller (MVC) và dựa trên Symfony. Nó cung cấp cú pháp thanh lịch cho phép bạn tạo các ứng dụng với mã sạch và dễ đọc và dễ hiểu.
Laravel là một nền tảng web cấp doanh nghiệp để xây dựng các ứng dụng web toàn bộ ngăn xếp mạnh mẽ và doanh nghiệp. Các ứng dụng Laravel có thể được phân phối nhanh chóng mà không gặp rắc rối, từ quy trình phát triển đến sản xuất.
Hướng dẫn này sẽ hướng dẫn bạn cách cài đặt nền tảng web Laravel trên máy chủ Ubuntu 24.04. Bạn sẽ cài đặt Laravel với LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP) và trình quản lý gói PHP Composer.
Trước khi cài đặt gói, hãy chạy lệnh sau để cập nhật kho lưu trữ Ubuntu của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22723%22%20height=%22234%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để cài đặt các thành phần phụ thuộc của Laravel, bao gồm LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP), Composer và Git.
Nhập Y để tiếp tục cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2280%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy kiểm tra trạng thái dịch vụ của cả Apache và MariaDB. Sau đó, hãy kiểm tra cả phiên bản PHP và Composer.
Kiểm tra trạng thái dịch vụ Apache bằng lệnh sau. Dịch vụ Apache mặc định trên Ubuntu sẽ được bật và chạy tự động.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22225%22%3E%3C/svg%3E
Bây giờ hãy kiểm tra dịch vụ MariaDB bằng lệnh bên dưới. Máy chủ MariaDB phải được bật và chạy trên hệ thống Ubuntu của bạn.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22212%22%3E%3C/svg%3E
Cuối cùng, hãy kiểm tra phiên bản PHP và Composer bằng lệnh bên dưới. Bạn sẽ thấy PHP 8.3 và Composer 2.7.1 được cài đặt trên hệ thống của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22676%22%20height=%22328%22%3E%3C/svg%3E
Để cài đặt Node.js và NPM trên hệ thống Ubuntu của bạn, hãy chạy lệnh sau:
Nhập Y để xác nhận cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22116%22%3E%3C/svg%3E
Khi quá trình cài đặt hoàn tất, hãy nhập lệnh bên dưới để kiểm tra phiên bản Node.js và NPM.
Kết quả sau cho thấy Node.js 18 và NPM 9.5 đã được cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22440%22%20height=%22134%22%3E%3C/svg%3E
Sử dụng trình chỉnh sửa nano, chỉnh sửa tệp cấu hình PHP mặc định '/etc/php/8.3/apache2/php.ini'.
Bỏ chú thích các dòng sau để kích hoạt tiện ích mở rộng PHP fileinfo, mbstring và openssl.
Lưu tệp và thoát khỏi trình chỉnh sửa.
Bây giờ hãy chạy lệnh bên dưới để khởi động lại dịch vụ Apache và áp dụng các thay đổi trên PHP.
Tiếp theo, hãy xác minh các phần mở rộng PHP fileinfo, mbstring và openssl bằng lệnh sau. Nếu những tiện ích mở rộng đó được bật, tên của từng tiện ích mở rộng sẽ được hiển thị.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22707%22%20height=%22253%22%3E%3C/svg%3E
Ngoài ra, bạn có thể xác minh danh sách các tiện ích mở rộng PHP được bật thông qua PHPINFO. Tạo một tệp PHPINFO mới bằng lệnh sau.
Sau đó, truy cập http://192.168.5.30/info.php. Kiểm tra các tiện ích mở rộng fileinfo, mbstring và openssl để đảm bảo các tiện ích mở rộng đó được bật.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22185%22%3E%3C/svg%3E
Chạy lệnh 'mariadb-secure-installation' bên dưới để bảo mật máy chủ MariaDB của bạn. Bây giờ bạn sẽ được nhắc cấu hình máy chủ MariaDB.
Khi được nhắc, hãy nhập Y để áp dụng cấu hình mới hoặc nhập N để từ chối.
Đăng nhập vào máy chủ MariaDB bằng lệnh bên dưới. Nhập mật khẩu gốc MariaDB của bạn khi được nhắc.
Bây giờ hãy chạy các truy vấn sau để tạo cơ sở dữ liệu và người dùng mới 'laravelapp', với mật khẩu 'password'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22225%22%3E%3C/svg%3E
Tiếp theo, chạy truy vấn sau để xác minh quyền cho người dùng 'laravelapp'. Điều này sẽ đảm bảo người dùng của bạn có thể truy cập cơ sở dữ liệu Laravel 'laravelapp'.
Cuối cùng, nhập quit để thoát khỏi máy chủ MariaDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22253%22%3E%3C/svg%3E
Trước tiên, hãy chạy lệnh bên dưới để tạo các thư mục /var/www/.cache (cho bộ đệm Composer), /var/www/.config (cho cấu hình Composer bổ sung) và /var/www/laravelapp (cho dự án Laravel của bạn).
Bây giờ hãy thay đổi quyền sở hữu của /var/www/.cache, /var/www/.config và /var/www/laravelapp thư mục tới người dùng 'www-data'.
Tiếp theo, hãy vào thư mục /var/www/laravelapp và cài đặt Laravel bằng lệnh Composer bên dưới.
Quá trình cài đặt Laravel sẽ bắt đầu như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22416%22%3E%3C/svg%3E
Bây giờ hãy mở tệp '.env' bằng lệnh trình chỉnh sửa nano bên dưới.
Thay đổi 'APP_URL' mặc định bằng tên miền cục bộ của bạn. Trong ví dụ này, Laravel sẽ chạy trên miền 'laravelapp.local'.
Thay đổi 'DB_CONNECTION' mặc định thành 'mysql', bỏ chú thích và thay đổi thông tin chi tiết về cơ sở dữ liệu bằng thông tin của bạn.
Lưu và thoát file.
Cuối cùng, hãy chạy lệnh bên dưới để di chuyển cơ sở dữ liệu cho dự án Laravel của bạn.
Đầu ra của quá trình di chuyển cơ sở dữ liệu Laravel:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22313%22%3E%3C/svg%3E
Trước khi tạo máy chủ ảo, hãy bật mô-đun 'rewrite' của Apache bằng lệnh bên dưới.
Tạo cấu hình máy chủ ảo mới '/etc/apache2/sites-available/laravelapp.conf' bằng trình chỉnh sửa nano.
Thêm nội dung sau cấu hình và thay đổi tùy chọn ServerName bằng tên miền Laravel của bạn, chẳng hạn như 'laravelapp.local'.
Lưu tệp và thoát khỏi trình chỉnh sửa.
Bây giờ hãy chạy lệnh bên dưới để kích hoạt máy chủ ảo 'laravelapp.conf' và xác minh cú pháp Apache của bạn. Nếu không có lỗi, bạn sẽ thấy đầu ra 'Cú pháp OK'.
Khởi động lại dịch vụ Apache để áp dụng tệp máy chủ ảo Laravel mới. Sau khi Apache khởi động lại, cài đặt Laravel của bạn đã sẵn sàng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22404%22%3E%3C/svg%3E
Đối với người dùng Linux hoặc MacOS, hãy sửa đổi file '/etc/hosts' thành quyền root. Đối với người dùng Windows, hãy mở file 'C:\Windows\System32\drivers\etc\hosts' với tư cách là quản trị viên.
Thêm địa chỉ IP máy chủ Ubuntu của bạn theo sau là tên miền Laravel như sau:
Lưu và thoát file.
Bây giờ hãy truy cập http://laravelapp.local/ bằng trình duyệt web của bạn. Nếu cài đặt Laravel thành công, bạn sẽ nhận được trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22425%22%3E%3C/svg%3E
Laravel là một nền tảng web cấp doanh nghiệp để xây dựng các ứng dụng web toàn bộ ngăn xếp mạnh mẽ và doanh nghiệp. Các ứng dụng Laravel có thể được phân phối nhanh chóng mà không gặp rắc rối, từ quy trình phát triển đến sản xuất.
Hướng dẫn này sẽ hướng dẫn bạn cách cài đặt nền tảng web Laravel trên máy chủ Ubuntu 24.04. Bạn sẽ cài đặt Laravel với LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP) và trình quản lý gói PHP Composer.
Điều kiện tiên quyết
Trước khi bắt đầu hướng dẫn này, hãy đảm bảo bạn có những điều sau:- Máy chủ Ubuntu 24.04.
- Người dùng không phải root có quyền quản trị viên
Cài đặt LAMP Stack và Composer
Laravel là một khuôn khổ web PHP phổ biến cho phát triển web hiện đại. Vì vậy, bạn phải đảm bảo rằng PHP và các phụ thuộc khác được cài đặt trên máy chủ Ubuntu của mình. Trong phần này, bạn sẽ cài đặt Laravel với LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP) và Composer.Trước khi cài đặt gói, hãy chạy lệnh sau để cập nhật kho lưu trữ Ubuntu của bạn.
Mã:
sudo apt update
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22723%22%20height=%22234%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để cài đặt các thành phần phụ thuộc của Laravel, bao gồm LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP), Composer và Git.
Mã:
sudo apt install apache2 mariadb-server php php-curl php-bcmath php-json php-mysql php-mbstring php-xml php-tokenizer php-zip composer git
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2280%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy kiểm tra trạng thái dịch vụ của cả Apache và MariaDB. Sau đó, hãy kiểm tra cả phiên bản PHP và Composer.
Kiểm tra trạng thái dịch vụ Apache bằng lệnh sau. Dịch vụ Apache mặc định trên Ubuntu sẽ được bật và chạy tự động.
Mã:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22225%22%3E%3C/svg%3E
Bây giờ hãy kiểm tra dịch vụ MariaDB bằng lệnh bên dưới. Máy chủ MariaDB phải được bật và chạy trên hệ thống Ubuntu của bạn.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22212%22%3E%3C/svg%3E
Cuối cùng, hãy kiểm tra phiên bản PHP và Composer bằng lệnh bên dưới. Bạn sẽ thấy PHP 8.3 và Composer 2.7.1 được cài đặt trên hệ thống của bạn.
Mã:
php -v
sudo -u www-data composer -v
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22676%22%20height=%22328%22%3E%3C/svg%3E
Tùy chọn: Cài đặt Node.js và NPM (Node.js Package Manager)
Node.js và NPM là bắt buộc nếu bạn đang sử dụng Laravel với một công cụ tạo mẫu như Blade và JavaScript. Trong phần này, bạn sẽ cài đặt cả Node.js và NPM (Node.js Package Manager) thông qua kho lưu trữ Ubuntu.Để cài đặt Node.js và NPM trên hệ thống Ubuntu của bạn, hãy chạy lệnh sau:
Mã:
sudo apt install nodejs npm
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22116%22%3E%3C/svg%3E
Khi quá trình cài đặt hoàn tất, hãy nhập lệnh bên dưới để kiểm tra phiên bản Node.js và NPM.
Mã:
node --version
npm --version
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22440%22%20height=%22134%22%3E%3C/svg%3E
Cấu hình PHP
Để chạy Laravel, bạn phải đảm bảo một số tiện ích mở rộng PHP được bật, chẳng hạn như fileinfo, mbstring, và openssl. Bây giờ bạn tải các tiện ích mở rộng PHP đó bằng cách sửa đổi tệp 'php.ini'.Sử dụng trình chỉnh sửa nano, chỉnh sửa tệp cấu hình PHP mặc định '/etc/php/8.3/apache2/php.ini'.
Mã:
sudo nano /etc/php/8.3/apache2/php.ini
Mã:
extension=fileinfo
extension=mbstring
extension=openssl
Bây giờ hãy chạy lệnh bên dưới để khởi động lại dịch vụ Apache và áp dụng các thay đổi trên PHP.
Mã:
sudo systemctl restart apache2
Mã:
sudo php -m | grep 'fileinfo\|mbstring\|openssl'
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22707%22%20height=%22253%22%3E%3C/svg%3E
Ngoài ra, bạn có thể xác minh danh sách các tiện ích mở rộng PHP được bật thông qua PHPINFO. Tạo một tệp PHPINFO mới bằng lệnh sau.
Mã:
echo "" > /var/www/html/info.php
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22185%22%3E%3C/svg%3E
Cấu hình máy chủ MariaDB
Sau khi cấu hình PHP, bạn cần bảo mật máy chủ MariaDB của mình và tạo cơ sở dữ liệu và người dùng mới cho Laravel.Chạy lệnh 'mariadb-secure-installation' bên dưới để bảo mật máy chủ MariaDB của bạn. Bây giờ bạn sẽ được nhắc cấu hình máy chủ MariaDB.
Mã:
sudo mariadb-secure-installation
- Cài đặt MariaDB mặc định không có mật khẩu. Nhấn ENTER khi được nhắc nhập mật khẩu.
- Bây giờ, hãy nhập Y để thiết lập mật khẩu gốc MariaDB. Sau đó, nhập mật khẩu mới cho MariaDB và lặp lại mật khẩu.
- Nhập Y để xóa người dùng ẩn danh khỏi cài đặt MariaDB của bạn.
- Nhập Y một lần nữa khi được nhắc tắt đăng nhập từ xa cho người dùng gốc MariaDB.
- Nhập Y để xóa kiểm tra cơ sở dữ liệu mặc định khỏi MariaDB của bạn.
- Cuối cùng, nhập Y để tải lại các đặc quyền bảng và áp dụng các thay đổi mới.
Đăng nhập vào máy chủ MariaDB bằng lệnh bên dưới. Nhập mật khẩu gốc MariaDB của bạn khi được nhắc.
Mã:
sudo mariadb -u root -p
Mã:
CREATE DATABASE laravelapp;
CREATE USER laravelapp@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravelapp.* TO laravelapp@localhost;
FLUSH PRIVILEGES;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22225%22%3E%3C/svg%3E
Tiếp theo, chạy truy vấn sau để xác minh quyền cho người dùng 'laravelapp'. Điều này sẽ đảm bảo người dùng của bạn có thể truy cập cơ sở dữ liệu Laravel 'laravelapp'.
Mã:
SHOW GRANTS FOR laravelapp@localhost;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22253%22%3E%3C/svg%3E
Cài đặt Laravel thông qua Composer
Bây giờ bạn đã cấu hình PHP và tạo cơ sở dữ liệu và người dùng MySQL/MariaDB, bạn có thể cài đặt Laravel. Trong phần này, bạn sẽ thiết lập thư mục dự án, cài đặt Laravel thông qua Composer và tích hợp Laravel với cơ sở dữ liệu MySQL/MariaDB.Trước tiên, hãy chạy lệnh bên dưới để tạo các thư mục /var/www/.cache (cho bộ đệm Composer), /var/www/.config (cho cấu hình Composer bổ sung) và /var/www/laravelapp (cho dự án Laravel của bạn).
Mã:
sudo mkdir -p /var/www/{.cache,.config,laravelapp}
Mã:
sudo chown -R www-data:www-data /var/www/{.cache,.config,laravelapp}
Mã:
cd /var/www/laravelapp/
sudo -u www-data composer create-project laravel/laravel .
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22416%22%3E%3C/svg%3E
Bây giờ hãy mở tệp '.env' bằng lệnh trình chỉnh sửa nano bên dưới.
Mã:
nano .env
Mã:
APP_URL=http://laravelapp.local
Mã:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravelapp
DB_USERNAME=laravelapp
DB_PASSWORD=password
Cuối cùng, hãy chạy lệnh bên dưới để di chuyển cơ sở dữ liệu cho dự án Laravel của bạn.
Mã:
sudo -u www-data php artisan migrate
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22313%22%3E%3C/svg%3E
Thiết lập máy chủ ảo cho Laravel
Trong phần này, bạn sẽ thiết lập tệp máy chủ ảo cho Laravel. Đảm bảo rằng bạn đã chuẩn bị sẵn tên miền cục bộ cho quá trình phát triển Laravel của mình.Trước khi tạo máy chủ ảo, hãy bật mô-đun 'rewrite' của Apache bằng lệnh bên dưới.
Mã:
sudo a2enmod rewrite
Mã:
sudo nano /etc/apache2/sites-available/laravelapp.conf
Mã:
ServerAdmin [emailprotected]
ServerName laravelapp.local
DocumentRoot /var/www/laravelapp/public
Options FollowSymLinks
AllowOverride None
AllowOverride All
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Bây giờ hãy chạy lệnh bên dưới để kích hoạt máy chủ ảo 'laravelapp.conf' và xác minh cú pháp Apache của bạn. Nếu không có lỗi, bạn sẽ thấy đầu ra 'Cú pháp OK'.
Mã:
sudo a2ensite laravelapp.conf
sudo apachectl configtest
Mã:
sudo systemctl restart apache2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22404%22%3E%3C/svg%3E
Truy cập Dự án Laravel
Lúc này, bạn đã sẵn sàng truy cập cài đặt Laravel của mình thông qua 'hosts' file.Đối với người dùng Linux hoặc MacOS, hãy sửa đổi file '/etc/hosts' thành quyền root. Đối với người dùng Windows, hãy mở file 'C:\Windows\System32\drivers\etc\hosts' với tư cách là quản trị viên.
Thêm địa chỉ IP máy chủ Ubuntu của bạn theo sau là tên miền Laravel như sau:
Mã:
192.168.5.30 laravelapp.local
Bây giờ hãy truy cập http://laravelapp.local/ bằng trình duyệt web của bạn. Nếu cài đặt Laravel thành công, bạn sẽ nhận được trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22425%22%3E%3C/svg%3E