Archive

Очередной пожизненный бан достается Дмитрию

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

Встречайте, Дмитрий из Кишинева:

Я начинающий системный администратор и был принят на работу в одну компанию
в Молдавии где я и живу город Кишинев
По наследству мне досталась FREEBSD 6.2 я в ней пока не очень разбираюсь но
тут возникла необходимость (требование шефа) установить сайт на нашу FREEBSD 6.2 в короткие сроки

Пожелаем же Дмитрию успешного самостоятельного изучения FreeBSD :)

А для всех моих подписчиков - сюрприз :) Завтра с утра получите новое письмо на свою почту :)

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Linux VPS: Переносим apache на отдельный порт

Еще одна задача, которая возникла после настройки VPS под свои нужды.

У меня на VPS работает frontend - аккселератор и поэтому мне нужно, чтоб 80-ый порт был бы свободен. А apache при этом использовал бы какой-то другой порт.

Если у вас на VPS стоит панель управления cpanel - в ней придется покопаться.

Переносим apache на порт 8080

Открываем /var/cpanel/cpanel.config и подправляем apache_port=80 на apache_port=8080

Далее - нужно пересоздать конфигурацию - /usr/local/cpanel/whostmgr/bin/whostmgr2 –updatetweaksettings

После этого нужно проверить, что в файле /usr/local/apache/conf/httpd.conf прописался нужный порт

grep Listen /usr/local/apache/conf/httpd.conf

И скрипт, проверяющий работоспособность сервисов, тоже обновил свои настройки:

@www1 /etc> cat /etc/chkserv.d/httpd
service[httpd]=8080,GET / HTTP/1.0,HTTP/1..,/scripts/checkmaxclients;killall -TERM httpd;sleep 2;killall -9 httpd;/etc/rc.d/init.d/httpd stop;/etc/rc.d/init.d/httpd startssl;/usr/local/apache/bin/apachectl startssl;/etc/rc.d/init.d/httpd start;/usr/local/apache/bin/apachectl start
@www1 /etc>

После этого стоит перезапустить apache  (/etc/init.d/httpd restart) и ChkServ (/scripts/restartsrv_chkservd ) — иначе он вас забросает письмами о том, что сервис не работает и будет постоянно его перезапускать.

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Сюрприззы

Есть у меня несколько очень интересных вещей для вас:

Во-первых, кто уже в моем списке рассылки - вас ожидает очень вкусный сюрприз :) Кто не успел записаться - не успел :)

Во-вторых, на своем основном блоге опублиовал статью о смерти :) А что вы уже сделали, чтоб умереть?

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

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Как быстро переименовать группы файлов

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

Хочу вам показать метод, как это делаю обыкновенно я.Скажем нужно обработать только mp3 файлы:

ls '*.mp3' > filelist
ls '*.mp3' > filelist1

Итак у нас два списка файлов. Правим filelist1 и заменяем там имена на то что нужно. При этом не меняем порядок строчек.

Зачем это делать внутри файла? Потому что можно его редактировать при помощи vim, а там возможности по автоматической замене текста просто огромные.

Итак, у нас есть отредактированый файл. Набираем

paste filelist filelist1 | sed 's/^/mv /' | sh

И дело в шляпе :)

Самое важное здесь - это команда paste, которая склеивает два текста вместе. Все подробности о работе - в базовом курсе по Unix.

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Linux VPS: Backup MySQL баз данных

Предыдущие записи: Переезд Backup Выбор хостера

Да, в продолжение темы Backup-а хостинга и переезда.

Как правильно перемещать базы MySQL?

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

Как копировать базы с работающго MySQL сервера ?

Есть цивилизованый вариант при помощи mysqldump - он неплохо работает, но если при этом происходят изменения в базе данных - то потом будет проблема синхронизировать сервера.

Самый цивилизованый и правильный вариант - это настраивать синхронизацию master/slave. Перегонать всю базу на slave, а потом уже с него и запускать. НО! Есть несколько но - это сложнее и это требуется только на тех хостах, где нельзя допустить даже кратковременного отключения базы.

