Установка centos 7

CentOS 7 minimal

Если вы используете диск centos minimal iso, то увидите следующий экран:

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

  1. Выбор часового пояса centos.
  2. Выбор раскладки клавиатуры.
  3. Поддержка каких языков будет осуществляться на сервере.
  4. Откуда будет происходить установка. Так как у нас дистрибутив centos minimal, установка будет с локального iso.
  5. Выбор пакетов для установки. В образе minimal доступен только минимальный набор софта.
  6. Разбивка жесткого диска. Подробнее коснемся этого пункта, когда будем разбирать установку на raid.
  7. Настройка сетевых интерфейсов.

Для продолжения установки необходимо выполнить как минимум разбивку жесткого диска. Без этого продолжение установки невозможно. Но мы пройдемся по всем параметрам и установим необходимые для нас значения.

Итак, нажимаем на DATE & TIME и настраиваем параметры времени:

  1. Указываем регион.
  2. Выбираем город.
  3. Включаем при необходимости службу времени для синхронизации часов centos с внешними серверами.
    Это возможно сделать только если вы уже настроили сетевые параметры. Если нет, то вернитесь к этой настройке позже.
  4. Выбираем список внешних серверов для синхронизации времени: 
  5. Указываем формат, в котором будет отображаться текущее время.
  6. При необходимости изменяем дату сервера.

После завершения настроек жмем сверху синюю кнопку Done.

Идем в следующую настройку — KEYBOARD LAYOUT:

  1. Добавляем необходимые раскладки. Я добавил Russian.
  2. Нажимаем Options и выбираем, как будет происходить переключение раскладок.
  3. Тестируем раскладки и переключение. Если все в порядке, идем дальше.

Нажимаем LANGUAGE SUPPORT:

Выбираем дополнительные языки, которые будет поддерживать система. Чаще всего мне это не нужно, но для примера добавим поддержку русского языка. Это может пригодиться, например, при создании файлового архива с русскими названиями в файлах. С поддержкой русского языка можно работать в консоли с русскими названиями папок и файлов. Если у вас, к примеру, сервер настраивается для работы в качестве шлюза, поддержка дополнительных языков скорее всего не пригодится. После выбора снова жмем Done.

Теперь выполним сетевые настройки. Идем в раздел NETWORK & HOSTNAME. Подробно о я указывал в одной из своих статей, поэтому останавливаться на этом вопросе не буду. Включаем ползунок в положение ON и получаем автоматически настройки по dhcp:

  1. Включение ползунка в положение ON активирует интерфейс, он получает настройки по dhcp.
  2. Если вы хотите изменить эти настройки, нажимаете Configure.
  3. Указываете hostname. Если забудете, то после установки этот параметр можно изменить.

Завершаем настройку нажатием на Done. Теперь можно вернуться в настройки часов и активировать Network Time.

Теперь перейдем в раздел INSTALLATION SOURCE. При установке centos minimal менять этот параметр нет необходимости. Там по-умолчанию установлен локальный источник, нам это подходит. Можно ничего не трогать:

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

Нам осталось рассмотреть последнюю обязательную настройку, без которой установка centos не начнется — INSTALLATION DESTINATION. Зайдя в нее вы увидите список подключенных к серверу дисков. В моем случае это один жесткий диск.

Если ваш диск определился правильно, выбираете его и нажимаете Done. Выскакивает окошко с предупреждением, что для установки системе понадобится примерно 1 Гб места на жестком диске, а на вашем жестком диске нет необходимого свободного места. Это происходит потому, что раньше на этом диске была установлена другая система и она занимала весь жесткий диск. Нам нужно удалить всю старую информацию для установки новой системы. Делаем это, нажимая Reclaim space:

Выбираем диск и удаляем все существующие разделы на нем — жмем сначала Delete all, а потом Reclaim space:

После этого установщик выберет весь диск в качестве диска для установки. После этого можно начать непосредственно установку centos, нажав кнопку Begin Installation.

Дальше рассмотрим вариант, когда вы выполняете установку с образа netinstall.

Настройка хранения истории в bash_history

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

  1. По-умолчанию, сохраняются только последние 1000 команд. Если их будет больше, то более старые будут удаляться и заменяться новыми.
  2. Не указаны даты выполнения команд, только их список в порядке выполнения.
  3. Файл со списком команд обновляется после завершения сессии. При параллельных сессиях часть команд может быть утеряна.
  4. Сохраняются абсолютно все команды, хотя в хранении некоторых нет никакого смысла.

