wtorek, 24 listopada 2015

CloudLinux MySQL SQLSTATE[HY000] [2002] No such file

Sprawdzamy czy ścieżka do datadir MySQL znajduje się w

/etc/cagefs/cagefs.mp

jeśli nie to dodajemy i remount all w cagefs

cagefsctl --remount-all

piątek, 13 listopada 2015

MegaCLI

MegaCli -AdpAllInfo -aAll

View information about the battery backup-up unit state

MegaCli -AdpBbuCmd -aAll

View information about virtual disks Useful for checking RAID level, stripe size, cache policy and RAID state:

MegaCli -LDInfo -Lall -aALL

View information about physical drives

MegaCli -PDList -aALL

To see information about the patrol read state and the delay between patrol read runs:

MegaCli -AdpPR -Info -aALL

To find out the current patrol read rate, execute

MegaCli -AdpGetProp PatrolReadRate -aALL

To reduce patrol read resource usage to 2% in order to minimize the performance impact:

MegaCli -AdpSetProp PatrolReadRate 2 -aALL

To disable automatic patrol read:

MegaCli -AdpPR -Dsbl -aALL

To start a manual patrol read scan:

MegaCli -AdpPR -Start -aALL

To stop a patrol read scan:

MegaCli -AdpPR -Stop -aALL

If your system is not connected to a UPS, you should disable the physical disk cache in order to prevent data loss.

MegaCli -LDGetProp EnDskCache -LAll -aALL

To enable it (only do this if you have a UPS and redundant power supplies):

MegaCli -LDGetProp DisDskCache -LAll -aALL

Detail about disks:

MegaCli -ShowSummary -aALL

Check patrol read warnings:

MegaCli -AdpEventLog -GetSinceReboot -warning -fatal -a0

wtorek, 27 października 2015

Centos 7 wybór kernela

Listowanie możliwych do wyboru:

awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

ustawienie:

grub2-set-default 2

chroot-prepare

#!/bin/bash

#
# bind-mount /proc, /sys and /dev
#


mountpoint=${1:-/mnt}


# usage
#
if [ "$1" = "" -o "$1" = "--help" ] ; then
  echo "Usage:  $(basename $0) <mountpoint (default=/mnt)>"
  exit 0
fi


# bind-mount proc sys and dev
#
for fs in proc sys dev ; do
  mkdir -p $mountpoint/$fs
  mount --bind  /$fs  $mountpoint/$fs
done

if [ -d $mountpoint/run ]; then
  mkdir $mountpoint/run/lock
fi

wtorek, 15 września 2015

zabbix tty sudo

suoders

Defaults:zabbix !requiretty
Cmnd_Alias ZABBIX_CMD = /sbin/fuser, /usr/sbin/lsof, /usr/sbin/dmidecode, /sbin/mii-tool, /sbin/ethtool, /usr/bin/ipmitool, /usr/sbin/iptstate, /usr/bin/ocaudit, /usr/sbin/smartctl, /usr/sbin/smartd
zabbix   ALL = (other_user)  NOPASSWD: ALL
zabbix   ALL = (root)        NOPASSWD: ZABBIX_CMD

wtorek, 21 lipca 2015

Hasła wifi - Windows & Mac

Windows:

netsh wlan show profile name=ssid key=clear

ssid = nazwa sieci

OS X:

sudo security find-generic-password -ga ssid | grep password

środa, 15 lipca 2015

mdadm pause check

echo idle >> /sys/block/md1/md/sync_action

Z którego my.cnf korzysta MySQL...

mysql --verbose --help | grep -A 1 "Default options"

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

czwartek, 9 lipca 2015

Directadmin problem z mysql

cd /usr/local/directadmin/custombuild

./build mysql

jeśli błędy..

/usr/local/directadmin/scripts/mysql.sh NOWE_HASLO da_admin NOWE_HASLO

automysqlbackup exclude db

performance_schema + information_schema

+ po "removeIO"
# Remove annoying warning message since MySQL 5.6 if [[ -s "$log_errfile" ]]; then sedtmpfile="/tmp/$(basename $0).$$.tmp" grep -v "Warning: Using a password on the command line interface can be insecure." "$log_errfile" > $sedtmpfile mv $sedtmpfile $log_errfile fi

wtorek, 7 lipca 2015

PostgreSQL z konsoli bez hasła

Tworzymy pliczek .pgpass np w root, /root/.pgpass

Zawartość

*:*:*:postgres:tescik1212
gdzie:
- postgres - nazwa użytkownika- tescik1212 - nasze hasło

