Centos 7 | VPS

Итак, нам нужно развернуть веб-сервер на базе CentOS7-x86_64 на гипервизоре VirtualBox для опытов с magento и ZF1\ZF2 да так, чтобы можно было цепляться к импровизированной VPS из сети, причём и через внешний ip. Ключевые приложения: nginx, php-fpm, MariaDB\PostgreSQL, php с поддержкой Zend Framework, varnish.

Будем считать, что VirtualBox уже есть, Centos установлен. В VBox включаем 1 сетевой интерфейс в режиме моста (если интернет приходит не через роутер с включенным dhcp-сервером, то схема будет иная)

Устанавливаем файловый менеджер Midnight Commander, набор сетевых утилит net-tools (иначе столкнётесь с ошибкой ifconfig command not found) и утилиту wget для загрузки файлов

Присвоим сетевому интерфейсу статический ip и сделаем для него проброс портов для ssh и веб-сервера на роутере. IP можно зарезервировать по mac-адресу гостевой ОС, если вдруг присвоение статического ip не сработает.

Установим (в нашем случае обновим) ssh

Добавим в автозагрузку и запустим службу

Теперь нам необходимо создать правило, разрешающее входящие соединения через 22 порт. Для начала вернём привычный менеджер для iptables вместо FirewallD, который по умолчанию стоит в Centos 7

Установим iptables-services

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

Добавим правило для ssh и веб-сервера

Сохраняем набор правил и перезапускаем iptables

Чтобы виртуальная машина стартовала автоматически, воспользуемся VBoxHeadlessTray.

Поставим nginx, предварительно добавив репозиторий EPEL (Extra Packages for Enterprise Linux).

Теперь нам нужен php

 

php-fpm

php-fpm будет работать от имени nginx, поэтому поменяем в

mysql

 

 

!!!ВАЖНО

В Centos7/RHEL7 по умолчанию включена система SELinux, поэтому если каталог с сайтом будет вне директории /var/www (usr/share), то вы получите “403 Forbidden”. Чтобы добавить свой каталог в область видимости, используйте