【问题标题】:Move moodle to production server将moodle移到生产服务器
【发布时间】:2019-05-08 16:16:07
【问题描述】:

我正在将我的moodle安装移动到生产服务器(Centos 7.5),此时服务器上只有一个站点-一个wordpress站点-具有他的域名。这个新网站还没有域名,我只需要它可供审核。

当我尝试直接输入 IP 地址https://xxx.xxx.xx.239/moodle 时,我得到了 wordpress 安装的未找到页面。

现在,我到目前为止所做的是:

  • 在包含 wordpress 文件夹 (var/www/html) 的同一目录中上传包含 moodle 安装的文件夹。
  • 导入数据库
  • 尝试在 etc/httpd/conf.d/vhosts.conf 文件中配置虚拟主机。
  • 尝试相应地编辑moodle的主config.php文件。

这是我的文件:

cat /etc/httpd/conf.d/vhosts.conf

NameVirtualHost *:80
DocumentRoot /var/www/html/site.name.mx/httpdocs
<VirtualHost *:80>
    ServerName site.name.mx
    #Source code
    DocumentRoot /var/www/html/site.name.mx/httpdocs
    ## Logs
    ErrorLog /var/www/html/site.name.mx/logs/error_log
    CustomLog /var/www/html/site.name.mx/logs/access_log combined

    ##Redireccionar a https 
    RewriteEngine On 
    RewriteCond %{HTTPS} !=on 
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

<VirtualHost *:80>
    ServerName moodle.site.mx
    ##Source code
    DocumentRoot /var/www/html/moodle.site.mx
    ## Logs
    ErrorLog /var/www/html/moodle.site.mx/logs/error_log
    CustomLog /var/www/html/moodle.site.mx/logs/access_log combined
  </VirtualHost>

cat /var/www/html/moodle.srsweb.mx/config.php

<?php  // Moodle configuration file

unset($CFG);
global $CFG;
$CFG = new stdClass();

$CFG->dbtype    = 'mysqli';
$CFG->dblibrary = 'native';
$CFG->dbhost    = 'localhost';
$CFG->dbname    = 'moodle';
$CFG->dbuser    = 'root';
$CFG->dbpass    = 'n0770b3s33nh3r3';
$CFG->prefix    = 'mdl_';
$CFG->dboptions = array (
'dbpersist' => 0,
'dbport' => 3307,
'dbsocket' => '',
'dbcollation' => 'utf8mb4_unicode_ci',
);

$CFG->wwwroot   = 'http://XXX.XXX.XX.239/moodle';
$CFG->dataroot  = '/home/centos/moodledata';
$CFG->admin     = 'admin';

$CFG->directorypermissions = 0777;

require_once(__DIR__ . '/lib/setup.php');

// There is no php closing tag in this file,
// it is intentional because it prevents trailing whitespace problems!

我做错了什么?我应该怎么做才能使这个新网站可以访问? (使用服务器 IP)

【问题讨论】:

    标签: apache virtualhost moodle


    【解决方案1】:

    您的第二个 Apache 虚拟主机指向 Moodle,但由于两个虚拟主机共享相同的 IP,您使用的是基于名称的虚拟主机。因此,您将无法通过 IP 地址直接访问它。 Apache 需要在您的浏览器请求中包含一个 Host: moodle.site.mx 标头,以知道将其发送到正确的虚拟主机。

    相反,它会在您的默认虚拟主机上查找 /moodle 子文件夹,该子文件夹假定不存在。

    两种解决方法:

    1. 设置您想要访问 Moodle 的 DNS 名称并在您的浏览器中使用它。如果这还不可能,您可以临时更改本地 HOSTS 文件以具有条目(并在浏览器中使用 DNS 名称):

      XXX.XXX.XX.239 moodle.site.mx

    2. 修改 Apache 以侦听两个 IP 地址或两个端口(例如 80 和 8080),以便您可以向该特定虚拟主机发出请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      • 2013-04-17
      • 2014-05-05
      相关资源
      最近更新 更多