Archive for the ‘Sisteme de operare’ Category

RPMforge cu CentOS 6.4

centosIn urma instalarii sistemului de operare CentOS observam ca nu e atat de simplu sa instalam pachete cum ar fi tmux, links sau altele folosind comanda yum install asa cum facem la ubuntu cu apt-get install.
Problema aceasta se poate rezolva prin instalarea pachetului RPMforge care este importand ca nu rescrie pachetele de baza ale CentOS.
In prima faza trebuie descarcat pachetul RPMforge (32bit sau 64bit).

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm #pentru sistem pe 64bit
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm #pentru sistem pe 32bit

Acum instalam GPG key-ul:

rpm –import http://apt.sw.be/RPM-GPG-KEY.dag.txt

Acum instalam pachetul:

rpm -i rpmforge-release-0.5.2-2.el6.rf.*.rpm

Dupa ce a fost finalizata procedura observam ca putem instala si alte pachete care inainte nu erau disponibile folosind yum install.

Reinstalare grub2 boot loader dupa instalarea Windows 7 peste openSUSE

linux windowsIn cazul in care am instalat Windowsul si in sistem avem deja openSUSE instalat stim foarte bine ca Windowsul rescrie MBR-ul in care Linuxul si-a instalat grub2 boot loaderul. Este destul de incomod sa stergem Linuxul si sa urmam procedura instalare Windows, apoi Linux ca sa fie detectat in boot loader si Windowsul.

Dupa instalarea Windowsului Linuxul nu mai apare, cel putin boot loaderul lui nu il mai vedem intruat Windowsul l-a suprascris cu al lui. Nici o problema, folosim CD-ul de instalare al Linuxului pentru a porni ca LiveCD. Odata pornit openSUSE ca LiveCD, deschidem un Terminal si montam partitia pe care noi il avem instalat, apoi facem chroot pe partitia respectiva si reinstalam grub2.

Prima data ne facem root pe sistem:

sudo su

Montarea partitiei:

mount /dev/sda2 /mnt #cu fdisk -l puteti vedea care este cifra atribuita partitiei (la mine a fost sda2, dar 99% sanse sa fie diferita la voi)

mount –bind /dev /mnt/dev

Schimbam directorul root pentru procesul curent folosind chroot pe partitia montata adineauri:

chroot /mnt/

mount /proc

mount /sys

Reconfiguram grub2

grub2-mkconfig -o /boot/grub2/grub.cfg

La final reinstalam boot loaderul pe /dev/sda, ca sa fie in MBR:

grub2-install /dev/sda

Dupa acest pas rebootam sistemul si bootloaderul ar trebui sa apara atata cu Windows cat si cu Linux.

Alocare permisiuni 755 pe foldere si 644 pe fisiere

Cand avem un folder cu mai multe subfoldere in care de altfel exista si fisiere, est eceva mai complicat sa modificam permisiunile folosind chmod ca ar trebui sa facem asta pe fiecare folder si fisiere in parte.

Astfel, putem proceda asa; Odata accesat folderul rulam:

find . -type f -exec chmod 644 {} \;        #pentru permisiunile fisierelor; f = files

find . -type d -exec chmod 755 {} \;        #pentru permisiunile directoarelor; d = directories

sau toate printr-o singura comanda:

find nume_folder/ \( -type d -exec chmod 0775 {} + -true \) -o \( -exec chmod 0644 {} + \)

LAMP Server cu CentOS

centosInstalarea serverului LAMP in CentOS este putin diferita fata de Ubuntu sau Debian, unde cam totul vine aproape gata la rularea comenzii apt-get install.

Instalarea Apache:

yum install httpd

odata ce a fost instalat, el nu se porneste automat, ci trebuie pornit cu comanda:

/etc/init.d/httpd start

In mod implicit, odata instalat Apache pe CentOS, nu se poate accesa linkul din browser doar daca accesul se face de pe masina locala si ast adatorita unui firewall cu care vine CentOS instalat. Eu am dezactivat firewallul pentru ca am avut nevoie si de alte setari, asa ca l-am pus pe disable cu comenzile:

/etc/init.d/iptables save
/etc/init.d/iptables stop

