Перенос Школьного портала на другой сервер — различия между версиями
м |
(→Всё без комментариев для опытных) |
||
(не показаны 34 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
Установите на новый сервер Школьный портал. | Установите на новый сервер Школьный портал. | ||
− | Если версия установленного продукта на старом сервере отличается от доступной на нашем сайте, предварительно выполните обновление | + | Если версия установленного продукта на '''старом''' сервере отличается от [[Обновление портала до новой версии|доступной]] на нашем сайте, предварительно выполните обновление продукта на '''старом''' сервере до актуальной версии. |
− | Далее под переносом понимается копирование со старого | + | Далее под переносом понимается копирование со '''старого''' сервера на '''новый''' '''поверх''' чистой установки. До тех пор, пока у вас не заработает на новом сервере абсолютно всё, что было на старом. Только после этого можно удалить данные на старом сервере. |
− | + | Все действия исполнять от пользователя root. | |
− | + | ||
− | # Перенесите | + | == Файл конфигурации == |
− | # | + | |
− | # | + | <pre> |
− | + | /var/www/cgi-bin/sp/sp.conf | |
− | # Если используете управление учётными записями, перенесите строки пользователей портала из файлов /etc/passwd и /etc/shadow, перенесите сохраняя права папку /home (например, с помощью tar) | + | </pre> |
+ | Существующий временно сохраните для сверки ваших изменений с дистрибутивным. | ||
+ | |||
+ | При переносе из ALT Linux 5.0.x в другую ОС, где по умолчанию не поднят LDAP (например, Mandriva, Ubuntu или ALT Linux 6) параметр: | ||
+ | <pre> | ||
+ | create_dc_users = smbldap-tools | ||
+ | </pre> | ||
+ | нужно выключить: | ||
+ | <pre> | ||
+ | create_dc_users = 0 | ||
+ | </pre> | ||
+ | |||
+ | == БД == | ||
+ | |||
+ | '''Рекомендуемый вариант.''' | ||
+ | |||
+ | 1. Создать архив на старом сервере | ||
+ | |||
+ | <pre> | ||
+ | cd /opt/xxi/data | ||
+ | gbak -user sysdba -pass masterkey CMS.gdb CMS.gbk | ||
+ | gbak -user sysdba -pass masterkey XXI.gdb XXI.gbk | ||
+ | </pre> | ||
+ | |||
+ | 2. Переместить файлы /opt/xxi/data/*.gbk | ||
+ | |||
+ | 3. Восстановить базы из архива на новом сервере | ||
+ | |||
+ | <pre> | ||
+ | cd /opt/xxi/data | ||
+ | gbak -user sysdba -pass masterkey -R CMS.gbk CMS.gdb | ||
+ | gbak -user sysdba -pass masterkey -R XXI.gbk XXI.gdb | ||
+ | </pre> | ||
+ | |||
+ | Вместо пароля 'masterkey' у вас может быть иной, смотрите настройки в [[файл конфигурации]]. | ||
+ | |||
+ | '''Альтернативный вариант (не рекомендуется).''' | ||
+ | |||
+ | ВНИМАНИЕ! Сначала остановите сервер Firebird на '''обоих''' серверах, предварительно закрыв все копии Алфавитной книги и завершив постоянные соединения от портала. | ||
+ | |||
+ | <source lang="bash"> | ||
+ | # принудительное завершение экземпляров портала, | ||
+ | # держащих соединения с базами | ||
+ | pkill speedy_backend | ||
+ | |||
+ | # для ubuntu | ||
+ | /etc/init.d/firebird2.1-super stop | ||
+ | |||
+ | # для ALT Linux 5.0.x: | ||
+ | # в файле /etc/xinetd.d/firebird | ||
+ | # сделать: | ||
+ | # disable = yes | ||
+ | # и дать команду | ||
+ | service xinetd restart | ||
+ | </source> | ||
+ | |||
+ | Положить но новый сервер при остановленном Firebird файлы со старого сервера: | ||
+ | |||
+ | <pre> | ||
+ | /opt/xxi/data/*.gdb | ||
+ | </pre> | ||
+ | |||
+ | Если на исходном сервере установлен Alt Linux 6, исходный путь другой: | ||
+ | |||
+ | <pre> | ||
+ | /var/lib/firebird/xxi/*.gdb | ||
+ | </pre> | ||
+ | |||
+ | а конечный путь можете подсмотреть в дистрибутивном файле sp.conf, который вы оставили на первом шаге (если он не из ALT Linux 6, путь, скорее всего <code>/opt/xxi/data/</code>). | ||
+ | |||
+ | На новом сервере владелец и группа для баз должна быть firebird. Чтение/запись для владельца и группы должны быть, остальным должно быть нельзя ничего. | ||
+ | |||
+ | Если это не так, переместитесь в папку с базами и: | ||
+ | <source lang="bash"> | ||
+ | chmod 660 *.gdb | ||
+ | chown firebird:firebird *.gdb | ||
+ | </source> | ||
+ | |||
+ | Включение Firebird: | ||
+ | |||
+ | <source lang="bash"> | ||
+ | # для ubuntu | ||
+ | /etc/init.d/firebird2.1-super start | ||
+ | |||
+ | # для ALT Linux 5.0.x: | ||
+ | # в файле /etc/xinetd.d/firebird | ||
+ | # сделать: | ||
+ | # disable = no | ||
+ | # и дать команду | ||
+ | service xinetd restart | ||
+ | |||
+ | # принудительное завершение экземпляров портала, если есть | ||
+ | pkill speedy_backend | ||
+ | </source> | ||
+ | |||
+ | Попробуйте войти в портал. | ||
+ | |||
+ | См. также [[Проблемы с подключением к базе]] | ||
+ | |||
+ | После успешного входа можете настроить на новом сервере [[Резервное копирование]]. | ||
+ | |||
+ | == Картинки, и прочие загруженные на сайт файлы == | ||
+ | |||
+ | Перенесите папки | ||
+ | |||
+ | <pre> | ||
+ | /var/www/html/sp/pic | ||
+ | /var/www/html/sp/cms | ||
+ | </pre> | ||
+ | |||
+ | Файлы в них должны принадлежать веб-серверу. Если это не так, задайте владельца: | ||
+ | |||
+ | <source lang="bash"> | ||
+ | # ubuntu | ||
+ | chown -R www-data:www-data /var/www/html/sp/pic | ||
+ | chown -R www-data:www-data /var/www/html/sp/cms | ||
+ | |||
+ | # alt | mandriva | ||
+ | chown -R apache:apache /var/www/html/sp/pic | ||
+ | chown -R apache:apache /var/www/html/sp/cms | ||
+ | </source> | ||
+ | |||
+ | Или проще, если место на сервере позволяет, заархивируйте их вместе с правами доступа: | ||
+ | |||
+ | <pre> | ||
+ | tar -cf html_sp.tar --format=posix /var/www/html/sp | ||
+ | </pre> | ||
+ | |||
+ | И распакуйте полученный архив на новом сервере. | ||
+ | |||
+ | == Управление доступом в интернет == | ||
+ | |||
+ | Вообще, конфигурация Squid лежит по пути: | ||
+ | <pre> | ||
+ | /etc/squid/squid.conf | ||
+ | или | ||
+ | /etc/squid3/squid.conf | ||
+ | </pre> | ||
+ | |||
+ | Но если вы переносите портал между '''разными''' дистрибутивами и на новом сервере в файле squid.conf у вас уже есть блок вида: | ||
+ | |||
+ | <pre> | ||
+ | # ============================== | ||
+ | # School Portal Internet Control | ||
+ | ... | ||
+ | </pre> | ||
+ | |||
+ | то не переносите конфигурацию прокси-сервера Squid. | ||
+ | |||
+ | Чтобы на новом сервере создались или актуализировались (относительно перенесённой только что базы) файлы, участвующие в настройке Squid-а для доступа в интернет: | ||
+ | <pre> | ||
+ | /var/www/sp_htpasswd | ||
+ | /var/www/sp_users_allowed | ||
+ | /var/www/sp_squid_content_filter | ||
+ | </pre> | ||
+ | войдите в портал администратором, выберите в меню '''Сервис → Доступ в интернет''', Нажмите кнопку [Применить], менять настройки не обязательно, важно только лишь '''скомандовать их применить'''. | ||
+ | |||
+ | Если вы используете сервис "Звонки" (не путать с информером для сайта, информер звонит в браузере киентов, а '''сервис''' даёт звонки через звуковую карту '''сервера'''), войдите в портал администратором, выберите в меню '''Сайт → Звонки''', и, ничего не меняя, нажмите кнопку [Сохранить]. | ||
+ | |||
+ | Это пересоздаст файл расписания: | ||
+ | <pre> | ||
+ | /etc/cron.d/sp_bells_cron | ||
+ | </pre> | ||
+ | |||
+ | <!-- | ||
+ | # TODO: Если используете управление учётными записями, перенесите строки пользователей портала из файлов /etc/passwd и /etc/shadow, перенесите сохраняя права папку /home (например, с помощью tar) | ||
# TODO: samba | # TODO: samba | ||
+ | --> | ||
+ | |||
+ | == Удаление портала со старого сервера == | ||
+ | |||
+ | Удаление пакета вместе с настройками: | ||
+ | <pre> | ||
+ | # Ubuntu | ||
+ | apt-get purge schoolportal | ||
+ | |||
+ | # ALTLinux | ||
+ | apt-get purge sp | ||
+ | </pre> | ||
+ | |||
+ | Файлы, не принадлежащие пакету не будут удалены. Отсмотрите папки с данными, созданными пользователями: | ||
+ | |||
+ | * '''/var/www/html/sp''' — там могут лежать картинки, архивы, документы, темы оформления, залитые для школьного сайта или блоггерми | ||
+ | * '''/var/www/cgi-bin/sp''' — там может остаться образец файла конфигурации, оставшийся после обновлений | ||
+ | * '''/opt/xxi/''' — могут лежать резервные копии баз, сделанные перед обновлениями | ||
+ | * '''/home/db-backups''' — папка с бэкапами, если настраивали [[Резервное копирование]], заодно на старом сервере отредактируйте файл '''/etc/crontab''': уберите строки, добавленные для бэкапа. | ||
+ | |||
+ | Все упоянутые папки после переноса нужного можно удалить со старого сервера. | ||
+ | |||
+ | == Всё без комментариев для опытных == | ||
+ | |||
+ | '''Создание архива:''' | ||
+ | |||
+ | <pre> | ||
+ | cd /opt/xxi/data | ||
+ | gbak -user sysdba -pass masterkey CMS.gdb CMS.gbk | ||
+ | gbak -user sysdba -pass masterkey XXI.gdb XXI.gbk | ||
+ | cd | ||
+ | tar --dereference -cf sp_backup.tar --format=posix \ | ||
+ | /var/www/html/sp \ | ||
+ | /var/www/cgi-bin/sp/sp.conf \ | ||
+ | /opt/xxi/ \ | ||
+ | /var/www/sp_htpasswd \ | ||
+ | /var/www/sp_users_allowed \ | ||
+ | /var/www/sp_squid_content_filter \ | ||
+ | /etc/cron.d/sp_bells_cron \ | ||
+ | /etc/apache2/sites-enabled/sp \ | ||
+ | /etc/xinetd.d/sphelper | ||
+ | </pre> | ||
+ | |||
+ | Архив в sp_backup.tar | ||
+ | |||
+ | '''Восстановление:''' | ||
+ | |||
+ | Забрать архив sp_backup.tar на новый сервер | ||
+ | |||
+ | <pre> | ||
+ | tar xf sp_backup.tar | ||
+ | # разложить распакованные файлы относительно / | ||
+ | cd /opt/xxi/data | ||
+ | pkill speedy_backend | ||
+ | gbak -user sysdba -pass masterkey -R -REP CMS.gbk CMS.gdb | ||
+ | gbak -user sysdba -pass masterkey -R -REP XXI.gbk XXI.gdb | ||
+ | cd /var/www/cgi-bin/sp/ | ||
+ | perl setup.pl --yes | ||
+ | </pre> | ||
+ | |||
+ | Проверить галерею, она могла быть симлинком. |
Текущая версия на 10:22, 7 июня 2017
Установите на новый сервер Школьный портал.
Если версия установленного продукта на старом сервере отличается от доступной на нашем сайте, предварительно выполните обновление продукта на старом сервере до актуальной версии.
Далее под переносом понимается копирование со старого сервера на новый поверх чистой установки. До тех пор, пока у вас не заработает на новом сервере абсолютно всё, что было на старом. Только после этого можно удалить данные на старом сервере.
Все действия исполнять от пользователя root.
Содержание
Файл конфигурации
/var/www/cgi-bin/sp/sp.conf
Существующий временно сохраните для сверки ваших изменений с дистрибутивным.
При переносе из ALT Linux 5.0.x в другую ОС, где по умолчанию не поднят LDAP (например, Mandriva, Ubuntu или ALT Linux 6) параметр:
create_dc_users = smbldap-tools
нужно выключить:
create_dc_users = 0
БД
Рекомендуемый вариант.
1. Создать архив на старом сервере
cd /opt/xxi/data gbak -user sysdba -pass masterkey CMS.gdb CMS.gbk gbak -user sysdba -pass masterkey XXI.gdb XXI.gbk
2. Переместить файлы /opt/xxi/data/*.gbk
3. Восстановить базы из архива на новом сервере
cd /opt/xxi/data gbak -user sysdba -pass masterkey -R CMS.gbk CMS.gdb gbak -user sysdba -pass masterkey -R XXI.gbk XXI.gdb
Вместо пароля 'masterkey' у вас может быть иной, смотрите настройки в файл конфигурации.
Альтернативный вариант (не рекомендуется).
ВНИМАНИЕ! Сначала остановите сервер Firebird на обоих серверах, предварительно закрыв все копии Алфавитной книги и завершив постоянные соединения от портала.
# принудительное завершение экземпляров портала, # держащих соединения с базами pkill speedy_backend # для ubuntu /etc/init.d/firebird2.1-super stop # для ALT Linux 5.0.x: # в файле /etc/xinetd.d/firebird # сделать: # disable = yes # и дать команду service xinetd restart
Положить но новый сервер при остановленном Firebird файлы со старого сервера:
/opt/xxi/data/*.gdb
Если на исходном сервере установлен Alt Linux 6, исходный путь другой:
/var/lib/firebird/xxi/*.gdb
а конечный путь можете подсмотреть в дистрибутивном файле sp.conf, который вы оставили на первом шаге (если он не из ALT Linux 6, путь, скорее всего /opt/xxi/data/
).
На новом сервере владелец и группа для баз должна быть firebird. Чтение/запись для владельца и группы должны быть, остальным должно быть нельзя ничего.
Если это не так, переместитесь в папку с базами и:
chmod 660 *.gdb chown firebird:firebird *.gdb
Включение Firebird:
# для ubuntu /etc/init.d/firebird2.1-super start # для ALT Linux 5.0.x: # в файле /etc/xinetd.d/firebird # сделать: # disable = no # и дать команду service xinetd restart # принудительное завершение экземпляров портала, если есть pkill speedy_backend
Попробуйте войти в портал.
См. также Проблемы с подключением к базе
После успешного входа можете настроить на новом сервере Резервное копирование.
Картинки, и прочие загруженные на сайт файлы
Перенесите папки
/var/www/html/sp/pic /var/www/html/sp/cms
Файлы в них должны принадлежать веб-серверу. Если это не так, задайте владельца:
# ubuntu chown -R www-data:www-data /var/www/html/sp/pic chown -R www-data:www-data /var/www/html/sp/cms # alt | mandriva chown -R apache:apache /var/www/html/sp/pic chown -R apache:apache /var/www/html/sp/cms
Или проще, если место на сервере позволяет, заархивируйте их вместе с правами доступа:
tar -cf html_sp.tar --format=posix /var/www/html/sp
И распакуйте полученный архив на новом сервере.
Управление доступом в интернет
Вообще, конфигурация Squid лежит по пути:
/etc/squid/squid.conf или /etc/squid3/squid.conf
Но если вы переносите портал между разными дистрибутивами и на новом сервере в файле squid.conf у вас уже есть блок вида:
# ============================== # School Portal Internet Control ...
то не переносите конфигурацию прокси-сервера Squid.
Чтобы на новом сервере создались или актуализировались (относительно перенесённой только что базы) файлы, участвующие в настройке Squid-а для доступа в интернет:
/var/www/sp_htpasswd /var/www/sp_users_allowed /var/www/sp_squid_content_filter
войдите в портал администратором, выберите в меню Сервис → Доступ в интернет, Нажмите кнопку [Применить], менять настройки не обязательно, важно только лишь скомандовать их применить.
Если вы используете сервис "Звонки" (не путать с информером для сайта, информер звонит в браузере киентов, а сервис даёт звонки через звуковую карту сервера), войдите в портал администратором, выберите в меню Сайт → Звонки, и, ничего не меняя, нажмите кнопку [Сохранить].
Это пересоздаст файл расписания:
/etc/cron.d/sp_bells_cron
Удаление портала со старого сервера
Удаление пакета вместе с настройками:
# Ubuntu apt-get purge schoolportal # ALTLinux apt-get purge sp
Файлы, не принадлежащие пакету не будут удалены. Отсмотрите папки с данными, созданными пользователями:
- /var/www/html/sp — там могут лежать картинки, архивы, документы, темы оформления, залитые для школьного сайта или блоггерми
- /var/www/cgi-bin/sp — там может остаться образец файла конфигурации, оставшийся после обновлений
- /opt/xxi/ — могут лежать резервные копии баз, сделанные перед обновлениями
- /home/db-backups — папка с бэкапами, если настраивали Резервное копирование, заодно на старом сервере отредактируйте файл /etc/crontab: уберите строки, добавленные для бэкапа.
Все упоянутые папки после переноса нужного можно удалить со старого сервера.
Всё без комментариев для опытных
Создание архива:
cd /opt/xxi/data gbak -user sysdba -pass masterkey CMS.gdb CMS.gbk gbak -user sysdba -pass masterkey XXI.gdb XXI.gbk cd tar --dereference -cf sp_backup.tar --format=posix \ /var/www/html/sp \ /var/www/cgi-bin/sp/sp.conf \ /opt/xxi/ \ /var/www/sp_htpasswd \ /var/www/sp_users_allowed \ /var/www/sp_squid_content_filter \ /etc/cron.d/sp_bells_cron \ /etc/apache2/sites-enabled/sp \ /etc/xinetd.d/sphelper
Архив в sp_backup.tar
Восстановление:
Забрать архив sp_backup.tar на новый сервер
tar xf sp_backup.tar # разложить распакованные файлы относительно / cd /opt/xxi/data pkill speedy_backend gbak -user sysdba -pass masterkey -R -REP CMS.gbk CMS.gdb gbak -user sysdba -pass masterkey -R -REP XXI.gbk XXI.gdb cd /var/www/cgi-bin/sp/ perl setup.pl --yes
Проверить галерею, она могла быть симлинком.