在Ubuntu 20.04上安装Laravel PHP Framework

欢迎来到我们的教程,了解如何在Ubuntu 20.04上安装Laravel PHP框架。 拉拉韦尔 是一个免费的开放源代码PHP Web框架,它为Web工匠提供了表达力强,优雅的语法。 Laravel是构建现代全栈Web应用程序的最佳选择之一。

Laravel易于访问,功能强大,并提供大型,强大应用程序所需的工具。它的一些功能包括:

在Ubuntu 20.04上安装Laravel PHP Framework

先决条件

为了在Ubuntu 20.04上安装Laravel PHP框架,必须安装和设置一些系统要求。

  1. Web服务器(Apache或Nginx)
  2. PHP(推荐最新版本)和一些模块
  3. 数据库(例如MariaDB或MySQL)
  4. Composer PHP软件包管理器

基本上,您需要使用LEMP或LAMP堆栈来运行Laravel。您可以按照下面的链接在Ubuntu 20.04上安装LEMP / LAMP堆栈。

在Ubuntu 20.04上安装LAMP Stack

在Ubuntu 20.04上安装和设置LEMP Stack

但是,在此设置中,我们将使用LAMP堆栈安装Laravel。

安装其他必需的PHP扩展

除了随PHP软件包一起安装的默认PHP扩展之外,还需要安装其他扩展。运行以下命令进行安装;

apt install php-bcmath php-gd php-mbstring php-xml php-zip php-tokenizer -y

只是为了确认,我们使用的是PHP 7.4;

php -v
PHP 7.4.3 (cli) (built: Oct  6 2020 15:47:56) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

创建Laravel数据库和数据库用户

登录到数据库后端,并为您的应用程序创建数据库和数据库用户。确保正确替换数据库名称和用户。

create database demoapp;
grant all on demoapp.* to [email protected] identified by 'changeme';

重新加载数据库特权表;

flush privileges;
quit

在Ubuntu 20.04上安装Composer PHP Package Manager

假设您已经拥有Apache HTTP服务器,PHP和扩展以及数据库(MariaDB或MySQL),则继续安装PHP Composer。

运行以下脚本,以编程方式在Ubuntu上安装Composer;

vim install-composer.sh
#!/bin/sh

EXPECTED_CHECKSUM="$(wget -q -O - https://composer.github.io/installer.sig)"
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"

if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]
then
    >&2 echo 'ERROR: Invalid installer checksum'
    rm composer-setup.php
    exit 1
fi

php composer-setup.php --install-dir=/usr/local/bin --filename=composer --quiet
RESULT=$?
rm composer-setup.php
exit $RESULT

保存并退出脚本。

执行它;

bash install-composer.sh

检查脚本的退出状态。如果失败,它将以1退出,如果失败,将以0退出;如果没有错误发生,它将安静。

echo $?

确认已安装作曲器;

which compoer
/usr/local/bin/composer

您还可以检查已安装的作曲家的版本;

composer --version

在Ubuntu 20.04上安装Laravel PHP Framework

如果满足所有先决条件,请继续在Ubuntu 20.04上安装Laravel PHP框架。

您可以通过两种方式在Ubuntu上安装Laravel PHP框架。

  1. 使用Laravel安装程序安装Laravel
  2. 使用Composer安装Laravel

使用Laravel安装程序安装Laravel PHP框架

创建非超级用户以运行作曲家(强烈建议 避免以超级用户/超级用户身份运行Composer)。

useradd -m -d /var/www/html/laravel -s /usr/bin/bash -g www-data laravel

在上面的命令中,我们创建了一个名为laravel的非root用户,其主目录设置为 /var/www/html/laravel。我们将使用此目录作为应用程序的默认Laravel目录。

切换到用户并按以下方式运行Laravel live安装程序;