chkconfig iptables off

Tot in mod implicit, datele se tin in /var/www/html, dar si aici se poate personaliza editand setarile servererului din httpd.conf.

Instalarea MySQL:

yum install mysql mysql-server

Aici din nou e la fel, trebuie pornit manual, iar odata cu pornirea i se initializeaza si tabelele.

/etc/init.d/mysqld start

Ca sa ne putem conecta la serverul MySQL trebuie sa avem o parola a userului root, dar care la instalare nu ni s-a cerut pentru a fi alocata, asa cum fac sistemele Debian-based. Nici o problema, ii creem si parola root, urmand comenzile:

mysql
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD(‘parola_noua’) WHERE user=’root’;
mysql> FLUSH PRIVILEGES;

apoi logarea la serverul MySQL este posibila ruland:

mysql -u root -p

Instalarea php, impreuna ca unele module necesare:

yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml

Dupa care bine-nteles trebuie restartat Apache, pentru a se actualiza si in setarile lui:

/etc/init.d/httpd restart

Instalarea phpMyAdmin:

Procedura este simpla:

yum install phpmyadmin

si aici din nou acelasi lucru ca si in cazul Apache, unde phpMyAdmin este accesibil doar de pe hosul local. Aici are un mare plus, mai ales ca pentru mine phpMyAdmin = evil datorita vulnerabilitatilor pe care le are.
Ca sa fie accesibil si de pe alte IP-uri, trebuie editat /etc/httpd/conf.d/phpMyAdmin.conf unde se adauga:

Require ip adresa_ip

apoi se poate accesa de pe adresa IP specificata la Require ip.

Ubuntu 12.04 LTS si placa de retea Atheros AR8161

Ubuntu 12.04 nu vine cu driverul preinstalat pentru placa de retea Atheros AR8161, ceea ce inseamna ca este nevoie de instalarea ei manuala si apoi incarcarea modulului.

sudo apt-get install build-essential linux-headers-generic linux-headers-`uname -r`

apoi descarcam driverul si il compilam:

wget -O- http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2012-07-03-pc.tar.bz2 | tar -xj
cd compat-wireless-2012-07-03-pc
sudo ./scripts/driver-select alx
sudo make
sudo make install

Instalarea face si incarcarea modului la reboot.

Dupa terminarea instalarii se poate face restart la sistem sau se incarca modulul fara sa mai fie cazul de reboot:

sudo modprobe alx

Ubuntu corectare erori /etc/sudoers

De multe ori se intampla sa adaugam ceva in /etc/sudoers, sa gresim sintaxa, iar apoi sa nu ne mai putem autentifica cu userul root folosind sudo su.
In acest caz, nu trebuie sa ne obosim sa reinstalam sistemul de operare ci doar sa reeditam sudoers. Din pacate nu putem, deoarece nu avem root, deci trebuie sa pornim sistmeul in Receovery mode.

Odata pornit in Recevery mode, la un moment dat se deschide un „Recovery menu” unde aveti mai multe optiuni.
Alegem „root” Drop to root shell prompt. Aici trebuie sa remontam partitia / in asa fel incat sa putem edita fisierele de pe ea.

mount -o rw,remount /

si aici putem edita /etc/sudoers si bine-nteles corecta erorile din el.

Captive portal cu OpenWRT si NoDogSplash

Dupa cateva cautari am gasit si o metoda de a fce un captive portal pe un router normal.
Captive portal se poate face in doua moduri.

1. Userul se autentifica la o retea Wireless si cand deschide browserul si incearca sa acceseze o pagina este redirectat spre o pagina care apartine retelei la care s-a conectat si acolo i se cere sa acceseze un link pentru autentificare apoi este redirectat spre pagina companiei de care apartine reteaua wireless si abia apoi poate naviga pe internet. Practic aceasta procedura forteaza userul sa navigheze fiind mai controlat de administratorul retelei.

2. Userul se autentifica la o retea Wireless si cand deschide browserul si incearca sa acceseze o pagina este redirectat direct spre pagina companiei fiind direct autentificat la retea si poate sa navigheze. Evident ca si in acest caz nu are acces la serviciile internet pana nu isi deschide browserul. Procedura se face din config cu: AuthenticateImmediately yes.

