Руководства, Инструкции, Бланки

руководство пользователя сервера Centos img-1

руководство пользователя сервера Centos

Категория: Руководства

Описание

How to - CentOS Wiki

Как сделать Содержание 1. Резервирование
  • BackupPC
  • Резервная копия с ротацией и возможностью удаленного копирования
  • Резервное копирование с Amanda
  • Резервное копирование с rsnapshot
2. Службы каталогов 3. Бездисковые клиенты
  • Работа бездисковых клиентов с помощью NFS и PXE
  • vpopmail
  • Postfix: простой Postfix/Dovecot почтовый сервер
  • Postfix Restrictions: Простая фильтрация спама в Postfix
  • Postgrey: Фильтрация спама на основе серых списков с Postgrey на Postfix
  • Postfix SASL и SSL/TLS: Руководства
  • Amavisd: Почтовый фильтр Amavisd c ClamAV и SpamAssassin
5. Шифрование
  • Шифрование /tmp /swap и /home
  • Шифрование файловой системы
7. WEB-сервер
  • получение исходных текстов ядра
  • сборка собственного ядра
  • подключение необходимых модулей ядра
10. Безопасность
  • Укрепление безопасности CentOS
  • Руководство SELinux
  • Настройка безопасного SSH
  • Использование VPNC на CentOS 5.x
11. Удаленная X- Сессия 12. Миграция
  • Руководство по миграции
  • ServerCD 4.4 миграция на CentOS 5
13. Управление пакетами
  • Yum
  • RPM
  • Управление пакетами
  • Fastest Mirror. yum плагин, для нахождения и использования наиболее быстрого, по скорости передачи, зеркала репозитария CentOS
  • Priorities. yum плагин, позволяющий назначить приорететы пакетам из различных репозиториев (1-99); позволяет назначить приоритеты пакетам из различных репозитариев; пакеты из репозитария с более низким значением приоритета не могут быть обновлены из репозитария с высоким значением приоритета
  • Protect Base. yum плагин, позволяющий защитить пакеты из указанного репозитария от обновления из незащищённых репозитариев
  • Yum Check or install Updates Script: Shell скрипт для автоматической проверки и установки новых обновлений
  • Установка из исходных текстов: как (не) устанавливать программы из исходных кодов в CentOS
  • Yum на RHEL: Использование репозитариев CentOS для RHEL машин
  • Поднятие локального зеркала CentOS для установки или обновления программ
  • Создание своего репозитария
  • Доступные репозитории для CentOS
  • Spacewalk: open source решение для управления Linux-инфраструктурой
14. Виртуализация
  • Введение
  • Перенос стандартной инсталяции CentOS4 в гостевой домен DomU гипервизора Xen
  • Пример создания и установки CentOS 5 в XEN DomU
  • Установка и использование полностью виртуализированных гостевых систем в Xen
  • Установка и использование KVM (Kerne-based Virtual Machine) на CentOS5
  • Vserver на CentOS
  • OpenVZ на CentOS
  • Virtualbox на CentOS
16. Устройства хранения, LVM - Менеджер логических томов, RAID
  • Настройка програмного RAID в CentOS 5
  • Как установить CentOS на раздельные тома RAID
  • Оптимизация файловой системы
17. Разное 18. Программы мониторинга используемые в CentOS
  • Nagios на CentOS
  • RT 3.4.x (тикетная система уровня предприятия) на CentOS
  • Cacti на CentOS 4.x
  • OCS inventory NG на CentOS
19. CentOS на ноутбуках 20. CentOS на базе intel Apple iMac 21. CentOS Руководство пользователя

Другие статьи

Руководство администратора

Панель управления веб-сервером — это серверное программное обеспечение для администрирования сервера через удобный для неквалифицированных пользователей web-интерфейс. Среди основных функций панелей управления следует отметить:

  • Создание пользователей, учетных записей ftp
  • Управление сайтами
  • Настройка DNS-сервера
  • Управление почтовым сервером

