консоль
Решение проблемы: 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
- 15 комментариев
- 36497 просмотров
lshell — отличная альтернатива chroot для ограничения возможностей пользователей, приходящих по ssh и sftp (с дополнительной помощью MySecureShell)
chroot
— это, по сути, процесс (и соответствующая команда) для изменения корневой директории для пользователя. Незаменим в ситуации, когда, например, требуется запустить незнакомую программу. А также в тех случаях, когда надо пустить на сервер пользователя, дав ему возможность использовать железо на в полную мощность (т.е. без применения виртуализации), но, при этом, обезопасившись от деструктивных действий такого пользователя (например, ему не следует разрешать бродить по файловой системе, заглядывая пускай и с права на чтение во многие системные файлы).
Недостаток chroot
в том, что для запертого в нём пользователя, требуется собирать какое-то минимальное окружение. Например, копировать в виртуальный корень файл /bin/bash и все связанные файлы для того, чтобы у пользователя появилось приличное окружение. Грубо говоря, в виртуальный корень придётся скопировать часть основной системы. Это приводит к дублированию данных (например, на VPS для этого может не быть лишнего дискового пространства), усложняет обновления (если в настоящий системе обновились какие-то файлы, то их свежие копии вручную придётся копировать в chroot-окружение) и пр.
Мне захотелось как-то избавиться от этих неудобств. Притом пользователей надо было пускать в консоль только для того, чтобы они могли с помощью tar
и mysqldump
делать резервные копии своих сайтов и баз данных.
Нашлось изящное решение — lshell
.
- 4 комментария
- 19939 просмотров
Шпаргалка по командам для настройки Ubuntu из консоли
Недавно проверял старые посты блога (чистил спам) и с огорчением обнаружил, что полезный и популярный перевод шпаргалки с сайта его (перевода) автора пропал (кажется, вместе со всем сайтом). Поэтому ту шпаргалку по консольным командам Linux обновил и разместил ссылку на скачивание в старом посте.
Зато обнаружил ещё одну шпаргалку на английском от тех же авторов (FOSSwire), которая посвящена уже непосредственно Ubuntu. Мимо неё пройти также не мог, поэтому сделал перевод и выкладываю его в виде одностраничного PDF`а.
Скачать шпаргалку по командам для основной настройки Ubuntu из консоли.
- 14 комментариев
- 18017 просмотров
Экспресс очистка сервера с целью освобождения дискового пространства
Опасно разводить беспорядок на сервере, потому будучи брошенным на произвол судьбы он рано или поздно съест всё свободное место на диске. Сервер с отсутствующим свободным местом может вас даже по ssh в гости не пустить. В этом я недавно убедился. А потому предлагаю краткий набор рекомендаций для тех, кто как и я, бросает серверы без присмотра на длительные сроки, а потом удивляется: «Это что ж с ним случилось?».
- 3 комментария
- 18535 просмотров
Генератор списка репозиториев (/etc/sources.list) для Ubuntu
На Хабре подсмотрел анонс прикольного сервиса: http://repogen.simplylinux.ch/.
Это генератор списка репозиториев (/etc/sources.list
) для любимой Ubuntu. Основной плюс, естественно в том, что в генерируемый список можно добавить много сторонних репозиториев, например, для Skype, FreeNX, VirtualBox, VLC и т.д.
Вы просто чекбоксами отмечаете какие репозитории вам нужны, выбираете версию ОС и язык вашей локали. Сайт генерирует вам список репозиториев и подсказывает какие ключи и с помощью каких команд (копируйте и вставляйте в консоль) установить, чтобы apt-get
не ругался на ненадёжность источников.
- 2 комментария
- 29700 просмотров
Ротация логов веб-сервера Apache (и любых других логов тоже)
Логи (или журналы) хранят в себе ценную информацию, позволяющую понять, что, когда и как происходило в системе. Логи веб-сервера — это ещё и важный источник данных для аналитики (ну, там, исследование аудитории веб-ресурса, определение основных источников трафика и прочее, хотя сегодня для подобных целей мало серверных логов, надо ещё подключать Google Analytics и Яндекс.Метрику). Но есть проблема: если на веб-ресурс ходит немало посетителей (или если система долго трудится без присмотра администратора), то логи вырастают до гигантских объемов.
Для того, чтобы однажды диск столь «самостоятельной» системы не переполнился логами под завязку и эту самую стабильную систему не завалил, надо логи периодически подчищать. Но удалять их вручную или по планировщику — плохая идея, ведь самые свежие (последние добавленные) данные из логов, как правило, действительно нужны для мониторинга системы или веб-сайта. Перед удалением надо как-то сохранять последние версии логов. Процесс сохранения нескольких копий логов с удалением самой старой при создании самой новой копии — называется ротацией. Задача типовая, а потому для ротации логов есть несколько известных инструментов, но я остановился на logrotate
.
- 2 комментария
- 28550 просмотров
Резервное копирование системы с помощью штатных средств
Чтобы создать бэкап всей системы, хватит команды:
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 /
- 25 комментариев
- 27544 просмотра