Бесплатный SSL на собственный сервер

Установка SSL сертификата от Let’s Encrypt на собственный сервер. Доменное имя у меня зарегистрировано на reg.ru. Мои шаги:

  • Переходим по ссылке и выбираем нужные конфигурации сервера. Я выбрал nginx и ubuntu 14
  • Выполняем команды
Читать далее «Бесплатный SSL на собственный сервер»

Маска подсети

Маска подсети — битовая маска для определения по IP-адресу адреса подсети и адреса узла этой подсети. В отличие от IP-адреса маска подсети не является частью IP-пакета.

Благодаря маске можно узнать, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети.

Например, узел с IP-адресом 12.34.56.78 и маской подсети 255.255.255.0 находится в сети 12.34.56.0 с длиной префикса 24 бита. В случае адресации IPv6 адрес 2001:0DB8:1:0:6C1F:A78A:3CB5:1ADD с длиной префикса 32 бита (/32) находится в сети 2001:0DB8::/32. Читать далее «Маска подсети»

postgresql

Для разрешения подключения со всех адресов пишем в файле postgresql.conf

listen_addresses = '*'

Для разрешения пользователей указываем в файле pg.hba.conf

#IPv4 local connections:
host all all 0.0.0.0/0 md5

Выполнение команд

sudo -u postgres psql

Создание пользователя:

sudo -u postgres createuser [username]

Применение пароля для пользователя:

$ sudo -u postgres psql
psql=# alter user  with encrypted password '';

Создание функции с IF ELSE

CREATE OR REPLACE FUNCTION is_accesses(role_name varchar, currentuser integer, claims varchar, user_id integer) RETURNS integer
AS 
$BODY$
BEGIN
    IF role_name is null and user_id is null then
		RETURN 1;
	ELSEIF (role_name is not null and claims is not null and POSITION(CONCAT('.', role_name, '.') IN claims) > 0) then
		RETURN 2;
	ELSEIF (role_name is not null and claims is not null and POSITION(CONCAT('.', role_name, '.') IN claims) > 0) then  
		RETURN 3;
	ELSEIF (role_name is null and currentuser = user_id) then
		RETURN 4;
	else
		RETURN 0;
	end if;
 END
$BODY$
LANGUAGE plpgsql;

Создание функции

CREATE OR REPLACE FUNCTION get_object_fields()
RETURNS SETOF sys_users
AS 
$
BEGIN
    return QUERY SELECT * from sys_users;
END

$ LANGUAGE plpgsql; 

или

CREATE OR REPLACE FUNCTION get_object_fields()
RETURNS SETOF RECORD AS $
SELECT department_id WHERE ...
$ LANGUAGE sql STABLE;

Создание backup’a

sudo su - postgres 
pg_dump postgres > postgres_db.sql 

Восстановить. Нужно заранее создать бд и пользователя.

su - postgres 
psql -d database -f databas.sql 
====
psql -U postgres dbname < infile

MySQL — логирование долгих запросов

Чтобы включить лог медленных запросов, нужно открыть конфигурационный файл MySQL (путь может отличаться):

nano /etc/mysql/my.cnf

и поправить там настройки:

До версии 5.7

log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 1

Начиная с версии 5.7

slow_query_log = /var/log/mysql/mysql-slow.log
long_query_time = 1

log_slow_queries (slow_query_log) указывает путь к файлу настроек
long_query_time указывает минимальное время выполнения запроса, после которого он считается медленным в секундах,
После этого необходимо перезапустить MySQL:

/etc/init.d/mysql restart

После этого в файл /var/log/mysql/mysql-slow.log будут попадать медленные запросы, которые Вам прийдется оптимизировать.

fail2ban для wordpress

Чтобы была возможность блокировки атак в wordpress через wp-login нужно:

  1. создать папку с плагинами wp_fail2ban
  2. внутри создать файл с тем же именем
  3. добавить туда код
    <?php
    /**
     * Plugin Name: Return 403 on Failed Login
     */
    function my_login_failed_403() {
        status_header( 403 );
    }
    add_action( 'wp_login_failed', 'my_login_failed_403' );
    
  4. активировать плагин

Оригинал статьи: https://wpmag.ru/2014/fail2ban-wordpress/

УСТАНОВКА JPEGOPTIM

sudo apt install jpegoptim

ГлавнаяМультимедиаОптимизация изображений Linux
ОПТИМИЗАЦИЯ ИЗОБРАЖЕНИЙ LINUXМультимедиа Август 24, 2015 7 admin
ubuntu
Если у вас есть очень много изображений на домашнем компьютере или сервере, и они занимают слишком много места, то их размер однозначно можно уменьшить даже без потери качества. Также это может быть очень полезным при загрузке изображений в облачное хранилище.

В этой статье мы рассмотрим как выполняется оптимизация изображений Linux. Существует очень много графических инструментов для решения этой задачи, но на самом деле все намного проще. Мы рассмотрим как сжать изображения с помощью двух простых, но очень эффективных консольных утилит командной строки. Вот они:

jpegoptim — утилита для оптимизации и сжатия изображений без потери качества в формате JPEG;
pptipng — это небольшая программа, которая позволяет уменьшить размер PNG изображений без потери качества.
JPEG и PNG — это наиболее распространенные форматы изображений в сети интернет, поэтому вы сможете оптимизировать почти все изображения.

Содержание статьи:

Оптимизация JPEG изображений
Установка Jpegoptim
Как использовать jpegoptim
Оптимизация изображений PNG в Linux
Установка optipng
Сжатие изображений с помощью optipng
Выводы
ОПТИМИЗАЦИЯ JPEG ИЗОБРАЖЕНИЙ
Утилита jpegoptim — это инструмент командной строки, который может использоваться для сжатия изображений в формате JPEG, JPG и JFIF без потери качества. Утилита оптимизирует изображения на основе таблиц Хаффмана. Как вы знаете, в алгоритме JPEG и так используется сжатие, но это сжатие достигается с помощью потери качества, а здесь мы можем оптимизировать размер не меняя картинку.

УСТАНОВКА JPEGOPTIM
Для установки утилиты в Ubuntu, Debian и основанных на нем дистрибутивах выполните:

sudo apt install jpegoptim

В Fedora, Red Hat, CentOS и других, основанных на них дистрибутивах дела обстоят немного сложнее, вам придется сначала добавить репозиторий epel-release. Вы можете сделать это с помощью такой команды:

sudo yum install epel-release

Или:

sudo dnf install epel-release

Затем вы можете установить jpegoptim из только что подключенного репозитория:

sudo yum install jpegoptim

Или:

sudo dnf install jpegoptim

КАК ИСПОЛЬЗОВАТЬ JPEGOPTIM
Давайте рассмотрим как пользоваться jpegoptim. Использовать утилиту для сжатия изображений linux очень просто. Для этого достаточно выполнить программу и передать ей имя файла. Вот такой синтаксис:

$ jpegoptim опции имя_файла.jpeg

Рассмотрим опции утилиты:

-d — указать папку, в которую нужно сохранять готовые изображения;
-f — принудительная оптимизация;
-m — показатель качества, отменяет сжатие без потерь и устанавливает уровень качества от 0 до 100, чем больше, тем лучше;
-n — не выполнять реальную оптимизацию, а только показать результат;
-S — задать размер готового изображения, можно указать в процентах или килобайтах;
-o — заменить исходный файл;
-p — сохранить временные метки;
-P — сохранить права файла.

https://losst.ru/szhatie-png-v-linux