All posts by Lorand Szekely

Actualizare LiteSpeed webserver

Actualizare LiteSpeed:

/usr/local/lsws/admin/misc/lsup.sh -v 4.2.17

Optiuni:

-f: Daca versiunea specificata este deja instalata, lsup se va opri. Optiunea -f forteaza instalarea chiar daca versiunea specificata este aceeasi cu cea instalata. Aceasta optiune poate fi utila daca au fost efectuate modificari/imbunatatiri pe versiunea actuala si inca nu a fost lansat a o noua versiune.

-v: Permite specificarea versiunii care sa fie instalata. Aceasta optiune permite instalarea unei versiuni anterioare in cazul in care versiunea actuala creaza probleme.

Informatii suplimentare aici:
http://www.litespeedtech.com/support/wiki/doku.php?id=litespeed_wiki:lsup
http://crybit.com/litespeed-update-released/

Instalare DKIM cu sendmail sau postfix pe un server CentOS

Instalare OpenDKIM

Pentru instalarea OpenDKIM se foloseste comanda:

yum install opendkim

Generare cheie pentru semnarea mesajelor

Trebuie generata cate o cheie privata si una publica pentru fiecare domeniu pentru care se doreste semnarea email-urilor. Cheia privata se stocheaza pe server si nu este accesibila public, iar cheia publica va fi publicata in inregistrarile DNS asa incat serverele care primesc email-urile sa le poata verifica semnaturile.

La prima rulare, opendkim va genera un set implicit de chei care vor fi stocate in /etc/opendkim/keys/ folosind numele de domeniu al serverului si selectorul “default”. Pentru generarea manuala a cheilor se poate folosi acelasi selector, “default”.

Crearea cheilor se realizeaza cu comenzile urmatoare (se va inlocui example.com cu numele real al domeniului):

mkdir /etc/opendkim/keys/example.com
/usr/sbin/opendkim-genkey -D /etc/opendkim/keys/example.com/ -d example.com -s default
chown -R opendkim:opendkim /etc/opendkim/keys/example.com
mv /etc/opendkim/keys/example.com/default.private /etc/opendkim/keys/example.com/default

Optiuni utilizate:
-D: directory
-d: domain
-s: selector

Modificarea fisierelor de configurare

Trebuie create/modificate urmatoarele 4 fisiere de configurare:

1. /etc/opendkim.conf – fisierul principal de configurare
2. /etc/opendkim/KeyTable – lista cheilor disponibile pentru semnarea mesajelor
3. /etc/opendkim/SigningTable – lista domeniilor si conturilor pentru care se permite semnarea
4. /etc/opendkim/TrustedHosts – lista serverelor “de incredere” (trusted) la semnarea sau verificarea mesajelor

Editarea /etc/opendkim.conf si stabilirea valorilor ca mai jos:

## CONFIGURATION OPTIONS

# Specifies the path to the process ID file.
PidFile /var/run/opendkim/opendkim.pid

# Selects operating modes. Valid modes are s (signer) and v (verifier). Default is v.
Mode sv

# Log activity to the system log.
Syslog yes

# Log additional entries indicating successful signing or verification of messages.
SyslogSuccess yes

# If logging is enabled, include detailed logging about why or why not a message was
# signed or verified. This causes a large increase in the amount of log data generated
# for each message, so it should be limited to debugging use only.
#LogWhy yes

# Attempt to become the specified user before starting operations.
UserID opendkim:opendkim

# Create a socket through which your MTA can communicate.
Socket inet:8891@127.0.0.1

# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
Umask 002

# This specifies a file in which to store DKIM transaction statistics.
#Statistics /var/spool/opendkim/stats.dat

## SIGNING OPTIONS

# Selects the canonicalization method(s) to be used when signing messages.
Canonicalization relaxed/simple

# Domain(s) whose mail should be signed by this filter. Mail from other domains will
# be verified rather than being signed. Uncomment and use your domain name.
# This parameter is not required if a SigningTable is in use.
Domain example.com

# Defines the name of the selector to be used when signing messages.
Selector default

