Админская фамилия

Make Sysadmins Great Again

Linux Server. 1 Поднимаем сервак на Debian по шагам

Будем экспериментировать с Debian 6.0 Squeeze. Пост не рассматривается как руководство к действию - просто эксперименты с Debian’ом. Попробуем поднять все известные нужные/не очень сервисы. Постараюсь подробно и по шагам.Вообще, если это будет первый опыт с UNIX-подобными системами, то рекомендую заюзать Ubuntu - она попроще и дружелюбней к новичкам. В Debian’е многое придется делать руками. А в целом руководство должно подойти и для Ubuntu.Сначала несколько самых важных команд:cd - ходить по папкам (подняться на уровень выше cd ..), ls - просмотреть содержимое папки, nano - удобный текстовый редактор, ps ax - просмотреть все запущенные процессы, apt- утилита для работы с пакетами ПО (apt-get install packet - установка пакета(программы)).Ещё нужно понять, что Линукс - не винда, и структура файловой системы здесь СОВСЕМ другая, хотя когда привыкаешь, понимаешь, что это достоинство Линукса. О файловой системе написано довольно много, поэтому не буду повторяться.1. Установка системы. Ничего сверхсложного. Просто следуем рекомендациям установщика. Особо продвинутые могут вынести на разные диски разделы /home, /var, /usr и т.д. Из предложенных вариантов доп. софта отмечаем только стандартные утилиты, т.к. хочется сервисы поднимать ручками и увеличивать свои скиллы.2. Настройка сети. Так как у нас сервер, то в нем должно быть минимум 2 сетевых карточки =) Условимся, что eth1 “смотрит” в инет, а eth0 - в локалку. Да, в Линуксах сетевые интерфейсы называются именно так - eth0, eth1 и т.д. Ещё есть lo, ppp0, но об этом позже.Настройка сети сводится к редактированию файла /etc/network/interfaces . Проще всего это сделать с помощью редактора nano. Делать все нужно с правами суперпользователя, для этого нужно набрать su и ввести пароль, заданный на этапе установки. Набираем в терминале nano /etc/network/interfaces и прописываем настройки. Там уже должны быть строки вроде:# This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).# The loopback network interfaceauto loiface lo inet loopbackВсё, что идет после знака # - комментарии, они игнорируются системой. lo - это петля, чтобы система могла видеть себя по адресам 127.0.0.1 и localhost. Больше об этом ничего не скажу - сам толком не знаю.Следующими строками добавляем примерно следующее:auto eth0iface eth0 inet static        address 192.168.0.100        netmask 255.255.255.0auto eth1iface eth1 inet static        address 192.168.44.223        netmask 255.255.255.0        gateway 192.168.44.1Думаю, здесь всё ясно - address - это наш IP-адрес, netmask - маска, gateway - шлюз. static - поясняет системе, что адрес присваивается статично. Если у вас dhcp, то вместо statiс нужно написать dhcp. Ну естественно циферки нужно вбить свои =) В винде нам бы пришлось ребутиться, но у нас же линукс - тут можно перезапустить сетевую подсистему без перезагрузки - /etc/init.d/networking restart Но можно и ребутнуться rebootАдреса DNS-серверов прописаны в файле /etc/resolv.conf Если у вас его нет просто создайте его: nano /etc/resolv.conf и пропишите сервера в виде: nameserver xxx.xxx.xxx.xxxnameserver xxx.xxx.xxx.xxx3. Поднимаем инет. У многих провайдеров интернет раздается посредством vpn-соединения. Чтобы получить сию благодать придется попариться =) Нужно узнать у провайдера настройки для UNIX-подобных систем. Мне пришлось сделать следующее:3.1. Установить pptpclient. Его можно найти на диске с дистрибутивом.3.2. Настроить маршрутизацию:route del defaultroute add -net xxx.xxx.xxx.xxx netmask 255.255.255.0 gw xxx.xxx.xxx.xxx eth1Здесь xxx.xxx.xxx.xxx - адрес, предложенный провайдером.3.3. Настроить pptp - клиента как предлагает провайдер. Файл /etc/ppp/options:locallocknodetachmtu 1512mru 1512require-mppe-40require-mppe-128require-mppelcp-echo-interval 30lcp-echo-failure 5require-mschap-v2refuse-paprefuse-chaprefuse-mschaprefuse-eapdefaultrouteuser ВАШ_ЛОГИНnoauthФайл /etc/ppp/chap-secrets: ВАШ_ЛОГИН * ВАШ_ПАРОЛЬ *Поменять права на chap-secrets: chmod 400 chap-secrets3.4. Набрать в терминале pptp vpn.server.ru и всё заработало.3.5. Будем надеяться, что у вас тоже всё получилось. Тогда можно написать скрипт для автоподнятия инета или перейти к обновлению. Чтобы инет поднимался автоматически после старта системы нужно все команды для поднятия инета завернуть в скрипт. nano /usr/local/bin/pptp-run.sh#!/bin/bash route del default      #первая команда из п. 3.2#вторая команда и т.д.LOG="/var/log/pptp-run.log"while true; do        echo -e “\n=========================================\n date” >> $LOG        /usr/sbin/pptp vpn.server.ru >> $LOG        sleep 10;doneКак видно из скрипта, он логирует свою работу, а значит можно увидеть как отработал скрипт в файле /var/log/pptp-run.log Теперь нужно дать скрипту права на выполнение, потому что сейчас система видит его как простой текстовый файл: chmod +x pptp-run.shОсталось прописать скриптик в автозагрузку. nano /etc/rc.localПеред строкой exit 0 пишем путь до скрипта: /usr/local/bin/pptp-run.sh4. Обновляем систему. Обновления выкачиваются из репозитариев, по умолчанию они не прописаны в системе.4.1.  Поэтому нужно их прописать. nano /etc/apt/sources.listЕсли не собираемся ничего ставить с диска, то закомментируем строки deb cdrom:[Debian GNU/Linux 6.0.0 Squeeze - Official i386 CD Binary-1 20110205-17:27]/ squeeze maindeb cdrom:[Debian GNU/Linux 6.0.0 Squeeze - Official i386 CD Binary-1 20110205-17:27]/ squeeze mainТакже нужно добавить репозитарии:#Offical Debian repositorydeb http://ftp.debian.org/debian/ squeeze main non-free contribdeb-src http://ftp.debian.org/debian/ squeeze main non-free contrib#Official Debian repository Russian mirrorsdeb http://ftp.ru.debian.org/debian/ squeeze main non-free contribdeb-src http://ftp.ru.debian.org/debian/ squeeze main non-free contrib4.2. Обновляем списки репозитариев: apt-get update4.3. Обновляем систему: apt-get upgradeТеперь можно заняться работой =))5. Установка софта первой необходимости. 5.1. Чтобы можно было удаленно работать с сервом нужен ssh-сервер.apt-get install openssh-server Теперь можно работать с серваком с любого другого компа, подключенного к сети через ssh-клиент. В винде это PuTTY.5.2. Если боитесь командной строки, рекомендую поставить файловый менеджер mc (Midnight Commander - аналог виндового Norton Commaner, FAR и т.д.). apt-get install mc Запускается установленный ФМ командой mc5.3. Работать в системе с правами суперпользователя (su) небезопасно. Можно поставить sudo. Она позволяет не входить в систему под суперюзером, а единожды выполнять команду с его правами, например sudo apt-get install. Как ставить софт думаю уже понятно, поэтому больше не буду повторяться (su; apt-get install имя_пакета). Без небольшой настройки sudo не заработает. Нужно подредактировать файлик /etc/sudoers (как редактировать надеюсь тоже ясно: su; nano имя_файла; Ctrl+X; Y). Добавляем строку:имя_пользователя   ALL=(ALL) ALLМожно сделать ещё проще: добавить нужного юзера в группу sudo: usermodusername -aG  sudo5.4. Для тех, у кого фобия командной строки рекомендую копать в сторону webmin. Но это не наш путь - с ним вы толком ничего не поймете, а лишь будете знать что можно сделать с линухом. Для экспериментов да похвастаться перед одноклассниками (превед школота!) что “Я паставил Линух!” сойдет, но не больше!5.5. Продвинутый диспетчер процессов - htop6. Настройка простейшего роутера.Наш роутер будет передавать весь траффик с интернета в локальную сеть и обратно. Для этого нужно использовать NAT. Проптсываем в настройках фаервола натинг:iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADEНо это ещё не всё. Для работы натинга необходимо разрешить пересылку пакетов в ядре. В файле /etc/sysctl.conf нужно раскомментировать строку net.ipv4.ip_forward=1 .После перезагрузки настройки фаервола сбросятся, поэтому следует сохранить цепочки фаера:iptables-save > /etc/iptables-saveИ прописать восстановление этих настроек при загрузке системы. В файл /etc/network/interfaces добавить строку:up iptables-restore < /etc/iptables-saveКонечно это простейший роутер, без ограничения траффика, проверки на вирусы и прочего, но он работает =)7. Настройка Wi-Fi Скомпилировано из этого:1. http://bagow.org/nastrojka-wi-fi-v-debian/2. http://gettoknowlinux.blogspot.com/2010/07/wifi-access-point-debian-atheros.htm3. http://sudouser.com/linux-v-roli-wi-fi-tochki-dostupa.html4. http://forum.ubuntu.ru/index.php?topic=61834.0lМожно  сделать наш серв точкой доступа и раздавать инет на мобильные устройства. Для этого нужна беспроводная сетевая карточка. Нужно узнать её производителя и, желательно, чип, на котором она работает. У меня была сетевушка D-Link DWA-510 (RaLink RT2561/RT61). Чип можно узнать на сайте производителя или у гугла на крайняк. Моя сетевушка  без проблем определилась системой.Чёт поздно уже… Продолжение следует……. ===================================================================На этом пока всё. Скоро будем копать дальше. В планах:1. Правильная настройка iptables.2. Настройка файл-сервера с разными уровнями доступа.3. Квотирование диска.4. Настройка контроллера домена.5. Настройка dhcp-сервера.6. Настройка прокси-сервера. И различных плюшек для него (статистика, баннерорезалка, антивирус, прозрачность).7. Настройка Asterisk (IP-телефония).8. Настройка LAMP (Linux, Apache, MySQL, PHP).


Делаем FreeBSD удобной.

Итак, FreeBSD установлена (в моем случае 4.11), инет работает. Теперь надо сделать так, чтобы работать с системой было удобно. Первым делом ставим MidnightCommander (файловый менеджер)  и WebMin (web-интерфейс для удобной работы).MidnightCommanerЯ ставлю пакетами. pkg_add -r ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/4.11-RELEASE/packages/shells/mc-4.6.0_13.tgz  Это для версии 4.11. Для новых систем: pkg_add -r mc. Почему-то у меня командой mc командер не открывается. С помощью whereis mc смотрим где находится исполняемый файл. Запускаться командер будет так: /usr/local/bin/mc.WebMinpkg_add -r ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/4.11-RELEASE/packages/sysutils/webmin-1.170_5.tgz Пакет вытягивает все зависимости, распаковывается и дает указания по дальнейшей работе. Следуя им, переходим в каталог  cd /usr/local/lib/webmin. Запускаем установочный скрипт: ./setup.sh. Отвечаем на вопросы, всё подходит по умолчанию, использовать SSL - yes. У меня вебмин запустился сам (может из-за того, что я немного опередил его. Как я это сделал - дальше). Чтобы вебмин запускался сам при старте системы прописываем в /etc/rc.conf строчку webmin_enable=“YES” (с это MC легко делается - F4) (возможно мой вебмин запустился сам потому что я это сделал до запуска setup.sh). Ну если у вас сам не запустился, то гугл советует запускать так: /usr/local/etc/rc.d и запускаем файл webmin(webmin start) или перегружаем систему.Всё! теперь к вашей системе можно подключиться с любой (или не с любой - врать не буду) машины, у которой есть браузер по адресу: https://%IP_вашей_тачки%:10000. Все настройки наглядны, я ещё сам не освоил полностью возможностей. Дерзайте!Начало здесь:НачалоНастраиваем доступ в интернетУстановка софта


webmin на CentOS

Занялись на работе ИП-телефонией. Для этого решили поднять Asterisk на CentOS. Есть дистриб AsteriskNOW, который ставит всё и сразу. Но мы не ищем легких путей! поэтому поставили сначала CentOS - ставится с LiveCD - установка с интернета. Установка ОС достаточно проста, но скорость её зависит от скорости вашего интернет-соединения. У меня ушло часов 7.Чтобы рулить сервером было удобно, я решил поставить webmin - веб-интерфейс для управления линуксом. Установка достаточно проста. Мне помогли следующие сайты:http://www.lostop.ru/page/19/http://centos.name/?page/tipsandtricks/installwebminrepo/Итак, сначала ставим вебмин. Копируем в консоль (работаю через putty):(echo “[Webmin]name=Webmin Distribution Neutralbaseurl=http://download.webmin.com/download/yumenabled=1” >/etc/yum.repos.d/webmin.reporpm –import http://www.webmin.com/jcameron-key.ascyum -y install webmin)Вопрос никто не задает - всё довольно просто.Затем назначаем уровень безопасности:system-config-securitylevel-tuiДальше - Customize (уточнить) - Other ports (другие порты) - пишем там: 10000:tcp 20000:tcpВСЁ! К вебмину коннектимся по https, ип сервака, порт 10000.