poniedziałek, 6 lipca 2015

Mdadm - powiększanie rozmiaru istniejącej macierzy

Zdarzyło się, że przy podawaniu rozmiaru wpisało się o jedno 0 za mało.. w efekcie czego przestrzeń dyskowa została zbyt szybko zapełniona :)

/dev/md2 - felerna macierz

/dev/sda1 - felerna partycja 1
/dev/sdb1 - felerna partycja 2

Usuwamy więc felerne partycje z macierzy:
mdadm -f /dev/md2 /dev/sda1
mdadm -r /dev/md2 /dev/sda1
W macierzy zostanie tylko sdb1 - nie kasujemy jej jeszcze, najpierw tworzymy partycje o prawidłowych rozmiarach na dysku sda
cfdisk /dev/sda
Po utworzeniu partycji o prawidłowym rozmiarze dodajemy ją spowrotem do macierzy
mdadm --manage /dev/md2 --add /dev/sda1
Po dodaniu te same kroki robimy z sdb:
mdadm -f /dev/md2 /dev/sdb1
mdadm -r /dev/md2 /dev/sdb1
Porządek z partycjami
cfdisk /dev/sdb
I ponowne dodanie do macierzy
mdadm --manage /dev/md2 --add /dev/sdb1
Po zakończeniu synchronizacji pozostało zwiększyć rozmiar macierzy do max dostępnej przestrzeni
mdadm --grow /dev/md0 --size=max
I na sam koniec powiększanie systemu plików
resize2fs /dev/md0

Szybki test I/O

Test zapisu:

dd if=/dev/zero of=/root/pliczek bs=1G count=1 oflag=direct

/dev/sda does not have any corresponding BIOS drive.

root@cosik:[~]: grub-install /dev/sda
/dev/sda does not have any corresponding BIOS drive.
Rozwiązanie:
root@cosik:[~]: grub-install --recheck /dev/sda

czwartek, 25 czerwca 2015

PHP Selector - indywidualne php.ini

Zalogowanie na klatkę użytkownika
cagefsctl -e USERNAME 

Edycja php.ini w zależności od potrzeb np
/opt/alt/php54/etc/php.d.all/cos.ini

wyjście z klatki i zastosowanie zmian
cagefsctl --rebuild-alt-php-ini

PHP Selector - globalne php.ini

Zmiana globalnego php.ini w PHP Selectorze:

a) edycja pliku
/etc/cl.selector/global_php.ini

b) potwierdzenie zmian
/usr/sbin/cagefsctl --setup-cl-selector

środa, 24 czerwca 2015

Test podatności POODLE w bashu

Zawartość poniższego (> czytaj więcej) skryptu wkleić do pliku np poodle.sh

Użycie:

for i in `echo 21 587 443 465 993 995`; do /bin/sh poodle.sh ADRES_IP $i; done

oczywiście porty dowolne :)

Plesk 12: zabezpieczanie przed POODLE w Nginx

Tworzenie customowych templatek:

mkdir -p /usr/local/psa/admin/conf/templates/custom/
mkdir -p /usr/local/psa/admin/conf/templates/custom/server/
mkdir -p /usr/local/psa/admin/conf/templates/custom/domain/

cp /usr/local/psa/admin/conf/templates/default/nginxWebmailPartial.php  /usr/local/psa/admin/conf/templates/custom/
cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain/
cp /usr/local/psa/admin/conf/templates/default/server/nginxVhosts.php /usr/local/psa/admin/conf/templates/custom/server/
Podmiana ssl_protocols w powyższych plikach a na końcu polecenie rekonfiguracji

/usr/local/psa/admin/bin/httpdmng --reconfigure-all

wtorek, 23 czerwca 2015

SSL cipher list

1) Apache:
/etc/httpd/conf/extra/httpd-ssl.conf

SSLProtocol All -SSLv2 -SSLv3

2) Nginx/Proxy
/usr/local/directadmin/data/templates/nginx_ips.conf
/usr/local/directadmin/data/templates/nginx_server_secure.conf
/usr/local/directadmin/data/templates/nginx_server_secure_sub.conf
/etc/nginx/directadmin-ips.conf
/etc/nginx/nginx-vhosts.conf
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

3) Dovecot: 2.1+
/etc/dovecot/dovecot.conf

ssl_protocols = !SSLv2 !SSLv3
ssl_cipher_list = ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

4) Exim: 4.80+
/etc/exim.conf

openssl_options = +no_sslv2 +no_sslv3
tls_require_ciphers = ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

