Переместить Moodle на рабочий сервер - PullRequest
0 голосов
/ 07 декабря 2018

Я в процессе переноса установки Moodle на рабочий сервер (Centos 7.5), на данный момент на сервере есть только еще один сайт - WordPress, который имеет его доменное имя.У этого нового сайта еще нет доменного имени, мне просто нужно, чтобы оно было доступно для просмотра.

Когда я пытаюсь войти напрямую по IP-адресу https://xxx.xxx.xx.239/moodle, я получаю страницу не найденустановка WordPress.

Теперь то, что я сделал до сих пор, это:

  • Загрузите папку, содержащую установку Moodle, в тот же каталог, в котором находится папка wordpress (var / www / html).
  • Импорт базы данных
  • Попробуйте настроить виртуальный хост в файле etc / httpd / conf.d / vhosts.conf.
  • Попробуйте чтобы отредактировать основной файл config.php Moodle соответственно.

Это мои файлы:

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 голосов
/ 12 декабря 2018

Ваш второй виртуальный хост Apache указывает на Moodle, но поскольку оба виртуальных хоста имеют один и тот же IP-адрес, вы используете виртуальные хосты на основе имен.Поэтому вы не сможете получить к нему доступ напрямую по IP-адресу.Apache требуется заголовок Host: moodle.site.mx, включенный в запрос вашего браузера, чтобы отправить его на нужный виртуальный хост.

Вместо этого он ищет подпапку / moodle на вашем виртуальном хосте по умолчанию, который предположительно не существует.

Два варианта решения:

  1. Установите DNS-имя, с которым вы хотите связаться с Moodle, и используйте его в своем браузере.Если это пока невозможно, вы можете временно изменить местный файл HOSTS, чтобы в нем была запись (и использовать DNS-имя в вашем браузере):

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

  2. Измените Apache для прослушивания либо двух IP-адресов, либо двух портов (например, 80 и 8080), чтобы вы могли сделать запрос на этот конкретный виртуальный хост.
...