Для создание виртуалок на базе Ubuntu Server рекомендую этот VDS-хостинг с SSD-дисками ДЦ в Москве, стабильность мне пока нравится (но я ими пользуюсь только третий месяц). Удобная панель, где самостоятельно можно пересоздать сервер + прописать свой публичный ключ, чтоб на сервер можно было войти сразу после его создания. А, главное, они дают 1 ГБ оперативной памяти за 250 руб. в месяц!

администрирование

Полезные однострочники для администратора веб-сервера

Однострочники — это конвейеры из команд для выполнения каких-то полезных операций. По-английски они называются one-liners. Разбираться в них тяжелее, чем в обычном многострочном скрипте, но зато их удобно применять и легко отлаживать (не надо постоянно пересохранять файл). Я поделюсь несколькими однострочниками (из тех, что приходилось использовать недавно или регулярно), по возможности расскажу из чего они составлены. И буду со временем дополнять этот пост. Помогайте мне в комментариях.

Установка LAMP для ленивых в Ubuntu Server 14.04

В Ubuntu Server 14.04 LTS есть отличная команда, которая позволяет веб-мастерам совсем и навсегда облениться. Ставим LAMP в одну строку:

sudo apt-get install lamp-server^

Крышка в конце названия «пакета» — не опечатка.

Для совсем ленивых предлагаю такое комбо:

sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y install lamp-server^ && sudo apt-get -y install phpmyadmin

Новчикам поясню:

Ключ -y для apt-get за вас отвечает согласием на установку и обновление пакетов.

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

Для обеспечения элементарной безопасности (чтобы не забрутфорсили) я вам рекомендую сменить сразу дефолтный адрес phpMyAdmin. Для этого редактируйте файл:
sudo nano /etc/apache2/conf-enabled/phpmyadmin.conf

В нём строку:
Alias /phpmyadmin /usr/share/phpmyadmin

Замените на:
Alias /secret /usr/share/phpmyadmin

Сохраните файл (в nano для этого достаточно нажать F2) и перезапустите Apache:
sudo service apache2 restart

Теперь phpMyAdmin будет доступен по ссылке http://127.0.0.1/secret (где 127.0.0.1 — IP вашего сервера)

Профиты от использования консольного FTP-клиент lftp

Занимаясь веб-разработкой мы часто сталкиваемся с такой типовой задачей: надо забрать с клиентского хостинга сайт, что-то там покрутить, вернуть обновлённую версию обратно. При этом клиентские виртуальные хостинги бывают разные: не на каждом есть SSH или SFTP доступ. Зато старый пыльный FTP есть везде. Если задача простая и затрагивает 1-2 файла, то их «забирает» напрямую программист к себе в IDE, редактирует и выгружает обновления на боевой хост, благо современные IDE снабжены FTP-клиентами. Но если задача требует экспериментов или тестирования, то на боевом клиентском хостинге её решать нельзя стыдно, надо делать «зеркало» у себя. А значит необходим удобный инструмент, позволяющий забрать файлы сайта к себе на сервер по FTP и потом выгрузить их обратно. Задачу блестяще решает консольный FTP-клиент lftp.

Удаление файлов без возможности восстановления в Linux

Когда приходится удалять файлы без возможности восстановления? Ситуаций можно придумать много, кроме шпионских сценариев из разряда «когда вам действительное есть, что скрывать от спецслужб» могу предложить пару более заурядных ситуаций: вы продаёте ноутбук или компьютер и не хотите, чтобы новый владелец старого девайса любовался вашими семейными фотками, восстановленными с незатёртого пространства жесткого диска, либо вы отказываетесь от аренды сервера, после чего он попадёт в руки к новым владельцам (а вы, опять же, не хотите, чтобы новый админ докопался до ваших данных).

Установка и настройка Ruby On Rails на Ubuntu Server 12.04 с модулем passenger для Apache

Этот пост будет посвящён тому, как на Ubuntu Server 12.04 развернуть боевой (хотя и не приспособленный к высоким нагрузкам) свервер для Ruby On Rails приложениq. Почему, собственно, RoR? Есть ведь много других средств для веб-разработки, в том числе более популярных (Wordpress и Drupal на LAMP) и не менее прогрессивных (например, Django под Python).

Отвечу кратко и честно: до Django я пока не добрался, но, в силу обстоятельств, недавно пришлось поднимать Rails-сайт на голом сервере с нуля (ни разу прежде не встречавшись с Rгин On Rails и с Ruby в вообще). Задача эта вылилась в бессонную ночь, а потом в увлекательный день, в течение которого я от души поковырялся в азах новой для себя технологии. Пол сравнению с привычным для меня и любимым мной Drupal`ом я увидел в Ruby On Rails, прежде всего, принципиально новую идеологию.

Очевидные для меня плюсы:

  1. Быстрый и лёгкий деплоймент (переход от разрабатываемой версии к «боевой»).
  2. Миграции базы данных, которые можно взять под версионный контроль. Любые изменения в схемах данных можно с лёгкостью накатывать и откатывать назад.
  3. Огромное количество средств в рамках фреймворка для генерации типового кода (почти не приходится создавать руками файлы и заготовки функционала).
  4. Строгое следование подходу MVC при проектировании (модель-вид-контроллер) при построении приложения. Не считаю подход идеальным и единственно возможным, но подобная типизация здорово упрощает поддержку «чужих» проектов. Заранее ясна глобальная логика любого приложения.

На мой взгляд, этого вполне достаточно, чтобы уделить внимание Ruby On Rails.

Запуск СУБД MySQL в Ubuntu Server после падения и анализ логов демона mysqld

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

В Ubuntu логи ошибок MySQL хранятся в файле /var/log/mysql/error.log. Но открывать его текстовым редактором на удалённой машине — опасно. Если у вас не настроена ротация логов, то файл может весить сотни мегабайт. Но даже если и настроена, то при падении MySQL мог основательно нафлудить в файл (и он, как следствие, всё равно может быть немаленьким). Поэтому изучать свежие логи будем с помощью утилиты tail, которая выводит несколько (по умолчанию, 10) последних строк указанного файла.

Аппаратная часть Linux машины: как через консоль в Ubuntu узнать установленный процессор, материнскую плату, видеокарту и определить прочее железо

Зачем такое может потребоваться? Два самых ярких примера:

  1. Есть у вас домашний сервер, работающий на балконе, спрятавшийся за коробками и не вскрывавшийся 2 года. Хочется добавить в него памяти, а вы уже и не помните там DDR 1, 2 или 3. Лазить в сервер дважды (до покупки памяти и после) — не хочется.
  2. Заказали вы где-нибудь в Германии мощный выделенный сервер, но решили проверить немцев: действительно ли в вашу машину поставили достойное железо или обычную десктопную материнскую плату.

В обоих случаях вам потребуется программное средство в виде консольной утилиты для инвентаризации аппаратного обеспечения Linux-машины. И такое средство — существует.

RSS-материал