Не работает файловый менеджер beget. Обзор хостинга Beget (Бегет)

Приветствую, друзья! Села писать о том, как найти файл сайта легко и просто, но не могу удержаться – похвастаюсь, хотя от многих поздравление уже получила: 23 января 2016 года блог зарегистрирован в разделе «Поисковая оптимизация» Каталога трастовых сайтов. И теперь у меня в футере красуется кнопочка, по которой можно перейти и даже оставить комментарий.

Теперь к делу. Всем, кто ведет блоги или сайты, приходится вносить какие-то правки в код, например, чтобы отредактировать дизайн. У меня сейчас стоит задача другая: избавиться от ошибок в валидности HTML. веб-ресурса влияет на его авторитет не меньше полезного оптимизированного контента и других составляющих. Сначала валидатор выдавал всего 5 ошибок, и я обратилась на форуме sbup.com к специалисту с ником Старый, который дает бесплатные консультации, а также работает на коммерческой основе. Им была обнаружена глобальная ошибка, из-за которой остальные не обнаруживаются. После устранения глобальной у меня вылезло ошибок и предупреждений уже около сорока.

Исправить некоторые труда не составило, например, вставить исчезнувшие пробелы в ссылках. А чтобы устранить другие, требовалось найти место, которое нужно отредактировать. В поиске файлов клиенты Бегета могут обойтись без таких программ, как Notepad++. Искать по тексту или названию файла можно непосредственно в файловом менеджере. По возможности, область поиска нужно сузить, но если мы даже не предполагаем, где может находиться искомый объект, ищем в public_html (корне сайта).

На практике это выглядит так: мне нужно удалить некий фрагмент, выбираю поиск по тексту и в строку вставляю выражение. Осталось запустить поиск и получить результат.

К моему счастью, в результате оказался один файл, а их может быть много. В окне поиска, которое по умолчанию свернуто, указан путь к файлу. Чтобы увидеть его целиком, окно нужно развернуть.

Итак, файл в файловом менеджере хостинга найден. Следующий шаг — его открыть и найти требуемый участок кода, чтобы исправить.

Но не спешите! Самое время загрузить файл на компьютер, чтобы в случае чего заменить тот, который подвергся истязаниям. При таком подходе не потребуется делать резервного копирования всего сайта – существенная деталь, если папки с бэкапом выкладываются на аккаунт, а места лишнего не очень много.

Вот и все. Я рассказала, как найти файл сайта на хостинге Бегет, но, думаю, и на других современных хостингах есть функция поиска.

Итак, чем же лично мне пришелся по-душе хостинг от Бегет? Про многие положительные качества этого хостера я уже . Не лишним будет сказать о его еще нескольких важных технических особенностях.

Мониторинг нагрузки сайта

Менеджер файлов

В панели управления Бегет доступен очень удобный менеджер файлов собственной разработки, часто позволяющий обойтись без использования FTP-клиентов. В 2015 году Бегет сделал этот редактор проектом с открытым исходным кодом и выложил в Интернет под названием SPRUT.io на одноименном сайте.

Менеджер файлов имеет 2 панели, позволяющие легко копировать или переносить файлы из одного каталога в другой. Помимо этого, есть, разумеется, возможность загружать и скачивать файлы, создавать и распаковывать архивы, устанавливать нужные права на папки и файлы.

В файловый менеджер также встроен онлайновый текстовый редактор с подсветкой синтаксиса, наподобие любимого многими редактора Notepad++, очень удобная штука.

Он даже способен подсвечивать ошибки синтаксиса, что также полезно.

Базы данных MySQL

Из панели управления есть возможно включить доступ к нужным базам данных (БД) извне. Это бывает полезно, когда объем БД становится слишком большим и phpMyAdmin уже никак не справится (например, у одного из наших сайтов размер БД уже достиг 1.5ГБ):

Впрочем, в панели управления есть возможность создания бэкапов отдельно как для скриптов сайтов, так и для баз данных с сохранением их в виде архивов на площадке.

Терминал в панели управления

Удивительно, но факт: для продвинутых веб-разработчиков Бегет дает возможность работы в консоли прямо из панели управления, без авторизации и установки дополнительных программ (для Linux и Mac – открывать терминал). Как сообщается в руководстве, для удобства окно с терминалом можно развернуть на весь экран, на часть экрана или перенести в удобное для работы место. При переключении страниц можно продолжать работу с терминалом без разрыва сессии.

Дополнительные сервисы

Помимо обычных для виртуального хостинга возможностей Бегет предлагает немало дополнительных услуг , которые обычно приходится или покупать отдельно, или разворачивать самостоятельно, но уже на VPS/VDS, что значительно сложнее. Например, использование системы кэширования Memcached может помочь значительно увеличить быстродействие сайта и снизить его нагрузку на хостинг-площадку. Ниже на скриншоте можно увидеть список дополнительных возможностей:

Одним словом, достоинств достаточно много, поэтому сам использую этот хостинг с 2010 года и рекомендую своим клиентам.

