Как поменять название хоста в shell

Standard

У меня появилось 3 сервера, все на том же hetzner. Тк по умолчанию названия у них почти одинаковые (название ОС + архитектуры) можно запутаться с каким сервером работаешь в shell. Чтобы этого избежать выполняем такую команду:

hostname SOMENAME

После чего, перезагружаем shell (у меня — bash):

exec bash -l

к слову, стандартная перезагрузка (shell source ~/.bashrc) не изменяет название хоста.
К сожалению приведенные выше команды изменяют название до следующей перезагрузки ОС. Чтобы сделать изменения перманентными — задаем необходимое название в этом файле:

/etc/hostname

После этого, перезапуск apache может выдать такую ошибку: «apache2: apr_sockaddr_info_get() failed for somename» — пропишите в /etc/hosts строку «127.0.0.1 somename».
У вас также может быть ошибка «apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName» чтобы избавиться добавьте строку ServerName localhost в файл /etc/apache2/httpd.conf .
В итоге у меня все работает по такому принципу: я даю серверу имя в панели управления hetzner, затем прописываю это имя в конфиге ssh (статья как работать с ssh) и наконец: изменяю имя хоста на самом сервере, как я описал выше.

Ошибки при установке http расширения для php

Standard

Прогаю парсер, для этого использую классное расширение http для php, там много полезных функции, типа

http_parse_headers();
http_parse_params();

Чтобы установить без проблем под debian, нужно:

apt-get install php5-curl php5-dev libcurl3 libcurl4-gnutls-dev
pecl install pecl_http

В процессе установки у меня была ошибка:
curl.h not found
Я уже добавил в строку установки строку «libcurl4-gnutls-dev», и у вас такого быть не должно

Как найти установочный пакет в debian

Standard

В продолжении предыдущего поста об ошибке при установке.
Появилась другая:

  libxml2 not found  

Итак вы знаете какого пакета не хватает установщику, наберите следующее:

  apt-cache search libxml2  

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

Как пофиксить ошибку «LANGUAGE = (unset)» в perl`е под Debian

Standard

Если у вас появляется ошибка вида:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file

Это значит, что перл не знает какая локаль установленна у вас, чтобы пофиксить запустите dpkg-reconfigure locales, выберайте свою локаль (у меня это ru_RU.UTF-8) и жмите OK.