本教程适用于以下操作系统版本

  • Debian 12 (Bookworm)
  • Debian 11 (Bullseye)

本页内容

  • 先决条件
  • 安装 LAMP 套件
  • 配置 PHP
  • 配置 MariaDB 服务器
  • 安装 Composer
  • 创建第一个 Laravel 项目
  • 配置 Apache 虚拟主机
  • 访问 Laravel
  • 结论

Laravel 是一个基于 PHP 的 Web 应用程序框架,用于构建企业级 Web 应用。它是一个遵循模型-视图-控制器(MVC)架构并基于 Symfony 的免费开源 Web 框架。它提供了优雅的语法,使你可以创建代码整洁、易于阅读和理解的应用程序。

Laravel 是一个企业级 Web 框架,用于构建企业级且健壮的全栈 Web 应用。从开发过程到生产环境,Laravel 应用都能轻松快速地交付。

将 Laravel Web 框架与 React 或 Vue 等其他框架结合,可以创建美观且交互式的前端。此外,它支持多种数据库,包括 MySQL、PostgreSQL、SQLite 和 SQL Server。Laravel 还提供安全认证的脚手架。

在本指南中,我们将逐步向你展示如何在 Debian 12 上安装 Laravel,以便你可以开始 Laravel 项目。我们将演示如何在 Apache2 Web 服务器、MariaDB 和 PHP 8.2 的环境下安装 Laravel。

先决条件

以下是你需要满足以遵循本指南的要求:

  • 一台 Debian 12 服务器。
  • 一个具有管理员权限的非 root 用户。

安装 LAMP 套件

你需要做的第一步是将 LAMP 套件(Apache2、MariaDB 和 PHP)安装到你的 Debian 服务器上。然后,你还将验证 Apache2 和 mariaDB 服务,以确保服务正在运行。

在安装软件包之前,运行 apt update 命令来更新并刷新 Debian 软件仓库。

sudo apt update

仓库更新后,通过执行下面的 apt install 命令安装 LAMP 套件(Apache2、PHP 和 MariaDB)软件包。以下命令还会安装 Laravel 所需的一些 PHP 扩展。

sudo apt install apache2 php php-curl php-bcmath php-json php-mysql php-mbstring php-xml php-tokenizer php-zip mariadb-server

输入 y 确认并继续安装。

如何在 Debian 12 上安装 Laravel

LAMP 套件安装完成后,运行以下 systemctl 命令来验证 apache2 和 mariadb 服务。如果服务正在运行,你应当得到 active (running) 的输出。

sudo systemctl status apache2
sudo systemctl status mariadb

对于 apache2 服务,你应当得到类似以下的输出:

如何在 Debian 12 上安装 Laravel

以下是 mariadb 服务的状态。

如何在 Debian 12 上安装 Laravel

接下来,运行以下 php 命令来验证 PHP 版本和已启用的模块。你应当看到已安装 PHP 8.2,并启用了一些模块,例如 curl、date、dom 和 exif。

php -v
php -m

如何在 Debian 12 上安装 Laravel