Сегодня поговорим о хостингах и почему Beget это лучший выбор.

Создание сайта – это достаточно сложный и кропотливый процесс. Абсолютно не имеет значения, для чего вам сайт, будь то интернет-магазин, блоговый сайт, социальный портал, в любом случае вам нужен качественный и надежный хостинг. Одной из самых популярных хостинговых компаний за последние несколько лет, стала Beget.

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

Хостинг сайтов

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

Серверы мощные компьютеры, которые работают абсолютно круглосуточно, что позволяет вашему сайту оставаться рабочим и видимым в интернете.

Естественно, за такую услугу владельцам сайтов, приходится уплачивать ренту. Хостинговые компании – организации, которые предоставляют хостинг пользователям. Их пользователи – люди, которые нуждаются в размещении собственного контента.

Хостинг Beget

Beget считается лучшей платной хостинговой компанией. Главным достоинством Beget стали доступные цены и удобный интерфейс управления сайтом.

Вы сможете подобрать себе пакет для любого вида интернет-ресурса. Если вы не можете определиться, какой пакет вам нужен, достаточно просто обратиться к администрации, где вам ответят на все ваши вопросы.

Также хостингс каждым днем становится все проще и удобней, то есть проблем с управлением сайта на хостинге от данного оператора не будет вообще никаких. Beget – это отличный вариант для любого человека, который хотел бы открыть собственный интернет-бизнес.

Регистрация на Beget

Вводим свои дынные:

  • номер телефона
  • email

Нажимаем кнопку зарегистрировать аккаунт и на этом все. Дальше необходимо оплатить вновь созданный аккаунт.

Если вам нужен сайт, который не будет иметь сильноразветвленной структуры, тогда вы можете выбрать самый дешевый хостинговый пакет. Если же вы хотите размещать на своем портале значительно больше информации, чем позволяет вам стандартный пакет, тогда заказывайте VIP-хостинг. Вы получите приоритетную поддержку и 35 Гб на свои файлы. Это очень удобная услуга для тех, кто хочет создать интернет-маркет. Естественно, что заказывать VIP-хостинг стоит куда дороже.

Немаловажно и то, что благодаря Beget вы сможете арендовать полностью сервера со всей технической поддержкой и круглосуточным мониторингом. Также хостинговый оператор предоставляет невероятно дешевые домены для.РФ и.RU зон.

Оплата хостинга Beget

С оплатой тоже никаких проблем (хотя с этим сейчас ни у кого проблем нет). Выбираем любой удобный нам способ и оплачиваем.

Что мне здесь действительно понравилось, дак это пунктик с произвольной суммой. Если у тебя какие-то проблемы с деньгами, то ты всегда сможешь пополнить баланс которого хватит еще на пару дней например с мобильного телефона.

Есть возможность использования Обещанного платежа

Панель управления Бегет хостинг

Вообще в целом разобраться можно в любом интерфейсе. Но после того, как я пользовавшись cPanel, ISP Manager и другими ПУ пришел сюда, то был приятно впечатлен тем, что бегет не пошли по заезженному пути а создали свою панель управления. И им это вполне удалось. Панель проста в понимании, имеет приятный дизайн, удобную компоновку элементов. Отдельно каждый элемент рассматривать не буду. тут все как у всех: базы данных, доступ по ftp, парковка доменов и т.д.

Бесплатный месяц тестирования на Beget

Вы хотели бы посмотреть, как ваш сайт будет работать на настоящем хосте, но платить за попытку не хотите? Тогда услуга "бесплатный хостинг" - то, что вам надо. Достаточно лишь зарегистрироваться, и вы можете приступать к работе.

Это очень выгодная услуга для тестовых интернет-порталов. Многие веб-мастера пользуются этой опцией для запуска своих проектов. Конечно же, такой хостинг не обслуживается так, как платный аналог.

Техподдержка хостинга

Судя по отзывам в интернете поддержка у них очень квалифицированная и она не ограничивается стандартными отмазками типа "перезагрузитесь", а реально помогает искать какие-то проблемы. Но мой отзыв будет самым лучшим. За год работы с данным хостингом мне НИ РАЗУ не потребовалась их помощь, и это на мой взгляд лучший показатель отличной работы Beget.

Если у вас возникнут какие-то вопросы по поводу работы доменов и серверов, вы без проблем можете обратиться к консультантам или администрации абсолютно любым удобным для вас образом. Вся контактная информация имеется на официальном сайте Beget.

Если же вы только хотите открыть собственный интернет-портал, тогда все вопросы вы можете оговорить непосредственно по телефону или же посредством электронной почты, ICQ, Skype. На сайте компании вы можете не только связаться с консультантами, но и сразу же заказать хостинг. Все очень быстро и просто.

Преимущества Beget

Beget отличается от всех своих конкурентов, тем, что старается ни на секунду не отставать от времени и с каждым днем модернизируется и становится удобней.