Squid — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS. Разработан сообществом как программа с открытым исходным кодом (распространяется в соответствии с GNU GPL). Все запросы выполняет как один неблокируемый процесс ввода/вывода.

Используется в UNIX-подобных системах и в ОС семейства Windows NT. Имеет возможность взаимодействия с Active Directory Windows Server путём аутентификации через LDAP, что позволяет использовать разграничения доступа к интернет ресурсам пользователей, которые имеют учётные записи на Windows Server, также позволяет организовать «нарезку» интернет трафика для различных пользователей.Сервер Squid развивается в течение уже многих лет.

Xen — кросс-платформенный гипервизор, разработанный в компьютерной лаборатории Кембриджского университета и распространяемый на условиях лицензии GPL. Основные особенности: поддержка режима паравиртуализации помимо аппаратной виртуализации, минимальность кода самого гипервизора за счёт выноса максимального количества компонент за пределы гипервизора.

Технология виртуальных машин позволяет расширить функциональность оборудования следующими способами:

  • Виртуальная машина обладает производительностью, сравнимой с реальной.
  • Возможность миграции запущенной виртуальной машины между физическими машинами.
  • Хорошая поддержка оборудования (поддерживается большинство драйверов устройств Linux)
  • Возможность создания песочницы, перезагружаемые драйверы устройств.

Samba - программа, которая позволяет обращаться к сетевым дискам на различных операционных системах по протоколу SMB/CIFS. Имеет клиентскую и серверную части. Является свободным программным обеспечением, выпущена под лицензией GPL.

Samba работает на большинстве Unix-подобных систем, таких, как Linux, POSIX-совместимых Solaris и Mac OS X Server, на различных вариантах BSD; в OS/2 портирован Samba-клиент, являющийся плагином к виртуальной файловой системе NetDrive. Samba включена практически во все дистрибутивы Linux.

OpenVZ - это реализация технологии виртуализации на уровне операционной системы, которая базируется на ядре Linux. OpenVZ позволяет на одном физическом сервере запускать множество изолированных копий операционной системы, называемых Виртуальные Частные Серверы (Virtual Private Servers, VPS) или Виртуальные Среды (Virtual Environments, VE).

Поскольку OpenVZ базируется на ядре Linux, в отличие от виртуальных машин (напр. VMware) или паравиртуализационных технологий (напр. Xen), в роли «гостевых» систем могут выступать только дистрибутивы Linux. Однако, виртуализация на уровне операционной системы в OpenVZ даёт лучшую производительность, масштабируемость, плотность размещения, динамическое управление ресурсами, а также лёгкость в администрировании, чем у альтернативных решений.

Изучение и настройка CentOS 6

Изучение и настройка CentOS 6.4 для сервера


Сразу скажу я не специалист по Linux, начал изучать Linux только потому что аренда серверов под Windows в разы дороже, то есть как ни крути Linux это просто выгодно, а еще как оказалось в некоторых моментах и попроще чем Windows.

Статья написана как полное руководство по одному из возможных вариантов настройки веб сервера на CentOS от начала и до конца, со всеми подводными камнями, на устранение которых человеку не знакомому с Linux, может понадобиться много времени. Сервер предполагается на Apache+PHP+Postgres, кому нужна MySQL без труда смогут найти руководство в интернете, Postgres все таки менее популярен, а поэтому чуть посложнее. Кроме возможной пользы для других, планирую и сам пользоваться своим руководством чтобы вспомнить моменты которые напрягли при настройки CentOS и быстро разворачивать сервера на CentOS по мере необходимости, поэтому любые и советы и дополнения приветствуются!

Почему CentOS. тут тоже все просто так как я не работал ни с одной версией Linux, выбирал лучшую из доступных под мои требования, а требования простые раз это сервер, то нужна максимальная стабильность ну и бесплатность, а CentOS это операционная система корпоративного класса созданная на основе платной Red Hat Linux и в отличии от Fedora без всяких экспериментов только проверенные и надежные технологии от Red Hat.

