Настройка VPS от DigitalOcean или CloudMouse
Цена вопроса
Минимальная стоимость серверов на DO – 5$/мес., а у CM – 3,6$/мес.
Оплатить DO можно только через пластиковую карту и PayPal, а CM можно оплатить через WebMoney, YandexMoney, Qiwi, пластиковой картой и другими способами.
Основные фичи и используемые приемы
Выбор образа системы однозначен – только Debian 7 64 bit.
Так как оба сервиса DO и CM присылают первоначальные пароли на Email, желательно сразу-же после первого захода на новый VPS сменить пароль на свой.
Для минимализации используемых систем, при вызове apt-get install можно использовать дополнительный ключ —no-install-recommends, который позволяет не устанавливать дополнительное ПО.
Конфигурационные файлы и редактор
Первые пакеты, которые желательно сразу уставить – это система контроля версий конфигурационных файлов и текстовый редактор. В данном примере это git, etckeeper и mc :
sudo apt-get install --no-install-recommends git etckeeper mc
После установки пакетов необходимо скачать и активировать скрипт для ежечасного отслеживания изменений в конфигурационных файлах, выполнив команды :
cd /etc/cron.hourly git clone ... service cron restart
Настройка ssmtp
Пример конфигурационного файла /etc/ssmtp/ssmtp.conf для работы с локальным MX :
# Config file for sSMTP sendmail # root=root mailhub=smtp.domain.my hostname=server.domain.my FromLineOverride=NO
Пример конфигурационного файла /etc/ssmtp/ssmtp.conf для работы с Gmail :
# Config file for sSMTP sendmail # root=myname@gmail.com mailhub=smtp.gmail.com:587 hostname=server.domain.my rewriteDomain=gmail.com UseSTARTTLS=Yes UseTLS=Yes AuthUser=myname@gmail.com AuthPass=mypass FromLineOverride=Yes
Пример конфигурационного файла /etc/ssmtp/ssmtp.conf для работы с Yandex :
# Config file for sSMTP sendmail # root=myname@yandex.ru mailhub=smtp.yandex.ru:465 hostname=server.domain.my rewriteDomain=yandex.ru UseSTARTTLS=Yes UseTLS=Yes AuthUser=myname@yandex.ru AuthPass=mypass FromLineOverride=Yes
Обновление системы и удаление неиспользуемых пакетов
Во время первых заходов на VPS имеет смысл заменить полноценный почтовый сервер на простой релей, обновить систему, а так-же удалить неиспользуемые пакеты (nfs, dhcp и т.д) и архивы :
sudo apt-get install ssmtp bsd-mailx sudo dpkg --purge nfs-common rpcbind libtirpc1 sudo dpkg --purge exim4 exim4-base exim4-config exim4-daemon-light mutt procmail sudo apt-get update && apt-get upgrade && apt-get clean sudo apt-get autoremove
Настройка имени сервера и DNS
Для настройки имени сервера откройте фаил /etc/hostname и впишите имя
sudo mcedit /etc/hostname
sudo mcedit /etc/hosts
sudo service hostname.sh start
Отключение поддержки IPv6 на сервере
В большинстве случаев на серверах DO и CM имеет смысл отключить поддержку IPv6.
В файле /etc/hosts удалить все строки, относящиеся к IPv6
В файле /etc/sysctl.conf добавить строки :
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 net.ipv6.conf.eth0.disable_ipv6 = 1
В файле /etc/ssh/sshd_config раскоментировать строку :
ListenAddress 0.0.0.0
После этого перезагрузить сервер или выполнить команды :
sysctl -p service ssh restart
Посмотреть, какие порты и протоколы используются программами на сервере :
netstat -pan lsof -i
Создание ключей для SSH
Создание swap
Микро-сервера на DO и CM имеют достаточно мало памяти. Для того, что-бы немного облегчить им жизнь при увеличивающейся нагрузке, можно создать и подключить swap :
sudo dd if=/dev/zero of=/home/swap-tmp bs=1024 count=1024K sudo mkswap /home/swap-tmp sudo swapon /home/swap-tmp echo "/home/swap-tmp swap swap defaults 0 0" | sudo tee -a /etc/fstab
Выполнив команду free можно проверить подключение и использование swap :
zig@server:/home/zig$ free total used free shared buffers cached Mem: 508828 502448 6380 0 4788 453888 -/+ buffers/cache: 43772 465056 Swap: 1048572 0 1048572
Установка програмного обеспечения
Nginx + PHP
sudo apt-get install --no-install-recommends nginx php5-fpm fcgiwrap php5 service nginx restart
Nagios
sudo apt-get install --no-install-recommends nagios3 service nagios3 restart
NagMap
sudo mkdir -p /var/www sudo cd /etc/www/ sudo git clone https://github.com/hecko/nagmap.git sudo chown -R www-data.www-data nagmap
Сборка OpenWRT
pre. sudo apt-get install —no-install-recommends build-essential libncurses5-dev zlib1g-dev gawk unzip subversion rsync