У меня есть задача перенести веб-сервис (Matomo), работающий на виртуальной машине, на отдельный физический сервер.
У меня нет большого опыта работы с Linux или серверами, поэтому мне хотелось бы знать, все ли я учел, что может возникнуть.
Новый сервер уже запущен и не имеет ничего, кроме IP-адреса, системных утилит и sshd
.
Я бы выполнил следующие шаги:
apt-get install apache2
apt-get install mysql-server
apt-get install php5, php5-mysql
mysqldump -u username -p --all-databases > /path/to/alldatabases.sql
scp [email protected]:/path/to/alldatabaes.sql /some/local/directory
scp -r [email protected]:/var/www/html /var/www
Для начала я хотел бы иметь возможность вызывать службу на новом сервере, используя IP и порт, не разрушая первый.
Думаю, мне нужно внести некоторые изменения в конфигурацию Apache, но я не совсем понимаю, как Apache работает. Могу ли я использовать только scp
конфигурацию из старой системы?
На новом сервере установлено: Ubuntu 16.04
Действующая там служба предъявляет следующие требования:
- PHP 5.5.9 или выше
- MySQL версии 5.5 или выше, или MariaDB
- Расширение PHP pdo и pdo_mysql или расширение MySQLi.
- Matomo не зависит от ОС/сервера
На старом сервере установлено: Ubuntu 14.04
- Apache/2.4.7 (Убунту)
- mysql Ver 14.14 Distrib 5.5.59, для debian-linux-gnu (x86_64) с использованием readline 6.3
- PHP 5.5.9-1ubuntu4.23 (cli)
решение1
Я бы все настроил по конфигурации. Сделайте хорошую резервную копию вашей базы данных. Перенесите все ваши файлы и измените любые конфигурации для всего, что связано с IP, по мере необходимости. Вам также может потребоваться проверить различия версий между вашими средами на случай, если вам нужно будет настроить дополнительные параметры.
решение2
Непростая задача, которую вы пытаетесь выполнить. Миграция всегда сложна, потому что много неопределенности и многое может пойти не так.
Отвечая на ваш вопрос относительно файла конфигурации apache: вы можете попробовать просто скопировать его, но это сработает на 100%, если у вас установлена та же версия. И учитывая, что других файлов конфигурации нет.
Я бы рекомендовал следующие шаги:
- Попробуйте воспроизвести старую среду (версию приложений) в новой. Или хотя бы попробуйте установить «наиболее» похожую версию.
- Если все работает, попробуйте обновить приложения (php, apache, mysql и т. д.)
Это может занять некоторое время и требует некоторого тестирования, чтобы убедиться, что миграция прошла правильно. Иногда даже небольшая разница в номерах версий может принести много головной боли.
Удачи.
решение3
Я бы сделал резервные копии файлов и БД, как вы планируете, проверил требования к CMS или любому другому приложению, которое вы переносите, и восстановил бы их на новом сервере.
Посмотрите логи Apache и веб-сайт, который вы будете восстанавливать - все отсутствующие части будут кричать о том, что им не нравится. Решайте их одну за другой.
Что также может вам помочь, так это если вы измените на своем компьютере/ноутбуке (на Linux) ваш /etc/hosts
файл и добавите домен веб-сайтов/порталов, которые вы перемещаете на новый IP.
Иногда CMS может вести себя странно при доступе через IP
К вашему сведению - Google сообщает, что в Windows файл хоста находится в C:\Windows\System32\Drivers\etc, откройте файл хоста.
FYI 2 В некоторых случаях полезно выполнять обновления, если нет зависимостей кода. Сейчас вы используете 14.04, посмотрите, сможете ли вы разместить его на сервере 16.04. Это действительно зависит от сложности миграции. На самом деле, может быть лучше сначала просто переместить портал, а затем построить среду разработки/промежуточной среды для тестирования новой ОС.
решение4
На самом деле, это будет работать проще, чем я думал. Matomo(Piwik) просто нужно установить. Мне пришлось переместить базу данных с помощью mysqldump, а затем установить piwik и задать имя базы данных в конфигурации piwik.
приложение по крайней мере работает со старыми данными базы данных.
Новый сервер получит старый IP-адрес и DNS-имя.
Следующие шаги: запуск приложения по https. У меня уже есть сертификаты на старом сервере. Могу ли я использовать их на новом?
Спасибо, Амит