«Облачный» бэкап

Еще давно просил alice2k написать годный мануал про создание бэкапов в Яндекс.Диск, но с тех пор ничего не изменилось. Сегодня случайно увидел статью на wiki.firstvds.ru, но все-равно, тема до конца не раскрыта.

Если мы снова обратимся к википедии, то найдем то найдем там достататочно обширный список сервисов, готовых предоставить нам какое-то количество места на своих дисках. Где-то место предоставляют бесплатно, где-то за деньги. Для своих экспериментов я выбрал Яндекс.Диск, которых хорош тем, что доступ к нему осуществляется по протоколу WebDAV. Нетрудно догадаться, что после непродолжительного гугления я нашел davfs2 — утилиту, которая простой и понятной командой
mount -t davfs https://webdav.yandex.ru /backup

подключила мой Яндекс.Диск в директорию /backup моего VDS. Аналогичным образом подключается Microsoft SkyDrive, который так же работает по протокоду WebDAV.

В случае с FreeBSD тоже все просто
# pkg_add -r fusefs-wdfs
# echo 'fusefs_enable="YES"' >> /etc/rc.conf
# /usr/local/etc/rc.d/fusefs start
# wdfs https://webdav.yandex.ru /backup -o accept_sslcert,username=user@yandex.ru,password=youpassword

Но этот способ сработает лишь на VDS c аппаратной виртуализацией KVM, в случае же с неаппаратными виртуализациями на базе FreeBSD и OpenVZ воспользоваться этими способами не получится, т.к. у VDS нет прав на загрузку модулей ядра, однако все равно есть способ разместить архив в Webdav-хранилище на Яндексе, Skydrive или где-то еще используя curl, команда при этом будет выглядеть так
# curl --user yandex_login:yandex_password -T file_name_to_upload https://webdav.yandex.ru

В случае с Яндекс.Диском в целях повышения безопасности, можно так же воспользоваться API Яндекса для выполнения авторизации.

Список хостеров Апрель 2012

В 2012 я почти перестал постить посты с опытом, с описанием каких-то проблем, недочетов или непониманий между мной/клиентом и хостером.
Просто наверно потому, что все, что мне не хватало в мировозрении понятия «хостинг» я изучил за 2011, по ежедневному чтению rss каждого топика, на всяких популярных форумах. Да потестив самостоятельно с пару десятков разных контор.
В 2012 посты о хостинг конторах стали походить больше, на обычное описание услуг в деталях. Просто потому что сейчас я уже ничему не удивляюсь, я знаю как все устроено, все цепочки от ДЦ до клиента, кто как покупает, как перепродает, кучу нюансов, которые познаются с разными уровнями нагрузок или кол-вом мусора/сайтов(за счет раздач за спасибо протестил хорошо), и не считаю многие вещи косяками, а в январе 2011 например нубил бывало, спорил с тех-поддержками всякими, хотя сейчас понимаю, что претензия была ниочем. Тогда мне казалось это не правильным, но после тестов и наблюдений как-оно-на-деле, теперь я уже не удивляюсь куче вещей.

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

Апрель 2012
1. ihc.ru (хорошая поддержка, хорошие ресурсы, цены не такие уж и дорогие)
2. ru.hetzner.de (дешево и сердито. горят часто, рэйды разваливают. но за счет цены все ок)
3. fastvps.ru (брать в основном из-за бесплатной поддержки серверов, а сервера это тот же hetzner)
4. tinyvds.ru (реселлер hetzner, очень хорошее взаимодействие конторы и ДЦ, меняют если что горит быстрее всех. но слабоваты каналы, если трафика по 30гб в сутки не пойдет)
5. server.lu/servers (хорошее оборудование, поддержка на русском есть)
6. clodo.ru (довольно неплохо. тех поддержка дорогая и платная. брать только под нагрузочные проекты. трафик дорогой, не для качалова. но можно получить ресурсы сравнимые с целым сервером и дешевле)
7. selectel.ru (я для своих личных использую, для того же a404. облака, так же, для визиток не пойдет, ибо за пустую работу сервера минимально 300р платить. трафик дешевле чем у clodo, поддержка более дружелюбная)
8. firstvds.ru (демпинг, но пока что ресурсы соответствуют заявленным, есть сразу ipv4+ipv6 уже везде)
9. inferno.name (самое большое взаимодействие с разными странами, поддержка норм)
10. sky-hosting.ru (дедики или шаред. vds еще не набрали опыта для качества)