Cele mai multe detalii de configurare se gasesc pe http://dev.wifidog.org/..

Instalarea NoDogSplash din OpenWRT se face folosind comenzile:

opkg update
opkg install nodogsplash

iar fisierele de configurare sunt in /etc/nodogsplash/nodogsplash.conf

Instalare Redmine in Ubuntu 12.04 LTS folosind Apache cu Mod-Passenger si MySQL

Rularea Redmine in Ubuntu se face folosind Apache cu mod Passenger intrucat este o aplicatie care foloseste Ruby.
Pentru instalare in Ubuntu 12.04 se urmeaza pasii urmatori:

Instalarea Apache, Mod_passenger si MySQL, care bine-nteles ca va instala si Ruby si toate celalate dependinte de care Redmine mai are nevoie:

sudo apt-get install apache2 libapache2-mod-passenger
sudo apt-get install mysql-server mysql-client

Aici se defineste o parola pentru userul root de la MySQL de cae vom avea nevoie mai tarziu la crearea bazei de date si a userului cu care va rula Redmine. Nu este recomandat sa folosim userul root pentru rularea bazei de date Redmine.

Instalarea pachetului Redmine:

sudo apt-get install redmine redmine-mysql

In Wizzardul deschis, alegem Yes, MySQL si definim apoi parola de la userul root al MySQL pentru ca sistemul sa se poata conecta si sa poata crea un user dedicat in MySQL pentru Redmine pentru care ne va cere si o parola.

Acum editam /etc/apache2/mods-available/passenger.conf pentru a adauga linia care defineste userul cu care va rula Redmine: PassengerDefaultUser www-data


PassengerDefaultUser www-data
PassengerRoot /usr
PassengerRuby /usr/bin/ruby

Acum creem un symlink ca sa aiba si el fisierele in /var/www/redmine:

sudo ln -s /usr/share/redmine/public /var/www/redmine

Pentru teste eu am folosit VirtualHost-ul default, asa ca am mai adaugat un


RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on

Acum ca instalarea a fost dusa la bun sfarsit se poate accesa redmine din browser:

http://hostname/redmine

iar conectarea la admin se face cu userul admin si parola definita in Wizzard.

Fisierul in care este declarata conexiunea la baza de date este: /etc/redmine/default/database.yml in cazul in care la un moment dat se face backup sau se modifica parola userului MySQL.

Pentru o instalare mai complexa se poate urma tutorialul: http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_in_Ubuntu

Ubuntu 12.04 LTS integrare cu Active Directory

De cele mai multe ori nu ne convine ca daca avem 10 servere, sa avem si 10 usernameuri si parole diferite, asta in special cand facem parte dintr-o companie mai mare unde infrastructura este in continua crestere. Pentru asta folosim autentificarea cu un cont creat pe un domain controller (DC) pe care de obicei ruleaza un sistem de operare Windows Server cu Active Directory instalat, unde grupurile si politicile de grup sunt create pentru a aloca accesul fiecaruia in zona necesara de lucru.
La nivel de Windows, integrarea functioneaza foarte usor,dar nu e la fel de usor de facut pe Ubuntu, asta in conditiile in care vrem sa integram astfel in cat sistemul de operare sa tina cont si de policiticle de grup ale DC-ului si nu doar la nivel de LDAP.

Astfel pentru Ubuntu 12.04 LTS am ales CentrifyDC pentru integrarea cu Active Directory.
Inainte de instalarea CentrifyDC trebuie sa urmam cativa pasi pana la descarcarea lui;

Adaugam repositorurile:

apt-get install python-software-properties

add-apt-repository „deb http://archive.canonical.com/ oneiric partner”

Actualizam repositourile:

apt-get update

apoi instalam CentrifyDC:

apt-get install centrifydc

Dupa ce s-a instalat centrifydc putem face integrarea sistemului in domeniu:

adjoin -u user_domeniu -w nume.domeniu.tld

Dupa introducerea parolei de domeniu sistemul necesita restart pentru a fi posibila logarea cu contul de domeniu.

