Centos 7 первоначальная настройка. Установка почтового сервера Zimbra

В данном руководстве мы проведем установку операционной системы CentOS 7 на сервер поддерживающий 64bit архитектуру, так как дистрибутива под архитектуру 32bit разработчики не выпустили, по крайней мере я нигде не нашел.

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

CentOS - дистрибутив Linux, основанный на коммерческом Red Hat Enterprise Linux компании Red Hat и совместимый с ним. Red Hat Enterprise Linux состоит из свободного ПО с открытым кодом, но доступен в виде дисков с бинарными пакетами только для платных подписчиков. Как требуется в лицензии GPL и других, Red Hat предоставляет все исходные коды. Разработчики CentOS используют данный исходный код для создания окончательного продукта, очень близкого к Red Hat Enterprise Linux и доступного для скачивания.

Скачиваем CentOS 7 на официальном сайте для архитиктуры x64:
Скачиваем дистрибутив удобного для Вас размера по ссылкам:

Сделаем небольшой перерыв и посмотрим за экстремальным спуском с горы на велосипеде, дух захватывает:

Установка и настройка Web-Server в CentOS 7

Установка и настройка Web-Server в CentOS 7

Установка MySQL

в CentOS 7 вместо MySQL используется свободная копия которая называется MariaDB,

Для начала установим сервер MariaDB для этого в командной строке нужно выполнить:

# yum -y install mariadb-server mariadb

После установки добавляем сервер MariaDB в автозапуск:

# systemctl start mariadb.service

# systemctl enable mariadb.service

Установка Apache

Для установки веб-сервера Apache нужно выполнить команду:

# yum -y install httpd

После установки добавляем сервер Apache в автозапуск:

# systemctl start httpd.service

# systemctl enable httpd.service

В CentOS 7 используется firewall Firewall-cmd . Добавим настройку которая разрешает подключения на порт 80 (http) и порт 443 (https)

# firewall-cmd —permanent —zone=public —add-service=http

# firewall-cmd —permanent —zone=public —add-service=https

# firewall-cmd —reload

После, откройте в браузере http://ip-address , и на экране будет отображаться стандартная страница веб-сервера Apache

По умолчанию в веб-сервере Apache корневая директория для сайтов (document root) расположена в директории /var/www/html

Конфигурационный файл (файл с настройками) веб-сервера Apache находится в файле /etc/httpd/conf/httpd.conf

Дополнительные конфигурационные файлы находятся в директории: /etc/httpd/conf.d/

Установка PHP

Для установку PHP необходимо выполнить команду:

# yum -y install php

После установки нужно выполнить перезагрузку веб-сервера apache:

Для проверки работы PHP в корневой директории (document root) веб-сервера apache /var/www/html можно создать файл pi.php который будет содержать функцию phpinfo()

(функция phpinfo() отображает много полезной информации о настройках веб-сервера и PHP).

Для это нужно выполнить команду:

# echo «» > /var/www/html/pi.php

После чего в браузере можно открыть страницу:

http://ip-address/pi.php

На этой странице отображается вся необходимая информация о веб-сервере Apache и настройках PHP

Настройка поддержки MySQL в PHP

Для поддержки MariaDB в PHP нужно установить пакет php-mysql . Так же можно установить и некоторые другие пакеты для работы PHP с различными модулями, которые могут понадобится. Для этого выполним команду:

# yum -y install php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

# systemctl restart httpd.service

Теперь можно переоткрыть страницу http://ip-address/pi.php и увидеть новую информацию.

Установка phpMyAdmin

phpMyAdmin это программа предоставляющая веб-интерфейс через который можно управлять базами данных MySQL и MariaDB

Для установки нужно выполнить инициализиацию репозитория EPEL так как в официальном репозитории CentOS 7 phpMyAdmin отсуствует.

# yum -y install epel-release

После добавления репозитория есть возможность установить phpMyAdmin:

# yum -y install phpmyadmin

После установки phpMyAdmin будет доступен по адресу: http://ip-address/phpmyadmin/

Установка WordPress

Для начала создадим директорию temp, в которую загрузим последнюю версию WordPress:

# mkdir temp

# cd temp

# yum install wget unzip net-tools

# wget http://wordpress.org/latest.zip

# yum -y install php-gd

# systemctl restart httpd.service

Распакуйтеzip файл WordPress в папку:

# unzip -q latest.zip -d /var/www/html/

