Завел себе очередной VPS для своих проектов. На этот раз выбор пал на компанию KeyWeb.ru. Сервер находится в Германии, но соотношение конфигурация/цена меня привлекли. Так как сервер предоставляется "голым", с предустановленной ОС на выбор (мой выбор - Ubuntu, но информация применима так же к Debian), то нужно его настраивать. Делаю это не часто, так что порой забываю какие-то моменты. Хотел раз и навсегда записать полный лог производимых действий, дабы сделать пошаговую шпаргалку для начинающих админов и юниксоидов. Итак, буду описывать шаги "под себя". Так как изначально дается доступ под root, то первые шаги делаем без всяких sudo. Затем мы запретим коннект из под рута вне локалхоста и настроим судо. Мне комфортнее работать с MC и MCEDIT вместо VIM (раньше пользовлася, но, все таки, он не прижился у меня как инструмент). Соответственно, первым делом ставим Midnight Commander.
$ apt-get install mc
deb http://archive.ubuntu.com/ubuntu/ intrepid main restricted universe
deb-src http://archive.ubuntu.com/ubuntu/ intrepid main restricted universe
$ apt-get update
Ну и завершаем установку
$ apt-get install mc
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
$ locale-gen ru_RU
$ cat /var/lib/locales/supported.d/local
./configure \
--sbin-path=/usr/local/nginx/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--user=www-data \
--group=www-data \
--with-http_ssl_module \
--with-pcre=/root/pcre-8.32 \
--with-pcre-jit \
--with-zlib=/root/zlib-1.2.7 \
--with-http_gzip_static_module \
Установка MC (Midnight Commander)
Пробуем$ apt-get install mc
Говорит, что нет такого в репозивториях. Ну что же, добавляем:
deb-src http://archive.ubuntu.com/ubuntu/ intrepid main restricted universe
В файл /etc/apt/sources.list
Далее просто делаем:
Все должно пройти просто и гладко.
Настраиваем локали
Смотрим вывод команды locale
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
Проверяем, какие локали доступны
cat /usr/share/i18n/SUPPORTED | grep ru
Смотрим, есть ли там интересующие нас локали:
ru_RU.KOI8-R KOI8-R
ru_RU.UTF-8 UTF-8
ru_RU ISO-8859-5
ru_RU.CP1251 CP1251
ru_UA.UTF-8 UTF-8
ru_UA KOI8-U
Устанавливаем:
$ locale-gen ru_RU.UTF-8
$ update-locale
Можно проверить результат в фале
А так же проверяем, что у нас установлено командой locale -a
Командой dpkg-reconfigure locales можно обновить так же локали и перегенерить их.
Я не представляю себе нормальной жизни на сервере без оконного менеджера SCREEN. На VPS от KEYWEB он уже был установлен (вроде как идет в поставке с ОС, но всякое бывает), так что процесс установки описывать не буду. Минимальная настройка, чтобы были видны табы:
Далее прописываем локали в /etc/default/locale
LANG="ru_RU.UTF-8"
LANGUAGE="ru_RU:en"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_CTYPE="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
Теперь нужно перелогиниться, чтобы все заработало. Можно проверить, чтов се ок, выводом команды locale
Если Вы пользуетесь Putty для соединения с сервером (в слуыае, если Вы работаете из под Windows), то Вам следует в разделе Window / Translation / Remote character set выставить UTF-8
Логинимся, запускаем MC и наслаждаемся русифицированной версие Midnight Commander.
Настройка SCREEN
mcedit ~/.screenrc
Вписывем
caption string "%{rk} %c %{dd} %{+b M}%n %{-b dd}%-w%{+b B.}%n* %t%{-}%+w%<"
caption always
Запускаем screen и переходим к настройке прав доступа и созданию пользователей.
Создаем рабочего пользователя и настраиваем SSH.
Создаем рабочего пользователя и настраиваем SSH.
Добавляем нашего пользователя oxy командой
$ useradd oxy
$ mkdir /home/oxy
$ chown oxy:oxy /home/oxy
$ passwd oxy
# Вводим пароль для нашего пользователя
Редактируем файл /etc/passwd дописывая в конец строки с нашим пользователем вместо /bin/sh командную среду /bin/bash
Теперь нужно запретить возможность логиниться из под root через SSH
Редактируем /etc/ssh/sshd_config
# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
далее применяем изменения
$ /etc/init.d/ssh reload
Открываем новую сессию по SSH и пробуем войти по рутом (этого не должно получиться) и затем пробуем войти под нашим пользователем. Теперь все операции из под рута можно делать либо через sudo (если он настроен), либо через вход через su.
Незабываем сменить пароль через passwd для рута на свой, вместо выданного хостером (который светится в биллинг панели).
if [ -f /etc/bashrc ];then . /etc/bashrc;fi
if [ -f /etc/bash_completion ];then . /etc/bash_completion;fi
umask 002
HISTCONTROL=ignoreboth
declare -x EDITOR=mcedit
pingrf()
{
ping $(idn --quiet "$@")
}
PS1='\[\e[1;32m\][ \A\[\e[m\] <\u@\h> \[\e[1;34m\]\w\[\e[m\] \[\e[1;32m\]]\n[ bash: \[\e[m\]\[\e[0;32m\]'
$ useradd oxy
$ mkdir /home/oxy
$ chown oxy:oxy /home/oxy
$ passwd oxy
# Вводим пароль для нашего пользователя
Редактируем файл /etc/passwd дописывая в конец строки с нашим пользователем вместо /bin/sh командную среду /bin/bash
Теперь нужно запретить возможность логиниться из под root через SSH
Редактируем /etc/ssh/sshd_config
# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
далее применяем изменения
$ /etc/init.d/ssh reload
Открываем новую сессию по SSH и пробуем войти по рутом (этого не должно получиться) и затем пробуем войти под нашим пользователем. Теперь все операции из под рута можно делать либо через sudo (если он настроен), либо через вход через su.
Незабываем сменить пароль через passwd для рута на свой, вместо выданного хостером (который светится в биллинг панели).
Украшаем консоль
У меня есть свой любимый стиль отображения консоли и пара полезностей. Открываем в mcedit ~/.bashrc и вписываем:if [ -f /etc/bashrc ];then . /etc/bashrc;fi
if [ -f /etc/bash_completion ];then . /etc/bash_completion;fi
umask 002
HISTCONTROL=ignoreboth
declare -x EDITOR=mcedit
pingrf()
{
ping $(idn --quiet "$@")
}
PS1='\[\e[1;32m\][ \A\[\e[m\] <\u@\h> \[\e[1;34m\]\w\[\e[m\] \[\e[1;32m\]]\n[ bash: \[\e[m\]\[\e[0;32m\]'
Применяем изменения через $ source ~/.bashrc или $ . ~/.bashrc
Для root в /root/.bashrc находится немного модифицированная строка
PS1='\[\e[0;33m\][ \A\[\e[m\] <\u@\h> \[\e[0;33m\]\w\[\e[m\] \[\e[0;31m\]]\n[ bash: \[\e[m\]\[\e[1;31m\]'
В результате, при входе через root консоль окрашивается красными буквами, что позволяет осознать всю опасноть =).
Для root в /root/.bashrc находится немного модифицированная строка
PS1='\[\e[0;33m\][ \A\[\e[m\] <\u@\h> \[\e[0;33m\]\w\[\e[m\] \[\e[0;31m\]]\n[ bash: \[\e[m\]\[\e[1;31m\]'
В результате, при входе через root консоль окрашивается красными буквами, что позволяет осознать всю опасноть =).
Настраиваем HTTP сервер
Далее я останавливаю предустановленный Appache, качаю последнюю версию Nginx, и устанавливаю его. Тут все делается по инструкции, так что проблем не должно быть. Пример конфига для сборки:./configure \
--sbin-path=/usr/local/nginx/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--user=www-data \
--group=www-data \
--with-http_ssl_module \
--with-pcre=/root/pcre-8.32 \
--with-pcre-jit \
--with-zlib=/root/zlib-1.2.7 \
--with-http_gzip_static_module \
Комментариев нет:
Отправить комментарий