如何使用Git和Drush在Debian7上安装Opigno

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

来自[[“%3Ca|http://www.opigno.org]]的文章 [[“%3C/a|”>Opigno]]由[[“%3Ca|http://twitter.com/wadmiraal]]提交 [[“%3C/a|”>沃特海军上将]]

介绍


Opigno 是一个新的、快速发展的电子学习平台,基于久经考验的 Drupal 框架。 通过 sFTP 设置 Opigno 非常简单,但是由于您现在拥有自己的 VPS,我们应该使用 GIT 和 Drush 进行设置。

设置您的 VPS


使用 Debian 7.0 创建一个新的 droplet

建议在 sudo 组内创建一个新用户。 这将允许我们在不使用 root 用户的情况下管理我们的服务器。 如果你不知道怎么做,强烈推荐看看这个教程

列出的步骤适用于不是 root 但在 sudo 组内的用户。 但是,如果您想使用 root 用户,那很好。 只是不要在本教程中列出的命令前面键入 sudo 关键字。

现在,登录到您的 VPS:

ssh -l [your user] [your server ip]

确保您的 VPS 是最新的


我们将更新我们的系统并确保它在最新版本上运行:

sudo apt-get update
sudo apt-get upgrade

完毕。 现在,我们将设置我们的技术堆栈来运行 Opigno。

安装 Apache


Opigno 在 NginX 和 Apache 上运行,但我们将在本教程中使用 Apache。 使用以下命令安装它:

sudo apt-get install apache2

要检查 Apache 是否安装正确,请使用浏览器导航到虚拟服务器的 IP 地址(例如 http://12.345.6.789)。 您应该看到“它有效!”。

接下来,我们要确保 Apache 接受使用 .htaccess 文件的每个目录的配置覆盖。 Opigno 带有一个默认的 .htaccess 文件,用于配置它所在的目录。 这将设置一些不错的安全默认值。

调用以下命令:

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

找到组 <Directory /var/www/>not <Directory />)。

AllowOverride None 更改为 AllowOverride All。 按 Ctrl+x 退出,输入“y”保存。

现在我们必须重新启动 Apache:

sudo service apache2 restart

启用干净的 URL


Opigno 可以使用 clean URLs,它将 ?=path/to/page 之类的 URL 转换为 /path/to/page

这是完全可选的,但仍然推荐。 为此,我们需要启用 Apache Rewrite 模块。 调用以下命令:

sudo updatedb
sudo a2enmod rewrite
sudo service apache2 restart

安装 PHP


Opigno 在 Drupal 上运行,而 Drupal 又在 PHP 上运行。 这将设置 PHP,以及 Drupal 所依赖的 PHP GD 库。

sudo apt-get install php5 php5-gd

还建议安装 APC。 APC 将使您的 Opigno 安装运行得更快,因为它将 PHP 操作码缓存在内存中。 作为一种脚本语言,PHP 通常必须为每个请求重建操作码。 这将使操作码仅在第一个请求上构建:

sudo apt-get install php-apc

检查你的 PHP 设置


如果您想确保您的 PHP 已正确安装并与 Apache 链接,请执行以下命令:

echo "<?php phpinfo();" > phpinfo.php
sudo mv phpinfo.php /var/www/phpinfo.php

现在,如果您将浏览器重定向到 [your server ip]/phpinfo.php,您将看到当前的 PHP 设置。

在您检查 PHP 工作正常后, 删除 phpinfo.php 文件,因为它可能会暴露敏感信息供黑客利用:

sudo rm /var/www/phpinfo.php

安装 MySQL


Opigno 可以在不同数量的数据库上运行,但最推荐的是 MySQL,因为许多 Drupal 模块仅针对与 MySQL 兼容的数据库进行测试。 因此,如果您想使用第三方模块扩展 Opigo,您将确定它适用于您的设置。

sudo apt-get install mysql-server php5-mysql

接下来,我们应该对 MySQL 进行一些清理,使其为生产做好准备。

sudo mysql_install_db
sudo /usr/bin/mysql_secure_installation

为 Opigno 创建一个新的数据库用户


强烈推荐创建一个新的MySQL用户,只有'可以访问Opigno数据库。 这将提高安全性,特别是如果您还要在 VPS 上运行其他系统。 这是可选的,但是您 可以 只需使用您的 root 用户…

首先,登录 MySQL:

mysql -u root -p

您现在位于 MySQL 命令提示符中。 我们将为 opigno 创建一个数据库。

create database opigno_db;

现在,我们将创建一个新用户并仅授予它对该数据库的访问权限。

grant all privileges on opigno_db.* to 'opigno'@'localhost' identified by '[enter a password]';

现在退出 MySQL 提示:

exit

安装 Drush


Drush 代表“Drupal Shell”,是管理在 Drupal 上运行的任何系统的好方法。 一旦你开始使用它,你就会上瘾。 要安装 Drush,请运行以下命令:

sudo apt-get install drush

如果您想了解更多关于 Drush 的信息,您可以在 drush.ws 上找到您需要的所有信息。

安装 git


Git 非常适合 Opigno,因为它可以帮助您轻松有效地使您的网站保持最新状态。 它应该随您的 Debian 7.0 安装一起提供,但为了安全起见,请致电:

sudo apt-get install git

堆栈就绪!

现在您已经拥有了所有可以开始使用的软件包。 我们现在将安装 Opigno。 你会发现这很容易。

获得奥皮尼奥


我们将在某个地方更改目录以保持 GIT 存储库的整洁。 如果需要(如测试和生产),这将允许我们生成多个 Opigno 安装。 在本教程中,我们会将克隆的 repo 保存在用户主文件夹中的 Projects 文件夹中(也写为 ~),但您可以按照您认为合适的方式组织代码。

cd ~
mkdir Projects
cd Projects

在撰写本文时,Opigno 的最新分支是 7.x-1.x。 所以我们将克隆那个。

git clone --branch 7.x-1.x http://git.drupal.org/project/opigno_lms.git
cd opigno_lms

这将克隆最新最好的 Opigno 版本。 但是,对于生产站点,您可能希望使用特定版本而不是最新代码,因为它可能包含一些不稳定的代码。 要查看所有版本,只需键入以下内容:

git tag -l

选择一个你想使用的(例如:1.0),然后输入:

git checkout 7.x-1.0

这将使用 1.0 版本。

建造奥皮尼奥


Opigno 是所谓的 Drupal 发行版 。 这意味着它聚合了许多不同的模块并为您安装/配置所有内容。 这是非常有效的,因为所有第三方模块都在单独的 GIT 存储库中进行管理。 要获取运行 Opigno 所需的所有代码,我们需要 build 它。 这就是 Drush 的用武之地。

在本教程中,我们不会弄乱 Apache 虚拟主机,因为您可能没有准备好域名。 理想情况下,您可能希望为测试站点和生产站点设置一个虚拟主机(例如:my-opigno.comdev.my-opigno.com )。 这意味着您使用不同的网络根目录。 但在这里我们将只使用 Apache /var/www 文件夹来包含我们的代码。

调用以下命令:

cd /var/www
sudo drush make ~/Projects/opigno_lms/build-opigno-lms.make

Drush 会询问您是否要在当前文件夹中构建 Opigno。 答应我。

最后,因为你使用了sudo,所有的文件都会被分配给root:root。 我们希望将其分配给 PHP 将使用的用户,因此调用:

sudo chown www-data:www-data . -R

安装 Opigno


您现在有 2 个选项:

  1. 您可以导航到 [您的服务器 ip] 并使用图形安装程序。
  2. 您可以使用 Drush 通过命令行安装您的站点。 我们将详细介绍第二步。

如果您移出 /var/www 文件夹,请移回该文件夹:

cd /var/www

现在,致电:

sudo drush site-install opigno_lms --db-url=mysql://[root or the new MySQL user you created]:[password you provided]@localhost/[database name] --account-pass=[your Opigno admin password]

重要提示: 如果你没有按照上面的解释启用 Apache Rewrite 模块,请在 drush site-install 命令的末尾添加:

--clean-url=0

出现提示时选择是。 安装将需要几秒钟。

安装将发出有关所使用的 PDF 库的警告。 您可以放心地忽略这一点。

再次调用它以将所有文件分配给正确的组:

sudo chown www-data:www-data . -R

登录


现在您可以将浏览器导航到 http://[您的服务器 ip]。 您将在左侧看到一个登录表单。 如果您通过 drush 安装,您的用户名是 admin,密码是您在 --account-pass 参数中提供的密码。 如果您使用图形安装程序,则您已在站点配置步骤中提供了登录信息。

“拒绝访问”


根据您从 GIT 签出的版本,您可能会在左侧看到带有用户登录表单的“访问被拒绝”消息。 这是完全正常的,因为您必须登录才能访问 Opigno 上的任何内容。 只需登录并开始享受您的新平台。

设置一个 cron


Opigno 可以使用 cron 任务定期清理内容。 此步骤是可选的,因为 Opigno 包含一个后备系统,它会自动执行此操作,但效率不高。 因此,最好设置一个 cron 任务。

出于安全原因,cron 任务受唯一密钥保护。 要找到此密钥,请将浏览器导航到 [您的服务器 ip]/admin/reports/status(如果您尚未登录,系统会要求您登录)。 找到显示“Cron 维护任务”的行并复制提供的 URL。

现在,从您的命令行调用:

sudo crontab -e

添加以下行,它将每小时运行一次 cron 脚本:

0 * * * * wget -O - -q -t 1 http://[your server ip]/cron.php?cron_key=[very-long-key]

按 Ctrl+x 退出,输入 'y' 保存。

重启 cron 守护进程:

sudo service cron restart

欢欣鼓舞!

恭喜,您完成了教程! 您现在可以开始使用 Opigno 平台了! 您可以在 opigno.org 上找到有关 Opigno 的更多信息。