Теперь предоставим директории соответствующие права доступа:

# chown -R apache:apache /var/www/html/wordpress

# chmod -R 755 /var/www/html/wordpress

# mkdir -p /var/www/html/wordpress/wp-content/uploads

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

# chown -R:apache /var/www/html/wordpress/wp-content/uploads

Затем нам необходимо проверить файл конфигурации, для этого нам необходимо скопировать его (за базу берётся стандартный файл примера). Тестовый файл конфигурации находится по адресу /var/www/html/wordpress:

# cd /var/www/html/wordpress/

# cp wp-config-sample.php wp-config.php

# mcedit wp-config.php

Смените значения на те, которые вы создали при инициализации баз данных.

Теперь обратимся к нашему сайту через web-интерфейс, для этого перейдем по адресу:http://ip-address/wordpress/wp-admin/install.php:

Сначала выберите язык и нажмите Continue:

Site Title = WordPress-testsite Admin Email = [email protected] Username = admin Admin password = testpassword Confirm Admin Password = testpassword

Значения могут отличаться, вы можете задать любые значения по вашему выбору. После этого нажмите Install WordPress:

Необходимо предоставить пару имя/пароль, которые мы выбрали при установке WordPress.

Многие и не подозревают, что все сервисы и услуги, которыми мы пользуемся в Сети, базируются на точно таких же компьютерах, что работают в наших квартирах, только настроены совершенно иначе, не могут похвастать красивым графическим интерфейсом и управляются с помощью специализированных команд. Эти компьютеры именуются серверами. Люди осведомленные, конечно, знают, как произвести настройку и «поднять» собственный сервер. Тем же, кто в этом деле новичок, необходимо проштудировать не один форум, чтобы окончательно освоиться. Одно известно точно: для настройки недорогого и стабильного сервера необходимо выбрать такую же недорогую и стабильную основу, а именно операционную систему на основе Linux. Выбор большинства падает на CentOS 7. В данном материале собрана краткая информация о том, как произвести установку CentOS 7 и создать на ее основе базовый сервер.

Что такое CentOS?

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

CentOS не может похвастать самыми последними версиями пакетов, в отличие от той же Fedora, но каждый системный администратор будет этому только рад, когда Fedora или другой современный дистрибутив со своими свежими пакетами «упадет», а CentOS продолжит спокойно работать независимо от обстоятельств. В данном материале вкратце описывается процесс настройки и установки CentOS 7, основные особенности системы и рабочая среда.

Загрузка CentOS 7

Перед установкой CentOS 7 необходимо загрузить дистрибутив операционной системы на официальном сайте.

Существует несколько вариантов загрузки:

  • ISO-файл для записи на диск - идеальный вариант для большинства с полноценной системой и графическим интерфейсом;
  • ISO-файл для установки с жесткого диска и USB-флешки - самый полный комплект пакетов;
  • ISO для минимальной выгрузки - содержит в себе только базовую операционную систему с минимальным набором пакетов и без графического интерфейса (на этой версии дистрибутива можно без проблем «поднять» сервер, не устанавливая ничего лишнего).

В числе загрузочных файлов можно отыскать два «живых» образа диска с двумя разными рабочими средами (KDE и Gnome). Эти образы подойдут тем, кто хочет опробовать систему в деле до установки на жесткий диск.

Установка CentOS 7

Даже при выборе минимального образа CentOS 7 предложит воспользоваться графическим интерфейсом для установки системы на жесткий диск.

Процесс этот проходит в 6 основных шагов:

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

После введения данных необходимо будет создать профиль пользователи и указать пароль Root. После завершения процесса установки компьютер перезагрузится и предложит запустить новую операционную систему.

Установка сервера CentOS 7

Здесь вкратце поговорим о том, как развернуть универсальный сервер на базе CentOS 7 с минимальным набором необходимых инструментов, которые требуются для его полноценной работы.

Итак, для начала необходимо отыскать сам сервер. Его можно либо нанять в Сети (от 250 рублей), либо настроить на локальной машине. Единственное, что потребуется, - это данные SSH, которые будут использоваться для входа на сервер. Возьмем в качестве примера абстрактный почтовый адрес [email protected] и имя пользователя c паролем тоже centos.

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

  • Добавляем пользователя командой useradd centos;
  • Создаем для него уникальный пароль - passwd centos;
  • Заставляем систему отправлять root-почту этому пользователю - vi /etc/aliases;
  • Даем пользователю права sudo командой visudo (командная строка отзовется подтверждением операции).