su - laravel
composer global require laravel/installer
Changed current directory to /var/www/html/laravel/.config/composer
Using version ^4.1 for laravel/installer
./composer.json has been created
Running composer update laravel/installer
Loading composer repositories with package information
Updating dependencies
Lock file operations: 12 installs, 0 updates, 0 removals
  - Locking laravel/installer (v4.1.1)
  - Locking psr/container (1.0.0)
  - Locking symfony/console (v5.2.1)
  - Locking symfony/polyfill-ctype (v1.20.0)
  - Locking symfony/polyfill-intl-grapheme (v1.20.0)
  - Locking symfony/polyfill-intl-normalizer (v1.20.0)
  - Locking symfony/polyfill-mbstring (v1.20.0)
  - Locking symfony/polyfill-php73 (v1.20.0)
  - Locking symfony/polyfill-php80 (v1.20.0)
  - Locking symfony/process (v5.2.1)
  - Locking symfony/service-contracts (v2.2.0)
  - Locking symfony/string (v5.2.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
...

将所有必需的软件包安装到 /var/www/html/laravel/.config/composer 目录。因此,您需要使用Laravel二进制配置目录/var/www/html/laravel/.config/composer/vendor/bin/更新PATH环境变量。

您只需运行以下命令即可更新路径。

echo 'export PATH="$HOME/.config/composer/vendor/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

使用Laravel创建PHP演示应用

使用默认的Laravel设置创建演示应用;

laravel new demoapp
_                               _
| |                             | |
| |     __ _ _ __ __ ___   _____| |
| |    / _` | '__/ _`   / / _  |
| |___| (_| | | | (_| | V /  __/ |
|________,_|_|  __,_| _/ ___|_|

Creating a "laravel/laravel" project at "./demoapp"
Installing laravel/laravel (v8.5.7)
  - Installing laravel/laravel (v8.5.7): Extracting archive
Created project in /var/www/html/laravel/demoapp
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies
Lock file operations: 105 installs, 0 updates, 0 removals
  - Locking asm89/stack-cors (v2.0.2)
  - Locking brick/math (0.9.1)
...
Package manifest generated successfully.
73 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan key:generate --ansi
Application key set successfully.

Application ready! Build something amazing.

要验证Laravel组件工作正常,请导航到应用程序目录并运行 php artisan 命令。

cd demoapp
php artisan
Laravel Framework 8.21.0

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display help for the given command. When no command is given display help for the list command
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
      --env[=ENV]       The environment the command should run under
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
...

使用Composer安装Laravel PHP Framework

您可以使用PHP软件包管理器Composer在Ubuntu上类似地安装Laravel PHP框架。

导航到Laravel目录,在我们的例子中是 /var/www/html/laravel

su - laravel
pwd
/var/www/html/laravel

使用composer安装Laravel;

composer create-project --prefer-dist laravel/laravel demoapp

同样,您可以运行run php artisan 命令。

配置Laravel应用程序环境变量

安装完成后,调整应用程序环境变量(APP_NAME, APP_ENV, APP_KEY, APP_DEBUG, APP_URL)适当地;

vim demoapp/.env
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:1nzhBMNqoyGP+DYbPM1Pq33MAPTQ+LGpTHwxuADV1v4=
APP_DEBUG=true
APP_URL=http://demoapp.kifarunix-demo.com
...

定义上面创建的Laravel应用程序数据库连接设置;

...
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=demoapp
DB_USERNAME=demoadmin
DB_PASSWORD=changeme
...

为Laravel Application创建Apache Site配置文件

完成Laravel的安装和配置后,创建特定的应用程序Apache站点配置文件,以使您可以从浏览器从外部访问它。

以下命令以root用户身份

例如,为demoapp Laravel应用创建Apache站点配置;

vim /etc/apache2/sites-available/demoapp.conf
<VirtualHost *:80>

        ServerName demoapp.kifarunix-demo.com
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/laravel/demoapp/public

        <Directory /var/www/html/laravel/demoapp>
                Options Indexes MultiViews
                AllowOverride None
                Require all granted
        </Directory>

        ErrorLog /var/log/apache2/demoapp.error.log
        CustomLog /var/log/apache2/demoapp.access.log combined

</VirtualHost>

保存并退出文件并运行语法检查;

apachectl -t

禁用默认的Apache网站;

a2dissite 000-default.conf

启用demoapp站点配置;

a2ensite demoapp.conf

设置demoapp Web根目录的适当所有权;

chown -R :www-data /var/www/html/laravel/demoapp/

重新启动Apache;

systemctl restart apache2

从浏览器访问Laravel App

要允许外部访问您的应用程序,请在防火墙上打开HTTP(S)端口(如果正在运行)。

ufw allow "Apache Full"

然后导航到浏览器并使用URL访问Laravel App, http://APP-URL, 例如, http://demoapp.kifarunix-demo.com

在Ubuntu 20.04上安装Laravel PHP框架

并确认Laravel已安装并按预期工作。您现在可以使用Laravel PHP框架开始构建Web应用程序。

这标志着本教程有关如何在Ubuntu 20.04上安装Laravel PHP框架的结尾。

参考和进一步阅读

Laravel 8.x文档

其他教程

在Ubuntu 20.04中安装和使用Mendeley

在Debian 10上安装NetBeans IDE

在Ubuntu 20.04上安装NetBeans IDE

在Debian 10上安装Mantis Bug Tracker

在Ubuntu 20.04上安装Mantis Bug Tracker

Sidebar