帮助中心
如何在Alma Linux 9上安装Laravel PHP框架

如何在Alma Linux 9上安装Laravel PHP框架


Laravel 是一个基于 PHP 的网络应用程序框架,用于构建企业级和强大的全栈网络应用程序。它采用模型-视图-控制器(MVC)架构,基于 Symfony。Laravel 支持多种数据库,包括 MySQL、PostgreSQL、SQLite 和 SQL Server。Laravel 还为安全认证提供了脚手架。


本教程将向你展示如何在 Alma Linux 9 服务器上安装 Laravel。我们将指导你使用 LAMP Stack(Linux、Apache/Httpd、MariaDB 和 PHP)和 Composer 安装 Laravel。


前提条件


在继续前行之前,请确保你具备以下条件:

  • Alma Linux 9 服务器。
  • 具有管理员权限的非 root 用户。
  • 一个本地域名。
  • 具有许可模式的 SELinux。


安装 LAMP Stack 和 Composer


Laravel 是用于构建网络应用程序的最流行的 PHP 网络框架之一。要安装 Laravel,需要安装 LAMP Stack(Apache/Httpd、MariaDb 和 PHP)和 Composer。目前,Laravel 需要 PHP 8.3。你必须通过第三方软件仓库安装 PHP 8.3。


首先,使用下面的命令将第三方版本库 EPEL 和 Remi 添加到 Alma Linux 服务器。EPEL 仓库将用于安装 Composer 等软件包,而 Remi 仓库则为 Laravel 提供多个 PHP 版本。

sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

现在使用下面的命令通过 Remi 启用 PHP 8.3 版本库。

sudo dnf reset php -y
sudo dnf module enable php:remi-8.3 -y

接下来,使用以下命令安装 LAMP Stack(Apache/Httpd、MariaDB 和 PHP)和 Composer 软件包。输入 y 以确认安装。

sudo dnf install httpd mariadb-server composer php php-curl php-bcmath php-json php-mbstring php-xml php-tokenizer php-zip


安装完成后,使用下面的命令启动并启用 httpd 服务。

sudo systemctl start httpd
sudo systemctl enable httpd

然后用以下命令启动并启用 MariaDB 服务器。

sudo systemctl start mariadb
sudo systemctl enable mariadb

现在,使用下面的命令验证 PHP 和 Composer 的版本。你应该看到 PHP 8.3 和 Composer 2.7.1 已经安装。

php -v
sudo -u apache composer -v


最后,运行下面的命令验证 PHP 模块。确保已启用 fileinfo、mbstring 和 openssl。

php -m


配置 MariaDB


配置好 PHP 后,你将确保 MariaDB 服务器的安全,并为 Laravel 创建一个新的数据库和用户。MariaDB 服务器提供了用于保护 MariaDB 服务器的 MariaDB-secure-installation 工具,以及通过命令行连接 MariaDB 服务器的 MariaDB 客户端。


要确保 MariaDB 服务器的安全,请运行下面的命令,系统会询问你 MariaDB 服务器的一些配置。输入 "Y "或 "N "表示同意或不同意应用新的 MariaDB 更改。

sudo mariadb-secure-installation

下面是会询问你的一些 MariaDB 服务器配置:


  • 切换到 unix_socket 身份验证?输入 n 并按 ENTER 键。默认情况下,MariaDB 根用户已经受到保护。也可以输入 y(是)启用它。
  • 更改根用户密码?输入 y 确认并设置新的 MariaDB 根密码。
  • 删除匿名用户?输入 y 进行确认。
  • 禁止远程登录根用户?输入 y 加以确认。如果使用的是 MariaDB 根用户,则只允许本地连接。
  • 删除测试数据库及其访问权限?输入 y 确认并删除默认数据库 "test"。
  • 最后,再次输入 y 以重新加载 MariaDB 服务器上的所有表权限并应用新更改。


确保 MariaDB 安全后,通过 mariadb 客户端为 Laravel 创建一个新数据库和用户。


使用下面的 mariadb 客户端命令登录 MariaDB 服务器。出现提示时,输入你的 MariaDB 根密码。

sudo mariadb -u root -p

现在运行下面的查询,为 Laravel 创建一个新的数据库和用户。在本例中,你将创建一个新数据库 laravelapp,一个用户 laravel,密码为 p4ssw0rd。根据你的信息调整下面的数据库和用户详情。

CREATE DATABASE laravelapp;
CREATE USER laravel@localhost IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON laravelapp.* TO laravel@localhost;
FLUSH PRIVILEGES;


