Category Archives: CentOS

CentOS: informatii despre harddisk, partitii si memorie

lsblk – afiseaza informatii despre organizarea discurilor si partitiilor (except RAM disks)

df – raporteaza spatiul liber pentru fiecare partitie

pvs, pvdisplay  – afiseaza atributele volumelor fizice

vgdisplay – display attributes of volume groups

dmsetup ls –tree – managementul partitiilor logice (low level)

hdparm – managementul parametrilor pentru device-urile de stocare (SATA/IDE)

hdparm -I /dev/sda

Detalii: http://www.cyberciti.biz/faq/find-hard-disk-hardware-specs-on-linux/

sdparm – acceseaza parametrii device-urilor SCSI

mdadm –  managementul si monitorizarea device-urilor RAID software

lshw – furnizeaza informatii detaliate despre configuratia hardware (procesor, memorie, hdd, usb, cdrom, etc…)

fdisk – managementul partitiilor

parted – managementul partitiilor

badblocks – utilitar pentru verificarea bad-urilor unui harddisk

Modificare adresa IP server Plesk

Mai intai se modifica adresa IP pe interfata de retea a sistemului, apoi se face modificarea in Plesk folosind scriptul dedicat acestei operatiuni:

/usr/local/psa/bin/reconfigurator.pl map_file

Daca fisierul map_file nu exista, acesta va fi creat si va contine configuratia actuala. Se editeaza acest fisier conform configuratiei dorite apoi se ruleaza din nou comanda.

Detalii: http://kb.sp.parallels.com/en/943

Daca dupa schimbarea adresei de IP, vechea adresa IP ramane in configuratia Plesk, iar la stergerea ei este afisata eroarea

Cannot remove the IP address 192.168.2.6 because it is the primary IP address of
a network interface.

se merge la Tools & Settings > Ip Address > Reread IP, iar vechea adresa IP va fi detectata ca fiind cu probleme. In acest moment se poate sterge vechea adresa din configuratia Plesk.

Detalii: http://kb.sp.parallels.com/en/237

Instalare SAPRFC 7.20 pe un server CentOS 7

Libraria SAPRFC este o extensie pentru php4 si php5 si permite comunicarea cu sistemele SAP R/3. Este distribuita sub licenta PHP si nu este creata de SAP AG. Pentru instalare este necesara si libraria RFCSDK, care poate fi obtinuta din Sap Service Marketplace, asa cum este descris mai jos. Pentru descarcarea din Sap Service Marketplace este necesar un ID de client SAP.

In continuare sunt detaliati pasii pentru instalarea librariei SAPRFC pe un server CentOS 7. Server-ul CentOS 7 a fost instalat cu profilul Basic Web Server si include PHP Support.

1. Descarcare SAPCAR

Sap Service Marketplace > Products > Software Downloads > Support Packages and Patches > Browse Download Catalog > Additional Components

Se descarca utilitarul SAPCAR pentru platforma corespunzatoare. Pentru ca SAPCAR e mai usor de utilizat in Windows, am descarcat versiunea pentru Windows si toate dezarhivarile le-am efectuat sub Windows apoi am transferat fisierele pe server-ul Linux.

SAPCAR este un utilitar pentru arhivare/dezarhivare construit de SAP. Cateva detalii despre utilizarea lui pot fi gasite aici: http://www.easymarketplace.de/SAPCAR.php. Pentru dezarhivarea unui fisier de tip .sar cu utilitarul SAPCAR, indiferent de platforma, se foloseste comanda:

SAPCAR_[version].exe -xvf [SAR filename].sar

2. Descarcare SAP RFC SDK (Non-Unicode)

Sap Service Marketplace > Products > Software Downloads > Support Packages and Patches > Browse Download Catalog > Additional Components

De aici se descarca pachetul SAP RFC SDK Non-UNICODE pentru platforma corespunzatoare (in cazul meu am descarcat versiunea 7.20 pentru Linux on x86_64 64bit).  Dupa dezarhivare, folderul rfcsdk se copiaza pe serverul Linux la locatia /usr/src/rfcsdk.

3. Descarcare librfc

Sap Service Marketplace > Products > Software Downloads > Support Packages and Patches > Browse Download Catalog > Additional Components > SAP Kernel > SAP Kernel 64bit > SAP Kernel 7.20 64bit > Linux on x86_64 64bit > #Database independent

