Когда в системе происходит та или иная ошибка, нужно выяснить почему она произошла, исправить её и попытаться сделать так, чтобы такой ошибки больше не было. В этом системным администраторам очень сильно помогает логирование всех ошибок. Например, общие сообщения ядра и программ сохраняются в /var/log/messages.
Но рано или поздно файлы логов становятся слишком большими, они занимают все место на диске и это приводит к новым ошибкам. Поэтому важно контролировать, как и куда сохраняются файлы журналов. На протяжении многих лет в операционной системе Linux используется сервис Syslog для управления логами. В современных версиях применяется его модификация — rsyslog.
CentOS — это свободный дистрибутив, основанный на исходном коде Red Hat Enterprise Linux, фактически, он создается с этих исходников практически без изменений, разработчики только вырезают весь брендинг Red Hat. Но в отличие от Red Hat, CentOS полностью бесплатна и получает регулярные обновления, спустя немного времени после выхода их для Red Hat поскольку они тоже собираются из исходного кода.
Очень часто CentOS применяется в качестве операционной системы для серверов. В одной из предыдущих статей мы рассматривали как выполняется установка CentOS 7. Сегодня будет рассмотрена настройка сервера CentOS 7 после установки. Мы рассмотрим все основные параметры, которые вам нужно будет изменить чтобы подготовить ваш сервер к работе.
Настройка CentOS после установки
Далее, мы рассмотрим все действия, которые необходимо выполнить для полной настройки CentOS на сервере, просто выберите то что вам нужно и примените на своей машине.
1. Настройка статического IP адреса
Первое, что нужно сделать — это настроить сеть. На персональных компьютерах используется получение IP адреса по DHCP, и компьютер при каждом запуске будет иметь другой адрес, сервер должен всегда работать на одном адресе, поэтому мы присваиваем ему статический IP. Также нужно настроить DNS и шлюз по умолчанию. Но сначала установите утилиту net-tools:
yum install net-tools
Сначала посмотрим доступные сетевые интерфейсы и текущий IP адрес:
ip addr show
Теперь можно перейти к настройке интерфейса через файл /etc/sysconfig/network-scripts/ifcfg-enp0s3, например, с помощью редактора vi:
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
IPADDR = ваш_ip
GATEWAY = шлюз_для_доступа_к_сети
DNS1 = IP_адрес_DNS1
DNS2 = IP_адрес_DNS2
После внесения изменений этот файл будет выглядеть вот так:
Затем останется перезагрузить сеть чтобы применить новые настройки:
service network restart
Потом, при необходимости вы можете сменить IP адрес таким же способом.
2. Имя компьютера
Следующее что нам нужно сделать — это изменить имя компьютера. Текущее имя компьютера хранится в переменной HOSTNAME:
echo $HOSTNAME
Чтобы его изменить вам нужно отредактировать файл /etc/hostname и заменить там старое имя на новое.
vi /etc/hostname
Также вы можете использовать команду hostnamectl:
hostnamectl set-hostname "имя_хоста"
3. Обновление CentOS
После установки принято обновлять программное обеспечение до самой новой версии, чтобы установить все обновления безопасности. Для обновления списка пакетов в репозиториях и установки новых версий выполните такую команду:
yum update && yum upgrade
4. Установите браузер
Во многих случаях приходится использовать CentOS из командной строки без графического интерфейса, поэтому может понадобиться браузер, чтобы найти что-либо в интернете или проверить работоспособность сайтов из командной строки. Для установки браузера links наберите:
yum install links
Вы можете найти и другие консольные браузеры для Linux, например, Lynx или Elinks.
5. Настройка часового пояса
Правильная настройка часового пояса очень важна для сервера. Это уберет путаницу в логах и позволит вашим приложениям отображать правильную дату и время. Для настройки используется утилита timedatectl.
Сначала получите список часовых поясов:
timedatectl list-timezones
Затем установите нужный, например, Europe/Kyiv:
timedatectl set-timezone Europe/Kyiv
Затем проверьте:
timedatectl
7. Настройка локали
Локаль определяет язык и кодировку, которая будет использоваться в вашей системе, например, для включения русского языка установите значение ru_RU.UTF-8
localectl set-locale LANG=ru_RU.UTF-8
Затем смотрим что получилось:
localectl
Затем устанавливаем раскладку клавиатуры:
localectl set-keymap us
8. Отключите SELinux
Набор политик SELinux предназначены для контроля доступа к файлам в системе Linux, но если вы не собираетесь их использовать, то такую возможность можно отключить. Для этого выполните:
sed -i 's/(^SELINUX=).*/SELINUX=disabled/' /etc/selinux/config
Затем перезагрузите компьютер и проверьте, действительно ли возможность была отключена:
sestatus
9. Создайте пользователя
Использовать систему от имени суперпользователя небезопасно и тем более небезопасно оставлять открытым доступ к root аккаунту по ssh. Сначала создайте обычного пользователя и установите для него пароль:
useradd имя_пользователя
# passwd пароль
Затем добавьте пользователя в группу wheel, чтобы разрешать пользователю работать от имени администратора:
usermod -G wheel имя_пользователя
Теперь осталось подправить настройки sudo, для этого добавьте такую строчку, если ее там еще нет:
visudo
%wheel ALL = (ALL) ALL
10. Включите сторонние репозитории
Добавлять сторонние репозитории к производственному серверу — это не очень хорошая идея, и в некоторых случаях может привести к плохим последствиям. Однако иногда могут понадобиться программы, которых в официальных репозиториях нет. Поэтому рассмотрим как добавить несколько репозиториев.
Для добавления репозитория Enterprise Linux Repository (EPEL) выполните:
Чаще всего нам приходится работать с серверами не напрямую, а по сети, через SSH. Обычно служба SSH уже установлена и активирована, но для ее правильной работы нужно выполнить несколько настроек. Сначала нужно настроить использование только безопасного протокола, для этого откройте файл /etc/ssh/ssh_config и удалите строчку Protocol 2,1. А вместо нее добавьте:
Protocol 2
Также нужно отключить вход от имени суперпользователя:
PermitRootLogin no
11. Установите веб-сервер Apache
Если вы планируете использовать машину в качестве веб-сервера, вам понадобится Apache. С помощью него вы можете размещать веб-сайты, мультимедиа контент, клиентские программы и многое другое. Для установки выполните:
yum install httpd
Когда установка будет завершена, перед тем, как вы сможете перейти к работе нужно разрешить HTTP в брандмауере:
firewall-cmd --add-service=http
# firewall-cmd -permanent -add-port=3221/tcp
# firewall-cmd --reload
Теперь осталось добавить Apache в автозагрузку:
systemctl start httpd.service
# systemctl enable httpd.service
Дальше вы можете проверить его работоспособность с помощью links:
links 127.0.0.1
12. Установите PHP
PHP — это современный язык веб-приложений и скриптов. Он часто используется в качестве языка программирования общего назначения. Для установки выполните:
yum install php
После установки необходимо перезапустить Apache:
systemctl restart httpd.service
Далее создадим тестовый файл со сриптом, чтобы проверить правильность установки:
MariaDB — это база данных, основанная на исходном коде MySQL. Дистрибутивы Linux на базе Red Hat используют MariaDB вместо MySQL. Базы данных — незаменимая вещь на сервере, поэтому настройка CentOS после установки должна включать ее установку. Для установки MariaDB наберите:
yum install mariadb-server mariadb
Затем запустите и добавьте в автозагрузку:
systemctl start mariadb.service
# systemctl enable mariadb.service
И разрешите в использование службы в брандмауэре:
firewall-cmd --add-service=mysql
Осталось запустить скрипт настройки:
/usr/bin/mysql_secure_installation
14. Установите GCC
GCC расшифровывается как GNU Compiler Collection, это набор компиляторов, которые считаются стандартом для сборки программ в Linux. Но по умолчанию он не поставляется с CentOS, поэтому для установки наберите:
yum install gcc
Затем вы можете посмотреть версию GCC:
gcc -v
15. Установите Java
Java — это объективно-ориентированный язык программирования общего назначения. Он не устанавливается по умолчанию, поэтому настройка CentOS 7 после установки может включать и его установку. Для этого выполните:
yum install java
Затем проверьте версию:
java
Выводы
В этой статье мы рассмотрели как выполняется настройка сервера CentOS 7 после установки. Как видите, есть много элементарных действий, которые желательно сделать перед тем, как использовать сервер на производстве. Если у вас остались вопросы, спрашивайте в комментариях!
PHP — это один из самых популярных языков программирования для создания сайтов и веб-приложений. На нем разработано множество готовых систем управления контентом для блогов, сайтов фирм или даже интернет-магазинов. Несмотря на то что у этого языка есть свои недостатки, он достаточно прост в освоении и поэтому очень часто используется для разработки новых сайтов.
Интерпретатор php может поставляться в виде модуля для Apache, выполнять скрипты из командной строки или в виде отдельного сервиса php-fpm. Эти сервисы отличаются своими возможностями, и предназначением, но для любого вида интерпретатора нужно задать базовые настройки, например, рабочая папка, включенные расширения, отображение ошибок и так далее. Все эти настройки задаются через файл php.ini. В этой инструкции мы рассмотрим как выполняется настройка файла php.ini в операционных системах Linux, хотя все информация подойдет и для Windows.
Если у вас еще не установлен интерпретатор языка программирования php, то вы можете ознакомиться со статьей установка lamp в Ubuntu 16.04.
Сейчас для организации работы подавляющего большинства сайтов в сети используется веб-сервер Apache. Он немного отстает в производительности, но зато очень прост в настройке и имеет огромное количество возможностей.
Веб-сервер Apache можно настраивать не только в главном конфигурационном файле, но и через файлы .htaccess. Эти файлы размещаются в определенных папках и указывают веб-серверу как нужно себя вести в этой папке и ее подкаталогах.
В наше время очень стремительно развивающихся веб-технологий стало совсем невыгодно и очень сложно написать сайт с нуля на каком-нибудь языке программирования. Пока вы будете работать над движком и пытаться его поддерживать в современном состоянии, вы не будете успевать работать над наполнением.
Поэтому сейчас все большей популярности набирают системы управления контентом или CMS. Одна из наиболее распространенных — это WordPress. Это мощная, свободная и высоко расширяемая система управления контентом с открытым исходным кодом, которая используется миллионами пользователей по всему миру для создания своих блогов и полноценных веб-сайтов.
На данный момент самую большую популярность набрали два веб-сервера. Это Apache и Ngnix. У каждого из них есть свои плюсы и минусы. Apache был разработан еще в 1995 году и при его разработке учитывались не все возможные потребности пользователей, он потребляет много памяти и ресурсов системы, зато он прост в настройке. Nginx был разработан чуть позже в 2002 году уже учитывая ошибки Apache и ориентируясь на максимальную производительность.
Мы не будем подробно вникать в плюсы и минусы этих обоих веб-серверов. У каждого из них своя область применения. В этой инструкции будет рассмотрена установка Nginx в Ubuntu. Хотя я буду говорить об Ubuntu, все действия подойдут и для других дистрибутивов. Настройка Nginx везде одинакова, только команда установки отличается.