Уважаемые коллеги в серверной теме я новичок. Установил на выделенный сервер BitrixEnv 4.1 Все отлично - но что со всем этим делать не пойму. Были два сайта на одной копии на вирт. хостинге, но как их перенести на выделенный сервер не представляю. Надо ведь DNS как-то перенести прописать на этом выделенном сервере два этих сайта потом перенести файлы + БД. Можете подсказать порядок действий и куда копать?
Сам в данный момент занимаюсь этим же. Уже вторую неделю. Граблей собрал столько что ... ужас.
Решили сайт конторы перенести с арендованного на свой сервер. Купили, поставил в офисе, установил CentOS, настроил локалку, настроил подключение к Интернет. С установкой BitrixEnv 4 возникло много проблем, но с грехом пополам установил. Меню выводится, тестовые сайты создаются и работают.
Дальше начал перенос реального проекта с сервера хостера на свой:
1. Через BitrixEnv создал новый сайт sitename с базой sitedb. 2. Создал архив файлов сайта на сервере хостера (tar -cf filename.tar) 3. Закачал созданный архив на свой сервер (wget http://sitedomain/filename.tar) 4. Создал дамп БД (mysqldump bdname>filebdname.sql), закачал его на свой сервер (wget http://sitedomain/filebdname.sql) и залил в созданную ранее БД (mysql sitedb<filebdname.sql). 5. Поправил настройки подключения в файле php_interface нового сайта 6. В Windows в файле hosts добавил строку: "192.168.1.2 sitename" (без кавычек, 192.168.1.2 - это адрес сервера в локальной сети) 7. В локалке сайт работает. Осталось настроить видимость сервера и сайта извне.
Настройка web-сервера для работы в сети Интернет: 1. Заказал у нашего интернет-провайдера внешний фиксированный IP. 2. В настройках роутера (сервер подключен к сети через роутер) сделал проброс порта 80 на локальный IP 192.168.1.2 (т.е. на сервер) 3. На сервере в настройках iptables открыл порт 80: в файл /etc/sysconfig/iptables добавить строку "-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT" без кавычек, выше других правил. Перезагрузил iptables: service iptables restart. 4. В Windows в файле hosts поменял строку: "192.168.1.2 sitename" на "внешний_ip sitename". 5. Сайт заработал через внешний IP.
Далее встала задача настроить работу сайта через домен второго уровня типа domain.com. Проблема в том что у любого домена должны быть указаны два ДНС сервера - Первичный Primary и вторичный Secondary, расположенные к тому же в разных сетях. При работе с хостером эти ДНС сервера выдает он. В нашем же случае было два выхода: 1. Запустить Primary dns на нашем сервере, а вторичный купить у какого-либо регистратора (например у nic.ru, 150 р в месяц). 2. Использовать бесплатные службы днс-хостинга, например от яндекса.
Париться с настройкой своего днс сервера мне не хотелось, да и время поджимало, поэтому выбрал яндекс: 1. На сайте pdd.yandex.ru, перешел по ссылке Подключить домен, вбил в поле свой домен domain.com и нажал Подключить домен. 2. В панели управления доменом на сайте регистратора, поменял днс сервера домена на указанные яндексом. 3. Подтвердил права на домен 3-м способом, т.е. через смену контакного email домена на указанный яндексом. 4. В Windows в файле hosts убрал строку: "внешний_ip sitename". 5. Примерно через 3-4 часа все изменения вступили в силу и сайт на нашем сервере стал открываться через домен domain.com
Добавлю что работал я с сервером удаленно через ssh, ssh клиент Putty. Для этого на сервере открыл 22-й порт и в роутере сделал проброс 22 порта на локальный IP адрес сервера.
Сейчас вот возникла проблема - при работе созданных на сервере сайтов, не обрабатывается инструкции из файла urlrewrite.php. Долблюсь уже второй день, не могу найти причины. Может кто знает?
Дело в том что при использовании штатного инструмента резервного копирования неоднократно возникали различные ошибки как во время создания копии так и при распаковке (какие-то проблемы с именами файлов). Возможно причина в том, что размер файлов сайта великоват (около 8 Гб + 1 Гб БД). А на сайтах небольшого размера пользуюсь также и штатным резервным копированием.
Сергей, спасибо за подробное описание мучений! )))) ------------ Путаница в мыслях была в том, что я заходил на сервер через удаленный "рабочий стол" (KVM консоль). А зашел через Pytty по SSH а там список из 18 пунктов от Битрикса. Надеюсь они мне помогут. -------------
Единственное не понятно с smtp сервером. сейчас сайты все еще лежат на вирт. хостинге и в настройках почты Битрикса стоит: Командная строка запуска PHP: authbind php -c /etc/php.ini Сервер: остановлен Мне не очень понятно через, что идет отправка почты когда сайт стоит на вирт хостинге,
и надо ли настраивать smtp сервер на выделенном сервере, на мой взгляд mail.ru зарежет половину писем с моего сервера как подозрительные.
Дмитрий Данилов, в виртуальной машине в стандартной установке вариант только один - сервис msmtp через него можно настроить отправку почты через сторонний сервис, например mail.ru, но тогда все письма с сервера будут уходить через один аккаунт. Я настраивал postfix для отправки почты, помимо самого сервиса, надо настроить spf запись у вас в DNS+настроить обратную запись ptr (обычно делается через хостера). Проблем с хождением почты не заметил. Ну и не удержусь от рекламы, для отправки почты вы можете использовать наш модуль, и настроить отдельные почтовые ящики для каждой копии битрикс отдельно
А я вот запутался на многосайтовости. у выделенного сервера один ip а сайтов у меня два. настроил DNS у провайдера на все два сайта на единственный ip моего сервера, теперь какой адрес не набираю - выдает сайт из home/www/bitrix а других сайтов из home/www/ext_www не видит. Подскажите плиз куда копать
В /home/bitrix /www/ лежит сайт по умолчанию, он будет открываться просто по ip сервера либо по любому доменному имени для которого нет виртуального хоста. в www_ext лежат сайты на виртуальных хостах они открываются только по доменным именам, нужно проверять настройки nginx для этих виртуальных хостов, возможно что то некорректно настроили.
Денис - спасибо, за помощь - настроил через msmtp - пока глубже копать не буду - работает! -------- не понятно про вирт. хосты. т.к. ничего не ломал никуда не лез. Думал что мастер битрикса сам всё настроит, однако нет: для установки сайта использовал меню Битрикса Bitrix virtual appliance version 4.1.0 пункт 13. Add aditional site После этого появились папки вирт. хостов, но получается Битрикс не настраивает nginx. И надо настраивать его самому, есть где-нибудь инструкция по настройке nginx для запуска многосайтовости на одном ip?
Сергей Гордеев пишет: Почему не настраивает? Все настраивает прекрасно. Для запуска нового сайта достаточно только мастера.
Сергей, у меня ситуация выглядит так: основной сайт site1.ru запускается. А вот на дополнительный site2.ru почему-то не зайти. Потому что когда набираю в браузере site2.ru открывается содержимое site1.ru --------
Решил удалить site2 через Delete additional site Удалил, но вот что попутно выдал:
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName [Fri Nov 16 17:36:43 2012] [warn] NameVirtualHost 127.0.0.1:8887 has no VirtualHosts
> "Потому что когда набираю в браузере site2.ru открывается содержимое site1.ru" Это как раз одни из граблей на которые я наступил ). Изучите это - http://dev.1c-bitrix.ru/community/forums/forum32/topic46288/, мне помогло сообщение №13 (от Nikolay Ryzhonin)
Блин, теперь при заходе на страницу авторизации второго сайта пишет: Страница, которую вы пытаетесь просмотреть, не может быть показана, так как она использует неверную или неподдерживаемую форму компрессии. Сайт ставил через битриксовский скрипт - закачивал архив(полную резервную копию) оригинала.
Помогло отключение модуля компрессии (админка -> настройки -> настройки продукта -> модули -> удалить модуль) Но думаю это некий костыль. А вот как сделать так чтобы и модуль компрессии выполнял свою работу и ошибки не было? Какая-то загадка...
ошибка возникает в папке /login/ там только один файл index.php с содержимым:
Так вот модулю компрессии не нравится только строчкаrequire($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"); Хотя на других страницах успешно подключает футер...
Так и не разобрался в проблеме. Подключение строчки require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php" ; при включенном модуле компрессии мешает браузеру читать страницу и всё тут. Дело скорее всего как-то связано с компонентом авторизации/регистрации пользователя потому что ошибка наблюдается только на странице site.ru/login и только на перенесенном сайте, по старому месту у хостера все работает.
Есть такая проблема. Нужно создать много (более 100) поддоменов которые будут перенаправлять на разные страницы основного сайта, т.е. фактически будут выполнять роль алиасов. Создавать для каждого поддомена виртуальный хост апача и потом каталоги мне кажется не самым лучшим решением. Возникла мысль, а не может ли такие перенаправления выполнять nginx?