5) Pure-FTPd:
/etc/init.d/pure-ftpd
/usr/libexec/pureftpd_startscript

OPTIONS="${OPTIONS} -Y 1 -J -S:HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3"

6) ProFTPd:
/etc/proftpd.conf

TLSProtocol TLSv1
TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3

poniedziałek, 8 czerwca 2015

czwartek, 4 czerwca 2015

Szybka optymalizacja obrazków

apt-get install jpegoptim libjpeg-turbo-progs

find lokalizacja/ -iname '*.jpg' | xargs jpegoptim --strip-all

środa, 3 czerwca 2015

Attic + Debian 7

apt-get install python3-pip libacl1-dev

pip-3.2 install attic

+

apt-get install libacl1-dev liblzo2-dev python3-dev python3 python3-pip libfuse-dev
pip-3.2 install llfuse --upgrade

środa, 27 maja 2015

Backup baz MySQL do osobnych plików

BACKUP_DIR="/root/bazy"
MYSQL=mysql
MYSQLDUMP=mysqldump
$MYSQL -s -r -e 'show databases' |
while read db; do
$MYSQLDUMP $db > $BACKUP_DIR/${db}.sql;
done

----


TIMESTAMP=$(date +"%F")
BACKUP_DIR="/backup/mysql/$TIMESTAMP"
MYSQL_USER="root"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="zrPi!COW"
MYSQLDUMP=/usr/bin/mysqldump

mkdir -p "$BACKUP_DIR"

databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`

for db in $databases; do
  $MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --databases $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
done

sobota, 23 maja 2015

Ustawienia PHP dla domeny / ścieżki w pliku php.ini

Poniższe wpisy dodajemy do pliku php.ini

Dla domeny dodajemy np

[HOST=ly9b.blogspot.com]
error_reporting = E_ALL
display_errors = On

powyższym wpisem definiujemy inne wartości dla danej domeny pomijając ustawienia globalne (np globalnie wyświetlanie błędów jest wyłączone a dla tej domeny będzie włączone)

alternatywą jest zmiana ustawień PHP dla określonego katalogu czy jak kto woli - ścieżki

[PATH=/home/ly9b/domains/ly9b.blogspot.com/public_html]
error_reporting = E_ALL
display_errors = On
Uwaga: sposób nie działa w przypadku PHP FPM - w FPM można skorzystać z pliku .user.ini

poniedziałek, 27 kwietnia 2015

Blokada useragenta zh-CN

Useragent zh-CN często przewija się w logach jako jeden z wielu wywołujący POSTy do zainfekowanych plików PHP. Mozna go zblokować w .htaccess

BrowserMatchNoCase "zh-CN" chiny
Order Allow,Deny
Allow from ALL
Deny from env=chiny

niedziela, 26 kwietnia 2015

CSF + Debian 8

exec of /usr/bin/systemctl is-active firewalld failed at /usr/sbin/csf line 625.
nano /etc/csf/csf.conf

Zamiana z

SYSTEMCTL = "/usr/bin/systemctl"

na

SYSTEMCTL = "/bin/systemctl" 

i restart CSF / LFD :)

niedziela, 19 kwietnia 2015

Wyłączanie IPv6 w bind / named w CentOS

Wyłączanie IPv6 w bind / named poprzez wymuszenie korzystania z IPv4.

Dodajemy do pliku /etc/sysconfig/named
OPTIONS="-4" 

czwartek, 9 kwietnia 2015

Mail.app + Gmail = wiele wersji roboczych

Przy korzystaniu z Mail.app na OS X i podpiętym koncie Gmaila możemy spotkać sytuacje, że na webowym interfejsie w katalogu kopii roboczych będzie wielokrotnie powielona ta sama wiadomość.

Aby temu zarazić należy w ustawieniach konta e-mail w aplikacji Mail.app odznaczyć "Przechowuj na serwerze wersje robocze"



czwartek, 2 kwietnia 2015

Magento: Internal Server Error 500 na zdjęciach produktu

Gdy na podstronie produktu w Magento nie ładują się obrazki a bezpośrednie odwołanie się do niego zwraca kod 500 przejdź do folderu /media/ i zmień nazwę pliku .htaccess lub go usuń.

niedziela, 29 marca 2015

Sprawdzanie envelope-from i from - Exim

Jeżeli from i envelope-from się różnią - nie pozwalaj na wysyłkę. Reguła działająca dla domen lokalnych.
check_message:
        deny sender_domains = +local_domains
        condition = ${if eq {$sender_address} {$h_from:} {no} {yes}}
        message = relay not permitted