Настройка 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 и видим что-то подобное:

Spoiler: Highlight to view

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

Spoiler: Highlight to view

Деактивируется интерфейс 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

Spoiler: Highlight to view

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, можно пройти к этой инструкции.

Удачи!

Комментарии

Спасибо! Пригодилось лишь частично, но для новичка в линухе самое то.

Спасибо, новичок в Linux, выбрал CentOS, нравиться! ))

Welcome =)
CentOS, как серверная система, меня пока радует больше всего.

Спасибо, очень хорошо и подробно изложено дня начинающих! Мне очень помогло.

Нашел небольшую ошибку:
У Вас написано:
"Осталось перезапустить сеть:
/etc/init.d/network restart"
На эту команду у меня Sentos выдавал ошибку^ "-bash: d/etc/init.d/network: No such file of directory".
Я нашел, что формат команды должен быть таким:
/etc/init.d/service network restart
ввел его и он заработал.
Может исправите, новичкам будет легче.

Еще раз спасибо за такую подробную инструкцию!

Доброго!
Дело в том, что у Вас, видимо, просто установлен CentOS 7.

Да, наверное, правильнее тут будет выполнить команду

service network restart

Тогда это будет актуально для обеих версий. Исправил ;-)

Спасибо тебе добрый человек, что сделал сей понятный мануал! Очень просто и понятно для чайника. Спасибо еще раз!

Всё чётко! Спасибо!

Спасибо за твою работу!

Добавить комментарий

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image