# Gives the location of a private key to be used for signing ALL messages.
#KeyFile /etc/opendkim/keys/default.private

# Gives the location of a file mapping key names to signing keys. In simple terms,
# this tells OpenDKIM where to find your keys. If present, overrides any KeyFile
# setting in the configuration file.
KeyTable refile:/etc/opendkim/KeyTable

# Defines a table used to select one or more signatures to apply to a message based
# on the address found in the From: header field. In simple terms, this tells
# OpenDKIM how to use your keys.
SigningTable refile:/etc/opendkim/SigningTable

# Identifies a set of "external" hosts that may send mail through the server as one
# of the signing domains without credentials as such.
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts

# Identifies a set internal hosts whose mail should be signed rather than verified.
InternalHosts refile:/etc/opendkim/TrustedHosts

Trebuie decomentate optiunile Domain, KeyTable, SigningTable, ExternalIgnoreList si InternalHosts, iar, din moment ce se va folosi KeyTable se poate comenta optiunea KeyFile.

Urmeaza crearea/modificarea celor 3 fisiere pe care le-am decomentat in fisierul de configurare.

Crearea/modificarea fisierului /etc/opendkim/KeyTable cu urmatorul continut:

default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/default

Pentru cazul in care se vor folosi mai multe chei (pentru semnarea mesajelor de pe diferite domenii virtuale cu diferite chei) se va adauga cate o linie pentru fiecare domeniu, dupa exemplul:

default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/default
default._domainkey.example2.com example2.com:default:/etc/opendkim/keys/example2.com/default

Crearea/modificarea fisierului /etc/opendkim/SigningTable, in care trebuie doar decomentata linia:

*@example.com default._domainkey.example.com

Crearea/modificarea fisierului /etc/opendkim/TrustedHosts, dupa modelul:

127.0.0.1
hostname1.example.com
hostname2.example.com
example.com

Modificarea configurarii MTA (Mail Transport Agent)

Pentru Postfix, doar trebuie adaugate urmatoarele linii in fisierul main.cf:

smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept

Daca se foloseste o versiune a Postfix mai veche de 2.6 mai trebuie adaugata si linia:

milter_protocol = 2

Pentru detalii suplimentare: http://www.postfix.org/MILTER_README.html#version

Nu se restarteaza acum serviciul Postfix, pentru ca mai intai trebuie pornit serviciul opendkim, altfel vor fi generate erori.

Pentru Sendmail trebuie adaugata urmatoarea linie in fisierul /etc/mail/sendmail.mc:

INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@127.0.0.1')

Se genereaza fisierul sendmail.cf folosind comanda:

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Pornirea OpenDKIM si repornirea MTA

Pornirea OpenDKIM:

service opendkim start

Repornirea Postfix:

postfix reload

Sau, dupa caz, repornirea Sendmail:

service sendmail restart

Pentru pornirea serviciului opendkim la pornirea serverului se executa comanda chkconfig:

chkconfig opendkim on

Adaugarea inregistrarii DNS

Informatia care trebuie publicata in DNS este continuta in fisierul /etc/opendkim/keys/example.com/default.txt si poate fi vizualizata cu comanda:

cat /etc/opendkim/keys/example.com/default.txt

Informatia arata cam asa:

default._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHY7Zl+n3SUldTYRUEU1BErHkKN0Ya52gazp1R7FA7vN5RddPxW/sO9JVRLiWg6iAE4hxBp42YKfxOwEnxPADbBuiELKZ2ddxo2aDFAb9U/lp47k45u5i2T1AlEBeurUbdKh7Nypq4lLMXC2FHhezK33BuYR+3L7jxVj7FATylhwIDAQAB" ; ----- DKIM default for example.com

Aceasta informatie trebuie adaugata la finalul fisierului cu zonele DNS pentru domeniul respectiv.

Testarea configuratiei

Configurata poate fi testata folosind instrumentul http://www.brandonchecketts.com/emailtest.php
sau prin trimiterea unui email cu semnatura DKIM catre una (sau mai multe) din urmatoarele adrese de email:
autorespond+dkim@dk.elandsys.com
sa-test@sendmail.net
check-auth@verifier.port25.com