Если же можно допустить кратковременное отключение, то последовательность действий будет такая:

  • Делаем копию базы на новом хосте при помощи rsync или tar.gz - без разницы чем
  • Останавливаем MySQL сервер
  • Делаем окончательную синхронизацию при помощи rsync
  • Поднимаем MySQL сервер на новом хосте и перенастраиваем все приложения на него

Как правильно копировать “упавшие” базы MySQL?

Тут, поскольку уже все и так само упало, процесс немного проще.

  • Копируем все базы на новый хост (rsync/tar.gz)
  • Прогоняем по ним myisamchk , если база хранилась исключительно в InnoDB - тогда этот шаг не нужен. (Как это делать и как ускорять процесс - есть в книжке по FreeBSD+apache+mysql+php , на Linux процедура ничем не отличается ).
  • Запускаем MySQL сервер уже на новой машине

Ну как, есть вопросы? Готовы переживать переезд к новому хостеру прямо сейчас? :)

Продолжение, естественно, следует …

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Linux VPS: Находим новый хост

Предыдущие записи: Переезд Backup

Каким критериям должен удовлетворять хостинг?

  1. Надежность
  2. Объем диска/Скорость передачи данных и предоплаченый трафик
  3. Наличие backup-ов
  4. Managed VS Unmanaged
  5. Цена

Именно в таком порядке. Самое важное в хостинге - это надежность

1. Как проверить надежность hosting-а?

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

На что нужно обращать внимание

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

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

Поищите, что пишут на форумах или в community о скорости тех. поддержки данного хостера, наскоько она быстро отвечает и насколько она адекватно умеет решать проблемы.

Нормальное время поддержки по e-mail - первый ответ в течении получаса с момента получения запроса. Если быстрее - еще лучше, но не обольщайтесь. Если вы уже приобрели хостинг - попробуйте отослать запрос/письмо в нерабочее время или день и посмтореть на скорость ответа.

Overselling — это зло с которым сложно бороться. Обыкновенно хостинг провайдеры рассчитывают на то, что не все пользователи будут использовать ресурсы на все 100% процентов и продают больше емкостей/канала/процессорного времени, чем они реально имеют.  Впоследствии это приводит к сильным проблемам у клиентов. Так что если вы подозреваете, чтоб ваш хостер продает всерх меры - бегите от него :)

Надежность серверов и падение канала у хостеров случается обыкновенно с одинаковой частотой - так что тут не стоит особенно сильно придираться. Падение канала на пару часов раз в 3-4 месяца — это нормальный показатель. Те самые 99.9%, которые гарантирует обыкновенно провайдер.

Ну и поддержка продаж/биллинга – обыкновенно она редко пригождается, но тем не менее стоит посмотреть отзывы и на нее. Как пример — псомотирте, есть ли негативные отзывы по возврату денег. Если их мало - скорее всего с сервисом у компании все в порядке. Не рассчитывайте что sales/billing будет работать в нерабочие часы. Это скорее исключение, чем правило.

Продолжение следует :) …

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Linux VPS: Делаем backup apache+mysql+настроек в боевых условиях

Есть несколько способов делать backup.

Когда встает разговор о необходимость создать резервную копию VPS можно использовать

  • tar + gzip
  • rsync
  • dump / restore

У каждого из этих способов есть свои плюсы и минусы.

Нас будет интересовать только одно - скорость создания backup и минимизация трафика.

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

Мой личный выбор - rsync

Если не жалеть места на диске и нужно минимизировать трафик — тогда точно rsync. Делаем небольшой скрипт, который будет сохранять нужные нам директории на локальных хост или на другой сервер.

В основном скрипт крутится вокруг

rsync -azvPp root@remote_host:/  ~/localbackup/

Но нам нужно немного больше — правильный перенос линков, которые мы создавали на VPS и расстановка приоритето backup (так, логи и скажем большие файлы с mp3 могут подождать, а вот базу даных и данные сайтов и пользователей нужно спасать максимально быстро).

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Linux VPS: Падение хостинга или “Пожелай врагу переезд”

