如何在 Ubuntu 12.04 VPS 上安装并开始使用 Lithium

金钱(警告)

** 状态:** 被贬值

如果您目前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议升级或迁移到支持的 Ubuntu 版本:

** 原因:** Ubuntu 12.04 已于 2017 年 4 月 28 日到期(EOL)并且不再收到安全补丁或更新。

** 相反,请参见:** 本指南可能仍然有用作为参考,但可能不会在其他Ubuntu版本上工作. 如果可用,我们强烈建议使用为您正在使用的Ubuntu版本撰写的指南。

关于锂


基于模型视图控制器(MVC)架构,它是为PHP 5.3+构建的,并与MongoDB或CouchDB等最新存储技术集成。

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

在本教程中,我们将看看我们如何在我们的VPS上安装锂,以及开始使用一个简单的Web应用程序。 为此,我假定您已经安装了服务器并运行了LAMP堆栈(Apache,MySQL和PHP)。

Apache 设置


由于我们正在使用Apache作为Web服务器,而Lithium正在大量使用.htaccess文件来重写URL,我们还需要确保Apache实际上会允许它这样做。

编辑负责你将应用程序的文件夹的虚拟主机文件(在我们的情况下,让我们说默认的Apache文档根: /var/www):

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

标志着这个开始的区块内:

1<Directory /var/www/>

请确保您在AllowOverride None选项中使用AllowOverride All选项。

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

1apache2ctl -M

如果您在列表中看到rewrite_module,那么您没事,否则请使用以下命令启用该模块:

1a2enmod rewrite

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

1sudo service apache2 restart

安装


在我们开始安装 Lithium 之前,让我们安装 Git,以便我们可以使用它从 GitHub 获取框架。

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

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

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

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

1cd site
2git submodule init
3git submodule update

这将现在将库克隆到库 / 锂 / 文件夹中的我们的服务器上,这将需要启动应用程序。

指挥线


锂配备了一个命令行实用程序(li3),它有助于代码生成,文档等,但要使其从任何地方可用,我们需要将控制台库添加到壳路径中。

1nano ~/.bash_profile

并将以下内容嵌入其中:

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

请确保您用正确的路径替换通往您的控制台的路径,所以在我们的情况下,它将是:

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

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

1source ~/.bash_profile

现在测试该命令,以确保它通过运行它而没有任何选项来获取其帮助信息:

1li3

数据库连接


大多数Web应用程序都需要一个数据库来依靠存储。使用Lithium,您可以使用各种数据库引擎,如MySQL,MariaDB,MongoDB,CouchDB等。为了设置我们的测试应用程序,我们将使用MySQL,但您可以自由地尝试任何您觉得更舒适的数据库引擎。

如果你不知道如何使用MySQL并创建你的DB,请阅读使用MySQL的 这个伟大的教程

要建立数据库连接,先编辑位于应用程序/config 文件夹中的 bootstrap.php 文件(网站/):

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

在此文件中,如果评论,不评论下面的行:

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

然后编辑以下文件:

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

以及在下列块下发现的数据库配置:

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

您将注意到不同数据库引擎的多个块类似于此,并在适当的情况下设置您的MySQL连接信息。

您的应用


现在是时候访问浏览器,看看我们迄今为止所拥有的内容。您可以通过导航到您的 ip/site. 在那里您应该看到您的 Lithium 应用程序,并运行一些关于其状态和需要进行的服务器配置的信息。

如果您看到以下消息:

1Magic quotes are enabled in your PHP configuration

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

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

然后将下列行插入其中:

1magic_quotes_gpc = Off

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

1sudo service apache2 restart

模型视觉控制器


由于Lithium是一个MVC框架,您将在文件夹结构中看到3个重要的文件夹:控制器/,模型/和视图/.让我们快速创建我们的第一个控制器,并在页面上打印Hello world!

在控制器/文件夹中创建一个名为HelloController.php的新文件,包含以下内容:

 1<?php
 2
 3namespace app\controllers;
 4
 5class HelloController extends \lithium\action\Controller {
 6 public function index() {
 7   echo "Hello World!";
 8 }
 9}
10
11?>

您可以保存文件. 我们在这里做的就是创建一个新的控制器类别,位于一个精心命名的文件中(基于类名称),并扩展了锂控制器类别. 内部,我们创建了一个索引方法,如果在调用这个控制器时没有通过参数,就会被调用。

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

结论


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

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

Article Submitted by: Danny
Published At
Categories with 技术
comments powered by Disqus