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

консоль

Решение проблемы: apache2 could not reliably determine the server's fully qualified domain name using…

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

А решение, тем временем, тривиальное и однозначное.

Надо в vhosts.conf добавить директиву ServerName со значением localhost.

Проще всего это сделать одной лаконичной командой:
sudo echo ServerName localhost >> /etc/apache2/conf.d/vhosts.conf

Как подсказали в комментариях, представленный выше пример — неправильный, от суперпользователя будет выполняться echo, а нам надо, чтобы от него выполнилась запись в файл, поэтому делаем вот так (если вы конечно уже не суперпользователь):
echo ServerName localhost | sudo tee -a /etc/apache2/conf.d/vhosts.conf

И после этого надо перезапустить сервер:
service apache2 restart

lshell — отличная альтернатива chroot для ограничения возможностей пользователей, приходящих по ssh и sftp (с дополнительной помощью MySecureShell)

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

Недостаток chroot в том, что для запертого в нём пользователя, требуется собирать какое-то минимальное окружение. Например, копировать в виртуальный корень файл /bin/bash и все связанные файлы для того, чтобы у пользователя появилось приличное окружение. Грубо говоря, в виртуальный корень придётся скопировать часть основной системы. Это приводит к дублированию данных (например, на VPS для этого может не быть лишнего дискового пространства), усложняет обновления (если в настоящий системе обновились какие-то файлы, то их свежие копии вручную придётся копировать в chroot-окружение) и пр.

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

Нашлось изящное решение — lshell.

Шпаргалка по командам для настройки Ubuntu из консоли

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

Зато обнаружил ещё одну шпаргалку на английском от тех же авторов (FOSSwire), которая посвящена уже непосредственно Ubuntu. Мимо неё пройти также не мог, поэтому сделал перевод и выкладываю его в виде одностраничного PDF`а.

Скачать шпаргалку по командам для основной настройки Ubuntu из консоли.

Экспресс очистка сервера с целью освобождения дискового пространства

Опасно разводить беспорядок на сервере, потому будучи брошенным на произвол судьбы он рано или поздно съест всё свободное место на диске. Сервер с отсутствующим свободным местом может вас даже по ssh в гости не пустить. В этом я недавно убедился. А потому предлагаю краткий набор рекомендаций для тех, кто как и я, бросает серверы без присмотра на длительные сроки, а потом удивляется: «Это что ж с ним случилось?».

Генератор списка репозиториев (/etc/sources.list) для Ubuntu

На Хабре подсмотрел анонс прикольного сервиса: http://repogen.simplylinux.ch/.

Это генератор списка репозиториев (/etc/sources.list) для любимой Ubuntu. Основной плюс, естественно в том, что в генерируемый список можно добавить много сторонних репозиториев, например, для Skype, FreeNX, VirtualBox, VLC и т.д.

Вы просто чекбоксами отмечаете какие репозитории вам нужны, выбираете версию ОС и язык вашей локали. Сайт генерирует вам список репозиториев и подсказывает какие ключи и с помощью каких команд (копируйте и вставляйте в консоль) установить, чтобы apt-get не ругался на ненадёжность источников.

Ротация логов веб-сервера Apache (и любых других логов тоже)

Логи (или журналы) хранят в себе ценную информацию, позволяющую понять, что, когда и как происходило в системе. Логи веб-сервера — это ещё и важный источник данных для аналитики (ну, там, исследование аудитории веб-ресурса, определение основных источников трафика и прочее, хотя сегодня для подобных целей мало серверных логов, надо ещё подключать Google Analytics и Яндекс.Метрику). Но есть проблема: если на веб-ресурс ходит немало посетителей (или если система долго трудится без присмотра администратора), то логи вырастают до гигантских объемов.

Для того, чтобы однажды диск столь «самостоятельной» системы не переполнился логами под завязку и эту самую стабильную систему не завалил, надо логи периодически подчищать. Но удалять их вручную или по планировщику — плохая идея, ведь самые свежие (последние добавленные) данные из логов, как правило, действительно нужны для мониторинга системы или веб-сайта. Перед удалением надо как-то сохранять последние версии логов. Процесс сохранения нескольких копий логов с удалением самой старой при создании самой новой копии — называется ротацией. Задача типовая, а потому для ротации логов есть несколько известных инструментов, но я остановился на logrotate.

Резервное копирование системы с помощью штатных средств

Чтобы создать бэкап всей системы, хватит команды:

sudo tar cvpzf /backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /

Что, собственно,в ней заключено? С правами суперпользователя (sudo) создаём тарбол (tar с ключём c) и архивируем его архиватором gz (ключ z). При этом с помощью ключа --exclude исключаем из архива системные директории и файлы устройств и, конечно же, сам архив (чтобы он рекурсивно не начал паковаться сам в себя). В итоге, получаем в корне наш полный архив системы в файле backup.tgz.

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

tar xvpfz /backup.tgz -C /

RSS-материал