Добрый день!

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

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

Что такое VPS?

VPS расшифровываестя как Virtual Private Server — Виртуальный Частный Сервер.  А если просто и в двух словах - то берется один мощный сервер и при помощи какой-либо технологии виртуализации (Xen/OpenVZ) нарезается на много маленьких изолированных друг от друга серверов. У всех у них меньше памяти/дискового пространства/процессорного времени, но зато они существенно дешевле, чем арендовать большой сервер. Тем более когда вам и не нужны мощности выделенного сервера.

Итак

Из чего состоит переезд?

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

Но в целом вам нужно представить этапы:

  1. Делаем предварительный полный backup
  2. Находим новый хост, оплачиваем, получаем к нему доступ
  3. Перекачиваем весь полный backup на новый хост
  4. Поднимаем/восстанавливаем на новом хосте конфигурацию со старого (не всегда это возможно проверить, но тем не менее можно все подготовить) - тут есть много тонкостей
  5. Снижаем время обновления DNS до 5-10 минут
  6. Приостанавливаем/переводим в readonly старый хостинг
  7. Делаем окончательную синхронизацию файлов
  8. Поднимаем все сервисы на новом хосте
  9. Вносим изменения в DNS
  10. PROFIT
  11. Поднимаем время обновления DNS до нормального

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

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

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

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

Будет так же и платная версия курса

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

После окончания переезда (ну и соответственно и курса) я, как всегда, подыму цену — до 4500 рублей.

Я знаю, что запишутся немногие, поэтому там можно смело раздавать вкусные и полезные советы и приемы — все равно большая часть читателей с ними не познакомится :)

Спешите записаться, потому что курс будет идти прямо в режиме online - я сейчас в процессе переезда и буду его подробно освещать.

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Ошибки безопасности в FreeBSD, пора обновить систему

Если вы не следите за обновлениями системы FreeBSD, то сейчас
настало самое подходящее время.

Вчера были опубликованы 3 ошибки безопасности в ОС FreeBSD.

FreeBSD-SA-09:11.ntpd

Ошибка в демоне ntdp (синхронизация времени). Возможно выполнение
произвольного кода с правами суперпользователя.

Ошибку можно использовать только если у вас в файле /etc/ntp.conf
стоит опция “autokey”. По умолчанию, у вас этого файла вообще
быть не должно.

FreeBSD-SA-09:10.ipv6

Локальные пользователи могут менять настройки IPv6 стека. Если у
вас нет локальных пользователей, которым вы не доверяете, можете
смело пропускать это предупреждение.

Эта ошибка касается ТОЛЬКО IPv6 , IPv4 ей не подвержен.

FreeBSD-SA-09:09.pipe

Ошибка при использовании pipes (конвейера). Из-за специфичной для
FreeBSD оптимизации есть возможность читать память других
процессов, что можетп риводить к утечке паролей и другой важной
информации.

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

Успешного make world вам!

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Shell: Автодополнение имен файлов в tcsh

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

А вот зачем это нужно:

Автодополнение имен файлов в tcsh

Если у вас есть файл

a12312039akasd.avi

вы можете набрать a.avi<Tab> и получить полное имя файла.

или есть файлы

a.jpg
a.a.jpg
a.a-b.jpg

a.-<Tab> откроет шаблон в a.a-b.jpg

А если будут файлы

a.jpg
a.a.jpg
a.a-b.jpg
a.a-c.jpg

то, скажем, .-<Tab> откроется в a.a- и список возможных оставшихся вариантов :)

Так же с предыдущими настройками tcsh работает и автодополнение имен директорий

Имена директорий и <tab> в tcsh

Если вы введете команду cd и потом нажмете Tab, то тогда tcsh выведет только имена директорий, а не вообще список всех файлов.

Если же набрать ./<Tab> , то тогда tcsh выведет все исполняемые файлы в этой директории и все поддиректории — таким образом помогаю вам сформировать путь к исполняемому файлу.

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).