Несмотря на заявленную стабильность, советую начинать изучение CentOS на локальном компе в виртуальной машине, и в качестве виртуальной машины советую Virtual Box, потому что в любимой мной VMware Workstation, CentOS умудрилась вызвать зависание всей VMware, которое я за много лет пользования VMware вообще никогда не видел и еще CentOS почему то не ставиться на VMware Workstation 9 в минимальной конфигурации, а именно в этой конфигурации (то есть просто доступ к командной строке, без всяких графических оболочек) в идеале использовать CentOS на удаленном сервере, так же с VMware возникли проблемы с установкой 64-битной версии CentOS 6.4. Конечно я уверен что все эти проблемы с VMware решаемы, но как то не хотелось разбираться еще и в этом, когда изучение самой ОС намного интереснее, просто имейте ввиду при прочих равных лучше начать изучение в Virtual Box.

Итак начнем:
Для начала советую ставить CentOS с графическим интерефейсом, дистрибутив легко отличить по самому большому размеру, основную работу все равно придется делать в окне терминала, но привычный вид рабочего стола поможет легче пережить шок от того что можно работать и без графики.
После установки CentOS и создания пользователя например Test, входить в систему нужно под пользователем root, а пароль вводить от пользователя Test, root это администратор системы и только под ним можно сделать все то что нужно для настройки нашего сервака, странная логика но это нужно знать.

Так же можно зайти под Test и ввести
# su root
в итоге все будете делать под root, этот способ так же более безопасен
спасибо Falcon_peregrinus за совет

После того как логин прошел успешно, нужно открыть окно терминала в графической версии CentOS, либо просто начать писать команды в командную строку в минимальной версии CentOS.
Для начала сделаем обновление системы. Просто напишем в терминале:
# yum update и нажмем enter
Знак # писать не нужно, я просто написал его чтобы было понятно что это команда для терминала CentOS.
После yum update если у вас есть соединение с интернетом, пойдет обновление всей системы из официального репозитория CentOS. Чем мне сразу понравилась CentOS в сравнении с Windows это наличие такого репозитория, где собрано куча оттестированного софта для вашей системы. Конечно пользоваться им только из окна терминала не так удобно как могло бы быть, но в случае сервера, софта будет не много и этого более чем достаточно.

Сеть
Если у вас все таки какие то проблемы с интернетом на CentOS то опишу как настроить сетевой адаптер.
Набираем в терминале команду
# ifconfig
Не ipconfig, а именно if
В результате нам покажут все сетевые интерфейсы которые есть на CentOS. Чтобы был интернет в списке доступных интерфейсов кроме lo(то есть локальный), должен быть хотя бы один адаптер eth, например eth0.
Если нет ни одного eth, вводим
# ifconfig eth0 up
После чего вводим опять ifconfig и проверяем, eth0 должен появиться.
Если интернета все равно нет, то открываем настройки eth0
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
vi это текстовый редактор чтобы начать редактировать нужно нажать клавишу i внизу появится надпись INSERT, чтобы выйти из режима редактирования нажимаем ESC. После чего пишем :wq что значит сохранить и выйти(:q! чтобы выйти не сохраняясь). Как именно редактировать файл настроек сетевого адаптера eth0 это вам виднее, единственное скажу что нужно поставить ONBOOT=”yes”, чтобы сетевой адаптер загружался автоматически. Мне этот параметр помог наконец получить IP адрес от моего роутера по DHCP по другому почему то не получилось. Еще скажу что для настройки сети есть графическая прога вызвать которую можно командой
system-config-network
Но в ней нельзя настроить параметр ONBOOT=”yes”, да и вообще по моему в обычном файле как то удобнее.
Да и в минимальной конфигурации CentOS эту прогу еще нужно поставить из репозитория.

Apache
Когда мы обновили систему, а значит не имеем проблем с интернетом в нашей ОС, можно переходить к настройке сервака.
Сначала поставим веб сервер.
# yum -y install httpd
-y значит что установщик нажмет yes если такое потребуется, можно запустить и просто
# yum install httpd
Но тогда нажимать y придется самим.
Добавим апачи в автозагрузку
# chkconfig httpd on
И запустим
# service httpd start
Если появиться ОК значит все прошло хорошо.

