将Moodle移至生产服务器

时间:2018-12-06 22:01:25

标签: apache virtualhost 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)

1 个答案:

答案 0 :(得分:0)

您的第二个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),以便您可以向该特定虚拟主机发出请求。