Alte articole pe aceeasi tema

http://www.dkim.org/
http://www.opendkim.org/
http://blog.mixu.net/2009/11/03/setting-up-spf-senderid-and-dkim-on-centos-5-3-using-sendmail/
http://www.mylinuxtips.info/linuxtipstutorials/setup-dkim-keys-with-sendmail/
http://server-support.co/blog/sysadmin/centos-configure-dkim-sendmail-multiple-domains/
http://www.elandsys.com/resources/sendmail/dkim.html

Eroare sendmail

Pe un server CentOS proaspat instalat, la trimiterea email-urilor, am observat in maillog urmatoarea eroare:

Sep 12 03:38:32 server sendmail[27862]: s9B9BnMZ003758: to=user@destination.com, ctladdr=user@mydomain.com (501/502), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30099, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, <span style="color: #ff0000;" data-mce-style="color: #ff0000;">stat=Deferred: Connection refused by [127.0.0.1]</span>

Pentru ca sendmail rula numai pe level 4, s-a rezolvat asa:

sudo chkconfig --levels 235 sendmail on
sudo service sendmail restart

Noty – un plugin jQuery pentru notificari

Noty este un plugin jQuery care permite crearea de notificari, ca o alternativa la casutele standard de dialog. Sunt permise diverse pozitionari relativ la fereastra curenta, aspectul grafic poate fi modificat/personalizat din CSS si are, pentru moment, 4 optiuni de callback. Mai multe detalii pe site-ul autorului: http://ned.im/noty.

 

Autorul, Nedim Arabaci, prezinta si alte proiecte interesante pe site-ul sau: http://ned.im

 

Plesk error: Cloning the database db1 to the database db2. You will be notified of the progress by e-mail (email@domain.net)

In Plesk, pe toata durata efectuarii unei copii a unei baze de date intr-o alta baza de date, se afiseaza mesajul:

Cloning the database db1 to the database db2. You will be notified of the progress by e-mail (email@domain.net).

Datorita unui bug, la finalul operatiei de copiere, mesajul ramane inca activ. Chiar si dupa un restart al serverului mesajul nu dispare.

Read More

Stergere fisiere vechi in linux

Comanda find  din Linux suporta o gama larga de parametri, unii chiar foarte intresanti si utili. Printre acestia se numara unul care permite executarea unei comenzi asupra fiecarui fisier gasit. Vom folosi aceasta comanda ca sa identificam fisierele mai vechi de un anumit numar de zile, apoi pentru aceste fisiere vom apela comanda rm  pentru a le sterge:

find /path/to/files* -mtime +5 -exec rm {} \;

Read More

Instalare iGO8 pe un GPS Asus R700

Continutul acestei arhive se copiaza pe cardul de memorie. La pornirea aparatului se va deschide un File Manager.

Folosind acest File Manager se deschide folderul Windows si se ruleaza aplicatia Asus_BackDoor.exe. Aceasta va deschide o fereastra cu fundal alb si cateva butoane. Se apasa pe butonul Explorer care va deschide Explorer-ul de Windows.

Folosind butonul aflat in coltul din dreapta jos se poate alege una din aplicatiile active. Imediat langa acest buton se afla un altul (cu un creion rosu pe el) de unde, la nevoie, se poate activa tastatura.

Asadar, se alege aplicatia FileManCE si se navigheaza la locatia \FlashDisk\Navi\. Se redenumeste fisierul navigation.exe in navigation.exe.bak, iar in acest folder se vor copia, de pe cardul SD, fisierele navigation.exe si RunINI.ini.

Se navigheaza pe cardul de memorie (\SDMMC\) si de pe acesta se sterg fisierele: AsusBackDoorBarcelona.dll, AsusUpgrade.exe si RunINI.ini. Se poate sterge si folderul navigation. Folderul FileManCE nu mai este necesar, insa nu poate fi sters acum pentru ca inca ruleaza aplicatia FileManCE.exe. Poate fi sters ulterior, insa si daca ramane nu incurca cu nimic.