PHP
Теперь поставим php
# yum install php
Сделаем файл для проверки
# echo ' ' > /var/www/html/test.php
Перегрузим Apache
# service httpd restart
Смотрим по адресу IP-адрес_сервера/test.php информацию о php, если она есть значит все хорошо.

Postgres
Теперь с установкой Postgres сделаем немного посложнее. В официальном репозитории CentOS, находиться старая версия Postgres 8.3, по опыту работы с postgres скажу что у меня с ней были проблемы, поэтому советую ставить более новую версию.
Оригинальное руководство на английском тут

Для начала выключаем SELinux
# vi /etc/sysconfig/selinux
И устанавливаем переменную SELinux=disabled
SELinux это система контроля доступа в Linux, она помешала мне соединиться с Postgres, в оригинальном английском руководстве об этом ни слова.
Уже после написания статьи настраивал CentOS на другом сервере и соеденения с Postgres прошли нормально и без выключения SELinux, поэтому просто имейте ввиду если Postgres не работает возможно дело в SELinux.

Теперь скачаем данные о репозитории Postgres с официального сайта.
# wget http://yum.pgrpms.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm

Если ничего не качает установите прогу wget (yum install wget)
Устанавливаем репозиторий чтобы можно было поставить Postgres через yum
# rpm -ivh pgdg-centos92-9.2-6.noarch.rpm

После чего ставим клиент сервер для Postgres
# yum install postgresql92 postgresql92-server
нажимая Y там где это нужно
Инициализируем БД
# service postgresql-9.2 initdb
И стартуем
# service postgresql-9.2 start
добавим Postgres в автозагрузку
# chkconfig postgresql-9.2 on

Теперь нужно создать пользователя для Postgres
# su postgres
# psql -dpostgres

должна появится надпись postgres=# вначале строки, значит мы залогинены под этим пользователем в БД.
После чего создаем супер пользователя и пароль
# CREATE role opensourcedbms LOGIN PASSWORD 'opensourcedbms' SUPERUSER;
После чего выходим
# \q

Теперь нужно сделать стандартные настройки Postgres
# vi /var/lib/pgsql/9.2/data/postgresql.conf
Расскоментируем строку #listen_addresses = ‘localhost’ и изменим ее на #listen_addresses = ‘*’
И настроим файл pg_hba.conf
# vi /var/lib/pgsql/9.2/data/pg_hba.conf
Я для проверки работы БД оставляю раскомментированными такие строки
Host all all 0.0.0.0/0 trust
Host all all. 1/128 trust
То есть коннект принимается с любых адресов и без пароля, потом не забудьте это исправить.
После настройки советую изменить trust на md5, пускать только локальные подключения к базе и в виде исключения прописать ваш IP адрес с которого можно подключатся к базе и удаленно, если IP динамический и нужно прямое подключение к базе то оставьте 0.0.0.0/0

После чего
# service postgresql-9.2 restart

И если у вас запущем фаервол нужно добавить в него такую запись
# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

Хотя я для начала советую просто сделать
# service iptables stop
Чтобы выключить его совсем.

После чего можно пробовать подключатся к базе данных из установленного не в CentOS, pgAdmin. Можно конечно поставить pgAdmin и в саму CentOS, но я думаю это лишнее, тем более для этого обязательно нужен графический интерфейс.

В случае каких то проблем для начала перезапустите все сервисы или вообще весь сервер, возможно где то забыли это сделать и изменения еще не вступили в силу.

Теперь осталось только связать Postgres c PHP
# yum install php-pgsql

после чего перезапускаем веб сервер и базу данных
# service httpd restart
# service postgresql-9.2 restart
И в нашем файле test.php который мы создали ранее должна появиться информация о Postgres.

FTP
Теперь поставим FTP для доступа к файлам на нашем сервере.
# yum install vsftpd
# chkconfig vsftpd on
# service vsftpd start

