Informatique

APC

conf

1
2
3
4
5
6
7
8
9
10
extension = apc.so
apc.enabled = 1
apc.shm_size = 128M
apc.shm_segments = 1
apc.stat = 0
apc.ttl = 7200
apc.user_ttl = 7200
apc.enable_cli = 0
apc.max_file_size = 2M
apc.rfc1867 = On

besoin d’execption :

1
apc.filters = "-/home/username/public_html/apc\.php$,-/home/username/public_html/wordpress/wp-content/themes/themename/thumb\.php$,-/usr/share/psa-horde/.*,+/home/username/public_html/phpmyadmin/.*"

L’apc.php

1
cp /usr/share/doc/php-apc/apc.php /var/www/

La doc

Openssl

Création key et csr

1
2
openssl genrsa 2048 > server.key
openssl req -new -key server.key > server.csr

Création/signature du cert

1
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Same with CA

1
openssl genrsa -des3 -out rootCA.key 4096
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 730 -out rootCA.crt

openssl genrsa -out mydomain.com.key 2048
openssl req -new -key mydomain.com.key -out mydomain.com.csr

openssl x509 -req -in mydomain.com.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out mydomain.com.crt -days 730 -sha256

Same with SAN

1
# cat server.conf
[ req ]
prompt = no
distinguished_name = dn
req_extensions = req_ext

[ dn ]
CN = www.mydomain.com
emailAddress = ssl@exemple.com
O = MaBoite
OU = IT
L = Paris
ST = IDF
C = FR

[ req_ext ]
subjectAltName = DNS: mydomain.com

openssl req -new -config mydomain.com.conf -key mydomain.com.key -out mydomain.com.csr

Vérification de la concordance des cert/key

1
2
3
openssl x509 -noout -modulus -in server.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5
openssl req -noout -modulus -in server.csr | openssl md5

Vérification de la concordance des cert/CA

1
2
openssl verify -CAfile ca.crt server.crt
openssl pkcs12 -in server.p12 -out server.crt -nodes

Lecture d’un certif

1
openssl x509 -in certificat.pem -noout -text

Conversion x509 to p12

1
openssl pkcs12 -export -out certif.p12 -inkey userkey.pem -in usercert.pem

Conversion openssh key to openssl key

1
ssh-keygen -f mysshgeneratekey.key -i

Remove passphrase

1
openssl rsa -in key.pem -out newkey.pem

Check du certif

1
echo | openssl s_client -showcerts -servername google.com -connect gnupg.org:443 2>/dev/null | openssl x509 -inform pem -noout -text

Sed

TIPS

Afficher les lignes de 1 à 10 ou de 1 à la fin

1
2
sed -n 1,10p  zob
sed -n '1,$p' zob

Suppression de la 3ème ligne

1
sed '3d' mon_fichier.txt

Suppression de la ligne contenant la chaîne “awk”

1
sed '/awk/d' mon_fichier.txt

Suppression de la dernière ligne

1
sed '$d' mon_fichier.txt

Suppression de toutes les lignes vides

1
2
sed '/^$/d' mon_fichier.txt
sed '/./!d' mon_fichier.txt

Remplacement

1
sed -i 's/GROS/PETIT/g' zob

Insert line at specific line

1
sed -i '13i la ligne apres 12' plop

Insert before pattern

1
sed '/^truc/i before' test.txt

Insert after pattern

1
sed '/^truc/a after' test.txt

Suppression des lignes commentées d’un fichier

1
sed -e '/^[ ]*#/d' -e '/^$/d'

Comment

1
sed -i 's/^/#/' plopfile

uncomment

1
sed -i 's/^#//' plopfile

Drbd

Install

1
2
3
apt-get install drbd8-utils

modprobe drbd

Conf

1
2
3
4
5
root@server1:~# cat /etc/drbd.conf 
# You can find an example in /usr/share/doc/drbd.../drbd.conf.example

include "drbd.d/global_common.conf";
include "drbd.d/*.res";

global_common.conf # on comprend rien

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
root@server1:/etc/drbd.d# cat  disk1.res 
resource disk1 {
protocol C;
device /dev/drbd1 minor 1;
disk /dev/system/opt;
meta-disk internal;

on server1 {
address XX.XX.XX.01:7801;
disk /dev/sda4;
}
on server2 {
address XX.XX.XX.02:7801;
disk /dev/sda4;
}
}

Utilisation

On initialise le disque

1
root@server1:/# /sbin/drbdadm create-md disk1
1
root@server2:/# /sbin/drbdadm create-md disk1

Start du service

1
root@server1:/# /etc/init.d/drbd start
1
root@server2:/# /etc/init.d/drbd start

Sur le primaire

1
root@server1:/# /sbin/drbdadm -- --overwrite-data-of-peer primary disk1

Tips

Penser à bien configurer ntp, que les serveurs soient à la même heure.

Check l’état

1
root@server1:/# cat /proc/drbd

Troubleshooting

Désynchro ?

1
2
3
root@server2:~# drbdadm secondary disk1
root@server2:~# drbdadm disconnect disk1
root@server2:~# drbdadm -- --discard-my-data connect disk1
1
2
root@server1:~# drbdadm primary disk1
root@server1:~# drbdadm connect disk1

Megacli

Info sur les controleurs et disques

1
megacli -PDList -aALL -NoLog

Etat du raid

1
megacli -LdInfo -Lall -aALL -NoLog

Info de cache

1
megacli -AdpBbuCmd -GetBbuCapacityInfo -aALL -noLog

Status de la batterie

1
megacli -AdpBBUCmd -GetBBUStatus -aALL -NoLog

Show rebuild

1
megacli -PDRbld -ProgDsply -physdrv [32:2] -aALL -NoLog

Show logs

1
megacli -FwTermLog -Dsply -aALL -NoLog

Force le cache meme si batterie low

1
megacli -LDSetProp CachedBadBBU -LALL -aALL -NoLog

plus MegaCli

Git

remplacer ce putain de nano par vim

1
git config --global core.editor "vim"

info user

1
git config --global user.name "John Beroot"
git config --global user.email "webmaster@wanadoo.fr"
git config --global push.default simple

Tips

1
git reset --hard master@{"300 minutes ago"}

get repo url from local

1
git remote show origin

merge request

1
git push -o merge_request.create

TUTO