Laravel là một nền tảng ứng dụng web dựa trên PHP để 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à 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.
Ghép nối nền tảng web Laravel với một nền tảng khác như React hoặc Vue cho phép bạn tạo ra một giao diện người dùng đẹp và tương tác. Ngoài ra, nó hỗ trợ nhiều cơ sở dữ liệu bao gồm MySQL, PostgreSQL, SQLite và SQL Server. Laravel cũng cung cấp giàn giáo để xác thực an toàn.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Laravel từng bước trên Debian 12 để bạn có thể bắt đầu với dự án Laravel. Chúng tôi sẽ chỉ cho bạn cách cài đặt Laravel với máy chủ web Apache2, MariaDB và PHP 8.2.
Trước khi cài đặt các gói, hãy chạy lệnh apt update để cập nhật và làm mới kho lưu trữ Debian.
Sau khi kho lưu trữ được cập nhật, hãy cài đặt các gói LAMP Stack (Apache2, PHP và MariaDB) bằng cách thực thi lệnh apt install bên dưới. Lệnh sau cũng cài đặt một số tiện ích mở rộng PHP cần thiết cho Laravel.
Nhập y để xác nhận và tiếp tục cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22424%22%3E%3C/svg%3E
Sau khi cài đặt LAMP Stack, hãy chạy lệnh systemctl bên dưới để xác minh các dịch vụ apache2 và mariadb. Nếu dịch vụ đang chạy, bạn sẽ nhận được kết quả hoạt động (đang chạy).
Đối với dịch vụ apache2, bạn sẽ nhận được thông tin như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22252%22%3E%3C/svg%3E
Và bên dưới là trạng thái dịch vụ mariadb.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22282%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh php bên dưới để xác minh phiên bản PHP và các mô-đun đã bật trên PHP. Bạn sẽ thấy PHP 8.2 được cài đặt với một số mô-đun được bật, chẳng hạn như curl, date, dom và exif.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22605%22%20height=%22382%22%3E%3C/svg%3E
Cuối cùng, hãy khởi chạy trình duyệt web và truy cập địa chỉ IP máy chủ Debian của bạn (ví dụ: http://192.168.10.15/). Nếu cài đặt thành công, bạn sẽ nhận được trang index.html của máy chủ web Apache.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22591%22%3E%3C/svg%3E
Sử dụng trình chỉnh sửa nano sau để mở tệp cấu hình PHP /etc/php/8.2/apache2/php.ini.
Bỏ chú thích các dòng sau để bật tiện ích mở rộng fileinfo, mbstring và openssl.
Khi hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa.
Tiếp theo, chạy lệnh systemctl sau để khởi động lại dịch vụ apache2 và áp dụng các thay đổi.
Sau đó, đảm bảo các phần mở rộng PHP fileinfo, mbstring, và openssl được kích hoạt bằng cách chạy lệnh php bên dưới.
Bây giờ hãy tạo một tệp phpinfo mới /var/www/html/info.php bằng lệnh bên dưới. Nếu bạn cài đặt thành công máy chủ web PHP và Apache2, lệnh này sẽ hiển thị cho bạn thông tin chi tiết về cài đặt PHP của bạn.
Mở trình duyệt web ưa thích của bạn và truy cập địa chỉ IP của máy chủ theo sau là tệp đường dẫn info.php (ví dụ: http://192.168.10.15/info.php). Nếu thành công, bạn sẽ thấy kết quả như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22631%22%3E%3C/svg%3E
Trước tiên, hãy chạy lệnh mariadb-secure-installation bên dưới để bảo mật cài đặt máy chủ MariaDB của bạn. Trong quá trình này, bạn sẽ được yêu cầu cung cấp một số cấu hình MariaDB, nhập Y để xác nhận cấu hình hoặc n để không.
Dưới đây là một số thiết lập MariaDB mà bạn sẽ được yêu cầu trong quá trình này:
Đăng nhập vào máy chủ MariaDB thông qua lệnh mariadb bên dưới. Nhập mật khẩu 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 mới testapp, người dùng testapp và mật khẩu password. Hãy chắc chắn thay đổi mật khẩu trong truy vấn sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22688%22%20height=%22239%22%3E%3C/svg%3E
Tiếp theo, chạy truy vấn bên dưới để đảm bảo người dùng testapp có thể truy cập cơ sở dữ liệu testapp.
Đầu ra bên dưới xác nhận rằng người dùng testapp có thể truy cập cơ sở dữ liệu testapp.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22257%22%3E%3C/svg%3E
Cuối cùng, nhập quit để thoát khỏi máy chủ MariaDB và hoàn tất bước này.
Để cài đặt trình quản lý gói PHP Composer, hãy chạy lệnh apt install bên dưới. Nhập y khi được nhắc để tiếp tục cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22729%22%20height=%22493%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy chạy lệnh sau để định vị tệp nhị phân của composer và xác minh composer phiên bản.
Tệp nhị phân của composer nằm tại /usr/bin/composer và composer 2.5.5 đã được cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22525%22%20height=%22171%22%3E%3C/svg%3E
Trước tiên, hãy tạo thư mục gốc tài liệu mới /var/www/testapp cho dự án của bạn và thay đổi quyền sở hữu thành người dùng www-data thông qua lệnh bên dưới. Bạn cũng sẽ tạo các thư mục /var/www/.cache và /var/www/.config sẽ được Composer sử dụng.
Bây giờ hãy di chuyển đến thư mục /var/www/testapp/ và chạy lệnh composer bên dưới để tạo dự án Laravel đầu tiên. Dự án Laravel đầu tiên của bạn được lưu trữ tại thư mục /var/www/testapp/.
Trong quá trình cài đặt, bạn sẽ nhận được kết quả tương tự như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22289%22%3E%3C/svg%3E
Sau khi tạo xong dự án Laravel, tiếp theo bạn sẽ thiết lập cơ sở dữ liệu cho dự án của bạn thông qua tệp cấu hình .env. Tệp .env được sử dụng làm cấu hình cơ sở cho dự án Laravel của bạn.
Sử dụng lệnh nano editor sau để mở tệp .env.
Thay đổi tham số APP_URL bằng tên miền cục bộ của dự án Laravel của bạn. Theo cách này, bạn có thể truy cập dự án của mình thông qua tên miền cục bộ. Trong trường hợp này, tên miền là testapp.local.
Bây giờ hãy thay đổi cấu hình cơ sở dữ liệu DB_CONNECTION thành mysql và thay đổi thông tin chi tiết của DB_DATABASE, DB_USERNAME và DB_PASSWORD bằng thông tin chi tiết của bạn Cơ sở dữ liệu MariaDB và người dùng.
Khi hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa.
Bây giờ hãy chạy lệnh sau để di chuyển cơ sở dữ liệu. Thao tác này sẽ tạo các bảng cho dự án Laravel.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22209%22%3E%3C/svg%3E
Trước khi tạo cấu hình máy chủ ảo Apache2 cho Laravel, bạn phải bật mô-đun viết lại trên Apache2 thông qua lệnh bên dưới.
Sử dụng lệnh nano editor sau để tạo cấu hình máy chủ ảo Apache2 /etc/apache2/sites-available/laravel.conf.
Chèn cấu hình sau và thay đổi tham số ServerName bằng tên miền của bạn.
Khi hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa.
Tiếp theo, chạy lệnh sau để kích hoạt cấu hình máy chủ ảo laravel.conf và xác minh cấu hình Apache2. Nếu bạn có cấu hình phù hợp, bạn sẽ nhận được thông báo như Syntax OK.
Cuối cùng, khởi động lại dịch vụ apache2 bằng cách thực hiện lệnh bên dưới và áp dụng các thay đổi bạn đã thực hiện.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22696%22%20height=%22411%22%3E%3C/svg%3E
Nếu bạn đang sử dụng máy Windows, hãy sửa đổi tệp C:\Windows\System32\drivers\etc\hosts.
Chèn tên miền của dự án Laravel và địa chỉ IP máy chủ Debian của bạn như sau:
Lưu tệp và thoát khỏi trình chỉnh sửa.
Cuối cùng, hãy khởi chạy trình duyệt web của bạn và truy cập tên miền cục bộ của dự án Laravel của bạn (ví dụ: http://testapp.local). Nếu thành công, bạn sẽ nhận được một trang Laravel tương tự như thế này:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22480%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.
Ghép nối nền tảng web Laravel với một nền tảng khác như React hoặc Vue cho phép bạn tạo ra một giao diện người dùng đẹp và tương tác. Ngoài ra, nó hỗ trợ nhiều cơ sở dữ liệu bao gồm MySQL, PostgreSQL, SQLite và SQL Server. Laravel cũng cung cấp giàn giáo để xác thực an toàn.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Laravel từng bước trên Debian 12 để bạn có thể bắt đầu với dự án Laravel. Chúng tôi sẽ chỉ cho bạn cách cài đặt Laravel với máy chủ web Apache2, MariaDB và PHP 8.2.
Điều kiện tiên quyết
Dưới đây là yêu cầu mà bạn cần phải tuân theo hướng dẫn này:- Máy chủ Debian 12.
- Người dùng không phải root có quyền quản trị viên.
Cài đặt LAMP Stack
Bước đầu tiên bạn cần làm là cài đặt LAMP Stack (Apache2, MariaDB và PHP) vào máy chủ Debian của bạn. Sau đó, bạn cũng sẽ xác minh cả dịch vụ Apache2 và mariaDB để đảm bảo rằng dịch vụ đang chạy.Trước khi cài đặt các gói, hãy chạy lệnh apt update để cập nhật và làm mới kho lưu trữ Debian.
Mã:
sudo apt update
Mã:
sudo apt install apache2 php php-curl php-bcmath php-json php-mysql php-mbstring php-xml php-tokenizer php-zip mariadb-server
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22424%22%3E%3C/svg%3E
Sau khi cài đặt LAMP Stack, hãy chạy lệnh systemctl bên dưới để xác minh các dịch vụ apache2 và mariadb. Nếu dịch vụ đang chạy, bạn sẽ nhận được kết quả hoạt động (đang chạy).
Mã:
sudo systemctl status apache2
sudo systemctl status mariadb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22252%22%3E%3C/svg%3E
Và bên dưới là trạng thái dịch vụ mariadb.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22282%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh php bên dưới để xác minh phiên bản PHP và các mô-đun đã bật trên PHP. Bạn sẽ thấy PHP 8.2 được cài đặt với một số mô-đun được bật, chẳng hạn như curl, date, dom và exif.
Mã:
php -v
php -m
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22605%22%20height=%22382%22%3E%3C/svg%3E
Cuối cùng, hãy khởi chạy trình duyệt web và truy cập địa chỉ IP máy chủ Debian của bạn (ví dụ: http://192.168.10.15/). Nếu cài đặt thành công, bạn sẽ nhận được trang index.html của máy chủ web Apache.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22591%22%3E%3C/svg%3E
Cấu hình PHP
Để cài đặt Laravel, có một số tiện ích mở rộng PHP mà bạn phải bật, chẳng hạn như fileinfo, mbstring và openssl. Bạn có thể bật các tiện ích mở rộng đó thông qua tệp php.ini.Sử dụng trình chỉnh sửa nano sau để mở tệp cấu hình PHP /etc/php/8.2/apache2/php.ini.
Mã:
sudo nano /etc/php/8.2/apache2/php.ini
Mã:
extension=fileinfo
extension=mbstring
extension=openssl
Tiếp theo, chạy lệnh systemctl sau để khởi động lại dịch vụ apache2 và áp dụng các thay đổi.
Mã:
sudo systemctl restart apache2
Mã:
sudo php -m
Mã:
echo "" > /var/www/html/info.php
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22631%22%3E%3C/svg%3E
Cấu hình máy chủ MariaDB
Sau khi cấu hình PHP, bạn sẽ cấu hình máy chủ MariaDB, bao gồm bảo mật máy chủ MariaDB thông qua tiện ích mariadb-secure-installation, sau đó tạo cơ sở dữ liệu và người dùng mới cho dự án Laravel của bạn.Trước tiên, hãy chạy lệnh mariadb-secure-installation bên dưới để bảo mật cài đặt máy chủ MariaDB của bạn. Trong quá trình này, bạn sẽ được yêu cầu cung cấp một số cấu hình MariaDB, nhập Y để xác nhận cấu hình hoặc n để không.
Mã:
sudo mariadb-secure-installation
- Nhấn ENTER khi được yêu cầu nhập mật khẩu gốc MariaDB.
- Nhập n khi được yêu cầu về phương thức xác thực unix_socket.
- Nhập Y để thiết lập mật khẩu mới cho người dùng gốc MariaDB. Sau đó, nhập mật khẩu mới và lặp lại.
- Nhập Y để xóa người dùng ẩn danh mặc định khỏi MariaDB.
- Sau đó, nhập Y một lần nữa để vô hiệu hóa đă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.
- Cuối cùng, nhập Y một lần nữa để tải lại các đặc quyền bảng và áp dụng các thay đổi.
Đăng nhập vào máy chủ MariaDB thông qua lệnh mariadb bên dưới. Nhập mật khẩu MariaDB của bạn khi được nhắc.
Mã:
sudo mariadb -u root -p
Mã:
CREATE DATABASE testapp;
CREATE USER testapp@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testapp.* TO testapp@localhost;
FLUSH PRIVILEGES;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22688%22%20height=%22239%22%3E%3C/svg%3E
Tiếp theo, chạy truy vấn bên dưới để đảm bảo người dùng testapp có thể truy cập cơ sở dữ liệu testapp.
Mã:
SHOW GRANTS FOR testapp@localhost;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22257%22%3E%3C/svg%3E
Cuối cùng, nhập quit để thoát khỏi máy chủ MariaDB và hoàn tất bước này.
Cài đặt Composer
Laravel có thể được cài đặt theo nhiều cách, và cách dễ nhất là cài đặt thông qua Composer, trình quản lý gói PHP. Bây giờ, bạn sẽ cài đặt Composer vào máy chủ Debian của mình.Để cài đặt trình quản lý gói PHP Composer, hãy chạy lệnh apt install bên dưới. Nhập y khi được nhắc để tiếp tục cài đặt.
Mã:
sudo apt install composer
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22729%22%20height=%22493%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy chạy lệnh sau để định vị tệp nhị phân của composer và xác minh composer phiên bản.
Mã:
which composer
sudo -u www-data composer --version
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22525%22%20height=%22171%22%3E%3C/svg%3E
Tạo dự án Laravel đầu tiên
Khi mọi thứ đã sẵn sàng, bạn đã sẵn sàng để cài đặt và tạo dự án Laravel đầu tiên. Bạn sẽ tạo dự án Laravel đầu tiên với MariaDB làm cơ sở dữ liệu.Trước tiên, hãy tạo thư mục gốc tài liệu mới /var/www/testapp cho dự án của bạn và thay đổi quyền sở hữu thành người dùng www-data thông qua lệnh bên dưới. Bạn cũng sẽ tạo các thư mục /var/www/.cache và /var/www/.config sẽ được Composer sử dụng.
Mã:
sudo mkdir -p /var/www/{.cache,.config,testapp}
sudo chown -R www-data:www-data /var/www/{.cache,.config,testapp}
Mã:
cd /var/www/testapp/
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=%22289%22%3E%3C/svg%3E
Sau khi tạo xong dự án Laravel, tiếp theo bạn sẽ thiết lập cơ sở dữ liệu cho dự án của bạn thông qua tệp cấu hình .env. Tệp .env được sử dụng làm cấu hình cơ sở cho dự án Laravel của bạn.
Sử dụng lệnh nano editor sau để mở tệp .env.
Mã:
nano .env
Mã:
APP_URL=http://testapp.local
Mã:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=testapp
DB_USERNAME=testapp
DB_PASSWORD=password
Bây giờ hãy chạy lệnh sau để di chuyển cơ sở dữ liệu. Thao tác này sẽ tạo các bảng cho dự án Laravel.
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=%22209%22%3E%3C/svg%3E
Cấu hình Apache Virtual Host
Trong bước tiếp theo, bạn sẽ tạo cấu hình máy chủ ảo Apache2 mới cho dự án Laravel của mình. Sau đó, bạn phải kích hoạt máy chủ ảo và xác minh cấu hình Apache2, sau đó khởi động lại máy chủ web Apache2 để có hiệu lực.Trước khi tạo cấu hình máy chủ ảo Apache2 cho Laravel, bạn phải bật mô-đun viết lại trên Apache2 thông qua lệnh bên dưới.
Mã:
sudo a2enmod rewrite
Mã:
sudo nano /etc/apache2/sites-available/laravel.conf
Mã:
ServerAdmin [emailprotected]
ServerName testapp.local
DocumentRoot /var/www/testapp/public
Options FollowSymLinks
AllowOverride None
AllowOverride All
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Tiếp theo, chạy lệnh sau để kích hoạt cấu hình máy chủ ảo laravel.conf và xác minh cấu hình Apache2. Nếu bạn có cấu hình phù hợp, bạn sẽ nhận được thông báo như Syntax OK.
Mã:
sudo a2ensite laravel.conf
sudo apachectl configtest
Mã:
sudo systemctl restart apache2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22696%22%20height=%22411%22%3E%3C/svg%3E
Truy cập Laravel
Nếu bạn đang sử dụng máy khách Linux, hãy sửa đổi tệp /etc/hosts thông qua lệnh trình chỉnh sửa nano bên dưới.
Mã:
sudo nano /etc/hosts
Chèn tên miền của dự án Laravel và địa chỉ IP máy chủ Debian của bạn như sau:
Mã:
192.168.10.15 testapp.local
Cuối cùng, hãy khởi chạy trình duyệt web của bạn và truy cập tên miền cục bộ của dự án Laravel của bạn (ví dụ: http://testapp.local). Nếu thành công, bạn sẽ nhận được một trang Laravel tương tự như thế này:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22480%22%3E%3C/svg%3E