Думаю эти три строчки понятны, я расскажу о том как создать пользователя для фтп и назначить ему папку не по умолчанию, именно назначение папки почему то неправильно описано в статьях что я читал по настройке vsftpd.
# adduser ftpuser1
# passwd ftpuser1

Создаем пользователя и пароль.
Открываем файл со всеми пользователями CentOS
# vi /etc/passwd
Находим там ftpuser1 и меняем там папку на свое усмотрение
После чего перезагружаем vsftpd и проверяем.
Смена стандартной папки для ftp пользователя мне например пригодилась чтобы заливать файлы по ftp сразу в директорию вебсервера
Конфигурация vsftpd находиться в /etc/vsftpd.conf, описывать не буду у каждого она индивидуальная но по умолчанию все работает.
Можно только сразу выключить доступ анонимов по ftp
anonymous_enable:no

Графика
Теперь хотелось бы сказать как поставить графический интерфейс на CentOS, если у вас такого нет.
#yum groupinstall «X Window System» «Desktop» «Desktop Platform» «Fonts»
И запуск
# startx
Чтобы выйти из графического интерфейса наберите
# telinit 3
Обратите внимание команда с пробелом!

По поводу доступа к графическому интерфейсу на удаленном сервере(на своей локальной виртуалке такой доступ не нужен) могу просто посоветовать использовать xrdp, по информации в интеренете этот доступ наиболее стабильный и быстрый, мне установили по требованию на мой хостинг и я не стал разбираться с установкой, потому что для настройки сервера вполне хватает обычной консоли которую можно получить в программе PuTTY. Я даже удивился как может быть удобна консоль советую просто попробовать, для сервака самое то, доступ к рабочему столу обычно тормозит и это раздражает, но даже если бы все было как на локальном компьютере я бы тоже использовал консоль. Графика очень полезна для начального изучения что и как, но когда быстро надо настроить сервак консоль просто лучше.

Дополнительные мелкие полезности, планирую обновлять:
# yum search file_name
Поиск файла в репозитории CentOS

# find /* -iname 'file_name'
Поиск расположения файла на локальном компьютере

# ls
# ls –l
Показывает содержание текущего каталога

# system-config-firewall
фаервол в графике можно удобно поставить галки на те сервисы которым разрешено выходить в интернет, иногда требуется установка из репозитория.

Веб-сервер под CentOS 7

Vladimir Drach. Official Web-Site. - Личный сайт Владимира Драча

Задача: развернуть выделенную площадку для размещения нескольких веб-сайтов. Рассматриваем процесс с нуля, разделяя на несколько этапов.

Внимание! Уже появилась более прогрессивная методика для версии 7.1 .

В качестве операционной системы для будущей хостинг-площадки вполне рационально выбрать операционную систему Linux, диструбутив Centos версии 7.0. Свой выбор на Centos остановим, так как дистрибутив стабильный, прекрасно обновляется, поддерживает работу с пакетами. А самое главное - является вариантом Red Hat Enterprise Linux.

Удивительные вещи, которые ждут нас в седьмой версии :

  • Отказ от iptables, теперь вместо него firewall
  • Отказ от chkconfig - теперь вместо него systemd
  • Переход с MySQL к MariaDB.
Установка операционной системы

На данный момент актуальной является CentOS 7, ориентированный исключительно на архитектуру x86_64. Скачиваем образ ISO и устанавливаем с диска, но можно поставить и с флэшки.

В процессе установки выбираем вариант Desktop: он достаточно лёгкий (не будет тащить за собой кучу лишних пакетов), а кроме того позволит на первых порах отлаживать систему в графическом режиме. В будущем установим дополнительные пакеты вручную.

Аппаратная часть

В нашем распоряжении оказался уже морально устаревший двухядерный компьютер на базе процессора E3300, имеющий 2 Гб оперативной памяти. Как показала практика, его вполне достаточно.

Разделы диска