Acum ca sa putem avea acces root pe sistem va trebui sa adaugam in /etc/sudoers grupurile sau userii care sa se poata autentifica root prin comanda sudo pe acel sistem.

nano /etc/sudoers

unde adaugam:

%Nume_Grup ALL=(ALL:ALL) ALL #pentru ca un grup de pe DC sa poata avea acces root prin sudo
user_name ALL=(ALL:ALL) ALL #pentru ca un anume user de pe DC sa poata avea acces root prin sudo

In cazul in care numele grupului este „Domain Users” in /etc/sudoers se adauga: %Domain\ Users

Acum ca am editat si /etc/sudoers sistemul poate fi repornit si logarea se poate face cu contul de domeniu.
Logarea prin SSH la un sistem integrat cu Active Directory se face: ssh user_domeniu@hostname sau ssh GRUP\\user_domeniu@hostname sau ssh ‘GRUP\user_domeniu’@hostname

Pana aici este procedura pentru integrarea Ubuntu SERVER.

Pentru integrarea versiunii Desktop cu LightDM, mai trebuie urmati urmatorii pasi care presupun adaugarea unui script care forteaza CentrifyDC sa porneasca la pornirea sistemului. Aceasta implementare e necesara din cauza ca la versiunile Desktop, dupa pornirea sistemului CentrifyDC se conecteaza la domeniu abia dupa 2-3 minute, ceea ce de multe ori ne pune pe ganduri daca vrem sa ne logam soi nu reusim.

Creem un script in script in /etc/network/if-up.d/

sudo vim /etc/network/if-up.d/centrify

Unde adaugam continutul:

#!/bin/sh

if [ „$IFACE” = lo ]; then
exit 0
fi

/etc/init.d/centrifydc restart
initctl emit centrify-connected

Apoi alocam drepturile necesare:

sudo chown root /etc/network/if-up.d/centrify
sudo chgrp root /etc/network/if-up.d/centrify
sudo chmod 755 /etc/network/if-up.d/centrify
sudo chown root /etc/init/lightdm.conf
sudo chgrp root /etc/init/lightdm.conf
sudo chmod 644 /etc/init/lightdm.conf

La final editam /etc/init/lightdm.conf pentru a forta CentrifyDC sa porneasca in timp util, unde adaugam o singura linie: and centrify-connected, astfel ca fisierul sa arate asa: Acest pas nu mai este necesar daca Ubuntu are ultimele actualizari inainte de a fi integrat in domeniu.

# LightDM – light Display Manager
#
# The display manager service manages the X servers running on the
# system, providing login and auto-login services
#
# based on gdm upstart script

description „LightDM Display Manager”
author „Robert Ancell”

start on ((filesystem
and runlevel [!06]
and started dbus
and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
or stopped udev-fallback-graphics)
and centrify-connected)
or runlevel PREVLEVEL=S)

stop on runlevel [016]

emits login-session-start
emits desktop-session-start
emits desktop-shutdown

script
if [ -n „$UPSTART_EVENTS” ]
then
# Check kernel command-line for inhibitors, unless we are being called
# manually
for ARG in $(cat /proc/cmdline); do
if [ „$ARG” = „text” ]; then
plymouth quit || :
stop
exit 0
fi
done

[ ! -f /etc/X11/default-display-manager -o „$(cat /etc/X11/default-display-manager 2>/dev/null)” = „/usr/bin/lightdm” -o „$(cat /etc/X11/default-display-manager 2>/dev/null)” = „/usr/sbin/lightdm” ] || { stop; exit 0; }

if [ „$RUNLEVEL” = S -o „$RUNLEVEL” = 1 ]
then
# Single-user mode
plymouth quit || :
exit 0
fi
fi

exec lightdm
end script

post-stop script
if [ „$UPSTART_STOP_EVENTS” = runlevel ]; then
initctl emit desktop-shutdown
fi
end script

Acest tutorial a mai fost testat si pe versiunile Ubuntu: 10.04 Lucid Lynx, 11.10 Oneiric Ocelot, 12.10 Quantal Quetzal, si 13.04Beta Raring Ringtail.

srv StandDuPp
Articole recente