Сервера нада учитывать порт. Иногда бывает что дата центры даже наебывают. Шаред порты называется. Если уж брать сервер, то стараться с выделенным или там где шаред не засран и ДЦ может увеличить если что, а то у Чехов например пиздец там был случай, месяц понадобилось чтобы увеличить пропускную способность ДЦ.

Облака хороши для проектов, где есть пики нагрузок. Но не для постоянных нагрузок или же прокачек на канал/трафик, выйдет дороже чем сервер. Но если для пиков и стабильности дешевле. Для облаков нада готовиться минимум платить по 300-500р, а дальше уже от пиков и трафика.

Лучший шаред — вип на ihc.ru, вип по лимитам шареда сравним с vds мощными. если не охота админить, то он самое оно.
Лучше vds — ihc, tinyvds, selectel, clodo, inferno, firstvds
Дедики с поддержкой — fastvps однозначно. Поддержка будет разбираться с любыми вопросами.

Восстановление базы данных ( *.frm *.MYD *.MYI )

Бывают всякие сутиации. В ноябре 2011 столкнулся с такой ситуацией: база sql утеряна, хостер выдает бэкап базы в файлах с расширениями *.frm *.MYD *.MYI

Как восстановить базу данных SQL из *.frm *.MYD *.MYI? Все, что ниже — я проделывал лично.

1. Скачиваем и устанавливаем Denwer.
2. Переходим в браузере на localhost/Tools/phpMyAdmin/ (создаем БД с именем «abcd»).
3. Переходим в директорию на диске, куда устанавливали Denwer, у меня это: «C:\WebServers\usr\local\mysql-5.1\data\» и находим папку «abcd».
4. Копируем в папку «abcd» файлы из бэкапа *.frm *.MYD *.MYI.
5. Получаем (все данные в целости и сохранности):



6. Теперь экспортируем базу из phpmyadmin в расширении .SQL.

© 1337

10 полезных приёмов в .htaccess

Предупреждение: перед редактированием файла .htaccess нужно всегда делать резервную копию работающего варианта!

Принудительная постановка замыкающего слеша
Считается, что замыкающий слеш в адресе URL очень хорошо помогает в области SEO сайта. Следующий код всегда будет добавлять слеш в адрес URL вашего сайта.
<IfModule mod_rewrite.c>
 RewriteCond %{REQUEST_URI} /+[^\.]+$
 RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
</IfModule>


Предотвращаем хотлинк ресурсов сайта
Хотлинк (использование изображений вашего сайта другими сайтами в сети) является весьма популярной практикой, которая прожигает впустую трафик вашего сервера. Следующий код будет перенаправлять все хотлинк запросы к изображениям вашего сайта на определенную картинку, адрес которой задается в строке 6.
RewriteEngine On
#Замените ?mysite\.com/ на адрес вашего блога
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Замените /images/nohotlink.jpg на ваше изображение с запрещением хотлинка
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]


Перенаправляем мобильные устройства
Если ваш сайт не использует адаптивный дизайн, то будет очень полезно перенаправить мобильные устройства на специальную версию сайта.
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/m/.*$
RewriteCond %{HTTP_ACCEPT} "text/vnd.wap.wml|application/vnd.wap.xhtml+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT}  "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "up.browser|up.link|windowssce|iemobile|mini|mmp" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp" [NC]
#------------- Строка ниже исключает iPad
RewriteCond %{HTTP_USER_AGENT} !^.*iPad.*$
#-------------
RewriteCond %{HTTP_USER_AGENT} !macintosh [NC]
RewriteRule ^(.*)$ /m/ [L,R=302]


