Îáíîâëåíèå ñèñòåìû CMS Drupal
Äî íà÷àëà îáíîâëåíèÿ óáåäèòåñü, ÷òî âàø õîñòèíã äëÿ
ñàéòà óäîâëåòâîðÿåò òðåáîâàíèÿì òîé âåðñèè, äî êîòîðîé âû îáíîâëÿåòåñü. Ñì. Òðåáîâàíèÿ ê õîñòèíãó è ðàçäåë REQUIREMENTS â ôàéëå
INSTALL.txt. Äëÿ îáíîâëåíèÿ ñèñòåìû âûïîëíèòå ñëåäóþùèå øàãè:
- Ñäåëàéòå êîïèþ áàçû äàííûõ è ôàéëîâ. Êîïèÿ áàçû äàííûõ ïîíàäîáèòñÿ äëÿ âîññòàíîâëåíèÿ ðàáîòîñïîñîáíîñòè ñàéòà â ñëó÷àå íåóäà÷íîãî çàâåðøåíèÿ îáíîâëåíèÿ.  ïàïêå
/files õðàíÿòñÿ çàãðóæåííûå íà ñàéò ôàéëû, à â ïàïêå /sites õðàíÿòñÿ íàñòðîéêè ñàéòà.
- Ïðîâåðüòå ðàáîòîñïîñîáíîñòü êîïèè áàçû äàííûõ. Èìïîðòèðóéòå áàçó äàííûõ íà òåñòîâûé ñàéò, ÷òîáû óáåäèòüñÿ â òîì, ÷òî îíà íå ïîâðåæäåíà. Íå ñòîèò ïðåíåáðåãàòü ýòèì ïóíêòîì.
- Âîéäèòå â àêêàóíò ¹1. Ýòî ãëàâíûé àêêàóíò íà ñàéòå. Òîëüêî ó ïîëüçîâàòåëÿ ¹1 åñòü äîñòóï ê ôàéëó
/update.php çàïóñê êîòîðîãî ïîòðåáóåòñÿ ïðè îáíîâëåíèè. Íå çàêðûâàéòå áðàóçåð è íå âûõîäèòå èç àêêàóíòà äî òåõ ïîð, ïîêà âû ïîëíîñòüþ íå çàâåðøèòå ïðîöåññ îáíîâëåíèÿ.
- Ïåðåéäèòå íà ñòðàíèöó Óïðàâëåíèå → Êîíôèãóðàöèÿ → Îáñëóæèâàíèå è ïåðåâåäèòå ñàéò â îôëàéí äëÿ áåçîøèáî÷íîãî îáíîâëåíèÿ áàçû äàííûõ, à òàêæå äëÿ òîãî, ÷òîáû ïîñåòèòåëÿì íå ïîêàçûâàëèñü ñîîáùåíèÿ âûâîäèìûå ñêðèïòîì îáíîâëåíèÿ.
- Ïåðåéäèòå íà ñòðàíèöó Óïðàâëåíèå → Ñòðîåíèå ñàéòà → Òåìû è âêëþ÷èòå ñòàíäàðòíóþ òåìó Garland.
- Ïåðåéäèòå íà ñòðàíèöó Óïðàâëåíèå → Ñòðîåíèå ñàéòà → Ìîäóëè è âûêëþ÷èòå äîïîëíèòåëüíûå ìîäóëè.
- Óäàëèòå ñòàðûå ñèñòåìíûå ôàéëû.
- Ñêîïèðóéòå íà èõ ìåñòî íîâûå ñèñòåìíûå ôàéëû.
- Ñêîïèðóéòå îáðàòíî ïàïêè
/files è /sites, ôàéëû .htaccess è robots.txt èëè âíåñèòå íåîáõîäèìûå èçìåíåíèÿ â íîâûå âåðñèè ýòèõ ôàéëîâ (åñëè âû èõ ïðàâèëè ðàíåå).
- Óáåäèòåñü, ÷òî íîâûå ôàéëû íàñòðîåê ñîäåðæàò âåðíóþ èíôîðìàöèþ.
- Çàïóñòèòå ôàéë
/update.php. Ýòîò äåéñòâèå îáíîâèò ñòàíäàðòíûå òàáëèöû â áàçå äàííûõ.
- Óáåäèòåñü, ÷òî âåðñèè âñåõ äîïîëíèòåëüíûõ ìîäóëåé è òåì ïîääåðæèâàþò íîâóþ âåðñèþ ñèñòåìû. Äëÿ êðóïíîãî îáíîâëåíèÿ, òàêîãî êàê ïåðåõîä ñ îäíîé âåòêè íà äðóãóþ (íàïðèìåð ñ Drupal 5 íà Drupal 6, íóæíî áóäåò îáÿçàòåëüíî ñêà÷àòü íîâûå âåðñèè ìîäóëåé è òåì, ò.ê. ïðè ñìåíå ãëàâíîé âåðñèè ìåíÿåòñÿ API è âåðñèè ìîäóëåé è òåì ïðåäíàçíà÷åííûå äëÿ ðàáîòû ñ 5.õ íå áóäóò ðàáîòàòü ñ 6.õ.
- Ïåðåéäèòå íà ñòðàíèöó Óïðàâëåíèå → Ñòðîåíèå ñàéòà → Ìîäóëè, âêëþ÷èòå äîïîëíèòåëüíûå ìîäóëè è ñíîâà çàïóñòèòå ôàéë
/update.php.
- Ïåðåéäèòå íà ñòðàíèöó Óïðàâëåíèå → Ñòðîåíèå ñàéòà → Òåìû è âêëþ÷èòå èñïîëüçóåìóþ âàìè òåìó.
- Ïåðåéäèòå íà ñòðàíèöó Óïðàâëåíèå → Êîíôèãóðàöèÿ → Îáñëóæèâàíèå è ïåðåâåäèòå ñàéò â îíëàéí.
Îòìåòüòå: çàïóñòèòü îáíîâëåíèå íå âõîäÿ â àêêàóíò ¹1 ìîæíî ñëåäóþùèì îáðàçîì:
- Îòêðîéòå ôàéë
settings.php.
- Èçìåíèòå ñòðîêó
$update_free_access = FALSE; íà $update_free_access = TRUE;.
- Çàïóñòèòå ôàéë
/update.php.
- Ïîñëå çàâåðøåíèÿ ïðîöåññà îáíîâëåíèÿ èçìåíèòå çàïèñü â
settings.php îáðàòíî íà $update_free_access = FALSE;
Àëüòåðíàòèâíîå ïîøàãîâîå îïèñàíèå îáíîâëåíèÿ CMS Drupal
1.Ïåðåâîäèì ñàéò â ðåæèì íà òåõ îáñëóæèâàíèè (admin/settings/site-maintenance).
2.Äåëàåì áåêàïû ôàéëîâ è áàçû äàííûõ.
3.Âûêëþ÷àåì âñå ëåâûå ìîäóëè ïðåäâàðèòåëüíî çàïîìíèâ êàêèå áûëè âêëþ÷åíû – ìîæíî ïðîñòî ñîõðàíèòü ñòðàíè÷êó ñ ìîäóëÿìè.
4.Óäàëÿåì âñå ïàïêè êðîìå:
files\ - ýòîé ïàïêè äàæå â îáíîâëåíèè íåòsites\ - åñëè çàëèòü â íå¸ ïîâåðõ íîâóþ, òî ïðîñòî îáíîâèòñÿ default.settings.php, à settings.php áóäåò æèòü äàëüøå.
5. Â ïàïêå sites\ èçìåíÿåì ïðàâà íà çàïèñü ñ 0644 íà 0755.
6.Çàëèâàåì âñå ôàéëû íîâîãî äâèæêà.
7.Ñìîðèì êàê èçìåíèëñÿ ôàéë \sites\default\default.settings.php â íîâîé âåðñèè äâèæêà ïî ñðàâíåíèþ ñ íàøèì \sites\default\settings.php è åñëè îí òàêè ïîìåíÿëñÿ, äîáàâëÿåì èçìåíåíèÿ â íàø \sites\default\settings.php.
8.Çàëèâàåò ñ áåêàïà ïîâåðõ íîâîãî äâèæêà ôàéëû:
.htaccessrobots.txtôàëû ïîäòâåðæäåíèÿ ãóãëà, ÿíäåêñà, è äðóãèå ôàéëû – êîòîðûå ìåíÿëèñü â ïðîöåññå.
Ñîâåòóþ çäåñü ïåðåä çàìåíîé ñðàâíèòü ôàéëû ÷åðåç Shift + F1 â òîòàëå ÷òîáû, íå äàé áîã, íå ïîòåðÿòü ïàðó ñòðî÷åê èçìåíåíèÿ.
9. ïàïêå sites\ èçìåíÿåì ïðàâà íà çàïèñü îáðàòíî ñ 0755 íà 0644.
10.Çàïóñêàåì /update.php è âûáèðàåì âñå ìàêñèìàëüíûå öèôåðêè â îáíîâëåíèÿõ ìîäóëåé.
11.Ïîñëå îáíîâëåíèÿ ïðîâåðÿåì Îò÷¸ò î ñîñòîÿíèè (admin/reports/status) è åñëè íèêàêèõ çàìå÷àíèé ïî îáíîâëåíèþ íåò – òàêæå çàïóñêàåì cron è ïðîâåðÿåì âäðóã ÷òî-òî åùå îáíîâèëîñü.
12.Åñëè âñ¸ íîðìàëüíî – â ïàïêó ìîäóëåé êîïèðóåì íàøè îòëè÷íûå îò ÿäðà ìîäóëè. Òàêæå íå ïîìåøàëî áû íà äàííîì ýòàïå óäàëèòü íå íóæíûå ñòàíäàðòíûå ìîäóëè, ò.ê. íå èñïîëüçóþ ÿ ìíîãî ìîäóëåé è ìåñòà ïîä ñàéò âûäåëåíî íå ãóñòî.
13.Çàõîäèì â ðàçäåë Ìîäóëè è ïîäêëþ÷àåì âñå íåîáõîäèìûå (ïîäãëÿäûâàÿ â ðàíåå ñîõðàíåííóþ HTML).
Ïîñëå ýòîãî ìîæåò ïîÿâèòñÿ ìíîãî ïðåäëîæåíèé îáíîâèòü íàøè íåñòàíäàðòíûå ìîäóëè. Åñëè ïðåäëîæàò - êà÷àåì âñå îáíîâèâøèåñÿ ìîäóëè.
•Ïåðåä îáíîâëåíèåì ìîäóëè îòêëþ÷àòü íå íóæíî. Íåîáõîäèìî óäàëèòü ñòàðûå ôàéëû ìîäóëåé è çàëèòü íîâûå.
•Ïîñëå ýòîãî çàïóñòèòü /update.php è â ïåðå÷íå ìîäóëåé âûáðàòü íàèáîëåå âûñîêèå öèôåðêè.
Ïðè îáíîâëåíèè ìîãóò âîçíèêàòü ðàçëè÷íûå îøèáêè. Íà íèæå ïåðå÷èñëåííûå îøèáêè ÿ íå ðåàãèðîâàë:
user warning: TABLE 'captcha_sessions' already EXISTS queryuser warning: Duplicate KEY name 'pid' queryuser warning: TABLE 'taxonomy_menu' already EXISTS query
Òóò âñ¸ ïðîñòî – êîå ÷òî íå ñìîãëî äîáàâèòüñÿ èç çà òîãî ÷òî îíî óæå åñòü… Ýòî, êàê ìíå ïîêàçàëîñü, íå êðèòè÷íî.
À âîò òàêèå îøèáêè íàñòîðàæèâàþò:
user warning: Unknown COLUMN 'access' user warning: KEY COLUMN 'access' doesn't exist in table query
Ýòè îøèáêè îçíà÷àëè ÷òî â çàïðîñàõ åñòü ïîëå 'access' , êîòîðîãî íåò â áàçå. Îáíîâëåíèå îòíîñèëîñü ê ìîäóëþ xmlsitemap.  ðåçóëüòàòå ó ìåíÿ íå ñîçäàâàëñÿ ìîÿ êàðòà ñàéòà è â ëîãàõ ïîñòîÿííî ñâåòèëèñü îøèáêè î íåèçâåñòíîì ïîëå 'access'. Îøèáêó óäàëîñü èñïðàâèòü ïåðåóñòàíîâêîé îáíîâëåíèé ìîäóëÿ xmlsitemap, ïðåäâàðèòåëüíî îò÷èñòèâ âñå çàïèñè òàáëèöû xmlsitemap. Ïî÷åìó îøèáêà âîçíèêëà – ñêàçàòü çàòðóäíÿþñü. Ìíå êàæåòñÿ, âîâðåìÿ îáíîâëåíèÿ ìîã çàïóñòèòüñÿ cron è íå äàòü èçìåíèòü áàçó. Íî òåì íå ìåíåå îøèáêà óøëà.
14.Ìîæíî, à ïîæàëóé äàæå íóæíî èç êîðíÿ ñàéòà óäàëèòü ñëåäóþùèå ôàéëû:
CHANGELOG.txt COPYRIGHT.txt install.php INSTALL.txt INSTALL.mysql.txt INSTALL.pgsql.txt LICENSE.txt MAINTAINERS.txt UPGRADE.txt
Îíè óæå íå ïðèãîäÿòñÿ.
15.Êîãäà âñ¸ îáíîâëåíî è ðàáîòàåò – âûâîäèì ñàéò èç ðåæèìà òåõîáñëóæèâàíèå.