Category Archives: CentOS

Reinstalare GRUB2 in modul recovery

Dupa actualizarea grub2 pe un server CentOS, incarcarea sistemului se blocheaza imedat dupa POST fara sa afiseze vreun mesaj de eroare. Concluzia a fost ca o data cu actualizarea grub2 a fost deteriorat fie sectorul de boot (MBR), fie fisierul de configurarea /boot/grub2/grub.conf.

Pentru remedierea situatiei au fost urmati pasii urmatori:

  1. Se porneste sistemul folosind DVD-ul de instalare CentOS (7.5), iar la pornire se va alege optiunea Troubleshooting, apoi Rescue a CentOS Linux system.
  2. Dupa pornirea interfetei de recovery se va alege optiunea 1 (Continue) pentru identificarea instalarii actuale a sistemului de operare si montarea lui sub /mnt/sysimage
  3. chroot /mnt/sysimage
  4. Montarea DVD-ului de instalare CentOS:
    mkdit /test
    blkid (pentru a vedea calea spre DVD-ul de instalare, ar trebui sa fie /dev/sr0)
    mount /dev/sr0 /test/
  5. Pentru ca in modul recovery implicit nu exista conxiune la internet, pornirea interfetei de retea si configurarea acesteia se va face manual:
    ip link (listarea interfetelor de retea existente)
    ip link set dev em1 up
    ip addr add 192.168.1.2/24 dev em1 (stabilirea adresei ip a interfetei de retea)
    ip route add default via 192.168.1.1
  6. Dupa ce interfata de retea este activa mai trebuie configurata adresa serverului de DNS:
    vi /etc/resolv.conf
    nameserver 192.168.1.1
  7. Reinstalarea kernel3.10:
    cd test/
    cd Packages/
    yum reinstall kernel-3.10.0-957.el7.x86_64.rpm
  8. Pentru reconfigurarea grub2 este necesara prezenta pachetului grub2-efi-modules. Se va incerca reinstalarea pachetelor: grub2-efi, grub2-efi-modules si shim
    yum reinstall grub2-efi grub2-efi-modules shim
  9. Rescrierea MBR:
    grub2-install /dev/sda
    grub2-install /dev/sdb (in cazul in care hdd-urile sunt in RAID)
  10. Regenerarea fisierului grub.conf:
    grub2-mkconfig -o /boot/grub2/grub.conf
  11. Demontarea unitatii optice:
    umount /test/
  12. Iesirea din interfata de recovery si repornirea sistemului:
    exit
    exit

Modificarea locatiei default pentru fisierele temporare de backup in Plesk

  1. Conectare la server prin SSH
  2. Realizarea unui backup al fisierului de configurare al Plesk /etc/psa/psa.conf
    # cp -a /etc/psa/psa.conf{,.bkp}
  3. Modificarea variabilei DUMP_TMP_D  asa incat sa indice spre locatia dorita
    # grep DUMP_TMP_D /etc/psa/psa.conf 
    DUMP_TMP_D /mnt/backupdrive/tmp
  4. Setarea drepturilor 1777  pentru folderul destinatie
    # chmod 1777 /mnt/backupdrive/tmp
    
  5. Verificarea drepturilor pentru folderul destinatie
    # ls -ld /mnt/backupdrive/tmp
    drwxrwxrwt 53 root root 20480 Feb 8 21:39 /mnt/backupdrive/tmp
    

Metoda este valabila pentru Plesk Onyx. Pentru Plesk 12.5 sau mai vechi: https://support.plesk.com/hc/en-us/articles/213902125-Unable-to-download-a-backup-from-backup-repository-page-not-found

Instalare libssh2 si php-ssh2 pe un server CentOS

yum install php-devel
yum install libssh2-devel

Descarcare pachet libssh2 de la http://libssh2.org:

cd /opt
wget https://libssh2.org/download/libssh2-1.8.0.tar.gz
tar vxzf libssh2-1.4.2.tar.gz
cd libssh2-1.4.2
./configure
make
make install

Descarcare pachet php-ssh2 de la http://pecl.php.net/package/ssh2:

cd /opt
wget http://pecl.php.net/get/ssh2-0.13.tgz
tar vxzf ssh2-0.11.3
cd ssh2-0.11.3
phpize
./configure --with-ssh2
make
make install

La finalul instalarii fisierul ssh2.so va fi copiat la locatia /usr/lib64/php/modules.

Modifica fisierul php.ini adaugand linia urmatoare in sectiunea extensions:

extension=ssh2.so

Verificare utiliand functia phpinfo().

La final trebuie restartat serviciul httpd.

Cautarea in Atmail nu returneaza niciun rezultat

Aceasta este o problema (un bug nerezolvat) in Atmail si poate fi rezolvata doar de un utilizator cu drepturi de root pentru ca implica modificarea unui fisier sursa.

/var/www/atmail/search.php

Cauza problemei este o interogare SQL in care in fata anului este adaugat un prefix din doua cifre:

FROM "test search" BEFORE "31-Dec-202011" SINCE "25-Sep-202010"

Pentru corectare trebuie facute urmatoarele moificari:

//linia 364
$before = "$BeforeDay-$BeforeMonth-$BeforeYear";

//linia 369
$after = "$AfterDay-$AfterMonth-$AfterYear";

 

Rezolvare problema “Unable To Resolve UUID”

Dupa clonarea unui HDD dintr-un server web care ruleaza CentOS 6, la pornire apare eroarea:

Unable To Resolve UUID = 39344b35-14dc-49e2-b6d7-e1d6fd33e484

Cauza, a fost faptul ca la efectuarea clonei a fost modificat identificatorul HDD-ului destinatie.

