12 заметок с тегом

Linux

Установка и настройка LEMP (nginx,mysql,php-fpm)

23 мая, 15:03

Минимальная настройка LEMP в Debian/Ubuntu


Первое, это обновим индекс пакетов.


sudo apt-get update


Установим nginx


sudo apt-get install nginx


Теперь проверим, что nginx доступен по URL, откроем в браузере наш IP адрес.
Приветствие от NGINX.


Далее, установим MySQL


sudo apt-get install mysql-server


Проверим работу и доступ к MySQL


mysql -u root -p


Установим PHP-FPM и модуль для работы с MySQL


sudo apt-get install php-fpm php-mysql


На текущий момент установилась версия 7.2


Отредактируем конфиг PHP-FPM


sudo nano /etc/php/7.2/fpm/php.ini


Устанавливаем cgi.fix_pathinfo в 0 (устранение уязвимости исполнения файлов)


cgi.fix_pathinfo=0


Перезапустим обработчик PHP-FPM


sudo service php7.2-fpm restart


Отредактируем default config файл nginx


sudo nano /etc/nginx/sites-available/default
// Редактируем:
        index index.php index.html index.htm;

	location ~ \.php$ {
		fastcgi_pass unix:/run/php/php7.2-fpm.sock;
		include fastcgi_params;
		include snippets/fastcgi-php.conf;
	}
	location ~ /\.ht {
		deny all;
	}
// Тестируем на ошибки
sudo nginx -t
// Перезапуск
sudo service nginx restart


Готово.


Финальный тест.
Создадим файл для проверки PHP в корневой директории сайта


sudo nano /var/www/html/index.php


Установить дополнительные модули
К примеру, mbstring, xml и тд:


apt-get install php7.2-mbstring php7.2-xml php7.2-curl php7.2-zip php7.2-gd


Настроем ЧПУ


sudo nano /etc/nginx/sites-available/default

	location / {
		try_files $uri $uri/ /index.php?q=$uri&$args;
	}


Оф. руководство Nginx + PHP-FPM + MySQL для Ubuntu


http://help.ubuntu.ru/wiki/nginx-phpfpm
http://help.ubuntu.ru/wiki/mysql

Удаление пакетов в Debian

23 мая, 12:56

Для начала нужно узнать установлены ли пакеты, какие, сколько.

В этом поможет dpkg.


dpkg — система управления пакетами в Debian.

apt-get purge —auto-remove — команда выполняет полное удаление пакета из системы.


Выполняем:


dpkg -l nginx* apache2* php* mysql*


В результате таблица со всеми пакетами

Итак, чистое удаление с системы, выполняем:


apt-get purge --auto-remove nginx* apache2* php* mysql*


Внимание: вместо nginx, apache2, php, mysql указать свои пакеты для удаления.

Debian   dpkg   Linux   Удаление

Полезные команды почтового сервера Exim

4 мая, 18:01

Exim — это MTA (Mail Transfer Agent), агент передачи сообщений, в просторечии — почтовый сервер


ID сообщений и spool файлы

XXXXXX-YYYYYY-ZZ — Идентификаторы сообщений в очередях Exim.

Для каждого сообщения создаются три файла в spool директории(/var/spool).

Каталог: /var/spool/exim/msglog содержит файлы со служебной информацией для каждого сообщения и именуются в соответствии с ID этого сообщения.

Каталог: /var/spool/exim/input содержат файлы заголовков и данных, к ID сообщения в имени, добавлены суффиксы -H и -D, соответственно.

Кроме того в этих директориях могут появляться хэшированные подкаталоги для работы с большими почтовыми очередями.


Итак, команды для работы:


Вывести количество сообщений в очереди

exim -bpc

Вывести список сообщений в очереди. Выводятся, время постановки в очередь, размер, ID сообщения, отправитель, получатель

exim -bp

Вывод суммарной информации

exim -bp | exiqsumm

Вывод текущей работы почтового сервера

exiwhat

Вывод с помощью exiqgrep

// -f используется для поиска сообщений конкретного отправителя
exiqgrep -f [user]@domain

//-r используется для поиска сообщений для определенного адресата
exiqgrep -r [user]@domain

//-o указывает искать сообщения, старее, указанного количества секунд. старее 1 дня:
exiqgrep -o 86400 [...]

//-y ищет сообщения свежее указанного количества секунд. Найти сообщения, пришедшие в течении последнего часа:
exiqgrep -y 3600 [...]

//-s позволяет искать по размеру сообщения, совпадающего с заданным регулярным выражением:
root@localhost# exiqgrep -s '^7..$' [...]


Очистка очереди

exim -bp | exiqgrep -i | xargs exim -Mrm
Exim   Linux

Отключение функций PHP

4 мая, 11:29

Настройка PHP.ini

Отключить функцию отправки email — mail()

disable_functions = mail


закрыть доступ ко всем не существующим файлам *.php

cgi.fix_pathinfo=0

или в nginx.conf

location ~ \.php$ {
        try_files $fastcgi_script_name =404;
	fastcgi_index			index.php;
	fastcgi_param			script_FILENAME /scripts$fastcgi_script_name;
	include				fastcgi_params;
}


Закрыть отправку писем в nginx.conf, данные о попытках отправить сохраняются в лог

// на попытку отправить будет возвращаться "FALSE"
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /bin/false";
// или
// на попытку отправить будет возвращаться "FALSE"
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /bin/true";


Корректная отправка писем настройка в nginx.conf

no@mail.ru — вместо этого указать ваш Email

fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f no@mail.ru";
Linux   mail   nginx   PHP   php.ini   sendmail_path

Включить старую систему backup в ISPManager 5

25 апреля, 11:34

В новой версии панели ISP 5 разработчики сделали новую систему backup .dar/.

В результате полученные архивы будет проблематично распаковать на другом ресурсе.

Как вернуть старые настройки сервера для резервного копирования, которая использовалась в ISPmanager 4.

Ранее делались архивы в привычном формате .tgz


Включить старый метод backup, перейти в папку /usr/local/mgr5/etc/

Открыть файл на редактирование /usr/local/mgr5/etc/ispmgr.conf

Добавить строчку:

Option EnableOldBackup

Сохранить и перезагружаете сервер.

Готово.

backup   ISPManager   Linux
Ctrl + ↓ Ранее