Лич­ный архив стра­ниц из ин­тер­не­та?

Я че­ло­век лю­бо­пыт­ный и неред­ко на­хо­жу стра­нич­ку ин­тер­не­те, ко­то­рые не очень по­пя­лур­ны, но при этом в бу­ду­щем я хотел бы по­се­рьез­нее изу­чить. Вы мо­же­те по­ду­мать, ну сде­лай за­клад­ку и делов. Но про­бле­ма в том что люди про­сто пе­ре­но­сят, уда­ля­ют, ме­ня­ют эти стра­нич­ки. И оста­ет­ся это чув­ство... я сошел с ума и мне при­сни­лась та ста­тья? Может её не было ни­ко­гда?

Идея в том что нужно про­сто ско­пи­ро­вать вся­кие кар­тин­ки, стили, javascript по со­от­ст­вет­ству­ю­ще­му ад­ре­су и как-то их ак­ку­рат­но со­хра­нить чтобы от­кры­вать ло­каль­но. Ну и по­то­му еще как их сде­лать до­ступ­ны­ми легко с лю­бо­го ком­пью­те­ра. Ну к сути, я нашел пре­крас­ный про­ект под на­зва­ни­ем ArchiveBox, ко­то­рый со­зда­вал­ся почти один в один под мои за­про­сы.

Я долго ма­ял­ся, зная что мне надо будет разо­брать­ся как лучше ис­поль­зо­вать этот про­ект у себя на сер­ве­ре. Уста­нов­ка раз­лич­ных при­ло­же­ний с базой дан­ных и про­чим может быть от­кро­вен­ной го­лов­ной болью. Поль­зо­ва­те­ли, па­ке­ты, на­строй­ки, недо­ку­мен­ти­ро­ван­ные вре­мен­ные файлы... много мест на­ко­ся­чить. По­то­му я с са­мо­го на­ча­ла на­ме­ре­вал­ся ис­поль­зо­вать кон­тей­не­ри­за­цию, что для обыч­но­го про­грам­ми­ста зву­чит как Docker.

Не все VPS под­дер­жа­ва­ют кон­тей­не­ры...

Это стало для меня но­во­стью после несколь­ких без­успеш­ных часов с об­нов­ле­ния Ubuntu, и по­пыт­ка­ми за­пу­стить ба­зо­вый образ для про­вер­ки ра­бо­то­спо­соб­но­сти Docker. Так как я ис­поль­зую фак­ти­че­ски вир­ту­аль­ный сер­вер (Virtual Private Server), то они со­зда­ют­ся на базе спе­ци­аль­но­го про­грамм­но­го обес­пе­че­ния со сво­и­ми стан­дар­та­ми, как OpenVZ, KVM.

Об­ще­ние с тех.под­держ­кой под­твер­ди­ло мои по­до­зре­ния и мне при­ш­лось об­но­вить сер­вер бук­валь­но от­ка­зав­шись от всех ста­рых дан­ных, на­стро­ек и про­че­го. Но после за­ка­за но­во­го хо­стин­га я смог по­лу­чить ра­бо­та­ю­щую кон­тей­не­ри­за­цию. И те­перь я могу вы­зы­вать со сво­е­го сер­ве­ра образ про­ек­та по ар­зи­ва­ции веб-стра­ниц и не за­ва­ли­вать все непо­нят­ным за­ви­си­мо­стя­ми и фай­ли­ка­ми.

Не так быст­ро

Так для ре­зуль­та­тов ра­бо­ты ArchiveBox я решил ис­поль­зо­вать папку ко­то­рую в кон­тей­нер я мон­ти­ро­вал на этапе за­пус­ка ар­хи­ва­ции. И ока­за­лось что моя папка не со­от­вет­ству­ет пра­вам до­сту­па поль­зо­ва­те­ля от ко­то­ро­го за­пус­ка­ет­ся ос­нов­ной про­цесс об­ра­за. Есть гру­бый ва­ри­ант дать до­сту­пе к папке для ВСЕХ (как я сде­лал пер­во­на­чаль­но), а по факту надо было дать до­ступ на за­пись груп­пе docker на сер­ве­ре.

Так же имей­те ввиду что архив со­зда­ет­ся, на века! Там есть и pdf-вер­сия, и ка­кие-то спе­ци­аль­ные ар­хив­ные фор­ма­ты, так что слож­ные стра­нич­ки легко могут по­тре­бо­вать ги­га­байт места на жест­ком диске. Но сей­час 21 век и это стоит ко­пей­ки в срав­не­нии с на­ча­лом 3 ты­ся­че­те­лия.

Так же мне по­тре­бо­ва­лось сде­лать ма­лень­кую мо­ди­фи­ка­цию ра­бо­ты веб-сер­ве­ра, чтобы он сам со­зда­вал index-content при про­смот­ре папок с ар­хив­ным дан­ны­ми.

Немно­го о груст­ном

Если вы ска­ча­ли стра­ни­цу с ошиб­кой, хо­ти­те что-то уда­лить, ис­пра­вить. То я ре­аль­но без по­ня­тия как это сде­лать без пол­ной уста­нов­ки про­ек­та на ваш сер­вер. Когда мне по­тре­бо­ва­лось уда­лить неудач­ные дан­ные, то я про­сто снес ин­те­ре­су­ю­щие меня папки и ру­ка­ми от­ре­дак­ти­ро­вал ос­нов­ную стра­ни­цу со спис­ком ар­хи­ви­ро­ван­ных дан­ных. Кри­во­та ко­неч­но, но я про­сто буду осмот­ри­тель­нее вы­би­рать ад­ре­са в сле­ду­ю­щий раз.