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

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

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

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

Идём по этой ссылке и регистрируемся

Выбираем сервер с CentOS 7 (самый простой стоит 250р, в дальнейшем можно перейти на тариф выше, если потребуется)

На почту приходят данные по SSH - логинимся на сервер с этим логином и паролем и приступаем непосредственно к конфигурации.

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

useradd everest

Задаём ему пароль

passwd everest

Указываем рутовую почту отправлять на данного пользователя

vi /etc/aliases

1
root: everest

Разрешим пользователю sudo

visudo

1
2
# 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

1
2
3
4
5
6
7
8
9
10
11
12
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

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

yum update

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

yum –enablerepo=cr list updates

Если вас всё устраивает, набираем:

yum –enablerepo=cr update

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

1
2
3
4
5
yum -y install yum-plugin-priorities
yum -y install epel-release
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://linuxdownload.adobe.com/linux/x86_64/adobe-release-x86_64-1.0-1.noarch.rpm

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

1
yum install –enablerepo=epel –enablerepo=rpmforge mc screen htop wget git rsync lsof net-tools

Сервисы

Смотрим что у нас запущено:

systemctl -t service

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

lsof -Pni4

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

systemctl stop postfix

systemctl disable postfix

systemctl stop chronyd

systemctl disable chronyd

Ставим apache и php

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

yum -y install httpd

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

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

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

vi /etc/httpd/conf/httpd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 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

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

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

systemctl restart httpd