如何使用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
建议在 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.com 和 dev.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 个选项:
- 您可以导航到 [您的服务器 ip] 并使用图形安装程序。
- 您可以使用 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 的更多信息。