接下来,运行下面的查询验证用户 laravel 的权限。确保用户 laravel 可以访问数据库 laravelapp。

SHOW PRIVILEGES FOR laravel@localhost;

最后,键入 quit 退出 MariaDB 服务器。



创建 Laravel 项目


现在你已经配置好 PHP 和 MariaDB,让我们下载并安装 Laravel 到系统中。创建并设置项目目录,然后通过 Composer 下载并安装 Laravel 项目。


为 Laravel 项目创建新目录 /var/www/laravelapp 以及用于存储 Composer 缓存和配置的附加目录 .cache 和 .config。然后,将这些目录的所有权更改为用户 apache。

mkdir -p /var/www/laravelapp /usr/share/httpd/.composer/{.cache,.config}
sudo chown -R apache:apache /var/www/laravelapp /usr/share/httpd/.composer

进入 /var/www/laravelapp 目录,运行下面的 composer 命令下载并安装 Laravel。

cd /var/www/laravelapp/
sudo -u apache composer create-project laravel/laravel .

下载过程应该是这样的



下载完 Laravel 后,使用下面的 nano 编辑器命令打开 .env 文件。

nano .env

用本地域名修改 APP_URL,然后用 MariaDB 数据库信息修改数据库详细信息。

APP_URL=http://dev.hwdomain.local
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravelapp
DB_USERNAME=laravel
DB_PASSWORD=password

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


现在运行下面的命令迁移数据库,并用新的示例数据填充表。

sudo -u apache php artisan migrate
sudo -u apache php artisan db:seed


设置 Httpd 虚拟主机


安装 Laravel 后,创建一个新的 Httpd 虚拟主机配置,Laravel 将使用它。为此,请确保有一个本地域名或任意域名。你可以稍后配置这个域名。


使用下面的 nano 编辑器命令创建新的 httpd 虚拟主机配置 /etc/httpd/conf.d/laravel.conf。

sudo nano /etc/httpd/conf.d/laravel.conf

插入以下配置,并确保将 ServerName 选项改为 Laravel 域名。

<VirtualHost *:80>

ServerAdmin admin@dev.hwdomain.local
ServerName dev.hwdomain.local
DocumentRoot /var/www/laravelapp/public

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/laravelapp>
AllowOverride All
</Directory>

ErrorLog /var/log/httpd/laravel-error.log
CustomLog /var/log/httpd/laravel-access.log combined

</VirtualHost>

保存文件并退出编辑器。


现在运行下面的命令来验证你的 httpd 配置。如果 httpd 的语法正确,应该会输出语法确定(Syntax OK)。

sudo apachectl configtest

最后,重启 httpd 服务,为 Laravel 应用新的虚拟主机配置。

sudo systemctl restart httpd



设置防火墙


在访问你的 Laravel 安装之前,你必须在系统上同时打开 HTTP 和 HTTPS 端口,这可以通过 Firewalld 来完成。


使用下面的命令为你的 Alma Linux 服务器打开 HTTP 和 HTTPS 流量。

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent

现在重新加载 firewalld 以应用更改。

sudo firewall-cmd --reload

最后,使用以下命令验证 firewalld 列表规则。你会看到 HTTP 和 HTTPS 服务都添加到了 firewalld。

sudo firewall-cmd --list-all


从本地计算机访问 Laravel


为 Laravel 安装设置本地域名的方法如下:


  • 对于 Windows 用户,以管理员身份修改文件 C:\Windows\System32\drivers\etc\hosts。
  • 对于 Linux 和 Mac 用户,以 root 权限打开 /etc/hosts 文件。


插入下面的配置,并确保将 IP 地址和域名与你的信息一致。

192.168.5.60 dev.hwdomain.local

保存并退出文件。


现在打开浏览器,访问你的 Laravel 安装 http://dev.hwdomain.local/。如果安装成功,你会看到下面的 Laravel 索引页。



结论


恭喜你!你已经在 Alma Linux 9 上使用 LAMP Stack(Linux、Apache/Httpd、MariaDB 和 PHP)和 Composer 完成了 Laravel 的安装。你还配置了 firewalld 以打开 HTTP 和 HTTPS 端口,然后还通过 /etc/hosts 文件或 C:\Windows\System32\drivers\etc\hosts 文件为你的 Laravel 开发配置了本地域名。

文章相关标签: Alma Linux 9 Laravel PHP
购物车