Одним из главных достоинств этой хостинговой компании является удобный файловый менеджер , который позволит вам без особого труда размещать файлы на сайте и редактировать их. Также данный менеджер имеет невероятно удобный кодовый редактор. Сайты на хосте Beget оснащены очень быстрым и качественным автоматическим резервным копированием.

Файловый менеджер на данном хостинге - это тот камень преткновения из-за которого я и полюбил beget. Он настолько удобен, что я полностью забыл про использования FileZilla и прочих подобных программ. Он также имеет свой индивидуальный интуитивно понятный дизайн. Удобная закачка файлов прямо из менеджера, редактирование любых типов файлов.

Скорость копирования файлов на локальный или удаленный серверы - 1 Гб/с, что невероятно удобно. Нужно обязательно сказать про панель управления, которая сделана максимально эргономично, чтобы не было никаких затруднений в организации сайта.

Панель управления снабжена калькулятором услуг, который позволит вам следить за расходом ваших денежных средств. Обо всех остальных услугах, которые предоставляет хостинговый оператор, вы можете подробней узнать в разделах «Услуги» и «О сайте».

Акции и выгодные предложения

Beget всегда заботится о своих клиентах, поэтому посещая главный ресурс этого хостера, вы всегда можете рассчитывать на самые разные скидки, подарочные пакеты, дополнительные домены и т.д.

Любой, кто хотя бы один раз имел дело с Beget, больше никогда не будет искать нового хостингового оператора. Компания гарантирует:

  • надежную работу;
  • качественное обслуживание;
  • выгодные предложения;
  • приятные цены.

Смело связывайтесь с консультантами Beget и спрашивайте об акциях, они с удовольствием ответят на все ваши вопросы.

Краткий вывод

В выводе я хочу выделить все плюсы данного хостинга:

  • Очень простой и надежный хостинг.
  • удобный файловый менеджер
  • большое количество способов оплаты
  • современный интерфейс
  • бесплатный ssl сертификат для доменов
  • хороший бэкап сайтов
  • Выгодные цены вкупе со скидками и акциями, которые позволяют экономить.
  • Любезная администрация, которая ответит на любой ваш вопрос.
  • Круглосуточное обслуживание ваших сайтов и аккаунтов для их стабильной работоспособности.
  • Мощные серверы, которые гарантируют постоянную работоспособность ресурса.
  • Простой дизайн и метод управления.
  • Возможность запуска тестового проекта благодаря услуге бесплатного хостинга.
  • Постоянные системы скидок и выгодных предложений.

Встречать более удобный хостинг для работы мне пока не приводилось и именно по этому я его всем советую. А еще надеюсь что команда beget не зазнеается и будет и дальше радовать своих пользователей отличной работой. Уж очень мне не хочется подыскивать новый. Вообщем пробуйте, тестируйте и возвращайтесь к нам на сайт, чтобы оставить свой комментарий по поводу его работы.

Вы никогда не останетесь в стороне от самых свежих последних новостей Beget. Любое обновление, любая акция или новая услуга будет тут же размещена на официальном сайте компании в разделе «Новости». Итак, работать с Beget - это:

