Контакты
email:
skype:
© 2008 – 2021
» » » Страница 2

7 - Готовим CentOS 7. Настройка nginx + php-fpm ключевые моменты



Проверяем что nginx и php работают
systemctl status nginx
systemctl status php70-php-fpm

Основной файл конфигурации nginx
/etc/nginx/nginx.conf

Создаем файл конфигурации для нашего проекта test.dev
nano -w /etc/nginx/conf.d/test.dev.conf
server {
    listen       80;
    server_name  test.dev;
        root   /var/www/test.dev;
    location / {
        index  index.html index.php;
    }
}

Перезапускаем
systemctl restart nginx

3 раза ( после каждого прохода этих команд пробуем зайти на http://test.dev/ ) пока selinux нас не пустит
grep nginx /var/log/audit/audit.log | audit2allow -m nginx > nginx.te 
grep nginx /var/log/audit/audit.log | audit2allow -M nginx 
semodule -i nginx.pp

Пробуем открыть http://test.dev/index.html

если работает html по новому адресу то дописываем секцию обработки php
nano -w /etc/nginx/conf.d/test.dev.conf

location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        fastcgi_index index.php;
        fastcgi_read_timeout 30;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        include fastcgi_params;
}

Перезапускаем
systemctl restart nginx

Посмотреть selunux что связано с http и при надобности включить что необходимо
sestatus -b | grep -i httpd

Найдем где храняться наши настройки для php7
php70 -i | grep "Loaded Configuration File"
/etc/opt/remi/php70/php.ini

6 - Готовим CentOS 7. Установка PHP7



Устанавливаем epel-release
yum install epel-release -y && cd /tmp 

Качаем репозиторий
wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Добавляем репозиторий
rpm -Uvh remi-release-7*.rpm

Устанавливаем основные компоненты
yum --enablerepo=remi-php70 install php70-php php70-php-common php70-php-fpm php70-php-cli php70-php-opcache php70-php-pecl-apcu php70-php-process php70-php-xml php70-php-gd php70-php-mbstring -y

Проверяем
php70 -v

Стартуем php-fpm
systemctl start php70-php-fpm

Проверяем
systemctl status php70-php-fpm

Проверяем
php70 -a
echo 1+1;
> 2
exit

Отлично php 7 установлен!
Выставляем в автозагрузку php
systemctl enable php70-php-fpm

5 - Готовим CentOS 7. Установка стабильной версии nginx



Создадим файл
nano -w /etc/yum.repos.d/nginx.repo

И с таким содержимым
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

Установим
yum install nginx -y

Проверяем
nginx -v

Запускаем
systemctl start nginx
systemctl status nginx
nmap localhost

Можно обратиться на сайт с виндос http://test.dev и увидим Welcome to nginx!
Выставляем в автозагрузку nginx
systemctl enable nginx


Дополнительная иформация
Стандартные порты и пути к файлам Nginx
/etc/nginx/ - директория содержащая файлы настроек Nginx сервера;
/etc/nginx/conf.d/ - директория содержащая файлы настроек SSL и виртуальных хостов (vhost);
/etc/nginx/nginx.conf - основной файл настроек;
/var/log/nginx/error.log - логи ошибок;
/var/log/nginx/access.log - логи доступа;
/usr/share/nginx/html/ - корневая директория сайта по умолчанию (document root);
TCP 80 - HTTP порт по умолчанию для Nginx;
TCP 443 - HTTPS порт по умолчанию для Nginx.

4 - Готовим CentOS 7. Настраиваем общие папки между CentOS 7 в virtualbox и windows



В нашей системе(виндовс) создаем общую папку test.dev в нее ложим файлик 1.php с содержимым устройства -> подключить образ диска Дополнительной гостевой ос
- устанавливаем дополнительные пакеты
yum install gcc make kernel-devel-$(uname -r) bzip2 -y

- монтируем привод
mount /dev/cdrom /mnt

- и запускаем VboxLinuxAdditions.run
cd /mnt && sudo sh ./VBoxLinuxAdditions.run

Если у вас вылезла ошибка, как у меня
Building the OpenGL support module[FAILED]
То выполняем команду
export MAKE='/usr/bin/gmake -i'

И запустим опять
./VBoxLinuxAdditions.run

Проверяем наличие vboxsf
modprobe vboxsf

Ошибки не выскочило значит все пока что хорошо.
Создаем папку в системе CentOS которая будет у нас общей с виндовс
mkdir -p /var/www/test.dev

Монтируем общую папку
mount -t vboxsf test.dev /var/www/test.dev

Проверяем что в нашей папке test.dev теперь лежить наш созданный в виндовсе файл 1.php
ls /var/www/test.dev/

Если видим файлы нашего проекта, то все хорошо и можно добавить это монтирование в загрузку
nano -w /etc/rc.local 

Дописываем:
modprobe vboxsf
mount -t vboxsf test.dev /var/www/test.dev

Выполняем
chmod +x /etc/rc.d/rc.local

Теперь общая папка у нас есть и будет подключаться автоматом при загрузке системы.

3 - Готовим CentOS 7. Настройка ssh



Открываем конфиг
nano /etc/ssh/sshd_config

Используем не стандартный порт
Port 2222

Запрещаем использовать протокол 1
Protocol 2

Запрещаем логинится от рута, обычно брутят рута по стандартому порту, поэтому мы это изменим
PermitRootLogin no

Разрешаем логинится из ssh только определенному юзеру мне utz0r2
AllowUsers utz0r2


Запускаем semanage
yum -y install policycoreutils-python
semanage port -a -t ssh_port_t -p tcp 2222

Перезапускаем sshd
service sshd restart

Проверяем
service sshd status
nmap 127.0.0.1  

или так
netstat -tulpn

В дальнейшем будем пользоваться только ssh через программу putty
Пробрасываем порты в нашей виртуальной машине 22 -> 2222, 80 -> 80
Прописуем в нашей windows машине в \WINDOWS\system32\drivers\etc\hosts
192.168.56.1 test.dev

Предаварительно узнав внешний айпи нашей виртуальной машины (Панель управления\Сеть и Интернет\Сетевые подключения)
Все готово для дальнейшей работы c сервером через ssh.

2 - Готовим CentOS 7. Основные действия после установки



Обновиться
yum -y update && yum -y upgrade

Установим программы wget, nano, mc, nmap,
yum install wget nano mc nmap -y

Выставим имя хоста
echo $HOSTNAME
nano /etc/hostname

Посмотрим какие порты открыты
nmap 127.0.0.1       

ssh - 22 окрыт, значит устанавливать его не надо, только настроить. Об этом будет позже)
« »
Вверх