如何在Alma Linux 9上安装Laravel PHP框架
在此页面上
- 先决条件
- 安装 LAMP Stack 和 Composer
- 配置 MariaDB
- 创建 Laravel 项目
- 设置 Httpd 虚拟主机
- 设置Firewalld
- 从本地计算机访问 Laravel
- 结论
Laravel 是一个基于 PHP 的 Web 应用程序框架,用于构建企业级、健壮的全栈 Web 应用程序。它遵循模型-视图-控制器 (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 是用于构建 Web 应用程序的最流行的 PHP Web 框架之一。要安装 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 服务器和 MariaDB 客户端的安全,以便通过命令行连接到 MariaDB 服务器。
为了保护 MariaDB 服务器的安全,请运行以下命令,系统会要求您提供一些 MariaDB 服务器配置。输入 Y 或 N 以同意或不同意应用新的 MariaDB 更改。
sudo mariadb-secure-installation
以下是您需要提供的一些 MariaDB 服务器配置:
- 切换到 unix_socket 身份验证?输入 n 并按 ENTER 键。默认的 MariaDB root 用户已受到保护。或者,您也可以通过键入 y(表示“是”)来启用它。
- 修改root密码?输入 y 确认并设置新的 MariaDB root 密码。
- 删除匿名用户?输入 y 确认。
- 禁止远程root登录?输入 y 确认。如果您使用 MariaDB root 用户,则仅允许本地连接。
- 删除测试数据库并访问它?输入 y 确认并删除默认数据库“test”。
- 最后,再次输入 y 以重新加载 MariaDB 服务器上的所有表权限并应用新的更改。
当 MariaDB 受到保护后,您将通过 mariadb 客户端为 Laravel 创建一个新的数据库和用户。
使用下面的 mariadb 客户端命令登录 MariaDB 服务器。出现提示时输入您的 MariaDB root 密码。
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 以及其他目录 .cache 和 .config 用于存储 Composer 缓存和配置。然后,将这些目录的所有权更改为用户 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 后,您将创建 Laravel 将使用的新 Httpd 虚拟主机配置。为此,请确保拥有本地域名或您想要的任何/随机域。您可以稍后配置该域。
使用以下 nano 编辑器命令创建新的 httpd 虚拟主机配置 /etc/httpd/conf.d/laravel.conf。
sudo nano /etc/httpd/conf.d/laravel.conf
插入以下配置并确保将 ServerName 选项更改为您的 Laravel 域名。
<VirtualHost *:80>
ServerAdmin [email
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
设置Firewalld
在访问 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 索引页面。
结论
恭喜!您已通过 LAMP Stack(Linux、Apache/Httpd、MariaDB 和 PHP)和 Composer 在 Alma Linux 9 上完成了 Laravel 的安装。您还配置了firewalld以打开HTTP和HTTPS端口,然后还通过/etc/hosts文件或C:\Windows\System32\drivers\etc\hosts文件配置了Laravel开发的本地域名。