如何在Ubuntu12.04VPS上安装和开始使用Lithium

来自菜鸟教程
跳转至:导航、​搜索

状态: 已弃用

本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:

原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.

请参阅: 本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。


关于锂


Lithium 是一个用于开发 Web 应用程序的全栈 PHP 框架。 它基于模型-视图-控制器 (MVC) 架构,专为 PHP 5.3+ 构建,并与 MongoDB 或 CouchDB 等最新存储技术集成。

它旨在提供出色的项目组织以及在您开发自己独特的 Web 应用程序时在框架之外编写代码的可能性。 此外,它具有强大的插件系统,允许您从框架外部使用您最喜欢的组件(例如用于模板的 Twig 或用于 ORM 的 Doctrine2)。

在本教程中,我们将了解如何在 VPS 上安装 Lithium,以及如何开始使用简单的 Web 应用程序。 为此,我假设您已经设置好服务器并正在运行 LAMP 堆栈(Apache、MySQL 和 PHP)。 如果您还没有,DigitalOcean 上有一个 很棒的教程 可以帮助您进行设置。

阿帕奇设置


由于我们使用 Apache 作为网络服务器,并且 Lithium 大量使用 .htaccess 文件进行 URL 重写,我们还需要确保 Apache 实际上允许它这样做。 如果您尚未完成以下步骤,则需要立即执行。

编辑负责您将拥有应用程序的文件夹的虚拟主机文件(在我们的例子中,假设默认的 Apache 文档根目录:/var/www):

sudo nano /etc/apache2/sites-available/default

在标有此开头的块内:

<Directory /var/www/>

确保你有 AllowOverride All 而不是 AllowOverride None

接下来我们需要做的是启用 mod_rewrite (如果您还没有启用它)。 要检查它是否已启用,请使用以下命令:

apache2ctl -M

如果您在列表中看到“rewrite_module”,那就没问题了。 如果没有,请使用以下命令启用模块:

a2enmod rewrite 

在对虚拟主机文件或启用 Apache 模块进行任何更改后,您必须重新启动 Apache:

sudo service apache2 restart

安装


在我们开始安装 Lithium 之前,让我们安装 Git,以便我们可以使用它从 GitHub 获取框架。 您可以使用以下 2 个命令执行此操作:

sudo apt-get update
sudo apt-get install git-core

接下来,我们可以将 Lithium git 存储库克隆到我们的服务器上(同时在我们的 Web 服务器的文档根目录中:/var/www 对于 Apache):

git clone git://github.com/UnionOfRAD/framework.git site

这将克隆框架存储库并将其放置在名为 site 的文件夹中。 现在我们可以将 Lithium 作为子模块安装:

cd site
git submodule init
git submodule update

现在,这会将 lithium 库以及库/锂/文件夹中的我们的服务器克隆。 这将是引导应用程序所必需的。

命令行


Lithium 带有一个命令行实用程序 (li3),它有助于代码生成、文档等。 但是为了让它可以在任何地方使用,我们需要将控制台库添加到 shell 路径中。 打开位于您的主文件夹中的 .bash_profile 文件(如果您还没有,您可以创建它):

nano ~/.bash_profile 

并在其中粘贴以下内容:

PATH=$PATH:/path/to/docroot/lithium/libraries/lithium/console

确保在您的情况下将路径替换为通向控制台的正确路径。 所以在我们的例子中,它将是:

PATH=$PATH:/var/www/site/libraries/lithium/console

在任何此类移动之后,您应该运行以下命令以确保 bash 命令生效:

source ~/.bash_profile

现在测试命令以确保它通过运行它来确保它正常工作,而不需要任何选项来获取它的帮助信息:

li3

数据库连接


大多数 Web 应用程序都需要依赖数据库进行存储。 使用 Lithium,您可以使用各种数据库引擎,如 MySQL、MariaDB、MongoDB、CouchDB 等。 为了设置我们的测试应用程序,我们将使用 MySQL,但您可以自由地尝试任何您觉得更舒服的东西。 here 有更多关于使用 MongoDB 进行设置的信息。

我们需要的第一件事是数据库,因此请确保您有一个。 如果您不知道如何使用 MySQL 并创建数据库,请阅读 this great tutorial on using MySQL。

要设置数据库连接,首先编辑位于应用程序 (site/) 的 app/config 文件夹中的 bootstrap.php 文件:

nano /var/www/site/app/config/bootstrap.php

在此文件中,如果已注释,请取消注释以下行:

require __DIR__ . '/bootstrap/connections.php';

然后编辑以下文件:

nano /var/www/site/app/config/bootstrap/connections.php

并取消注释在以下块下找到的数据库配置:

/**
* Uncomment this configuration to use MySQL as your default database.
*/

您会注意到针对不同数据库引擎的多个块。 此外,在适当的地方设置您的 MySQL 连接信息。

你的申请


是时候访问浏览器了,看看我们目前有什么。 您可以通过导航到您的 ip/站点来执行此操作。 在那里,您应该看到您的 Lithium 应用程序已启动并运行,其中包含有关其状态和需要为其工作的服务器配置的一些信息。

如果您看到以下消息:

Magic quotes are enabled in your PHP configuration

您需要编辑服务器上的 php.ini 文件:

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

并在其中粘贴以下行:

magic_quotes_gpc = Off

然后保存文件并重新启动 Apache:

sudo service apache2 restart

模型-视图-控制器


由于 Lithium 是一个 MVC 框架,您将在文件夹结构中看到 3 个重要的文件夹:controllers/、models/ 和 views/。 让我们快速创建我们的第一个控制器并使用它在页面上打印 Hello world!

在 controllers/ 文件夹中创建一个名为 HelloController.php 的新文件,其内容如下:

<?php

namespace app\controllers;

class HelloController extends \lithium\action\Controller {
 public function index() {
   echo "Hello World!";
 }
}

?>

您可以保存文件。 我们在这里所做的是创建一个新的控制器类,该控制器类位于一个精心命名的文件中(基于类名)并扩展了 Lithium 控制器类。 在里面,我们创建了一个 index 方法,如果在调用这个控制器时没有传递参数,它将被调用。 在这个方法中,我们只是打印出消息。

要在浏览器中访问它,您现在必须导航到 your-ip/site/hello,您应该会在页面上看到 Hello World 打印。

结论


在本教程中,我们了解了如何安装 Lithium PHP 并进行必要的服务器配置以使其正常工作。 我们已经看到了如何将它连接到数据库(我们还没有使用过)并创建了我们的第一个控制器,它只是将消息打印到页面上。

在下一个教程中,我们将进一步了解 MVC 架构如何与 Lithium 一起工作。 我们将使用视图和模型(以说明与我们的 MySQL 存储引擎的交互)。

文章提交者: [[“%3Ca|http]] ://www.webomelette.com/ [[“%3C/a|”>丹尼]]