Список последних выполненных команд хранится в домашней директории пользователя в файле .bash_history (в начале точка). Его можно открыть любым редактором и посмотреть. Для более удобного вывода списка, можно в консоли ввести команду:

# history

и увидеть пронумерованный список. Быстро найти конкретную команду, можно с помощью фильтрации только нужных строк, например вот так:

# history | grep yum

Так мы увидим все варианты запуска команды yum, которые хранятся в истории. Исправим перечисленные недостатки стандартных настроек хранения истории команд в CentOS 7. Для этого нужно отредактировать файл .bashrc, который находится в том же каталоге, что и файл с историей. Добавляем в него следующие строки:

export HISTSIZE=10000
export HISTTIMEFORMAT="%h %d %H:%M:%S "
PROMPT_COMMAND='history -a'
export HISTIGNORE="ls:ll:history:w:htop"

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

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

# source ~/.bashrc

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

Настройку начнем с того, что завершим конфигурацию Nginx для работы с PHP-FPM. Для этого изменим конфигурационный файл сайта /etc/nginx/conf.d/${WEBSITE_NAME}.conf.

Добавим перед секцией server следующий фрагмент конфигурации, который задает способ связи с PHP-FPM:

upstream php {
        server unix:/var/run/php72-fpm.sock;
}

# то, что ниже не добавлять в настройку, 
# приведено для примера куда вставить секцию
# upstream
#
server {
        listen 443 ssl;
        listen :443 ssl;

...

Удалим следующие строки конфигурации:

       index index.html;

       location / {
                try_files $uri $uri/ =404;
       }

Добавим следующие строки конфигурации вместо них:

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        index index.php;

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ .php$ {
                include fastcgi.conf;
                fastcgi_intercept_errors on;
                fastcgi_pass php;
        }

        location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }

Пример полной конфигурации:

server {
    if ($host = website.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


        listen 80;
        listen :80;
        server_name website.com;


}

upstream php {
        server unix:/var/run/php72-fpm.sock;
}

server {
	listen 443 ssl;
	listen :443 ssl;

	server_name website.com;

	root /var/www/website.com;

        ssl_certificate /etc/letsencrypt/live/website.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/website.com/privkey.pem; # managed by Certbot

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        index index.php;

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ .php$ {
                include fastcgi.conf;
                fastcgi_intercept_errors on;
                fastcgi_pass php;
        }

        location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }
}

Проверим корректность настроек Nginx и перезапустим его:

sudo nginx -t && sudo systemctl restart nginx

Убедимся, что PHP-скрипты работают корректно. Для этого создадим файл index.php в пути /var/www/$WEBSITE_NAME/index.php со следующим содержимым:

<?php 
echo "Hello\n";

Проверим работоспособность скрипта:

# локально
php /var/www/$WEBSITE_NAME/index.php
Hello

# через web
curl https://$WEBSITE_NAME/index.php
Hello

# удалим скрипт
sudo rm /var/www/$WEBSITE_NAME/index.{php,html}

Настройка сервера LEMP завершена. Теперь вы можете выполнить развертывание сайта в каталоге /var/www/$WEBSITE_NAME и начать его использование, открыв в браузере https://$WEBSITE_NAME/.

В названии пакетов всё ещё фигурируют названия «RedHat», «rhel» или «rh». Разве они должны присутствовать?

В своей бизнес-модели Вендор ПО в основном использует ПО с открытым исходным кодом (GPL). Т.е., Вендор использует ПО, написанное другими разработчиками (например gnome.org, X.org, KDE.org или OpenOffice.org ): пакует исходный код в пакеты RPM-формата для распостранения. Т.к. Вендор использует ПО с открытым кодом для разработки свеого ПО, то он обязан предоставить, в свою очередь, свой исходный код для свободного доступа. Именно так работает GPL. Вендор ПО вносит свой вклад, добавляя RPM-пакеты с исходным кодом (SRPM или Source RPMS) и способствуя их распостранению. Помимо этого он исправляет ошибки и обеспечивает связь с разработчиками этого ПО. Всё вышеописанное является принципом функционирования ПО с открытым исходным кодом.