На шаге Installation Destination нам предлагается выбрать диск для установки системы. Если ничего не трогать (Automatically Configure Partitioning), то инсталлятор самостоятельно справится с разбиением на разделы. Считаю, такие важные вещи нельзя пускать на самотёк, они требуют вмешательства; поэтому наш выбор - I will configure partitioning. Видим диалоговое окно, показанное ниже.

Распределяем место на диске.

  • Нам необходимо выделить более 82 Мб для раздела boot.
  • Всё оставшееся место за исключением размера оперативной памяти отводим под корневой раздел.
  • Наконец, остаток отдаём под файл подкачки, помечая его swap.

В результате разделы будут видны примерно таким образом.

В отличие от шестой версии, файловой системой по умолчанию в седьмой версии является XFS, а не ext4. К сожалению, в сети довелось натыкаться на негативные отзывы о ней, однако не могу высказать своё собственное мнение: я вынужден использовать ext4 для совместимости с некоторым необходимым программно-аппаратным обеспечением.

Результат команды df -h после установки:

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

Например, включенный selinux не позволит подключаться по протоколу ftp к серверу, если в будущем поставим vsftpd, клиент будет получать сообщения об ошибке

В CentOS отключение SELinux выглядит просто. Открываем файл конфига

Сделано, теперь нас не будут поджидать сюрпризы в будущем. Скептикам, ратующим за безопасность системы, сразу сообщаю, что наш сервер будет надёжно защищён настройкой firewall (пришёл на смену iptables ). В соответствии с функциональным назначением нашего сервера настраиваем firewall. открывая для общего доступа порты 80 и 443 :

Проверяем, что yum установлен. Если его нет, придётся вручную тащить пакет mirror.centos. org/centos/7/os/x86_64/Packages/ и устанавливать через менеджер пакетов.

Устанавливаем необходимые пакеты, которые непосредственно отвечают за функционирование веб-сервера. В нашем случае это apache, mysql, php (для комплекса LAMP ) или nginx, mysql, php (для комплекса LEMP ), а возможно, и всё вместе.

Например, установка веб-сервера apache выглядит следующим образом:

Запускаем службу, добавляем в автозагрузку, проверяем результат:

Если потребуется перезапустить apache после каких либо настроек (или после установки php), пригодится команда

Привычная утилита setup теперь отсутствует. Убеждаемся, что все службы будут стартовать при запуске системы с помощью systemctl is-enabled служба .

Варианты использования systemctl:

Вариант наиболее полной установки PHP, с расчётом на разворачивание платформ для современных популярных движков Joomla, Wordpress и Drupal, будет выглядеть следующим образом:

Если оригинальная версия php не соответствует минимальным требованиям размещаемых сайтов, можно воспользоваться описанной методикой или лучше более прогрессивной методикой .

Устанавливаем и запускаем MySQL.

Альтернативный вариант: устанавливаем и запускаем MariaDB:

Теперь готовимся к отказу от графического интерфейса.

Во всём семействе Red Hat Linux (Fedora, Red Hat, CentOS) используется следующая система уровней выполнения

  • Single-user text mode (without networking)
  • Not used (user-definable)
  • Full multi-user text mode
  • Not used (user-definable)
  • Full multi-user graphical mode (with an X-based login screen)
  • Reboot

Состояние подготовки к выключению кодируется нулём.

Так как перед нами стоит задача развернуть выделенный сервер, наиболее рационально выбрать уровень 3, который является многопользовательским, но не использует графику.

Теперь третий уровень выполнения становится уровнем по умолчанию, именно на нём будет работать система в случае перезапуска.

В любой момент времени проверить текущий уровень можно командой runlevel:

Теперь дело за малым:

  • Настроить mysql. однако необходимо заметить, что компания Red Hat предпочитает на данный момент альтернативную базу данных MariaDB
  • Настроить высокопроизводительный веб-сервер (например, связку nginx+apache ), или оставить только службу httpd
  • Настроить php

Если все шаги выполнены, то у нас всё готово.

Можно клонировать сайты и запускать корабль в плавание.