Установка и настройка Apache PHP MySQL FTP на CentOS 7

Скачиваем и устанавливаем последнюю версию ssh клиента putty:
http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Запускаем putty.exe и вводим ip адрес сервера в поле Host Name (or Ip address) жмем кнопку Open
Если появится попап окно жмем Да

Авторизируемся
login as: root
root@1.2.3.4's password: ваш пароль

Первым делом настраиваем firewall.
Открываем порты 80 (для веб сервера) и 21 (для ftp сервера)
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

Устанавливаем Midnight Commander (аналог Far Manager под Windows) он нужен для
редактирования файлов и т.д
yum -y install mc

Устанавливаем веб сервер Apache с поддержкой SSL (https)
yum -y install httpd mod_ssl

Устанавливаем интерпретатор PHP с необходимыми дополнениями
yum -y install php php-common php-gd php-mysql php-xml php-mbstring

Прописываем apache в автозагрузку
chkconfig httpd on

Запускаем apache как сервис
service httpd start

Проверяем работу apache
echo '<?php phpinfo(); ?>' > /var/www/html/index.php
Открываем в браузере http://ip-адрес-сервера/index.php

Устанавливаем сервер баз данных mariadb
yum -y install mariadb-server mariadb

Прописываем mariadb в автозагрузку
systemctl enable mariadb.service

Запускаем mariadb как сервис
systemctl start mariadb.service

Настраиваем mariadb
mysql_secure_installation

Change the root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Утанавливаем vsftpd
yum install vsftpd

Редактируем файл настроек vsftpd /etc/vsftpd/vsftpd.conf
anonymouse_enable=NO - Запрещаем анонимный доступ к FTP-серверу
connect_from_port_20=NO - Запрещаем подключения на 20тый порт
chroot_local_user=YES - Запрещаем переход в верхние директории
прописываем руками в конце файла строчку
allow_writeable_chroot=YES - разрешаем запись в корневую папку

Создаем пользователя
useradd -d '/var/www/html' -s /sbin/nologin ftphtml

Устанавливаем пароль на ftp
passwd ftphtml

Создаем группу ftp пользователей
groupadd ftpusers

Добавляем пользователя в группу
usermod -G ftpusers ftphtml

Ставим права на запись в папку www
chmod 777 '/var/www/html'

Прописываем vsftpd в автозагрузку
chkconfig --levels 235 vsftpd on

Запускаем vsftpd как сервис
service vsftpd start

Создаем и настраиваем виртуальные хосты
файл /etc/httpd/conf.d/vhosts.conf
<VirtualHost *:80>
ServerName default
DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost *:80>
ServerName www.site.com
ServerAlias site.com
DocumentRoot /var/www/site.com
</VirtualHost>

Включаем поддержку .htaccess
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>