Folosind butonul de Start din Windows se alege potiunea Suspend. Se pune butonul din partea de jos a aparatului in pozitia Off, apoi din nou pe On. Aparatul va porni si va intra in meniul sau normal. La apasarea pe butonul Navigatie va porni programul iGO8 aflat pe cardul de memorie, in folderul cu acelasi nume (iGO8).

Instalarea altor desktopuri in Ubuntu

KDE

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt-get update
sudo apt-get install kubuntu-desktop

 XFCE

sudo apt-get install xubuntu-desktop

Cinnamon

sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable
sudo apt-get update
sudo apt-get install cinnamon

MATE

sudo add-apt-repository "deb http://packages.mate-desktop.org/repo/ubuntu $(lsb_release -cs) main"
sudo apt-get update
sudo apt-get install mate-archive-keyring
sudo apt-get install mate-core
sudo apt-get install mate-desktop-environment

Sursa: http://www.askubuntu.com

WordPress – dezactivarea rapida a unui plugin direct din baza de date

Recent, din cauza unei erori aparute intr-un plugin WordPress, nu se mai incarca nicio pagina si era afisat un mesaj cu eroarea aparuta si pluginul cu problema. Pentru ca nu mai aveam acces la interfata de administrare a trebuit sa caut o alta solutie ca sa dezactivez pluginul respectiv.

O solutie relativ simpla pentru rezolvarea unei astfel de situatii presupune accesul la baza de date si efectuarea unei modificari care va avea ca efect dezactivarea unuia sau a tuturor plugin-urilor din WordPress.

Read More

Mutarea tabelelor dintr-o baza de date in alta baza de date

Pentru baze de date de dimensiuni mari (zeci de tabele si dimensiuni de cateva sute de MB) cel mai comod si rapid este ca mutarea/copierea tuturor tabelelor dintr-o baza de date (database1) in alta (database2), aflate pe acelasi server, sa se execute din linie de comanda direct pe server. Mai intai se face un dump al database1 intr-un fisier local, apoi acel fisier se importa in database2.

Read More

PHP max_input_vars

Pentru firma unde lucrez am dezvoltat o aplicatie care permite crearea rapida si usoara a ofertelor de pret pentru clientii nostri. Aplicatia permite introducerea unuia sau a mai multor coduri de produs, apoi interogheaza baza de date SAP si returneaza date despre produse (7 campuri pentru fiecare produs): producator, denumire, pret, stoc disponibil, etc…

Recent, un coleg a avut de facut o oferta care continea aprox 200 de coduri de produs. Dar in urma interogarii erau returnate informatiile doar pentru aprox 160 de produse. Am inceput sa fac tot felul de teste sa vad de unde apare limitarea.

Read More

Trimitere email cu autentificare prin SMTP

La unul din proiectele din trecut am avut nevoie de o clasa pentru trimiterea email-urilor cu autentificare prin SMTP. Cineva mi-a recomandat clasa Mail din PEAR Framework. Clasa permite destul de multe operatiuni si pana in urma cu cateva zile am fost multumit de ea.

Recent, insa, am avut nevoie sa trimit email-uri catre mai multe adrese in Cc si Bcc. Aici aparea o anomalie si am gasit ca ar fi vorba de un bug inca nerezolvat (http://pear.php.net/bugs/bug.php?id=8047). Unii spun ca problema este din libraria Mail de la PEAR, altii spun ca problema ar fi la functia mail() din PHP si nu in libraria Mail. Oriunde ar fi problema, am consumat destul de mult timp incercand sa gasesc o solutie, insa fara succes. In final am renuntat la a mai utiliza aceasta librarie si am cautat solutii echivalente.

Read More

Configurare logrotation in Plesk

Cautarea in log-uri poate deveni extrem de greoaie daca dimensiunile acestora sunt mari. In plus spatiul ocupat pe disc de aceste fisiere va creste semnificativ si destul de repede pe un server web cu trafic intens (si nu numai), iar spatiul acesta de multe ori este ocupat in mod inutil. Folosind logrotation (“rotirea” logurilor) se va reduce spatiul ocupat si se va imbunatati durata analizarii acestor fisiere.

Read More