Solutia era ca acest identificator sa fie corectat in fisierul /etc/fstab de pe HDD-ul sursa (cel de pe care booteaza sistemul de operare). Pasii urmati au fost urmatorii:

  1. Aflarea identificatorului corect
    Comanda blkid  returneaza identificatorii corecti pentru toate HDD-urile instalate/montate. De aici se va nota identificatorul pentru discul sdb1 (in cazul meu).
  2. Corectarea identificatorului in fisierul /etc/fstab
    Implicit fisierul /etc/fstab va fi read-only, deci nu vom putea face modificarile necesare. Prin urmare se vor rula comenzile urmatoare:

    [root@web etc]# mount –o remount, rw /
    [root@web etc]# chmod a+rw fstab

    Abia apoi vom putea edita fisierul /etc/fstab pentru a face modificarile necesare:

    [root@web etc]# vi /etc/fstab

     

Instalare si utilizare qmHandle

Instalare:

[root]# cd /opt
[root]# wget http://jaist.dl.sourceforge.net/sourceforge/qmhandle/qmhandle-1.3.2.tar.gz
[root]# tar -xzf qmhandle-1.3.2.tar.gz
[root]# cd qmhandle-*/
[root]# mv qmHandle /var/qmail/bin/
[root]# /var/qmail/bin/qmHandle -s

Parametri:

-a: try to send queued messages now (qmail must be running)
-l: list message queues
-L: list local message queue
-R: list remote message queue
-s: show some statistics
-mN: display message number N
-dN: delete message number N
-fsender: delete message from sender
-f're': delete message from senders matching regular expression re
-Stext: delete all messages that have/contain text as Subject
-h're': delete all messages with headers matching regular expression re (case insensitive)
-b're': delete all messages with body matching regular expression re (case insensitive)
-H're': delete all messages with headers matching regular expression re (case sensitive)
-B're': delete all messages with body matching regular expression re (case sensitive)
-t're': flag messages with recipients in regular expression 're' for earlier retry (note: this lengthens the time message can stay in queue)
-D: delete all messages in the queue (local and remote)
-V: print program version

Parametri aditionali (optionali):

-c: display colored output
-N: list message numbers only
(to be used either with -l, -L or -R)

Pot fi vizualizate/sterse mai multe mesaje simultan: -d123 -v456 -d567

Identificarea contului de email compromis in qmail

Daca se constata ca pe server-ul de email ajung o serie de emailuri bounce ciudate ca raspuns la unele mesaje care nu au putut fi livrate catre destinatar, este foarte posibil ca un cont de email sa fie compromis. Acelasi motiv poate sa fie si la baza faptului ca server-ul de email este listat intr-o baza de date antispam (ex: www.barracudacentral.org). Continue reading

Administrare utilizatori in Linux

Adaugare utilizator in unul sau mai multe grupuri:

useradd -G group-name1[,group_name2][,group_name3] username

Adaugare grup:

groupadd group_name

Modificare parola utilizator:

passwd username

Verificare grupuri utilizator:

id username

Adaugare utilizator existent intr-un grup existent:

usermod -a -G group_name username

Modificare grup primar pentru un utilizator:

usermod -g group_name username

Activare acces pentru root via ssh

In fisierul /etc/ssh/sshd_config  se seteaza:

PermitRootLogin yes

 

Instalare Plesk 12 pe un server CentOS 7

Partitionare recomandata pentru Plesk

Partitiile si dimensiunile acestora sunt stabilite in functie de recomandarile Plesk si recomandarile CentOS, pe un harddisk cu capacitatea de 500GB. Sistemul CentOS 7 a fost instalat cu profilul Minimal install.

/swap = 4GB
/boot = 500MB
/ (root) = 15-20GB
/tmp = 3-5GB (min 3GB)
/var = restul

Configurare/Pregatire instalare

Hostname: web.example.com
IP fix: 192.168.2.7

Dezactivare SELINUX:

In fisierul /etc/selinux/config  se efectueaza modificarea:

SELINUX=disabled

Oprire si dezactivare serviciu firewalld:

[root@web tmp]# systemctl stop firewalld
[root@web tmp]# systemctl mask firewalld

Instalare serviciu iptables:

[root@web tmp]# yum install iptables-services

Activare serviciu iptables:

[root@web tmp]# systemctl enable iptables

Generare/salvare fisier configuratie iptables:

[root@web tmp]# service iptables save

Acest fisier se poate edita pentru a deschide anumite porturi,

-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8447 -j ACCEPT

dupa care serviciul iptables trebuie restartat:

[root@web tmp]# service iptables restart

Instalare diverse utilitare:

[root@web tmp]# yum install wget mc gcc php-devel

Dupa ce toate setarile au fost efectuate este recomandat sa fie restartat si server-ul inainte de pornirea instalarii Plesk. Asadar:

[root@web tmp]# reboot

Instalare

[root@web tmp]# wget http://autoinstall.plesk.com/plesk-installer
[root@web tmp]# sh ./plesk-installer

Daca, in schimb, se doreste instalarea din interfata web se va rula comanda:

[root@web tmp]# ./plesk-installer --web-interface

apoi se va deschide in browser adresa https://ip-address:8447.

Daca instalarea se opreste cu eroarea ca psa-mod_fcgid intra in conflict cu mod_fcgid, atunci trebuie dezinstalat mod_fcgid (conform http://kb.sp.parallels.com/en/116134), dupa care se reporneste manual instalarea:

[root@web tmp]# yum remove mod_fcgid
[root@web tmp]# sh ./plesk-installer

Documentatia Plesk:
http://download1.parallels.com/Plesk/PP12/12.0/Doc/en-US/online/plesk-installation-upgrade-migration-guide/index.htm?fileName=65780.htm