最后,打开你的 Web 浏览器并访问你的 Debian 服务器 IP 地址(例如:http://192.168.10.15/)。如果安装成功,你应当看到 Apache Web 服务器的 index.html 页面。

如何在 Debian 12 上安装 Laravel

配置 PHP

要安装 Laravel,必须启用一些 PHP 扩展,例如 fileinfo、mbstring 和 openssl。你可以通过 php.ini 文件来启用这些扩展。

使用以下 nano 编辑器打开 PHP 配置文件 /etc/php/8.2/apache2/php.ini。

sudo nano /etc/php/8.2/apache2/php.ini

取消注释以下行以启用扩展 fileinfo、mbstring 和 openssl。

extension=fileinfo
extension=mbstring
extension=openssl

完成后,保存文件并退出编辑器。

接下来,运行以下 systemctl 命令以重启 apache2 服务并应用更改。

sudo systemctl restart apache2

然后,通过运行以下 php 命令确保 PHP 扩展 fileinfo、mbstring 和 openssl 已启用。

sudo php -m

现在使用以下命令创建一个新 phpinfo 文件 /var/www/html/info.php。如果你的 PHP 和 Apache2 Web 服务器安装成功,这将显示你的 PHP 安装的详细信息。

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

打开你常用的 Web 浏览器,访问服务器 IP 地址加上 info.php 文件路径(例如:http://192.168.10.15/info.php)。如果成功,你应当看到类似以下的输出:

如何在 Debian 12 上安装 Laravel

配置 MariaDB 服务器

配置完 PHP 后,你将配置你的 MariaDB 服务器,包括通过 mariadb-secure-installation 工具保护 MariaDB 服务器,然后为你的 Laravel 项目创建一个新数据库和用户。

首先,运行下面的 mariadb-secure-installation 命令来保护你的 MariaDB 服务器安装。在此过程中,会询问你一些 MariaDB 配置,输入 Y 确认配置,或输入 n 表示否。

sudo mariadb-secure-installation

以下是过程中会询问你的一些 MariaDB 设置:

  • 当询问 MariaDB root 密码时,按 ENTER。
  • 当询问 unix_socket 认证方式时,输入 n。
  • 输入 Y 为 MariaDB root 用户设置新密码。然后,输入新密码并重复。
  • 输入 Y 移除 MariaDB 中默认的匿名用户。
  • 然后,再次输入 Y 以禁用 MariaDB root 用户的远程登录。
  • 输入 Y 移除 MariaDB 中默认的 test 数据库。
  • 最后,再次输入 Y 以重新加载表权限并应用更改。

配置完 MariaDB 服务器后,你需要为你的 Laravel 项目创建一个新数据库和用户。

通过下面的 mariadb 命令登录到 MariaDB 服务器。当提示时输入你的 MariaDB 密码。

sudo mariadb -u root -p

现在运行以下查询以创建一个新数据库 testapp、用户 testapp 以及密码 password。请务必在以下查询中更改密码。

CREATE DATABASE testapp;
CREATE USER testapp@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testapp.* TO testapp@localhost;
FLUSH PRIVILEGES;

如何在 Debian 12 上安装 Laravel

接下来,运行以下查询以确保用户 testapp 可以访问数据库 testapp。

SHOW GRANTS FOR testapp@localhost;

下面的输出确认了用户 testapp 可以访问数据库 testapp。

如何在 Debian 12 上安装 Laravel

最后,输入 quit 退出 MariaDB 服务器,完成本步骤。

安装 Composer

Laravel 可以通过多种方式安装,最简单的方式是通过 Composer(PHP 包管理器)来安装。现在,你将把 Composer 安装到你的 Debian 服务器上。

要安装 Composer PHP 包管理器,运行下面的 apt install 命令。当提示时输入 y 以继续安装。

sudo apt install composer

如何在 Debian 12 上安装 Laravel

安装完成后,运行以下命令以定位 composer 的二进制文件并验证 composer 版本。

which composer
sudo -u www-data composer --version

composer 二进制文件位于 /usr/bin/composer,并已安装 composer 2.5.5。

如何在 Debian 12 上安装 Laravel

创建第一个 Laravel 项目

一切准备就绪后,你就可以安装并创建第一个 Laravel 项目了。你将创建第一个以 MariaDB 作为数据库的 Laravel 项目。

首先,为你的项目创建一个新文档根目录 /var/www/testapp,并通过以下命令将所有权更改为 www-data 用户。你还将创建 /var/www/.cache 和 /var/www/.config 目录,供 Composer 使用。

sudo mkdir -p /var/www/{.cache,.config,testapp}
sudo chown -R www-data:www-data /var/www/{.cache,.config,testapp}

现在进入 /var/www/testapp/ 目录并运行以下 composer 命令来创建第一个 Laravel 项目。你的第一个 Laravel 项目存储在 /var/www/testapp/ 目录中。

cd /var/www/testapp/
sudo -u www-data composer create-project laravel/laravel .

在安装过程中,你应当看到类似以下的输出:

如何在 Debian 12 上安装 Laravel

Laravel 项目创建完成后,接下来你将通过 .env 配置文件为你的项目设置数据库。.env 文件用作你的 Laravel 项目的基础配置。

使用以下 nano 编辑器命令打开 .env 文件。

nano .env

将 APP_URL 参数更改为你的 Laravel 项目的本地域名。这样,你可以通过本地域名访问你的项目。在本例中,域名为 testapp.local。

APP_URL=http://testapp.local

现在将数据库配置 DB_CONNECTION 更改为 mysql,并将 DB_DATABASE、DB_USERNAME 和 DB_PASSWORD 的详细信息更改为你的 MariaDB 数据库和用户的对应信息。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=testapp
DB_USERNAME=testapp
DB_PASSWORD=password

完成后,保存文件并退出编辑器。

现在运行以下命令来迁移数据库。这将为 Laravel 项目创建数据表。

sudo -u www-data php artisan migrate

如何在 Debian 12 上安装 Laravel

配置 Apache 虚拟主机

在接下来的步骤中,你将为你的 Laravel 项目创建一个新的 Apache2 虚拟主机配置。之后,你必须启用该虚拟主机并验证 Apache2 配置,然后重启 Apache2 Web 服务器以使更改生效。

在为 Laravel 创建 Apache2 虚拟主机配置之前,你必须通过以下命令在 Apache2 上启用 rewrite 模块。

sudo a2enmod rewrite

使用以下 nano 编辑器命令创建 Apache2 虚拟主机配置文件 /etc/apache2/sites-available/laravel.conf。

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

插入以下配置,并将参数 ServerName 更改为你的域名。

<VirtualHost *:80>
    ServerAdmin 
[email protected]
    ServerName testapp.local
    DocumentRoot /var/www/testapp/public
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/testapp>
            AllowOverride All
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

完成后,保存文件并退出编辑器。

接下来,运行以下命令以启用虚拟主机配置 laravel.conf 并验证 Apache2 配置。如果你的配置正确,你应当得到类似 Syntax OK 的提示。

sudo a2ensite laravel.conf
sudo apachectl configtest

最后,通过执行以下命令重启 apache2 服务并应用你所做的更改。

sudo systemctl restart apache2

如何在 Debian 12 上安装 Laravel

访问 Laravel

如果你使用的是 Linux 客户端,请通过以下 nano 编辑器命令修改 /etc/hosts 文件。

sudo nano /etc/hosts

如果你使用的是 Windows 机器,请修改文件 C:\Windows\System32\drivers\etc\hosts。

按如下方式插入你的 Laravel 项目的域名和你的 Debian 服务器 IP 地址:

192.168.10.15   testapp.local

保存文件并退出编辑器。

最后,打开你的 Web 浏览器并访问你的 Laravel 项目的本地域名(例如:http://testapp.local)。如果成功,你应当看到类似以下的 Laravel 页面:

如何在 Debian 12 上安装 Laravel

结论

总之,你已经在 Debian 12 服务器上使用 LAMP 套件(Apache2、MariaDB 和 PHP)安装了 Laravel。你还安装了 Composer(PHP 包管理器),并将其作为 Laravel 的媒介安装方式。基于此,你现在可以使用 Laravel Web 框架以及 MariaDB 作为应用程序的数据库来开发你的应用。