Если у вас появилось желание или необходимость в собственном сайте, тогда, вне всякого сомнения, вам следует обратиться к мастерам Beget, которые помогут вам выбрать хостинговый профиль и подобрать максимальную продуктивность домена по выгодной цене. Вы останетесь довольны, а весь ваш контент надежно сохранен от повреждений и вирусов.


  • Определение кодировки

    Задача:

    Проблемы:

    Решение:

    # Для определения кодировки используем порт uchardet от Mozilla - python chardet # https://github.com/chardet/chardet # # Используем dev версию, там все самое свежее. # Данный код постоянно улучшается благодаря обратной связи с пользователями # чем больше - тем точнее определяется кодировка, но медленнее. 50000 - выбрано опытным путем self.charset_detect_buffer = 50000 # Берем часть файла part_content = content + content[-self.charset_detect_buffer:] chardet_result = chardet.detect(part_content) detected = chardet_result["encoding"] confidence = chardet_result["confidence"] # костыль для тех, кто использует кривые редакторы в windows # из-за этого в файлах utf-8 имеем cp-1251 из-за чего библиотека ведет себя непредсказуемо при детектировании re_utf8 = re.compile(".*charset\s*=\s*utf\-8.*", re.UNICODE | re.IGNORECASE | re.MULTILINE) html_ext = ["htm", "html", "phtml", "php", "inc", "tpl", "xml"] # Все вероятности выбраны опытным путем, на основе набора файлов для тестирования if confidence > 0.75 and detected != "windows-1251" and detected != FM.DEFAULT_ENCODING: if detected == "ISO-8859-7": detected = "windows-1251" if detected == "ISO-8859-2": detected = "utf-8" if detected == "ascii": detected = "utf-8" if detected == "MacCyrillic": detected = "windows-1251" # если все же ошиблись - костыль на указанный в файле charset if detected != FM.DEFAULT_ENCODING and file_ext in html_ext: result_of_search = re_utf8.search(part_content) self.logger.debug(result_of_search) if result_of_search is not None: self.logger.debug("matched utf-8 charset") detected = FM.DEFAULT_ENCODING else: self.logger.debug("not matched utf-8 charset") elif confidence >

  • Задача:
    *.com" "$* = 42;" и т.д.

    Проблемы:

    Решение:

    Пример реализации воркера


  • Задача:

    Проблемы:

    Решение:

    • Добавить поддержку SSH/SFTP
    • Добавить поддержку WebDav
    • Добавить терминал

    .

  • Блог компании Beget.com
  • Добавить метки

    Приветствую, друзья! Села писать о том, как найти файл сайта легко и просто, но не могу удержаться – похвастаюсь, хотя от многих поздравление уже получила: 23 января 2016 года блог зарегистрирован в разделе «Поисковая оптимизация» Каталога трастовых сайтов. И теперь у меня в футере красуется кнопочка, по которой можно перейти и даже оставить комментарий.

    Теперь к делу. Всем, кто ведет блоги или сайты, приходится вносить какие-то правки в код, например, чтобы отредактировать дизайн. У меня сейчас стоит задача другая: избавиться от ошибок в валидности HTML. веб-ресурса влияет на его авторитет не меньше полезного оптимизированного контента и других составляющих. Сначала валидатор выдавал всего 5 ошибок, и я обратилась на форуме sbup.com к специалисту с ником Старый, который дает бесплатные консультации, а также работает на коммерческой основе. Им была обнаружена глобальная ошибка, из-за которой остальные не обнаруживаются. После устранения глобальной у меня вылезло ошибок и предупреждений уже около сорока.

    Исправить некоторые труда не составило, например, вставить исчезнувшие пробелы в ссылках. А чтобы устранить другие, требовалось найти место, которое нужно отредактировать. В поиске файлов клиенты Бегета могут обойтись без таких программ, как Notepad++. Искать по тексту или названию файла можно непосредственно в файловом менеджере. По возможности, область поиска нужно сузить, но если мы даже не предполагаем, где может находиться искомый объект, ищем в public_html (корне сайта).

    На практике это выглядит так: мне нужно удалить некий фрагмент, выбираю поиск по тексту и в строку вставляю выражение. Осталось запустить поиск и получить результат.

    К моему счастью, в результате оказался один файл, а их может быть много. В окне поиска, которое по умолчанию свернуто, указан путь к файлу. Чтобы увидеть его целиком, окно нужно развернуть.

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

    Но не спешите! Самое время загрузить файл на компьютер, чтобы в случае чего заменить тот, который подвергся истязаниям. При таком подходе не потребуется делать резервного копирования всего сайта – существенная деталь, если папки с бэкапом выкладываются на аккаунт, а места лишнего не очень много.

    Вот и все. Я рассказала, как найти файл сайта на хостинге Бегет, но, думаю, и на других современных хостингах есть функция поиска.

    Который мы разрабатывали для наших пользователей и который используется у нас в панели управления. Приглашаем всех желающих присоединиться к его разработке. О том, как он разрабатывался и почему нас не устроили существующие аналоги, какие костыли технологии мы использовали и кому он может пригодиться, расскажем в этой статье.

    Зачем изобретать свой файловый менеджер

    В 2010 году мы использовали NetFTP, который вполне сносно решал задачи открыть/загрузить/подправить несколько файлов.
    Однако, пользователям иногда хотелось научиться переносить сайты между хостингами или у нас между аккаунтами, но сайт был большой, а интернет у пользователей не самый хороший. В итоге, или мы делали это сами (что явно было быстрее), или объясняли, что такое SSH, MC, SCP и прочие страшные вещи.

    Тогда у нас и появилась идея сделать WEB двух-панельный файловый менеджер, который работает на стороне сервера и может копировать между разными источниками на скорости сервера, а также, в котором будут: поиск по файлам и директориям, анализ занятого места (аналог ncdu), простая загрузка файлов, ну и много всего интересного. В общем, все то, что облегчило бы жизнь нашим пользователям и нам.

    В мае 2013 мы выложили его в продакшн на нашем хостинге. В некоторых моментах получилось даже лучше, чем мы хотели изначально - для загрузки файлов и доступа к локальной файловой системе написали Java апплет, позволяющий выбрать файлы и все сразу скопировать на хостинг или наоборот с хостинга (куда копировать не так важно, он умел работать и с удаленным FTP и с домашней директорией пользователя, но, к сожалению, скоро браузеры не будут его поддерживать).

  • Определение кодировки

    Задача:
    Открыть файл на редактирование с определением кодировки, записать с учетом исходной кодировки.

    Проблемы:
    Если у пользователя некорректно распознавалась кодировка, то при внесении изменений в файл c последующей записью мы можем получить UnicodeDecodeError и изменения не будут записаны.

    Все «костыли», которые в итоге были внесены, являются итогом работы по тикетам с файлами, полученными от пользователей, все «проблемные» файлы мы также используем для тестирования после внесенний изменений в код.

    Решение:
    Исследовав интернет в поисках данного решения, нашли библиотеку chardet . Данная библиотека, в свою очередь, является портом библиотеки от Mozilla. Она, например, используется в известном редакторе https://notepad-plus-plus.org

    Протестировав ее на реальных примерах, мы поняли, что в реальности она может ошибаться. Вместо CP-1251 может выдаваться, например, «MacCyrillic» или «ISO-8859-7», а вместо UTF-8 может быть «ISO-8859-2» или частный случай «ascii».

    Кроме этого, некоторые файлы на хостинге были utf-8, но содержали странные символы, то ли от редакторов, которые не умеют корректно работать с UTF, то ли еще откуда, специально для таких случаев также пришлось добавлять «костыли».

    Пример распознавания кодировки и чтения файлов, с комментариями

    # Для определения кодировки используем порт uchardet от Mozilla - python chardet # https://github.com/chardet/chardet # # Используем dev версию, там все самое свежее. # Данный код постоянно улучшается благодаря обратной связи с пользователями # чем больше - тем точнее определяется кодировка, но медленнее. 50000 - выбрано опытным путем self.charset_detect_buffer = 50000 # Берем часть файла part_content = content + content[-self.charset_detect_buffer:] chardet_result = chardet.detect(part_content) detected = chardet_result["encoding"] confidence = chardet_result["confidence"] # костыль для тех, кто использует кривые редакторы в windows # из-за этого в файлах utf-8 имеем cp-1251 из-за чего библиотека ведет себя непредсказуемо при детектировании re_utf8 = re.compile(".*charset\s*=\s*utf\-8.*", re.UNICODE | re.IGNORECASE | re.MULTILINE) html_ext = ["htm", "html", "phtml", "php", "inc", "tpl", "xml"] # Все вероятности выбраны опытным путем, на основе набора файлов для тестирования if confidence > 0.75 and detected != "windows-1251" and detected != FM.DEFAULT_ENCODING: if detected == "ISO-8859-7": detected = "windows-1251" if detected == "ISO-8859-2": detected = "utf-8" if detected == "ascii": detected = "utf-8" if detected == "MacCyrillic": detected = "windows-1251" # если все же ошиблись - костыль на указанный в файле charset if detected != FM.DEFAULT_ENCODING and file_ext in html_ext: result_of_search = re_utf8.search(part_content) self.logger.debug(result_of_search) if result_of_search is not None: self.logger.debug("matched utf-8 charset") detected = FM.DEFAULT_ENCODING else: self.logger.debug("not matched utf-8 charset") elif confidence > 0.60 and detected != "windows-1251" and detected != FM.DEFAULT_ENCODING: # Тут отдельная логика # Код убран для краткости из примера elif detected == "windows-1251" or detected == FM.DEFAULT_ENCODING: pass # Если определилось не очень верно, то тогда, скорее всего, это ошибка и берем UTF-8)) else: detected = FM.DEFAULT_ENCODING encoding = detected if (detected or "").lower() in FM.encodings else FM.DEFAULT_ENCODING answer = { "item": self._make_file_info(abs_path), "content": content, "encoding": encoding }

  • Параллельный поиск текста в файлах с учетом кодировки файла

    Задача:
    Организовать поиск текста в файлах с возможностью использования в имени «shell-style wildcards», то есть, например, " *.com" "$* = 42;" и т.д.

    Проблемы:
    Пользователь вводит слово «Контакты» - поиск показывает, что нет файлов с данным текстом, а в реальности они есть, но на хостинге у нас встречается множество кодировок даже в рамках одного проекта. Поэтому поиск также должен учитывать это.

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

    Решение:
    Многозадачность организовали достаточно стандартно, используя модуль multiprocessing и две очереди (список всех файлов, список найденных файлов с искомыми вхождениями). Один воркер строит список файлов, а остальные, работая параллельно, разбирают его и осуществляют непосредственно поиск.

    Искомую строку можно представить в виде регулярного выражения, используя пакет fnmatch . Ссылка на итоговую реализацию поиска.

    Для решения проблемы с кодировками приведен пример кода с комментариями, там используется уже знакомый нам пакет chardet .

    Пример реализации воркера

    # Приведен пример воркера self.re_text = re.compile(".*" + fnmatch.translate(self.text)[:-7] + ".*", re.UNICODE | re.IGNORECASE) # remove \Z(?ms) from end of result expression def worker(re_text, file_queue, result_queue, logger, timeout): while int(time.time())
    В итоговой реализации добавлена возможность выставить время выполнения в секундах (таймаут) - по умолчанию выбран 1 час. В самих процессах воркеров понижен приоритет выполнения для снижения нагрузки на диск и на процессор.

  • Распаковка и создание файловых архивов

    Задача:
    Дать пользователям возможность создавать архивы (доступны zip, tar.gz, bz2, tar) и распаковывать их (gz, tar.gz, tar, rar, zip, 7z)

    Проблемы:
    Мы встретили множество проблем с «реальными» архивами, это и имена файлов в кодировке cp866 (DOS), и обратные слеши в именах файлов (windows). Некоторые библиотеки (стандартная ZipFile python3, python-libarchive) не работали с русскими именами внутри архива. Некоторые реализации библиотек, в частности SevenZip, RarFile не умеют распаковывать пустые папки и файлы (в архивах с CMS они встречаются постоянно). Также пользователи всегда хотят видеть процесс выполнения операции, а как это сделать если не позволяет библиотека (например просто делается вызов extractall())?

    Решение:
    Библиотеки ZipFile, а также libarchive-python пришлось исправлять и подключать как отдельные пакеты к проекту. Для libarchive-python пришлось сделать форк библиотеки и адаптировать ее под python 3.

    Создание файлов и папок с нулевым размером (баг замечен в библиотеках SevenZip и RarFile) пришлось делать отдельным циклом в самом начале по заголовкам файлов в архиве. По всем багам разработчикам отписали, как найдем время то отправим pull request им, судя по всему, исправлять они это сами не собираются.

    Отдельно сделана обработка gzip сжатых файлов (для дампов sql и проч.), тут обошлось без костылей с помощью стандартной библиотеки.

    Прогресс операции отслеживается с помощью вотчера на системный вызов IN_CREATE, используя библиотеку pyinotify . Работает, конечно, не очень точно (не всегда вотчер срабатывает, когда большая вложенность файлов, поэтому добавлен магический коэффициент 1.5), но задачу отобразить хоть что-то похожее для пользователей выполняет. Неплохое решение, учитывая, что нет возможности отследить это, не переписывая все библиотеки для архивов.

    Помогите нам сделать Sprut.IO лучше

    Очевидных возможностей для дальнейшего улучшения файлового менеджера достаточно много.

    Как наиболее полезные для пользователей, нам видятся:

    • Добавить поддержку SSH/SFTP
    • Добавить поддержку WebDav
    • Добавить терминал
    • Добавить возможность работы с Git
    • Добавить возможность расшаривания файлов
    • Добавить переключение тем оформление и создание различных тем
    • Сделать универсальный интерфейс работы с модулями

    Если у вас есть дополнения, что может быть полезно пользователям, расскажите нам о них в комментариях или в списке рассылки .

    Мы начнем их реализовывать, но не побоюсь этого сказать: своими силами на это уйдут годы если не десятилетия. Поэтому, если вы хотите научиться умеете программировать, знаете Python и ExtJS и хотите получить опыт разработки в открытом проекте - приглашаем вас присоединиться к разработке Sprut.IO. Тем более, что за каждую реализованную фичу мы будем выплачивать вознаграждение, так как нам не придется реализовывать ее самим.

  • Добавить метки

    В качестве движка, самое время выбрать хостинг - сервер, на котором Ваш сайт будет располагаться. В этой статье мы рассмотрим и его основные возможности.

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

    Давайте обо всем по порядку.

    Резервное копирование Ваших сайтов

    Автоматическое создание резервных копий Ваших сайтов (файлов и баз данных) - залог их стабильной работы. Вы не потеряете несколько месяцев работы только потому, что поленились лишний раз зайти в панель управления хостингом и создать «бэкап».

    Если в дальнейшем Вашему сайту станет тесно на бесплатном тарифе, Вы сможете перейти на любой другой. Цены не кусаются.

    30 дней бесплатного хостинга

    Если бесплатного тарифа Вам явно мало, Вы можете выбрать любой подходящий из платных. При этом целых 30 дней с момента регистрации Вы полноценно сможете пользоваться хостингом BeGet абсолютно бесплатно .

    Таких тестовых периодов на других хостингах почти не бывает.

    К тому же, если по каким-то причинам Вы не захотите пользоваться услугами BeGet по истечении этого периода, Вы можете просто отказаться от их услуг, не платя ни копейки.

    Заключение

    Почему мы решили рассказать Вам именно о, а не о каком-либо другом? Или даже не сделали обзор?

    Все просто - потому, что мы пользуемся этим хостингом сами . Нам нравится удобная и красочная панель управления, бесподобный файловый менеджер, автоматическое резервное копирование, автоматическая установка WordPress и отзывчивая служба поддержки.

    К тому же, в дальнейших статьях на Школе Блоггера мы будем публиковать подробные инструкции по отдельным моментам работы с хостингом - именно на примере BeGet. И нам хотелось бы, чтобы осваивать и внедрять полученные навыки Вам было просто.

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

    В следующей статье я расскажу, как установить WordPress на хостинг . Подписывайтесь на обновления в колонке справа 😉

    Чтобы перенести сайт, работающий на CMS, на другой хостинг или локальный сервер, не достаточно просто скопировать его файлы из одного места в другое, для работы сайта необходимо еще перенести все данные из базы данных.

    Перед началом переноса сайта обязательно создайте текстовый файл и записывайте туда все данные - адрес, логин и пароль для входа в аккаунт хостинга, имя базы данных, имя пользователя, пароль базы данных, другие необходимые данные

    Независимо от того, какую CMS вы используете, процесс переноса будет состоять из следующих шагов:

    Действия на локальном сервере (или старом хостинге)

    1. Архивируем файлы сайта в архив в формате .zip

    2. Экспортируем данные из базы данных или, другими словами, создаем резевную копию базы данных . Упрощенно - это все данные нашей базы, которые записаны в текстовый файл с расширением .sql

    Действия на удаленном сервере (локальный сервер на другом компьютере или хостинг)

    1. Копируем на удаленный сервер архив с файлами сайта и разворачиваем его с сохранением структуры папок

    2. Проверяем права доступа к папкам и файлам и, если необходимо, изменяем их.

    3. Создаем новую базу данных . Запоминаем (записываем) название базы данных, имя пользователя, пароль к базе данных

    4. Импортируем в созданную базу данных резевную копию базы данных . (из файла с расширением .sql )

    5. В файле конфигурации сайта меняем старые название базы, имя пользователя и пароль к базе на новые

    6. В разделе кофигурации сайта меняем пути к файлам и временным папкам сайта на новые (если необходимо)

    Создание резервной копии сайта MODX на локальном сервере

    Создавать архив мы будем архиватором RAR, если он не установлен на вашем компьютере, скачайте его отсюда и установите его.

    Создание архива файлов сайта

    Открываем папку с файлами нашего сайта Z:/home/okarina.loc/www , выделяем все файлы и папки и кликаем правой кнопкой мыши на любом файле. В открывшемся меню выбираем пункт Добавить в архив...

    Создание архива с файлами сайта

    В открывшемся окне архиватора выбираем Формат архива - ZIP и нажимаем кнопку Ок

    Выбор типа архива

    Архив начнет создаваться и по завершению мы увидим в корневой папке нашего сайта файл с архивом www.zip

    Архив сайта

    Архив можно перенести в другую папку, чтобы он не "болтался" на нашем локальном сайте. Например, сделайте где-нибудь на диске папку Перенос сайта и перенесите его в нее.

    Создание резервной копии базы данных

    В браузере заходим в админку сайта, Инструменты -> Резервное копирование , кликаем галку перед пунктом Название таблицы , чтобы выделить все таблицы в базе данных и нажимаем кнопку создать и загрузить резервную копию выбранных таблиц

    Создание резервной копии базы данных сайта

    В появившемся окне открытия файла проверьте, что выбрано Сохранить файл и нажмите Ок

    Сохраняем базу данных в файл

    Чтобы найти сохраненный файл, нажмите на иконку в панеле браузера, как показано на картинке ниже (для браузера Firefox)

    Открываем папку с сохраненной копией базы данных

    Или в проводнике откройте папку Загрузки

    Папка Загрузки с копией базы данных

    Искомый файл должен иметь расширение .sql и в его названии должна присутствовать текущая дата

    Перенесите этот файл в папку Перенос сайта

    Сайт готов для переноса

    На этом подготовительная часть на локальном компьютере закончена. В папке Перенос сайта лежит архив нашего сайта и база данных.

    По этой ссылке вы можете скачать содержание моей папки Перенос сайта

    Регистрация аккаунта на хостинге BEGET.RU

    Мы можем зарегистрировать полноценный аккаунт нахостинге beget и в течении 30-ти дней он будет работать в тестовом режиме бесплатно.

    Заходим на сайт по адресу beget.ru и выбираем один из тарифов, например, Start . Этот тариф включает возможность зарегистрировать бесплатно домен в зоне RU

    Выбираем тариф

    Внимательно заполняйте поля, на указанный телефон будет выслан код подтверждения а на e-mail - данные по входу в аккаунт.

    Регистрация хостинга в BEGET

    После регистрации, на ваш телефон придет смс с кодом подтверждения , который нужно будет ввести в окне как показано ниже

    Вводим код подтверждения для регистрации аккаунта в BEGET

    После подтверждения система покажет вам анимацию процесса создания вашего хостинга

    Создание аккаунта BEGET

    Обязательно сохраните выделенные красной рамкой на картинке ниже данные в текстовый файл ! На почту, указанную при регистрации так же придет письмо с этими данными

    Хостниг BEGET. Завершение процесса регистрации нового аккаунта

    Чтобы первый раз зайти в панель управления хостингом beget.ru можно кликнуть на ссылку Перейти в Панель Управления

    Панель управления аккаунтом хостинга BEGET

    На этом регистрация окончена. Поздравляю, у вас есть свой хостинг!

    Перенос файлов сайта на хостинг BEGET и настройка прав доступа

    Войдите в панель управления хостингом и кликните на иконку Файлового менеджера

    Файловый менеджер хостинга BEGET

    При первом заходе вы увидите папку, название которой будет соответствовать адресу сайта, другими словами, это ваш тестовый домен .

    Тестовый домен на хостинге BEGET

    Чтобы загрузить архив нашего сайта на хостинг, заходим в папку [ваш аккаунт].bget/public_html и удаляем все из этой директории. Для этого выбираем все файлы и папки , кликаем правой кнопкой мыши и выбираем пункт Удалить . После чего нажимаем кнопку (синяя стрелка вверх) Загрузить файлы как показано на картинке ниже

    В появившемся окне нажимаем Выбрать... и выбираем архив нашего сайта www.zip , который находится в папке Перенос сайта

    Загружаем архив сайта на хостинг BEGET

    Правой кнопкой кликаем на файл архива , в выпадающем меню выбираем Распаковать архив

    Распаковка архива с файлами сайта на хостинге BEGET

    После распаковки архива можно удалить файл архива, чтобы он не занимал место на хостинге, кликаем по нему правой кнопкой и выбираем Удалить

    Удаление файла архива с хостинга BEGET

    Поднимаемся выше в дереве директорий, правой кнопкой кликаем на папке public_html и выбирем Изменить атрибуты

    Изменение атрибутов файлов и папок на хостинге BEGET

    В появившемся окне вводим в поле Кодовое значение - 755 , кликаем галку Применить рекурсивно и выбираем только к папкам . Этой операцией мы выставим необходимые права доступа для всех папок нашего сайта

    Выставляем права для папок сайта на хостинге BEGET

    Опять кликаем правой кнопкой мыши на папку public_html , выбираем Изменить атрибуты , вводим кодовое значение 644, применить рекурсивно, только к файлам

    Выставляем права на файлы сайта на хостинге BEGET

    В результате все папки нашего сайта должны иметь права 755 , а файлы 644

    Права на файлы и папки на хостинге BEGET

    Создание базы данных на хостинге BEGET и импорт данных

    В панеле управления кликаем на иконку MySQL

    Управление базами данных на хостинге BEGET

    Вписываем название базы данных и генерируем пароль

    Обязательно запишите название базы данных и пароль в текстовый файл!

    Создание новой базы данных на хостинге BEGET

    После создания базы данных кликаем на надпись phpMyAdmin

    Вход в базу данных через phpMyAdmin на хостинге BEGET

    Нажимаем кнопку Импорт

    Импортирование данных в базу данных на хостинге BEGET

    Нажимаем кнопку Обзор... , из папки Перенос сайта выбираем файл с базой данных (расширение sql ), после чего нажимаем кнопку Вперёд

    Импорт данных из резервной копии в базу данных на хостинге BEGET

    В результате будет выведено сообщение об успешном импорте и слева в колонке появятся таблицы базы данных

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

    Импортированные данные сайта в базу данных на хостинге BEGET

    Отлично! Мы развернули на хостинге файлы нашего сайта, настроили права доступа к ним, создали базу данных и импортировали в нее данные нашего сайта. Осталось совсем чуть-чуть.

    Файл конфигурации MODX и последние настройки

    В файловом менеджере на хостинге заходим в папку public_html/manager/includes , кликаем правой кнопкой на файл config.inc.php и в выпадающем меню выбираем правка

    Файл конфигурации MODX на хостинге BEGET

    Изменяем имя пользователя базы данных, пароль и название базы данных на те, которые используются на нашем хостинге. Вы их должны были записать в текстовый файл.

    На хостинге BEGET имя и пользователь базы данных имеют одинаковые названия

    Правка файла конфигурации сайта на MODX на хостинге BEGET

    После сохранения файла конфигурации для усиления безопастности сайта нужно запретить возможность правки файла конфигурации, для этого кликаем по файлу config.inc.php правой кнопкой мыши и в выпадающем меню выбираем Атрибуты . В появившемся окне в поле Кодовое значение вводим 600 и нажимаем кнопку Изменить

    Закрываем доступ к файлу конфигурации MODX на хостинге BEGET

    В браузере заходим в админку нашего сайта на удаленном хостинге, в адресной строке набираем [назв.аккаунта].bget.ru/manager , вводим логин и пароль доступа в админку (логин: admin , пароль: 1 ), выбираем Инструменты -> Конфигурация , переходим на вкладку Файл-менеджер и в поле Путь для файл-менеджера нажимаем кнопку Сброс

    Сброс пути для файл-менеджера в админке MODX

    Переходим на вкладку Файл-браузер и в поле Путь к файлам так же нажимаем кнопку Сброс , после чего сохраняем изменения в конфигурации

    Сброс пути для файл-браузер в админке MODX

    Переходим на вкладку Сайт , для очистки старых данных из кэша сайта нажимаем Очистить кэш и открываем наш сайт на хостинге, нажав пункт меню Просмотр

    Очистка кэша в MODX

    Наш сайт на MODX на хостинге BEGET