Проект CentOS использует публично доступные пакеты SRPM, поставляемые Вендором ПО, и создаёт бинарные (установочные) пакеты, предоставляя их всем, кто пожелает.

Некоторые пакеты включают информацию, содержую Торговую марку от Вендора ПО. Для этих случаев у Вендора ПО существует специальные инструкции по распостранению ПО, собранного из его публично доступных пакетов. Об этом можно прочитать тут. Т.к. мы полностью поддерживаем права Вендора ПО на Торговую Марку, то прилагаем все усилия, чтобы полностью соответствовать этим инструкциям.

Т.к. присваивать авторство чужих работ — не в интересах проекта CentOS, то мы по возможности оставляем названия файлов, данные Вендором ПО. Если есть необходимость внесения изменений в пакет (конечно в соответствии ограничениями, например для настройки конфигурационного файла), то в названии этого пакета будет содержаться «.centosX» (где X — номер версии CentOS, например 5 или 6). Но в отличие от большинства случаев пересборки пакетов, мы не меняем название пакета ядра, собранного из SRPM, на .centosX. Причина этому — тот факт, что название ядра должно оставаться неизменным для совместимости с ПО какой-либо 3ей стороны.

Мы хотели бы поблагодарить Вендора ПО за тот способ предоставления SRPM-пакетов, который они используют. Существует довольно много Поставщиков ПО Enterprise-уровня, которые игнорируют требование предоставления публичного доступа к исходному коду их ПО. Програмный же продукт Вендора ПО превосходен (иначе бы мы не смогли создать на его основе CentOS), как и его поддержка. Поэтому если вам необходимы услуги поддержки, которые они предоставляют, то мы настоятельно рекомендуем воспользоваться их програмным продуктом.

Установка iftop, atop, htop на CentOS 7

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

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

Ставим:

# yum -y install iftop

И два интересных диспетчера задач, я чаще всего пользуюсь htop, но иногда пригодится и atop. Ставим оба, сами посмотрите, разберетесь, что вам больше нравится, подходит.

Для начала добавим EPEL repository и обновляем пакеты:

# yum -y install epel-release# yum -y update

Ставим:

# yum -y install htop
# yum -y install atop

Вот как выглядит htop:

Рекомендую еще установить пару нужных и полезных программ, которые часто необходимы, но отсутствуют в минимальной установке — wget и bzip2.

# yum -y install wget bzip2

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

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

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

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

Общая настройка системы

Установка пакетов

1. Обновляем CentOS:

yum update

2. Устанавливаем репозиторий EPEL и пакет для загрузки:

yum install epel-release wget

Время

1. Устанавливаем часовой пояс:

timedatectl set-timezone Europe/Moscow

* данной командой мы установим часовой пояс по московскому времени.

2. Устанавливаем и запускаем службу для автоматической синхронизации времени:

yum install chrony

systemctl enable chronyd —now

Настройка безопасности

1. Отключаем SELinux:

sed -i «s/SELINUX=enforcing/SELINUX=disabled/» /etc/selinux/config

setenforce 0

* первая команда редактирует конфигурационный файл, чтобы SELinux не запускался автоматически, вторая — отключает его разово. Подробнее читайте статью Как отключить SELinux.

2. Открываем необходимые порты в брандмауэре:

firewall-cmd —permanent —add-port={80,443,8080}/tcp

firewall-cmd —permanent —add-port={20,21,60000-65535}/tcp

firewall-cmd —reload

* 80, 443 и 8080 порты для веб-сервера; 20, 21 порты нужны для работы FTP; 60000-65535 также необходимы для работы FTP (динамические порты для пассивного режима); последняя команда перезапускает firewalld, чтобы применить новые правила. Подробнее про настройку firewalld.

Требования к серверу

Для нормальной работы сайта с более-менее приличной нагрузкой вам понадобится сервер с одним или двумя ядрами, 1 GB RAM и 10 GB хранилища. Мы предполагаем, что вы уже располагаете такими или большими ресурсами и готовы приступить к установке.

Требования к DNS

Мы предполагаем, что вы уже имеете доменное имя, которое указывает на IP-сервера. Далее, будем считать, что сайт будет использовать доменное имя website.com. Везде, где фигурирует website.com вы должны сделать замену на имя своего домена. Мы будем использовать переменную WEBSITE_NAME для упрощения настройки:

# если hostname --fqdn отдает правильное доменное имя, то используйте
# 
export WEBSITE_NAME=$(hostname --fqdn)

# в противном случае

export WEBSITE_NAME=mycooldomain.com

Установка системы

Нажмите экранную кнопку «Начать установку». Вы найдете ее внизу справа.

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

В нижней части экрана конфигурации — подсказка.

Создайте учетную запись администратора

Войдите в раздел «Root Password». Введите пароль, который будет использоваться администратором компьютера. Повторите ввод во втором поле. Нажмите кнопку «Готово».

Мастер установки CentOS может решить, что пароль ненадежен. В нижней части окна на оранжевом фоне будет написано, почему установщик не рекомендует использовать этот пароль. В таком случае, если вы уверены в своем решении, нужно нажать на кнопку «Готово» два раза.

Создайте учетную запись пользователя

Войдите в секцию «Создание пользователя». Укажите полное имя, имя пользователя и пароль учетной записи. Пароль нужно ввести повторно в дополнительное поле.

Что нужно знать о пользовательской учетной записи:

  • Максимальная длина имени пользователя: 32 знака без пробела.
  • У вас есть возможность сделать этого пользователя администратором.
  • Выберите, нужно ли вводить пароль при входе в ОС.

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

Внизу появится сообщение о том, ОС успешно установлена. Щелкните по кнопке «Завершить настройку».

Шаг #8: Отключение SElinux

SELinux (англ. Security-Enhanced Linux — Linux с улучшенной безопасностью) — реализация системы принудительного контроля доступа, которая может работать параллельно с классической избирательной системой контроля доступа.

Не смотря на то, что SElinux позволяет улучшить управление безопасностью, он чаще мешает чем приносит реальную пользу, поэтому рекомендую его отключить.

Проверить включен ли SElinux можно командой ниже:

Для отключения SElinux отредактируйте файл — и для директивы установите значение .

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing — SELinux security policy is enforced.
# permissive — SELinux prints warnings instead of enforcing.
# disabled — No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted — Targeted processes are protected,
# minimum — Modification of targeted policy. Only selected processes are protected.
# mls — Multi Level Security protection.
SELINUXTYPE=targeted

1
2
3
4
5
6
7
8
9
10
11

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing — SELinux security policy is enforced.
#     permissive — SELinux prints warnings instead of enforcing.
#     disabled — No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three two values:
#     targeted — Targeted processes are protected,
#     minimum — Modification of targeted policy. Only selected processes are protected.
#     mls — Multi Level Security protection.

SELINUXTYPE=targeted

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

Cкачать CentOS 7

Скачать свежую на текущий момент версию CentOS 7.2.1511 можно двумя способами:

  1. Через torrent сеть
  2. С ближайшего зеркала

Я в качестве такого зеркала предпочитаю использовать CentOS Yandex Mirror:

Torrent Yandex Mirror Размер
Скачать CentOS 7 DVD torrent Скачать CentOS 7 DVD iso 4G
СкачатьCentOS 7 NetInstall torrent СкачатьCentOS 7 NetInstall iso 360M
СкачатьCentOS 7 Everything torrent СкачатьCentOS 7 Everything iso 7G
СкачатьCentOS 7 LiveGNOME torrent СкачатьCentOS 7 LiveGNOME iso 1G
СкачатьCentOS 7 LiveKDE torrent СкачатьCentOS 7 LiveKDE iso 1G
СкачатьCentOS 7 Minimal torrent СкачатьCentOS 7 Minimal iso 634M

Напоминаю, что 32 bit или i386 редакции CentOS 7 не существует. Все дистрибутивы только x86_64, то есть 64 bit.

Вывод

Если мы посмотрим на CentOS 8 то в нем много проблемных областей, которые мешают быть приятным из коробки. Большой проблемой является возможность управлять расширениями Gnome, без которых рабочий стол просто не может быть использован. Стоит отметить, CentOS, не предназначен для рабочего стола как таковой, все выглядит вполне достойно. Поскольку существует много специализированных систем для дома, которые управляют гораздо меньше, чем эта. Не забывайте стабильность и десять лет поддержки.

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

Ну и напоследок, самое важное достоинство дистрибутива – это стабильность

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
IP-файл
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: