Posted 12 марта, 20231 yr comment_190911 Приветствую. В конце прошлого года я уже обращался к вам за помощью и получил ее. Но тогда пришли к мнению, что надо бы обновить движок, т.к. он порядком устарел. Но возможности не было. И вот момент настал. Я разжился доступом к серверу. Главный админ сказал, что заниматься обновлением ему некогда. Поэтому вся ответственность ложится на мои плечи. Я искал на форуме информацию, но вся она разрозненная и для меня, как человека, ни разу не имевшего дел с обновлениями платформы (да что уж там, я и с CMS-то начал работать те самые несколько месяцев назад), несет мало пользы. Поэтому хочу в этой теме получить как можно больше информации и сделать на ее основе некий конспект, который был бы полезен новичкам. Итак, начал я с бэкапов, естественно. Подключился через Putty, который мне любезно предоставил владелец, по SSH к серверу. Сделал дамп базы данных: mysqldump -u user_name db_name | bzip2 > /path_to_save/backup.sql.bz2 Затем данные сайта. Я скопировал все содержимое папки public_html. Сначала я хотел сделать из нее архив, но, видимо, параметры нужные не выставил, и архив быстро забил оставшееся место на сервере. Поэтому пришлось скачивать файлы по отдельности. В следующий раз надо сделать по уму, ибо 16 гигов из 77 тысяч файлов скачивались по FTP несколько часов😐 Отсюда первые вопросы: Достаточно ли тех действий, что я произвел, для бэкапа сайта перед обновлением? Как правильно скачать по SSH файлы с сервера себе на локальный компьютер? Читал, что по FTP гораздо медленнее это все. После создания бэкапов было решено, что сразу обновлять сайт на сервере плохая идея, поэтому принял решение развернуть все локально и попробовать обновить. Скачал и установил XAMPP последней версии, но зря. В нем используется PHP 8, который не совместим с версиями движка < 4.7 (я прав?). После этого я перепробовал кучу версий и остановился на версии 3.2.2. Сразу скажу, что это не лучшее решение, и лучше использовать сразу 7.4.33. После установки XAMPP создал новую базу данных и импортировал из бэкапа. Чтобы дойти до правильного решения по импорту базы, мне потребовалось, наверное, пол-дня, мда😕. Сначала создал новую базу импортировал базу в XAMPP: path_to_xampp_dir\mysql\bin\mysql.exe -h localhost -u db_user_name -p db_name < "path_to_backup_dir\backup_file.sql" Затем, чтобы не копировать снова 16 гигов, я сделал символическую ссылку между xampp\htdocs и папкой бэкапа сайта. Запустил в панели управления XAMPP сервер и базу MySQL, и попробовал зайти на сайт. И он даже открылся. Но радовался я не долго, ибо все ссылки перебрасывали меня на приветственную страницу XAMPP. При этом в ACP все работало. Отсюда вопрос: в чем может быть причина некорректно работающих ссылок? Поискав решение проблемы и не найдя его, решил попробовать обновиться. Скачал файлы 4.4 версии с вашего сайта, распаковал с заменой в public_html и запустил /adbin/upgrade/. В итоге получил ошибку: We were unable to start a PHP session. You will need to contact your host to adjust your PHP configuration before you can continue. The error reported was: session_start(): Failed to read session data: files (path: \xampp\tmp) Первым делом попробовал обновить версию apache и php до версии 7, т.к в XAMPP 3.2.2 идет 5 версия php. Не помогло. Пробовал менять пути в php.ini там, где встречается \xampp\tmp, но тоже безрезультатно. На этом я закончил попытки и пришел сюда, иначе я до пенсии буду разбираться. Еще я попробовал установить чистую 4.3 и обновить ее. В итоге все прошло гладко вплоть до 4.6.12. Версия 4.7 снова начала ругаться на синтаксис, из чего стало ясно, что снова надо обновлять php, но мне это не нужно в данный момент. Простите за портянку, но стараюсь объяснить как можно подробнее. Еще стоит, наверное, уточнить, что на сервере используется nginx, в отличие от XAMPP, где используется apache. В общем, если коротко, то на данный момент мне нужно развернуть локально сайт и попытаться его обновить.
12 марта, 20231 yr comment_190913 Я бы посоветовал обновлять постепенно,по порядку версий. Таким образом будут сведены к минимуму какие-либо проблемы.
12 марта, 20231 yr Author comment_190914 7 минут назад, AHristich сказал: Я бы посоветовал обновлять постепенно,по порядку версий. Таким образом будут сведены к минимуму какие-либо проблемы. Я и начал с 4.4,10. Edited 12 марта, 20231 yr by edmsl
12 марта, 20231 yr comment_190915 13 минут назад, AHristich сказал: Я бы посоветовал обновлять постепенно,по порядку версий. Таким образом будут сведены к минимуму какие-либо проблемы. ips обновляет приложения последовательно до конечной версии загруженного обновления. 24 минуты назад, edmsl сказал: в отличие от XAMPP установи другой, например Open Server, там на лету можно менять конфигурацию сервера
12 марта, 20231 yr Author comment_190916 1 минуту назад, Exception сказал: установи другой, например Open Server, там на лету можно менять конфигурацию сервера Попробую его, спасибо за наводку.
13 марта, 20231 yr Author comment_190930 Если я залил файлы обновления, заменив оригинал, то просто откатиться уже нельзя и нужно заливать файлы из бэкапа?
13 марта, 20231 yr Author comment_190934 В 12.03.2023 в 19:59, Exception сказал: установи другой, например Open Server Да, на OpenServer все работает как положено. По крайней мере я не заметил проблем.Разве что приложение чата не работает.
19 марта, 20231 yr Author comment_191092 В общем, владелец сказал, что смысла заморачиваться с обновой на текущей платформе нет, т.к. система уже устарела, как и движок, поэтому лучше и проще начать с нуля. Чем я, собственно, и занялся. Развернул на Almalinux сервер и буду пробовать обновлять сайт уже там. Тему не закрываю, т.к. при обновлении версий все равно возникнут вопросы. Edited 19 марта, 20231 yr by edmsl
20 марта, 20231 yr Author comment_191094 В 12.03.2023 в 19:30, edmsl сказал: В итоге получил ошибку: We were unable to start a PHP session. You will need to contact your host to adjust your PHP configuration before you can continue. The error reported was: session_start(): Failed to read session data: files (path: \xampp\tmp) Возникла эта же ошибка при установке 4.4.10 на чистый сервер. Проблема оказалась в том, что папка была недоступна для записи. Пришлось повозиться с правами доступа к разным папкам. На Линукс это, как оказалось, то еще веселье. К одной папке доступ есть, к другой нет. В общем, сайт лежит в директории /home/user/web/site.ru/public_html, пользователь в конфигах nginx и php-fpm тоже user. Сайт запускался, но была ошибка выше. полазал по гуглу, пишут, что проверяйте поле session.save_path = /tmp/ в файле php.in. Не стал заморачиваться, пытаясь понять, относительно чего считается /tmp, потому создал папку /home/user/web/site.ru/tmp и в ини прописал session.save_path = /home/user/web/site.ru/tmp. И это не помогло. Оказалось, что надо дать права и на эту папку. Сделал chown -R user:user /home/user/web/site.ru/tmp и только после этого пошла установка.
20 марта, 20231 yr comment_191095 2 часа назад, edmsl сказал: Оказалось, что надо дать права и на эту папку. Всё, что лежит в папке /home/user/*, должно иметь пользователя и группу user, если у вас php не как модуль апача запущен. Это вроде само собой вытекает и подразумевается. Если у вас php как модуль apache, то apache:user может помочь для папки tmp. Edited 20 марта, 20231 yr by Zero108
20 марта, 20231 yr Author comment_191096 5 минут назад, Zero108 сказал: Всё, что лежит в папке /home/user/*, должно иметь пользователя и группу user, если у вас php не как модуль апача запущен. Я полагал, что если файлы в папке /home/user , то user по умолчанию имеет туда доступ. А как узнать, как запущен php?
20 марта, 20231 yr comment_191097 34 минуты назад, edmsl сказал: А как узнать, как запущен php? В панели управления сервером может быть эта информация напрямую. Если у вас ISP Manager, то можно зайти в настройки домена и посмотреть. Чаще всего php по умолчанию ставится в папку /opt/, например, /opt/php81/. Если в админцентре сайта зайти в раздел /admin/?app=core&module=support&controller=phpinfo , то вы увидите, где находится файл php.ini. Если это в папке /opt/php74/, то велика вероятность, что php запущен как модуль apache. Но чаще всего запускают php как CGI или как FastCGI. Но чаще всего запускают php как CGI или как FastCGI. Тогда php.ini будет в папке пользователя, например, /var/www/php-bin-isp-php74/user/php.ini Edited 20 марта, 20231 yr by Zero108
20 марта, 20231 yr Author comment_191098 Развернул сайт с базой, все с виду норм, но при переходе по любой ссылке получаю 404 Not Found nginx/1.20.1
20 марта, 20231 yr comment_191099 11 минут назад, edmsl сказал: Развернул сайт с базой Это выражение имеет слишком много вариантов понимания. Развернул - установил с нуля, развернул - восстановил резервную копию... Постарайтесь предоставлять более подробную информацию. Настроен ли сертификат ssl для домена на сервере? Прописан ли https в config_global.php (в корне сайта)? Edited 20 марта, 20231 yr by Zero108
20 марта, 20231 yr Author comment_191100 4 минуты назад, Zero108 сказал: Прописан ли https в config_global.php (в корне сайта)? Если сайт изначально работает на https, а тестовый сервер на http - это может быть причиной? Для домена ssl не настроен. Я с этим даже не разбирался еще. 7 минут назад, Zero108 сказал: Постарайтесь предоставлять более подробную информацию Создал папку в /home/user/site2.ru/public_html и туда скопировал все файлы. Создал базу, залил в нее из бэкапа базы сайта.
20 марта, 20231 yr comment_191101 edmsl Прописан ли https или http в conf_global.php (в корне сайта)? Для домена в панели управления сервером (если панель существует) включено обязательное перенаправление на https или нет? Вам нужно поставить ssl сертификат для домена в панели управления сервером. В ISP Manager, например, можно автоматически получать ssl сертификаты от Lets Encrypt. Откройте conf_global.php и посмотрите, что там написано: http или https. Например, $INFO['board_url'] = 'https://a108.net'; Если сертификат не стоит, то должно быть http, и наоборот. Edited 20 марта, 20231 yr by Zero108
20 марта, 20231 yr Author comment_191102 Zero108 Панель не установлена. Есть только панель dnsadmin. В ней написано сверху isp manager, но кроме настроек привязки домена к ip там нет ничего. Цитата Прописан ли https или http в config_global.php (в корне сайта)? Это не знаю, где настроить. В файле http фигурирует только в параметре 'base_url'. Там прописано http://IP сервера. В панели dnsadmin, кстати есть запись. Цитата Версии программного обеспечения Apache 2.2.15-59.el6.centos это к вопросу про php. Сам php.ini лежит в корне папки /etc Без веб-панели сертификат не прописать? Edited 20 марта, 20231 yr by edmsl
20 марта, 20231 yr comment_191103 2 минуты назад, edmsl сказал: Без веб-панели сертификат не прописать? Вам лучше обратиться к хостеру и спросить, предоставляют ли они бесплатный ssl сертификат. Его нужно устанавливать самостоятельно или воспользоваться помощью техподдержки сервера. В ISP Manager зайдите в раздел WWW-домены и откройте домен для редактирования. Там выберите установку Lets Encrypt сертификата. https://rudocs.ispmanager.com/ispmanager-lite/integratsiya-s-lets-encrypt Edited 20 марта, 20231 yr by Zero108
20 марта, 20231 yr Author comment_191104 2 минуты назад, Zero108 сказал: В ISP Manager Нет его у меня. Я так понимаю, проще установить, чем без него маяться. SSL сертификат сейчас выдали на 6 месяцев.
20 марта, 20231 yr comment_191105 38 минут назад, edmsl сказал: SSL сертификат сейчас выдали на 6 месяцев. Если сертификат для домена настроен, настройте conf_global.php.
20 марта, 20231 yr Author comment_191107 Подключил сертификат, настроил conf_global.php. Сейчас сайт загружается по https://домен, значит сертификат работает корректно, но все равно 404 ошибка по любой ссылке. Может в nginx что-то еще надо настроить? Сделал как здесь, кроме оптимизаций https://help.reg.ru/support/ssl-sertifikaty/3-etap-ustanovka-ssl-sertifikata/kak-nastroit-ssl-sertifikat-na-nginx Блин, походу, я дурак. Я же не скинул папку uploads... Она весит много, для тестов решил не грузить ее.
20 марта, 20231 yr Author comment_191108 Еще когда кликаешь по ссылке, например, форумы (домен.ru/forums), то в логе nginx появляется запись 2023/03/20 11:27:11 [error] 8564#8564: *905 "/home/user/web/домен.ru/public_html/forums/index.html" is not found (2: No such file or directory), client: ip, server: www.домен.ru.ru, request: "GET /forums/ HTTP/1.1", host: "домен.ru", referrer: "https://домен.ru/" И если посмотреть файлы сайта, то там нет такой директории. Но на оригинальном сайте их тоже нет по тому же пути и той же ссылке. А может это все как раз из-за того, что папка uploads не загружена? Edited 20 марта, 20231 yr by edmsl
20 марта, 20231 yr comment_191112 Из-за отсутствия папки uploads могут быть некоторые проблемы, если, например, в них в виде файлов хранится кэш шаблонов сайта. Лучше проводить тест при правильно загруженных всех файлах и папках, выставленных правах на файлы и папки. Попробуйте временно удалить файлы .htaccess и constants.php из корневой директории сайта, так как они могут содержать неправильные для текущего серверного окружения настройки. Правильные права на файлы и папки описаны тут. Также одним из методов является установка тестовой версии сайта на отдельный домен третьего уровня. Инсталлируйте пустую версию и посмотрите, какие ошибки. Также вы можете попробовать загрузить в корневую директорию вашего сайта файл ips4.php и вызвать его в браузере, чтобы посмотреть какие настройки сделаны неверно. ips4.php Edited 20 марта, 20231 yr by Zero108
20 марта, 20231 yr Author comment_191115 51 минуту назад, Zero108 сказал: Также вы можете попробовать загрузить в корневую директорию вашего сайта файл ips4.php и вызвать его в браузере Получаю ошибку 504 Gateway Time-out где-то через 30 сек. 2 часа назад, Zero108 сказал: Попробуйте временно удалить файлы .htaccess и constants.php Нет изменений Каким способом быстрее всего заливать файлы на сервер? Filezilla 60 мегабайт обновлений больше получаса заливал.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.