После нужно отключить Firewall и SeLinux. Это необходимо сделать для того, чтобы случайно не лишить себя прав доступа к серверу. Приостановить работу Firewall можно, используя команды systemctl stop firewalld и systemctl disable firewalld. Ситуация с SeLinux немного сложнее: необходимо открыть соответствующий конфигурационный файл в текстовом редакторе Vi с помощью команды vi /etc/selinux/config, разыскать там строку SELINUX=enabled и заменить на SELINUX=disabled. Затем нужно перезагрузить систему.

Следующим этапом настройки будет установка SSH.

Для этого необходимо:

  • Добавить соответствующие ключи с севера [email protected].
  • Изменить порт в конфигурационном файле /etc/ssh/sshd_config на Port 222.
  • Запретить вход на сервер без прав Root, вписав строку PermitRootLogin without-password.
  • И перезагрузить сервер командой systemctl restart sshd.

Также нужно обновить все системы и установить хранилища epel и rpmforge. Для этого необходимо:

  • Обновить все системные элементы командой yum update.
  • Загрузить новые системные компоненты командой yum -enablerepo=cr update.
  • Если существующих компонентов недостаточно, можно загрузить более современные версии epel и rpmforge, для этого вводим команду yum -y install *адрес репозитория, где хранится нужная версия программного обеспечения* (подходящий репозиторий можно легко найти на профильных ресурсах).

Проверка сервисов, настройка Apache и PHP

Для установки дополнительных компонентов в существующий каркас сервера потребуется проверка и отключение некоторых сервисов и MTA-служб.

Для этого нужно:

  • Проверить, что из служб уже запущено, командой systemctl -t service.
  • Отключить все ненужные и запретить их запуск, например для установки почтовых служб потребуется отключение postfix командами systemctl stop postfix и systemctl disable postfix.

Затем нужно загрузить Apache и PHP, необходимые для полноценного функционирования нашего сервера.

Итак, для этого:

  • Устанавливаем пакет Apache командой yum -y install httpd.
  • Вносим изменения в конфигурационный файл (там необходимо указать адрес сервера, имя, подписи и прочее).
  • Запускаем Apache и включаем функцию автозапуска командами systemctl start httpd и systemctl enable httpd.
  • Затем добавляем PHP командой yum -y install php php-mbstring php-near.
  • Перезагружаем Apache командой systemctl restart httpd.

Установка системы управления БД MySql

Перед тем как произвести установку MySql в CentOS 7, стоит уточнить, что при использовании стандартного менеджера загрузок Yum система скачает альтернативную версию программы под название MariaDB, поэтому в случае с CentOS придется идти обходным путем.

Для установки MySql необходимо:

  • Загрузить клиент MySql с официального репозитория утилиты с помощью команды wget *ссылка на файл с клиентом MySql*.
  • Затем установить его в sudo rpm -ivh *полное название rpm файла с нужной версией MySql* и sudo yum install mysql-server.
  • Затем дважды подтвердить операцию, введя в командную строку Y.

мониторинга Zabbix

Для установки Zabbix в CentOS 7 необходимо найти свежую версию клиента на официальном сайте разработчика и затем инсталлировать его в системе.

Для этого необходимо:

  • Добавить репозиторий командой rpm Uvh *ссылка на rpm-файл с актуальной версией Zabbix*.
  • Обновить список доступного программного обеспечения командой yum update.
  • Затем установить клиент Zabbix в систему командой yum install zabbix-agent.
  • После остается проверить версию клиента (нужна третья) и утвердительно ответить на все запросы, вводя Y в командной строке.

Установка почтового сервера Zimbra

Перед тем как произвести установку Zimbra в CentOS 7, необходимо подготовить для этого систему.

Итак, нужно проделать следующее:

  • Правильно настроить файл etc/hosts и hostname.
  • Разрешить в iptables все порты Zimbra.
  • Выключить SeLinux.
  • Выключить все MTA-службы.
  • Обновить операционную систему командой yum update -y.
  • Затем нужно загрузить соответствующие пакеты командой yum install perl perl-core ntpl nmap sudo libidn gmp.
  • Затем - саму утилиту Zimbra *ссылка на файл с утилитой Zimbra актуальной версии*.
  • Распаковать файл командой tar и перейти в соответствующую директорию командой cd.
  • После чего нужно запустить процесс установки командой./install.sh —platform-override.

