如何在Ubuntu 12.04云服务器上安装CodeIgniter

关于CodeIgniter

CodeIgniter的是PHP的开源Web应用程序框架,具有体积小,但在实用功能十分强大。 它的目标是通过为最常见的任务提供一组库和帮助,使人们能够更快地编写他们的应用程序。 它是基于从表示逻辑有很大分离模型-视图-控制器的方法。

本教程将向您展示如何使用命令行在云服务器上设置CodeIgniter。 它也将通过一些你可能想要的初始配置。

本教程假设您已经运行自己的VPS具有root访问权限,并且已经安装了LAMP(Linux,Apache,MySQL和PHP)。 您可以咨询本教程 ,将让你与后者去,如果你还没有。

安装CodeIgniter(CI)

首先,您需要导航到云服务器的目录根文件夹,例如:

cd /var/www

下载CI的最新稳定版本。 进入下载页面的CI网站并检查最新版本。 然后,运行以下命令以将其下载:

wget http://ellislab.com/asset/ci_download_files/reactor/CodeIgniter_2.1.2.zip

请确保将URL末尾的zip文件的名称替换为您在其中找到的最新稳定版本(当前版本)。

如果您运行ls命令,你会看到你的文件夹中的zip文件。 使用以下命令解压缩它:

unzip CodeIgniter_2.1.2.zip

如果你得到了“ 解压:找不到命令 ”的错误,这意味着你没有安装解压做。 只需运行以下命令即可安装它:

sudo apt-get install unzip

现在再试一次。

如果您运行ls命令,你会发现在那里解开新的CodeIgniter文件夹。 你可以用下面的命令重命名文件夹的CodeIgniter(或任何你想要的):

mv /var/www/CodeIgniter_2.1.2 /var/www/codeigniter

现在,您可以将浏览器指向该文件夹:

&ltyour_domain>/codeigniter

在那里,您将看到CodeIgniter欢迎消息。

此消息是由一个例子控制器可以在叫的welcome.php 应用/控制器的文件夹中找到生产。 该控制器只加载位于应用程序/视图小号文件夹视图,它包含一个简单的HTML邮件。

组态

现在CodeIgniter已设置,您应该为您的应用程序做一些初始配置。 如果您计划使用数据库,则需要设置一个并提供CodeIgniter的信息以便能够与其通信。 请参考本教程的情况下,你不熟悉如何创建一个MySQL数据库。 一旦你有了这一点,编辑以下文件(请确保您与您在安装它的人取代“ ”的文件夹名称):

nano /var/www/codeigniter/application/config/database.php

然后找到以下块,并编辑它以包括您的数据库信息:

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'your_username';
$db['default']['password'] = 'your_password';
$db['default']['database'] = 'your_database';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

保存文件,退出并完成数据库配置。 接下来,打开config.php文件并做一些修改有:

nano /var/www/codeigniter/application/config/config.php

现在,设置您的基本网址。 查找此块并根据您的情况进行编辑:

$config['base_url'] = 'http://www.example.com';

这是如果你有example.com域名指向您在其中安装CodeIgniter的文件夹,您需要设置什么。 换句话说,如果你已经创建了example.com域名的虚拟主机,这将有它的根目录中,比如/var/www/codeigniter 要了解如何在Apache中创建虚拟主机,可以咨询本教程

保存文件并退出。

边注:虚拟主机

在下面列出的URL,文档根目录代码点火器指向/var/www/codeigniter 这可以通过更改虚拟主机文件中的文档根目录来完成:

sudo nano /etc/apache2/sites-enabled/000-default
&ltVirtualHost *:80>
        DocumentRoot /var/www/codeigniter
        [.......]
&ltVirtualHost *:80>

你可能会想改变接下来的事情是清除你需要把在URL中的控制器名称前右侧的index.php段。 你看,CodeIgniter URL具有以下结构:

base url / index.php / controller name / controller function / controller parameter 1 / controller parameter 2 / controller parameter etc 

为了验证这一点,您可以打开的welcome.php控制器文件:

nano /var/www/codeigniter/application/controllers/welcome.php

并在索引函数下面添加另一个函数,如:

public function test($param) {
  echo $param;
}

如果您将浏览器指向http://www.example.com/index.php/welcome/test/3,你应该看到页面上显示的数字3。 替换最后一个段,它会显示。 这很酷。

但是,您可能希望让您的网址看起来非常干净的删除“ 的index.php”的一部分。 有2个步骤来做到这一点。 首先,重新打开您以前编辑的配置文件:

nano /var/www/codeigniter/application/config/config.php

找到以下代码:

$config['index_page'] = 'index.php';
并将其替换为:
$config['index_page'] = '';

保存并退出。 现在的CodeIgniter将不再自动在URL中包括“ 的index.php”。 然而,这还不够。 它只是意味着你会得到一堆的“ 找不到网页 ”的错误,如果你只是从URL省略。 您还需要创建一个.htaccess文件来处理一些重定向。

注意:要使用的.htaccess功能,你需要你的Apache服务器上启用了mod_rewrite。 要检查这一点,请运行以下命令:

apache2ctl -M
如果在列表中看到rewrite_module,你是好去。 如果没有,只需使用以下命令启用它:
a2enmod rewrite

并重新启动Apache以使更改生效:

sudo service apache2 restart

您现在可以继续。 创建于CodeIgniter的根文件夹(旁边的index.php文件).htaccess文件:

nano /var/www/codeigniter/.htaccess

并粘贴在以下代码中:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?/$0 [PT,L] 

确保你的.htaccess文件被设置的AllowOverride 所有虚拟主机文件中启用:

&ltDirectory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
&lt/Directory>

保存文件并退出。 现在,如果你访问的网站在浏览器中,您不需要在URL中包括的index.php:

http://www.example.com/welcome/test/3 

你的网址看起来好多了。 您已准备好开始使用CodeIgniter的奇迹开发您的PHP应用程序。

笨-文章#1 笨-文章#2 笨-文章#3文章提交者: 丹尼
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