De aici se descarca fisierul librfc_715-10007252.sar. Se dezarhiveaza cu utilitarul SAPCAR, apoi se copiaza fisierul librfccm.so pe serverul Linux la locatia /usr/src/rfcsdk/lib. Daca exista deja acolo un fisier cu acelasi nume trebuie suprascris.

Nota 413708 – detalii despre libraria RFC curenta.
Nota 955397 – detalii despre utilizarea RFC SDK sub Linux
Nota 27517 – detalii despre instalarea RFC SDK (sub Windows)

4. Download si instalare re2c (optional)

wget http://pkgs.repoforge.org/re2c/re2c-0.13.5-1.el6.rf.x86_64.rpm
rpm -Uvh re2c-0.13.5-1.el6.rf.x86_64.rpm

Detalii: http://pkgs.repoforge.org/re2c/

5. Instalare instrumente suplimentare

yum install php-devel
yum group install Development Tools

6. Instalare SAPRFC

[root@localhost tmp]# cd /tmp
[root@localhost tmp]# wget http://nchc.dl.sourceforge.net/project/saprfc/saprfc/1.4.1/saprfc-1.4.1.tar.gz
[root@localhost tmp]# tar -zxf saprfc-1.4.1.tar.gz
[root@localhost tmp]# cp -R saprfc-1.4.1 /usr/src
[root@localhost tmp]# cd /usr/src/saprfc-1.4.1
[root@localhost saprfc-1.4.1]# export SAPRFC_DIR=/usr/src/rfcsdk/
[root@localhost saprfc-1.4.1]# export PATH=$SAPRFC_DIR/bin:$PATH
[root@localhost saprfc-1.4.1]# phpize
[root@localhost saprfc-1.4.1]# ./configure
[root@localhost saprfc-1.4.1]# make (se ignora erorile zend deprecated)
[root@localhost saprfc-1.4.1]# make install

Daca comanda make se finalizeaza cu eroare:

compilation terminated.
make: *** [saprfc.lo] Error 1

atunci se editeaza fisierul saprfc.c, la linia 47, si se modifica  function_entry in zend_function_entry (detalii aici).

Daca eroarea se refera la lipsa fisierului rfcsi.h, atunci acest fisier trebuie copiat in /usr/src/rfcsdk/include. Fisierul se poate obtine dintr-o librarie rfcsdk mai veche (versiunea 6.40), care poate fi descarcata dupa instructiunile de la pasul 2.

La final, pentru adaugarea extensiei saprfc in php, se editeaza fisierul /etc/php.ini si se adauga linia:

extension=saprfc.so

dupa care se restarteaza serviciul httpd.

Pentru a testa daca instalarea a avut succes, se copiaza fisierul /usr/src/saprfc-1.4.1/saprfc_test.php in locatia /var/www/html (sau /var/www/vhosts/default – in cazul unui server administrat cu Plesk). Se acceseaza adresa http://sever-ip/saprfc_test.php, si daca se incarca formularul de autentificare inseamna ca libraria a fost instalata cu succes.

Toate fisierele utilizate pentru instalarea SAPRFC pot fi descarcate si de aici:
SAPCAR (windows)
SAPCAR (linux)
SAP RFC SDK Non-UNICODE
LIBRFC (librfc_715-10007252.sar)

Detalii: http://saprfc.sourceforge.net/

Instalare si activare serviciu iptables in CentOS

Oprire si mascare serviciu firewalld:

systemctl stop firewalld
systemctl mask firewalld

Instalare pachet iptables-services:

yum install iptables-services

Activare serviciu iptables la pornirea sistemului:

systemctl enable iptables

Managementul serviciului:

systemctl [stop|start|restart] iptables

Salvarea regulilor de firewall:

service iptables save

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

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 {} \;

Continue reading

Sincronizarea timpului folosind ntp pe un server CentOS 6.2

Pentru instalarea si configurarea NTP pe un server CentOS se executa secventa urmatoare de comenzi:

Pentru instalarea NTP:

yum install ntp

Pentru pornirea serviciului la bootarea sistemului:

chkconfig ntpd on

Pentru sincronizarea timpului cu server-ul 0.ro.pool.ntp.org:

ntpdate 0.ro.pool.ntp.org

Pornirea serviciului NTP:

/etc/init.d/ntpd start