Поднимаем сервер на CentOS 7, первоначальная настройка: различия между версиями

Материал из Викиадмин
Перейти к навигации Перейти к поиску
(Настройка)
Строка 13: Строка 13:
  
 
=== Настройка ===
 
=== Настройка ===
Добавляем пользователя и некоторые действия под него
 
  
    useradd everest
+
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
 +
echo 0 > /sys/fs/selinux/enforce
  
Задаём ему пароль
+
меняем порт на 2202 и разрешаем руту заходить только по ключам
  
    passwd everest
+
sed -i 's/#Port 22/Port 2202/g' /etc/ssh/sshd_config
 +
sed -i 's/#PermitRootLogin yes/PermitRootLogin without-password/g' /etc/ssh/sshd_config
  
Указываем рутовую почту отправлять на данного пользователя
+
Добавляем ключи с ЛОКАЛЬНОЙ МАШИНЫ
  
    vi /etc/aliases
+
ssh-copy-id root@wikiadmin.net
  
root: everest
+
И рестарт службы:
  
Разрешим пользователю sudo
+
systemctl restart sshd
  
    visudo
 
 
# add at the last line: user 'everest' can use all root privilege
 
  everest    ALL=(ALL)      ALL
 
 
Укажем hostname
 
 
    hostnamectl set-hostname server1.wikiadmin.net
 
 
Отключение firewall и selinux
 
 
Останавливаем файрвол и отключаем его загрузку
 
 
    systemctl stop firewalld
 
 
    systemctl disable firewalld
 
 
Редактируем конфиг selinux
 
 
vi /etc/selinux/config
 
# 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# change it
 
# SELINUXTYPE= can take one of these two values:
 
#    targeted - Targeted processes are protected,
 
#    minimum - Modification of targeted policy. Only selected processes are protected.
 
#    mls - Multi Level Security protection.
 
SELINUXTYPE=targeted
 
 
Перегружаемся
 
 
    reboot
 
 
Настройка SSH
 
  
 
Добавляем ключи
 
Добавляем ключи
  
    ssh-copy-id root@wikiadmin.net
 
  
Меняем порт
 
  
    vi /etc/ssh/sshd_config
 
 
    Port 222
 
 
Тут же выставляем заход рута только по ключам
 
 
    PermitRootLogin without-password
 
 
Перезагрузка сервиса
 
 
    systemctl restart sshd
 
  
 
Обновление системы и добавление хранилищ epel и rpmforge
 
Обновление системы и добавление хранилищ epel и rpmforge
Строка 93: Строка 44:
 
Смотрим что нового для семёрки сделали:
 
Смотрим что нового для семёрки сделали:
  
    yum –enablerepo=cr list updates
 
 
Если вас всё устраивает, набираем:
 
 
    yum –enablerepo=cr update
 
  
 
Добавим epel и rpmforge, если нас не устраивает то, что уже есть
 
Добавим epel и rpmforge, если нас не устраивает то, что уже есть
  
yum -y install yum-plugin-priorities
+
#подключаем нужные хранилища, обновляем и ставим пакетики
 
  yum -y install epel-release
 
  yum -y install epel-release
 +
yum -y install centos-release-scl-rh centos-release-scl
 
  yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
 
  yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
 
  yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
 
  yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
  yum -y install http://linuxdownload.adobe.com/linux/x86_64/adobe-release-x86_64-1.0-1.noarch.rpm
+
  yum update -y
  
 
Доустановим пакеты, которые нужны. Мне обычно это нужно:
 
Доустановим пакеты, которые нужны. Мне обычно это нужно:
  
  yum install –enablerepo=epel –enablerepo=rpmforge mc screen htop wget git rsync lsof net-tools
+
  yum install mc vim htop lsof screen git wget ncdu -y
  
Сервисы
 
 
Смотрим что у нас запущено:
 
 
    systemctl -t service
 
  
 
Заодно смотрим, кто выставлен наружу
 
Заодно смотрим, кто выставлен наружу
Строка 128: Строка 70:
 
     systemctl disable chronyd
 
     systemctl disable chronyd
  
 +
 +