Принудительная загрузка файлов определенного типа
По некоторым причинам вам может потребоваться принудительная загрузка файлов определенных типов (например, MP3 или XLS). Нижеприведенный код будет предотвращать чтение таких файлов браузером и принудительно запускать загрузку
<Files *.xls>
ForceType application/octet-stream
  Header set Content-Disposition attachment
</Files>
<Files *.eps>
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</Files>


Междоменное использование шрифтов для FireFox
При использовании встроенных шрифтов Firefox не позволяет брать их с внешних сайтов. Следующий код для файла .htaccess позволит обойти данное ограничение.
<FilesMatch "\.(ttf|otf|eot|woff)$">
<IfModule mod_headers.c>
#Замените w.abcd.bz на адрес вашего блога
Header set Access-Control-Allow-Origin «abcd.bz»


Ускоряем сайт с помощью кэширования .htaccess
Используя кэширование .htaccess можно существенно увеличить скорость сайта.
# 1 ГОД
<FilesMatch "\.(ico|pdf|flv)$">
Header set Cache-Control "max-age=29030400, public"
</FilesMatch>
# 1 НЕДЕЛЯ
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
# 2 ДНЯ
<FilesMatch "\.(xml|txt|css|js)$">
Header set Cache-Control "max-age=172800, proxy-revalidate"
</FilesMatch>
# 1 МИНУТА
<FilesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=60, private, proxy-revalidate"
</FilesMatch>


Отсекаем спам
Страдаете от спама на вашем блоге WordPress? Конечно, плагин Akismet может оказать существенную помощь, но и файл .htaccess не останется в стороне от борьбы с заразой. Данный код предотвращает непосредственный доступ спам ботов к файлу wp-comments-post.php, который формирует комментарии на блоге.
# Заменяем yourdomainname на имя вашего домена
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourdomainname.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]


Приводим различные фиды к единому формату
# Заменяем URL на адрес своего блога
<IfModule mod_alias.c>
 RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://w.abcd.bz.ru/feed/
 RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ 
http://abcd.bz/comments/feed/
</IfModule>


Конфигурируем сайт для видео HTML5
HTML5 привнес много новшеств в мир веб разработки. Возможность проигрывать видео без использования FLASH является одной из лучших особенностей HTML5. Хотя нужно правильно сконфигурировать сервер для корректной работы с последними стандартами видео HTML5.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
AddType video/ogg .ogv
AddType video/ogg .ogg
AddType video/mp4 .mp4
AddType video/webm .webm
AddType application/x-shockwave-flash swf


Записываем ошибки PHP в журнал
Вместо вывода ошибок PHP на страницах вашего сайта (что дает информацию потенциальным хакерам…) можно записывать их в журнал (файл .log), скрывая от посетителей.
view sourceprint?
# отключаем вывод ошибок пользователям
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
# заносим ошибки в журнал
php_flag log_errors on
php_value error_log /location/to/php_error.log


Запускаем PHP в файлах JavaScript
При разработке кода JavaScript иногда требуется использовать PHP в файлах .js. Например, для получения данных из базы.
AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js
<FilesMatch "\.(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch>

Установка ОС на сервер в ДЦ hetzner

Первым делом авторизуйтесь в панели управления сервером (Robot), нажмите в панели управления кнопку «Rescue», выберите операционную систему «Linux» и архитектуру «64 bit».
Сервер переведется в режим восстановления и на странице выведется пароль для входа на сервер.
Обязательно сохраните пароль у себя на ПК, так как именно он в последствии и будет Вашим root-паролем на сервере.
Для установки ОС нужно будет зайти на сервер с помощью SSH клиента (в нашем примере PUTTY) используя логин root и пароль полученный в панели управления.