Настройка сети в CentOS 7

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

У начинающих пользователей Linux могут возникнуть затруднения на самом первом этапе — не получится проверить текущее состояние сети командой ifconfig (будет выдаваться сообщение — команда не найдена). Это не проблема, это особенность работы CentOS, поэтому данную команду необходимо запускать от суперпользователя (администратора) командой:

Причина заключается в том, что обычные пользователи системы и root пользователь имеют различные переменные окружения PATH (вы можете посмотреть PATH пользователя при помощи echo $PATH). После ввода команды Linux, оболочка будет искать пользовательский PATH, чтобы попытаться найти команду для запуска. Она начинает поиск в каждой директории указанной в PATH, пока цель не будет найдена. Команды обычных пользователей обычно расположены в /usr/local/bin, /usr/bin и /bin. А команды пользователя root распологаются в основном в /usr/local/sbin, /usr/sbin, /sbin и корневой PATH это отражает. Поэтому, когда вы становитесь суперпользователем при помощи «su -«, то вы также принимаете и новый путь PATH к основным командам. А используя только ‘su’, сохраняется пользовательский путь PATH по умолчанию, следовательно, при попытке выполнить программу расположенную в /usr/local/sbin, /usr/sbin, /sbin выдаст результат: ‘command not found’ error. Для более детального объяснения, смотрите справочную страницу (man bash), особенно раздел login shells. Таким образом, вы или должны указывать полный путь к команде (пример — /sbin/ifconfig) при использовании ‘su’, либо использовать ‘su -‘, когда становитесь root-ом.

Для проверки текущих сетевых настроек стоит использовать команду:

При работе в ОС семейства Linux, необходимо знать и понимать, что все аппаратные и программные устройства, а также различные параметры самой операционной системы и программ хранятся в конфигурационных файлах. Таким образом, конфигурационные файлы интерфейсов управляют программными интерфейсами отдельных сетевых устройств. При загрузке ОС происходит считывание этих файлов и информации в ней, на основе которой и происходит определение необходимых (используемых и настроенных) интерфейсов, а также их запуск.

Такие файлы обычно называются ifcfg-<имя> , где <имя> относится к имени устройства, которое управляется этим конфигурационным файлом. Как было сказано выше — все интерфейсы и параметры ОС хранятся в различных специализированных файлах, что дает администратору удобною и гибкую возможность настройки параметров ОС и оборудования.

Настройка сетевого интерфейса

Настроим сетевой интерфейс путем редактирования конфигурационного файла, который расположен в директории /etc/sysconfig/network-scripts/

В моем случае кабель подключен в первый (и единственный) сетевой адаптер, который называется в системе eth0 . Выполним редактирование соответствующего файла:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

Напоминаю, чтобы внести изменения в содержание файла в редакторе vi — необходимо:

  • нажать клавишу «i» или «Insert»
  • для выхода из режима редактирования — «esc»
  • для сохранения внесенных изменений — «Shift+:» затем «wq» и нажать «Enter»

Для сети со статическим IP адресом:

DEVICE=»eth0″
BOOTPROTO=»none»
ONBOOT=»yes»
IPADDR=»192.168.1.100″
NETMASK=»255.255.255.0″
GATEWAY=»192.168.1.1″

Для сети с использованием DHCP:

DEVICE=»eth0″
BOOTPROTO=»dhcp»
ONBOOT=»yes»

Комментарии выполненных действий:

Настройке сети

Выполняем редактирование сетевого конфигурационного файла:

# vi /etc/sysconfig/network

Вводим следующие данные:

NETWORKING=»yes»
HOSTNAME=»Имя.Вашего.Сервера» или рабочей станции

Для корректного применения настроек (чтобы они вступили в силу) выполняем перезапуск сети:

# /etc/init.d/network restart

Если изменения в файле /etc/sysconfig/network не требуются, тогда можно рестартануть только интерфейс:

# ifdown eth0 && ifup eth0

Также стоит знать, что настройку сети можно выполнить более быстро , выполним данные команды:

ifconfig eth0 192.168.Х.Х netmask 255.255.255.0

Для отключения сетевого интерфейса выполните:

Если же вы хотите, чтобы настройки были получены автоматически по DHCP, то выполните следующую команду:

