Цели в яндекс.метрике

1) Заходим в метрику metrika.yandex.ru/list
добавляем сайт — вешаем на него счетчик — потом переходим в метрике на этот сайт.

2) Захоим в счетчик сайта. Потом: Настройка -> Цели -> Добавить цель (название — небольшое описание), указываем javascript-событие,
идентификатор цели пишем одно слово по-английски слитно заглавными буквами

(например
название: первый вариант запчастей
идентификатор: FIRSTVARIANT)
3) добавляем в ссылку
<a href onclick="yaCounter44500126.reachGoal('FIRSTVARIANT');return true;"

или в head
с добавлением кастомных параметров
$(window).load(function() {
	var goalParams = {ipuser: '<?php echo $_SERVER['REMOTE_ADDR']?>'};
	yaCounter44500126.reachGoal('SECONDVARIANT',goalParams);
});


Читать дальше →

Ставим openvz-контейнер с Debian 8 на борту без systemd

Systemd не дает толком сразу пробросить сеть в виртуалку конкретно в случае с Debian Jessie. Поэтому ставим дебку из волшебного шаблона, позаимствованного на просторах Proxmox:
cd /var/lib/vz/template/cache
wget https://koldaev.com/uploads/debian-8.0-standard_8.6-1_amd64.tar.gz
vzctl create 134 --ostemplate debian-8.0-standard_8.6-1_amd64
iptables -t nat -A POSTROUTING -s 10.1.1.134 -o eth0 -j SNAT --to 192.168.100.31
iptables -t nat -A POSTROUTING -s 10.1.1.134 -o eth1 -j SNAT --to 85.21.220.62

и добавляем в конфиг виртуалки:
IP_ADDRESS="10.1.1.134"
HOSTNAME="octobercms"
NAMESERVER="195.14.50.1"
NAMESERVER="195.14.50.21"
SEARCHDOMAIN="85.21.220.62"

Проброс портов в Virtualbox

1) В Virtualbox — основные настройки — network — вкладка Host-only Networks кликаем на крестик

2) В хостовой линукс-машине network первая вкладка Adapter 1 — NAT

3) В хостовой линукс-машине network первая вкладка Adapter 1 — Port Forwarding добавляем строку
Rule 1 TCP 88.198.33.121 50022 192.168.56.10 22 (это порт ssh)

4) В хостовой линукс-машине network вторая вкладка Adapter 2 — Host-only Adapter выбираем имя vboxnet0 (дефолтное имя, если не меняли)

5) на хосте nano /etc/sysctl.conf
net.ipv4.ip_forward=1
потом sysctl -p

6) Добавляем виртуальный Ip-ник в виртуальной машине Linux в /etc/network/interfaces:
auto eth1
iface eth1 inet static
address 192.168.56.10

7) удаляем на всякий случай в гостевой
rm /etc/udev/rules.d/70-persistent-cd.rules
и ниже eth1 в настройказ все удаляем

8) в настройках ssh разрешаем root:
nano /etc/ssh/sshd_config
PermitRootLogin yes

9) запускаем: service sshd start

10) на некоторых машинах, например backtrack, нужно сначала сгенерировать ключи для ssh:
sshd-generate
и по-другому перезапустить его:
service ssh stop; service ssh start

11) на хостовой машине (Centos 7) отключаем файрволл:
systemctl disable firewalld
systemctl stop firewalld

12) для удаленного подключения к гостевой windows, просто в display отмечаем галочку
display remote и указываем, например, порт 53389
никогда не забываем лочить пользователя перед выходом!

Полная остановка процесса создания снимка виртуалки в Openvz

Смотрим и срубаем процессы дампа
killall vzdump
ps auxw | grep vzdump
kill -9 (номер процесса)


Смотрим вошедших пользователей с номером процесса и возможностью его срубить
who -u
kill -9 (номер процесса)


Таким образом можно валидно остановить процесс создания снимка виртуалки, срубить все процессы vzdump и сбросить сеанс пользователя, от имени которого был запущен vzdump. После такой цепочки можно опять начать безопасный бэкап системы, например:
vzdump --snapshot 102 --dumpdir /100_18 --compress &

Ручное создание пространства lvm для openvz

Допустим у нас есть раздел /dev/sda7 с архитектурой lVM (которую мы указали во время разметки диска при установке debian)

последовательность комманд
vgscan
pvcreate /dev/sda7

создаем логическую группу на том с архитектурой lvm:
vgcreate vg0 /dev/sda7

создаем логический раздел на все свободное пространство в группе lvm:
lvcreate -l 100%FREE -n vz vg0


Читать дальше →

Подписываем проги в Linux


aptitude update
wget osslsigncode-1.7.1.tar.gz
apt-get install gcc
aptitude install openssl
aptitude install cmake
aptitude install make
aptitude install libssl-dev
apt-get install libcurl4-gnutls-dev
aptitude install automake
cd osslsigncode
./configure
make
make install

openssl pkcs12 -in /work/newsertSS.pfx -nocerts -nodes -out /work/ExampleCloudkey.pem
penssl pkcs12 -in /work/newsertSS.pfx -nokeys -out /work/ExampleCloudCert.pem

osslsigncode sign -certs /work/ExampleCloudCert.pem -key /work/ExampleCloudkey.pem -n "ExampleCloud" -i http://cloud.example.ru/ -t http://timestamp.verisign.com/scripts/timstamp.dll -in /work/old_ExampleCloudSetup.exe -out /work/new_ExampleCloudSetup.exe

Бесплатный ssl-сертификат на один домен


/etc/init.d/vz stop
/etc/init.d/nginx stop
mkdir /git_cert
cd /git_cert/letsencrypt
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --agree-dev-preview --server https://acme-v01.api.letsencrypt.org/directory auth


Далее указываем имя домена с обязательным пробелом после имени
Если все хорошо, на выходе будет сообщение:
IMPORTANT NOTES:
— Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/dobro.in/fullchain.pem. Your cert will
expire on 2016-02-04. To obtain a new version of the certificate in
the future, simply run Let's Encrypt again.

теперь можем записывать в nginx:

server {
    listen 443 ssl;
    server_name dobro.in;
    ssl_certificate /etc/letsencrypt/live/dobro.in/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/dobro.in/privkey.pem;
....
    listen *:80;
    server_name www.koldaev.com koldaev.com blog.koldaev.com;
    return 301 https://$host$request_uri;

и стартовать виртуалки с nginx:
/etc/init.d/vz start
/etc/init.d/nginx start

Cохраняем историю команд в контейнере

Как включить в VE OpenVZ запись истории команд пользователя, которые отображаются командой history в консоли? (No bash history in VE). По умолчанию в bash всё пишется в файл ~/.bash_history. Если хотим хранить историю в другом файле, то нужно в .bashrc, задать команду HISTFILE=~/.my_history. Выясним в какой файл записывается история в нашем
env | grep -i HISTFILE

HISTFILE=/dev/null
И видим что история сразу затирается. Редактируем файл и задаем параметр HISTFILE

# nano /root/.bashrc
...
HISTFILE=~/.bash_history
HISTSIZE=1000
HISTFILESIZE=2000
...

HISTSIZE — определяет число строк, хранящихся в списке истории (в памяти интерпретатора).
HISTFILESIZE — максимальное количество команд хранящихся в файле истории.
После этих действий нужно перезапустить контейнер

vzctl restart 111