Ждем 2 минуты и логинимся на сервер по SSH.
Для запуска процесса инсталлятора Вам необходимо выполнить команду «installimage».
Вы увидете меню, в котором можно выбрать желаемую ОС (например, Debian или CentOS). В подменю Вы сможете выбрать точную версию ОС, например СentOS-56-64-minimal (CentOS 5.6 x64).
После выбора нужной ОС инсталлятор предложит Вам отредактировать стандартный конфиг — нажимаем «OK» (мануал написан под установку стандартной разбивки дисков: SoftRAID1 с разделами /boot — 2GB, swap — 2*RAM, остальное в /).
Откроется текстовый редактор. Здесь нас интересуют только 2 строчки:
1. Находим HOSTNAME и меняем его на нужное сетевое имя сервера, рекомендуется указывать основной домен, например: HOSTNAME server.site.ru
2. Спускаемся ниже и находим пункт про разбивку диска, а точнее «PART swap swap 4G». Здесь меняем «4G» на требуемый объем swap, рекомендуется 2*RAM, т.е. если у Вас на сервере 8 Гб памяти, то ставим значение «16G».

После редактирования нажимаем F10 или щелкаем по значку «Quit» в правом нижнем углу редактора. Редактор предложит Вам сохранить файл, на что отвечаем «Yes».
Далее система спросит у Вас разрешение на форматирование дисков, и тут нужно ответить Yes в обоих случаях.
Примерно через 5-10 минут ОС будет установлена и Вам нужно будет перезагрузить сервер командой reboot.

Хостинг JavaScript-библиотек на Yandex

Сервис Хостинг JavaScript-библиотек предоставляет разработчикам сайтов доступ к сети распространения контента (CDN) Яндекса и позволяет загружать с серверов Яндекса различные JavaScript-фреймворки и библиотеки с открытым исходным кодом, в том числе:

fastvps.ru



Виртуальные серверы, там не очень выгодно брать. Почему?
А вот Выделенные Серверы закупать, самое то.

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

Теперь детали
  • ISP manager панель, дается легко. Установка первоначального ПО тоже.
  • Дополнительные ip = нет. обязательно зарание при заказе это оговаривайте, потом хуй что подключите уже.
  • Резервное копирование = нет. ну, это ведь сервер, куда уж ;) все ок.
  • Отношение к абузам = плохое. хотя все по законодательству Германии. часть абуз уже мимо, ибо не рашка ;) но я видел/читал случаи, когда германские органы конфисковывали сервак, и пизда если не было бекапов.
  • Тех поддержка — отвечает хорошо, помогает, и проблемы решает. прямо самые нубские может решать. ибо дел особых у них нету, они же не торгуют шаред хостингом массовым.
  • Отношение к ддосу — все зависит от вашего сервера, и ваших настроек. это ваш сервер, никто тут не будет наезжать конечно.
  • Способы оплаты — практически все электронные деньги. и карточки, мастеркард/виза. безнал принимают, с ЮЛ работают.

Ну и на последок, пару скринов. Какие конфиги вы можете собирать на автомате.
А если поговорить, с тех поддержкой, то еще лучше ;)




Как вы заметили, установка ПО, ISP панели и прочее(как совет, сразу покупайте ISP pro), это все дополнительные расходы ;) Но даже так, fastvps для меня остается лучшим продавцов выделенных серверов.

TinyVds.ru



Рессерел того же hetzner, германия.
Тарифы не особо выдающиеся, ни по hdd, ни по кол-ву ip, ни по цене. НО зато, у них настроено все грамотно, раз они знают о UBC.
Плюс, у них ноды, на SAS дисках, что обеспечивает хорошую скорость.

Детальнее:
  • ISP manager панель, дается легко. Установка первоначального ПО тоже. Пишите в тикет, при заказе нового сервера, сделают.
  • Дополнительные ip = нет. категорически нету. даже 2 ip, вы не сможете прилепить на vds, для dns например.
  • Резервное копирование = есть. раз в неделю делается.
  • Отношение к абузам = плохое. Строят из себя чистый хостинг, в правилах.
  • Тех поддержка — отвечает хорошо, помогает, и проблемы решает. *хотя к концу 2011 года, стала очень нагло пытаться пересадить людей, на тариф с расширенной тех поддержкой. Так что лучше сразу предупредить.
  • Отношение к ддосу — нормальное. не выгонит, но и не поможет.
  • Способы оплаты — практически все электронные деньги. безнал не принимают, ЮЛ идут мимо.

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