добавляем свап на 4ГБ, если нужно (обычно VDS очень небалуют на тему памяти, так что может пригодится)
 +
 +
dd if=/dev/zero of=/swap bs=1024 count=4096000
 +
mkswap /swap
 +
/bin/sync
 +
chmod 0600 /swap
 +
swapon /swap
 +
echo "/swap swap swap defaults 0 0" >> /etc/fstab
  
 
=== Ставим apache и php ===
 
=== Ставим apache и php ===

Версия 12:30, 14 ноября 2018

Первоначальная установка сервера на CentOS7. Разумеется, какие-то шаги вам могут не требоваться, просто пропустите их.

Нанимаем сервер

(Если уже есть или настраиваем локальную машину, пропускаем этот шаг)

Если просто нужен недорогой и не сильно мощный сервер, достаточно будет взять VDS:

  • Идём по этой ссылке и регистрируемся, сервера от 250р/месяц
  • Выбираем сервер с CentOS 7 (самый простой стоит 250р, в дальнейшем можно перейти на тариф выше, если потребуется)
  • На почту приходят данные по SSH - логинимся на сервер с этим логином и паролем и приступаем непосредственно к конфигурации.


Настройка

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
echo 0 > /sys/fs/selinux/enforce

меняем порт на 2202 и разрешаем руту заходить только по ключам

sed -i 's/#Port 22/Port 2202/g' /etc/ssh/sshd_config
sed -i 's/#PermitRootLogin yes/PermitRootLogin without-password/g' /etc/ssh/sshd_config

Добавляем ключи с ЛОКАЛЬНОЙ МАШИНЫ

ssh-copy-id root@wikiadmin.net

И рестарт службы:

systemctl restart sshd


Добавляем ключи



Обновление системы и добавление хранилищ epel и rpmforge

Подкачиваем изменения:

   yum update

Смотрим что нового для семёрки сделали:


Добавим epel и rpmforge, если нас не устраивает то, что уже есть

  1. подключаем нужные хранилища, обновляем и ставим пакетики
yum -y install epel-release
yum -y install centos-release-scl-rh centos-release-scl
yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum update -y

Доустановим пакеты, которые нужны. Мне обычно это нужно:

yum install mc vim htop lsof screen git wget ncdu -y


Заодно смотрим, кто выставлен наружу

   lsof -Pni4

Если что-то не нужно, выключаем и убираем автозагрузку

   systemctl stop postfix
   systemctl disable postfix
   systemctl stop chronyd
   systemctl disable chronyd


добавляем свап на 4ГБ, если нужно (обычно VDS очень небалуют на тему памяти, так что может пригодится)

dd if=/dev/zero of=/swap bs=1024 count=4096000
mkswap /swap
/bin/sync
chmod 0600 /swap
swapon /swap
echo "/swap swap swap defaults 0 0" >> /etc/fstab

Ставим apache и php

Этот шаг уже выходит за пределы первоначальной настройки, так что...

Ставим нужный пакет

   yum -y install httpd

Удаляем стартовую страницу (зачем она нам)

   rm -f /etc/httpd/conf.d/welcome.conf

Немного подредактируем конфиг

   vi /etc/httpd/conf/httpd.conf


# line 86: change to admin's email address
ServerAdmin root@wikiadmin.net
# line 95: change to your server's name
ServerName wikiadmin.net:80
# line 151: change
AllowOverride All
# line 164: add file name that it can access only with directory's name
DirectoryIndex index.html index.cgi index.php
# add follows to the end
# server's response header
ServerTokens Prod
ServerSignature Off
# keepalive is ON
KeepAlive On

Запускаем httpd и отправляем его в автозапуск

   systemctl start httpd
   systemctl enable httpd

Добавим PHP для апача. Ставим нужные пакеты:

   yum -y install php php-mbstring php-pear

Редактируем php.ini

   vi /etc/php.ini
# line 878: раскоментим и укажем свой пояс (ну чёрный по карате, конечно)
date.timezone = "Europe/Moscow"

Перегружаем апач

   systemctl restart httpd