Настройка CentOS 6 minimal после установки
Итак, как бы не справились с первой задачей непосредственно заливки системы, будем считать, что у Вас всё получилось. И вот она перед нами - пустая, голая консоль, из которой теперь необходимо поднять приличный сервер с кучей виртуальных хостов, БД и всяческий других плюшек.
Итак, начнём.
Перво-наперво, давайте определимся с безопасностью. Я НЕ рекомендую отключать selinux и iptables, но новичкам будет сложно сразу вникать во все тонкости работы ещё и этих систем. Эти две службы НУЖНО включить и настроить позже, а пока отключаем.
Сначала разберёмся с iptables.
Если Вы хотите выключить его на совсем то придётся убрать из автозагрузки и не забыть про ipv6:
chkconfig --del iptables chkconfig --del ip6tables
Если же просто отключить до следующей перезагрузки или до самостоятельного включения, то:
/etc/init.d/iptables stop
Дальше нам нужно найти и изменить файл конфигурации selinux. НО! Из редакторов то есть только страшный vi =) Но ничего. Пока обойдёмся им.
Итак, находим и меняем строчку SELINUX=enforcing на SELINUX=disabled. Собственно, в файле всё написано. Как это сделать?
vi /etc/selinux/config
Дальше нажимаем следующее:
i
правим нужную строку
esc
shift+Z+Z (два раза Z)
Чтобы selinux таки выключился, придётся перезагрузиться:
shutdown -r now
Всё. Теперь перейдём к самому главному - настройке сети и Интернета.
Вводим ifconfig и видим что-то подобное:
ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Есть информация только о lo. Дело в том, что сетевые карты не включены.
Идём в папку:
cd /etc/sysconfig/network-scripts/
Интересующие нас файлы в этой папочке называются ifcfg-*. Под "*" название вашего интерфеса и его номер. У меня, например, название такое - ifcfg-em1. Может быть такое - ifcfg-eth0 - и т.д.
Прикиньте заранее сколько интерфейсов Вам нужно. Мне, например, два - для внешней сети (выделенный ip) и для внутренней (локальный ip).
Включаем их, изменим строчку в каждом из нужных файлов ONBOOT="no" на, соответственно, ONBOOT="yes" и указывая получение ip от dhcp. Можно сделать так, конечно не забыл поменять в команде имя интерфейса на свой:
sed -i -e s#no#yes#g ifcfg-em1 sed -i -e s#no#yes#g ifcfg-em2 echo 'BOOTPROTO="dhcp"' >> ifcfg-em1 echo 'BOOTPROTO="dhcp"' >> ifcfg-em2
Если у Вас используется статика, то вместо dhcp нужно написать static и добавить ещё надписи IPADDR= - ip адрес компьютера и NETMASK= - маска подсети. Лучше воспользоваться редактором. Файл должен выглядеть примерно так:
DEVICE="em1" HWADDR="E0:DB:55:01:C2:40" NM_CONTROLLED="yes" ONBOOT="yes" BOOTPROTO="static" IPADDR=192.168.0.214 NETMASK=255.255.255.0
Это ещё не всё. Теперь надо ещё указать шлюз
echo "GATEWAY=192.168.0.1" >> /etc/sysconfig/network
и dns
echo "nameserver 192.168.0.1" >> /etc/resolv.conf
Не забываем помеять ip, если у Вашего DHCP-сервера другой адрес!
Осталось перезапустить сеть:
service network restart
Деактивируется интерфейс em1: [ OK ] Деактивируется интерфейс-петля: [ OK ] Активируется интерфейс loopback: [ OK ] Активируется интерфейс em1: [ OK ]
ifconfig
em1 Link encap:Ethernet HWaddr E0:DB:55:01:C2:40 inet addr:192.168.0.214 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::xxxx:xxxx:xxxx:c240/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:35 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Дальше самое интересное.
Начнём с обновления системы. На этом этапе воспользуемся лишь стандартными репозиториями. Вообще для надёжности не стоит обновлять со сторонних репозиториев что-либо, без причины. Ну, пропустим мораль и к делу:
yum update
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.academica.fi * extras: mirror.academica.fi * updates: mirror.academica.fi Setting up Update Process Resolving Dependencies --> Running transaction check ...
... Install 5 Package(s) Upgrade 113 Package(s) Total download size: 124 M Is this ok [y/N]:y
В общем, там всё скачается, установится и удалится старое =) Скорее всего, у Вас обновится ядро. Пакет, начинающийся на kernel. Чтобы оно "вступило в силу", нужно перезапустить систему. Не будет это отклабывать:
shutdown -r now
Теперь. Будем ставить дополнительные репозитории, чтобы качать нужные пакеты последних версий. Но для начал нам нужны парочка стандартных компонентов. Поставим их:
yum install wget nano
- nano - консольный текстовый редактор (http://ru.wikipedia.org/wiki/Nano);
- wget - консольная программа для загрузки файлов по сети. Поддерживает протоколы HTTP, FTP и HTTPS, а также поддерживает работу через HTTP прокси-сервер (http://ru.wikipedia.org/wiki/Wget).
Теперь переходим к инструкции по установке репозиториев.
После этого рекомендую поставить несколько пакетов, которые пригодятся Вам для работы:
yum install htop make man automake gcc openssh-clients git patch screen bind-utils mailx mc unzip ntpdate gcc-c++
- htop - продвинутый монитор процессов (http://ru.wikipedia.org/wiki/Htop);
- make - утилита для компиляции из исходников (http://ru.wikipedia.org/wiki/Make);
- man - справочные материалы (http://ru.wikipedia.org/wiki/Man);
- automake - это утилита для автоматической генерации файлов Makefile.in (http://ru.wikipedia.org/wiki/Automake);
- gcc - набор компиляторов для различных языков программирования (http://ru.wikipedia.org/wiki/Gcc);
- openssh-clients - пакет, включающий в себя такие полезные утилиты, как, например, scp;
- git - утилита для работы с распределённой системой управления версиями файлов (http://ru.wikipedia.org/wiki/Git);
- patch - предназначена для переноса правок (изменений) между разными версиями текстовых файлов (http://ru.wikipedia.org/wiki/Patch_(UNIX));
- screen - предоставляет пользователю доступ к нескольким сессиям в рамках одной сессии. Это полезно для работы с несколькими программами из командной строки, а также для запуска программ на удаленном сервере (http://ru.wikipedia.org/wiki/GNU_Screen);
- bind-utils - пакет, включающий утилиты nslookup, dug, host (http://www.linuxfromscratch.org/blfs/view/svn/basicnet/bind-utils.html);
- mailx - утилита для отправки и получения почты через консоль;
- mc - Midnight Commander - один из файловых менеджеров с текстовым интерфейсом типа Norton Commander (http://www.midnight-commander.org/);
- unzip - утилита для разархивирования zip-архивов;
- ntpdate - утилита синхронизации времени.
После этого проверьте, что crond выполняется:
/etc/init.d/crond status
а то бывало и такое =)
Так как большинство серверов обслуживаются удалённо, для его управления используется протокол ssh и соответствующая утилита. По умолчанию, по мимо всего прочего, она настроена на проверку GSS-API аутентификации. Чаще всего этот механизм не используется, но он существенно затормаживает процесс установления соединения между клиентом и сервером. В итоге при подключении до появления предложения ввода пароля или пароля для ключа приходится ждать некоторое время. Чтобы подключение проходило значительно быстрее эту функцию можно отключить. Для этого идём править файл конфигурации ssh-сервера:
nano /etc/ssh/sshd_config
Ищем и ставим положение в "no" для строчки GSSAPIAuthentication и перезапускаем сервис:
/etc/init.d/sshd restart
Ну, пожалуй всё. Этих настроек достаточно, чтобы начать делать с сервером дальше всё, что угодно, исходя из запросов.
Если нужен web-сервер с утсановленным LAMP, можно пройти к этой инструкции.
Удачи!
Комментарии
liam
11/11/2013 - 07:07
Постоянная ссылка (Permalink)
Спасибо! Пригодилось лишь
Спасибо! Пригодилось лишь частично, но для новичка в линухе самое то.
Роман
12/20/2013 - 17:48
Постоянная ссылка (Permalink)
Спасибо, новичок в Linux,
Спасибо, новичок в Linux, выбрал CentOS, нравиться! ))
erian
12/20/2013 - 17:51
Постоянная ссылка (Permalink)
Welcome =)
Welcome =)
CentOS, как серверная система, меня пока радует больше всего.
Роман
12/20/2013 - 17:49
Постоянная ссылка (Permalink)
СПАСИБО!
СПАСИБО!
Алексей
11/01/2015 - 16:25
Постоянная ссылка (Permalink)
Спасибо, очень хорошо и
Спасибо, очень хорошо и подробно изложено дня начинающих! Мне очень помогло.
Нашел небольшую ошибку:
У Вас написано:
"Осталось перезапустить сеть:
/etc/init.d/network restart"
На эту команду у меня Sentos выдавал ошибку^ "-bash: d/etc/init.d/network: No such file of directory".
Я нашел, что формат команды должен быть таким:
/etc/init.d/service network restart
ввел его и он заработал.
Может исправите, новичкам будет легче.
Еще раз спасибо за такую подробную инструкцию!
erian
11/01/2015 - 17:34
Постоянная ссылка (Permalink)
Доброго!
Доброго!
Дело в том, что у Вас, видимо, просто установлен CentOS 7.
Да, наверное, правильнее тут будет выполнить команду
Тогда это будет актуально для обеих версий. Исправил ;-)
Давид
02/09/2016 - 09:24
Постоянная ссылка (Permalink)
Спасибо тебе добрый человек,
Спасибо тебе добрый человек, что сделал сей понятный мануал! Очень просто и понятно для чайника. Спасибо еще раз!
Игорь
04/19/2016 - 11:36
Постоянная ссылка (Permalink)
Всё чётко! Спасибо!
Всё чётко! Спасибо!
Олег
01/20/2017 - 12:44
Постоянная ссылка (Permalink)
Спасибо за твою работу!
Спасибо за твою работу!
Добавить комментарий