如何在Ubuntu VPS上安装并开始使用Symfony 2

在本教程中,我们将在Ubuntu 12.04 VPS上安装并开始使用Symfony 2。

介绍

Symfony是一个开源的PHP Web开发框架-一套工具和方法,帮助您构建优秀的应用软件。这个框架的一些特点是它的速度,灵活性,可扩展性和稳定性。您可以将其用于完整的Web应用程序,但也可以用于您的项目所需的较小功能。 除了是一个全栈框架,Symfony的是一套组件 ,您可以安装和使用独立。 这些组件是框架的基础,但它们也可以彼此解耦。 您可以使用Composer的安装组件。 此外,Symfony2采用分布的形式。这些是软件包,组件和配置,可以帮助您快速入门。 symfony的人推荐标准版为最容易上手的一个新项目。它包含最常见的包,并有一个简单的配置系统。 在本教程中,我们将了解如何安装此分发版并开始使用它。对于这一点,假设您正在运行自己的Ubuntu VPS使用sudo特权和终端接入。 此外,你需要有一个适当的Web服务器,最好是LAMP(Linux操作系统,Apache,MySQL和PHP) ,但你也可以使用Nginx的配置。您将需要PHP 5.3.3或更高版本。

安装

有2种主要方法可以安装此分发。要么你下载并解压缩文件,在项目文件夹或使用Composer。 在本教程中,我们会去的第一选择和下载Symfony的右转进入我们的Web服务器的根文件夹: 在/ var / WWW。 其原因是,在所有的文件驻留在一个名为Symfony的已因此没有必要再创建一个文件夹中。 导航到/ var / www和下载档案:
cd /var/www
wget http://symfony.com/download?v=Symfony_Standard_Vendors_2.3.3.tgz
你得到的链接你想要的版本Symfony的下载页面 。下载完成后,您必须解压缩存档(它可能已下载一个古怪的名字,但无论如何):
tar -zxvf download?v=Symfony_Standard_Vendors_2.3.3.tgz
现在,你应该得到一个名为Symfony的新文件夹,其中包含的所有文件。如果你想要清洁,你也可以从你的VPS中删除tar文件。

权限

有几个文件和文件夹,您需要调整的权限。你需要让这些可写的你的网络服务器。如果您使用的是Apache,该用户从WWW的数据www数据 。因此,从终端运行以下命令(在主应用程序文件夹中)以更改这些文件和文件夹的所有权:
chown -R root:www-data app/cache
chown -R root:www-data app/logs
chown -R root:www-data app/config/parameters.yml
这使得由root用户和WWW的数据组拥有他们(和所有内部)。现在让我们确保组用户也可以在这些文件夹中写入:
chmod -R 775 app/cache
chmod -R 775 app/logs
chmod -R 775 app/config/parameters.yml

服务器配置

接下来,您应该检查服务器配置以确保一切正常。 Symfony2有一个测试器可在以下网址:
http://www.example.com/Symfony/web/config.php
如果您遇到以下错误:“ 这个剧本是从本地主机才能访问 ”,就意味着你正在尝试远程访问该文件。如果您使用的是DigitalOcean VPS,则会是这种情况。所以让我们配置它让你远程访问它。 打开你的新下载的应用程序的/网络文件夹中的config.php文件。找到以下块:
if (!in_array(@$_SERVER['REMOTE_ADDR'], array(
    '127.0.0.1',
    '::1',
))) {
这里你需要添加一个新的数组值,你希望Symfony允许访问的IP。您可以使用谷歌来检查IP您的经营,并添加一成,像这样的数组:
if (!in_array(@$_SERVER['REMOTE_ADDR'], array(
    '127.0.0.1',
    '::1',
    'YOUR IP',
))) {
现在你应该能够在浏览器中远程查看配置测试器了。尝试按照其中提供的说明配置您的VPS以最好地适合Symfony。一旦固定测试仪显示的主要问题,你可以点击“ 跳过配置,然后转到欢迎页面 ”按钮来访问你的新的Symfony2应用程序主页。 如果您收到以下错误:“你无权访问此文件检查app_dev.php的更多信息 ”,你会需要打开app_dev.php文件在您的应用程序/ Web文件夹并注释掉以下块的代码:
if (isset($_SERVER['HTTP_CLIENT_IP'])
    || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
    || !in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1'))
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}
保存文件并退出。现在刷新页面,你应该看到你的Symfony2应用程序的欢迎页面。

一些全局配置

在我们刚刚创建的应用程序的欢迎页面上,您可以单击配置按钮在浏览器中执行配置向导。在第一页上,您可以设置数据库连接。在这里您会注意到可以使用的各种驱动程序:MySQL,SQLite,PosgreSQL,Oracle等。指定连接信息后,可以单击下一步并生成全局保护字符串以防止CSRF。 如果您在此之后点击下一步,您提供的信息将被写入到位于应用程序/ config文件夹中parameters.yml文件。如果您按照教程前面的步骤,并为此文件设置正确的权限,您应该继续。如果没有,你也可以复制并粘贴到那里给你的代码到文件本身。

供应商/依赖

Symfony项目依赖于一些外部库。您可以一个名为您的项目/供应商的文件夹中找到这些并称为Composer的PHP依赖管理器下载和管理。 您可以咨询本教程介绍如何使用Composer,以了解更多信息。 注意:当您运行PHP的安装composer.pharphp composer.phar更新命令,Composer将清除缓存和安装的资产。 此外,它还将改回权限的应用程序/缓存文件夹 ,以便确保您从之前重做的步骤,当您设置适当的权限,并用VPS做的文件夹可写。

结论

在本教程中,我们已经看到了如何安装Symfony2 PHP框架的发行版以及如何对其进行一些初始配置。在下一个教程中,我们将介绍一些关于Symfony应用程序如何工作的概念。
文章提交者: 丹尼