РСС

Ношу шлем, тяжело дышу…

Меня зовут Антон Шувалов. Я работаю в Lazada. Кроме программирования я пишу музыку и иногда занимаюсь дизайном интерфейсов. Я есть в Twitter, Facebook, и на GitHub. Вы можете написать мне email.

Если вы задумали порадовать меня небольшим подарком (не может быть!) — вот список моих мещанских мечт.

Домашний сервер. Первые шаги

Установка Debian

Установка Debian не представляет из себя ничего сложного. На официальном сайте я скачал дистрибутив для AMD64. Прожег диск, вставил его в привод сервера. Согласился с предложением BIOS загрузиться с CD. Когда инсталятор предложил мне выбрать пакеты для автоматической установки, я отметил только SSH-server.

Здесь стоит сделать небольшую ремарку относительно размещения моего сервера. Системный блок стоит в тесной маленькой кладовке, и работать с ним напрямую, с помощью клавиатуры и мышки жутко неудобно. По этому практически все время я планирую работать с ним на моем MacBook посредством SSH.

После перезагрузки я посмотрел IP с помощью ifconfig. В своем MacBook я открыл конфиг SSH.

mate ~/.ssh/config

И дописал в него свой новый сервер.

Host ayanami
# My home server
HostName 192.168.1.101
RemoteForward 52698 127.0.0.1:52698
User rei
Port 22

Строчка RemoteForward нужна для проброса порта обратно, с сервера на MacBook. Это пригодится мне при настройке rmate. И так, подключаюсь к серверу, и вижу шелл.

ssh ayanami

rmate

поставил по своей же инструкции которую я писал в блог.

ruby

Ruby поставил из aptitude, нужен для того, что бы работал rmate.

Sudo

Sudo пригодится для того, что бы не сидеть под суперпользователем, и не перелогиниваться каждый раз, когда нужны привилегии root’а. Без проблем устанавливается через apt-get или aptitude.

rmate /etc/sudoers

Под строкой root ALL=(ALL) ALL нужно дописать

<user> ALL=(ALL) ALL

webmin

Webmin — это веб-панель для мониторинга сервера. Пишут, что можно даже в консоль не залазить, если эта штука стоит. Хотя заменять консоль веб-интерфейсом — это не для меня, но вот мониторинг системы — штука нужная.

Для установки с помощью APT нужно отредактировать файл /etc/apt/sources.list и дописать туда

deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

Потом нужно добавить ключ к репозиторию.

cd /tmp
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc

Ну и теперь можно устанавливать

apt-get update
apt-get install webmin

Все зависимости разрешаются автоматически. После набираю в браузере http://server-ip:10000 и видим веб-интерфейс webmin.

zsh

sudo apt-get install zsh

После этого под каждым пользователем, который должен использовать zsh нужно сменить шелл:

chsh

В появившемся диалоге нужно вписать

/bin/zsh

Я пока что поставил первый попавшийся конфиг:

. /etc/zsh_command_not_found #подключаем стандартный вывод убунты 
autoload -U compinit # настраиваем автодополнение
compinit 
HISTFILE=~/.zhistory # устанавливаем файл истории для zsh
HISTSIZE=10000 # размер истории
SAVEHIST=10000 
setopt  APPEND_HISTORY # убираем повторы и пустые строки в истории
setopt  HIST_IGNORE_ALL_DUPS 
setopt  HIST_IGNORE_SPACE 
setopt  HIST_REDUCE_BLANKS 
setopt autocd # смену пути без команды cd
setopt CORRECT_ALL # корректировку ошибок
export PS1 NLSPATH PAGER MAIL LS_COLORS LS_OPTIONS LIBRARY_PATH \
            C_INCLUDE_PATH CPLUS_INCLUDE_PATH EDITOR TERM XFILESEARCHPATH # экспортируем всякие полезности
bindkey -e # устанавливаем клавиши как в e-macs
fc -R $HISTFILE # подгружаем старую историю
# если мы находимся под обычным пользователем то в приветствии, в конце будет - >  если под рутом то - #
if [[ $EUID == 0 ]]; then
PS1=$'%{\e[1;7m%}%n@%m:%~ #%{\e[1;0m%} ';
else
PS1=$'%{\e[1;7m%}%n@%m:%~ >%{\e[1;0m%} ';
fi
PROMPT=$PS1;
#и справа в качечтве приветствия выведем время.
RPROMPT=$'%{\e[1;34m%}%T%{\e[0m%}' 
#добавляем стандартные алиасы
alias ls='ls -F --color=auto'
alias ll='ls -l'
alias la='ls -A'
alias li='ls -ial'
alias lsd='ls -ld *(-/DN)'
#указываем пути к манам
manpath="/usr/man:/usr/share/man:\
/usr/local/man:/usr/X11R6/man:/opt/qt/doc"
export MANPATH

«Как рушатся комплексные системы», Ричард И. Кук
О фундаментальных проблемах больших запутанных систем
7 паттернов для рефакторинга JavaScript-приложений
Перевод отличной серии статей о проектировании и рефакторинге проектов
Музыка для работы
Мои плейлисты: теплый glitch, нежные девичьи голоса, интересная электроника и chillwave
Ссылколог
Коллекционирую полезные ссылки