В данном случае, чтобы прекратить работу сетевого интерфейса необходимо будет завершить работу программы dhclient:

НО! При настройке сети подобным образом, после перезагрузки конфигурирование придется производить заново.

Настройка DNS

Открываем файл ‘resolv.conf’ :

15 августа, 2014 12:57 пп 18 669 views | Комментариев нет

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

1: Войдите как root-пользователь

Получив свой IP-адрес и root-пароль, войдите на сервер как главный пользователь (root). Для этого используйте команду (замените выделенный IP своим IP-адресом):

ssh [email protected]

Терминал вернет что-то вроде:

The authenticity of host "111.22.33.444 (111.22.33.444)" can"t be established.
ECDSA key fingerprint is 79:95:46:1a:ab:37:11:8e:86:54:36:38:bb:3c:fa:c0.
Are you sure you want to continue connecting (yes/no)?

Выберите yes и введите свой root-пароль.

Примечание : использовать учетную запись root на регулярной основе не рекомендуется; данное руководство поможет создать другого пользователя для постоянной работы.

2: Измените пароль

На данный момент используется root-пароль, установленный по умолчанию и полученный после регистрации сервера. Первое, что нужно сделать, — заменить его собственным паролем.

Что касается устанавливаемых паролей, система CentOS очень осторожна. Потому после ввода нового пароля может появиться извещение BAD PASSWORD. Можно либо установить более сложный пароль, либо же проигнорировать сообщение: на самом деле, CentOS примет даже слишком простой или короткий пароль, хотя и предложит использовать более сложную комбинацию.

3: Создайте нового пользователя

Войдя на сервер и изменив root-пароль, нужно снова войти на VPS как root. Данный раздел продемонстрирует, как создать нового пользователя и установить пароль для него.

Итак, создайте нового пользователя; для этого используйте следующую команду (замените demo своим именем пользователя):

adduser demo

Теперь создайте пароль для этого пользователя (опять же, замените demo именем только что созданного пользователя):

passwd demo

4: Root-привилегии

На данный момент все права администратора принадлежат root-пользователю. Чтобы иметь возможность постоянно использовать новую учетную запись, нужно передать новому пользователю (demo) все root-привилегии.

Для выполнения задач с привилегиями root нужно начинать команду с sudo. Эта фраза полезна по двум причинам: 1) она защищает систему от разрушающих ошибок, допущенных пользователем; 2) она хранит все запущенные с sudo команды в файле /var/log/secure, который позже можно просмотреть.

Теперь нужно изменить настройки sudo; для этого используйте текстовый редактор CentOS по умолчанию, который называется vi:

Найдите раздел User privilege specification, который выглядит так:

# User privilege specification
root ALL=(ALL) ALL

После строки с привилегиями root внесите следующую строку, которая передаст все привилегии новому пользователю (чтобы начать ввод текста в vi, нажмите i):

demo ALL=(ALL) ALL

Чтобы завершить ввод текста, нажмите Esc; затем введите:, wq, Enter, чтобы сохранить и закрыть файл.

5: Настройте SSH (дополнительно)

Теперь нужно обезопасить сервер. Этот дополнительный раздел расскажет, как защитить сервер путем усложнения процедуры авторизации.

Откройте конфигурационный файл:

sudo vi /etc/ssh/sshd_config

Найдите следующие разделы и внесите в них соответствующие изменения:

Port 25000
PermitRootLogin no

Port : хотя по умолчанию используется порт 22, его номер можно заменить любым другим в диапазоне от 1025 до 65536. В данном руководстве используется SSHD-порт 25000. Обратите внимание: новый номер порта нужно обязательно запомнить/записать, поскольку он понадобится для входа на сервер через SSH.

PermitRootLogin :измените значение yes на no, чтобы отключить вход в систему как root. Теперь войти на сервер можно только при помощи нового пользователя.

Чтобы SSH мог использовать только конкретный пользователь, добавьте эту строку в нижней части документа (замените demo своим именем пользователя):

AllowUsers demo

Затем сохраните изменения и закройте файл.

Перезапуск SSH

Чтобы активировать внесенные изменения, перезапустите сервис SSHD:

sudo systemctl reload sshd.service

Чтобы протестировать новые настройки (пока что не выходите из учетной записи root), откройте терминал и войдите на сервер как новый пользователь (не забудьте указать правильный IP-адрес и порт):

ssh -p 25000 demo @111.22.33.444

Должно появиться извещение: