Bu makalede, Fedora 22/21/20/19, CentOS/Red Hat (RHEL)/Scientific Linux (SL) 7.1/6.7/5.11 isletim sistemleri icin PostgreSQL 9.4 (su an en son ve guncel kararli surum 9.4.4) veritabani sunucusu kurulumunu anlatacagim. Bu kurulumda, PostgreSQL’in her zaman en guncel ve kararli surumlerinin yayinlandigi kendi YUM deposunu kullanacagiz.
Eger, onceki versiyonlarindan en son ve guncel versiyona yukseltme yapacaksaniz, sunucunuzdaki veritabanini ve sunucunuzun ayar (dosyalarini) yedeklemeyi unutmayiniz.
- Terminal (Ucbirim)’i aciyoruz ve mevcut kullanicidan, root kullanicisina geciyoruz,
- PostgreSQL’in kendi YUM deposundan PostgreSQL paketlerini indirip kurmak icin Fedora, CentOS Red Hat (RHEL) ve Scientific Linux (SL) depolarindaki PostgreSQL paketlerini, sistem paket veritabanindan cikariyoruz;
Fedora
/etc/yum.repos.d/fedora.repo dosyasinda, [fedora] basligi altinda exclude parametresini ekliyoruz,
/etc/yum.repos.d/fedora-updates.repo dosyasinda ise [updates] basligi altinda exclude paramatresini ekliyoruz,
CentOS
/etc/yum.repos.d/CentOS-Base.repo dosyasinda [base] ve [updates] basliklari altinda exclude parametresini ekliyoruz,
Red Hat (RHEL)
/etc/yum/pluginconf.d/rhnplugin.conf dosyasinda [main] basligi altinda exclude parametresini ekliyoruz,
Scientific Linux (SL)
/etc/yum.repos.d/sl.repo dosyasinda [sl] ve [sl-security] basliklari altinda exclude parametresini ekliyoruz,
- PostgreSQL 9.4 Deposu‘nu yukluyoruz;
Fedora
CentOS 7.1/6.7/5.11
Red Hat (RHEL) 7.1/6.7/5/11
Scientific Linux (SL) 7.1/6.7/5.11
- YUM paket yoneticisi ile PostgreSQL 9.4 Veritabani Sunucusu’nu ve bilesenlerini yukluyoruz,
- Kurulumdan sonra PostgreSQL 9.4 Veritabani Sunucusu icin gerekli ayarlari yapiyoruz. Oncelikle initdb komutu ile PostgreSQL 9.4 Veritabani Sunucusu icin diskte, veritabani depolama alani/dizini olusturuyoruz; bunun birkac yolu var (mesela service postgresql-9.x initdb, /etc/init.d/postgresql-9.x initdb) ve postgresql-setup initdb; biz bu makalede Fedora 22/21/20/19, CentOS/Red Hat (RHEL)/Scientific Linux(SL) 7.1/6.7/5.11 isletim sistemleri ve dagitimlari icin gecerli ve ortak olan, PostgreSQL initdb metodunu kullanacagiz,
- PostgreSQL 9.4 Veritabani Sunucusu’nun, hangi (IP) adres(ler)inden ve portdan gelecek baglanti isteklerini kabul edecegini ayarliyoruz. Bunun icin, /var/lib/pgsql/9.4/data/postgresql.conf dosyasinda asagidaki satiri ekliyoruz veya asagidaki sekilde duzenliyoruz. (Asagida yaptigimiz ayarda, sunucumuz, 5432 portundan gelen tum (IP) adreslerinin baglanti isteklerini kabul edecek)
Eger, sadece veritabani sunucumuzun calistigi makineden (localhost), sunucumuza baglanilmasini istiyorsak asagidaki gibi duzenleme yapiyoruz,
Veya, sadece belli bir IP adresinden baglanilmasini istiyorsak, asagidaki sekilde duzenliyoruz,
- PostgreSQL icin gerekli izinleri ayarliyoruz. Bunun icin, /var/lib/pgsql/9.4/data/pg_hba.conf (host-tabanli kimlik dogrulama) dosyasini duzenliyoruz (Bu dosyanin duzenlenmesi ile ilgili daha detayli bilgi ve ornekleri buradan PostgreSQL pg_hba.conf manual bulabilirsiniz),
- PostgreSQL Sunucusunu baslatiyoruz ve isletim sistemi acilisinda otomatik olarak baslamasi icin sistemde gerekli ayari yapiyoruz,
Fedora 21/20/19 ve CentOS/Red Hat (RHEL)/Scientific Linux (SL) 7
CentOS/Red Hat (RHEL)/Scientific Linux (SL) 6.7/5.11
- Veritabani sunucumuzda ‘test‘ isimli bir veritabani ve ‘testuser‘ isimli yeni bir kullanici olusturacagiz. Oncelikle postgres kullanicisina geciyoruz,
- postgres kullanicisi olarak ‘test‘ isimli veritabani olusturuyoruz,
- postgres kullanicisi olarak ‘test‘ veritabanina giris yapiyoruz,
- Superuser yetkisi olan ‘testuser‘ isimli bir veritabani kullanicisi olusturuyoruz ve sifresini ‘test‘ olarak belirliyoruz,
- PostgeSQL Veritabani Sunucusu’nu kurdugumuz makina (bilgisayar) dan, yani localhost‘dan, normal Linux kullanicisi olarak; olusturdugumuz veritabanina, olusturdugumuz veritabani kullanicisi ile baglaniyoruz,
- PostgreSQL Sunucusu’na yerel ag disinda makinalarin/bilgisayarlarin uzak baglanti yapabilmesi icin Iptable Firewall (Guvenlik Duvari) da PostgreSQL Port (5432) portunu aciyor ve bu porta gelen baglantilara izin veriyoruz. Bunun icin, CentOS/Red Hat (RHEL) 6.7/5.11 isletim sistemi ve dagitimlarinda, /etc/sysconfig/iptables dosyasini duzenliyoruz,
- Metin editoru ile actigimiz dosyaya asagidaki INPUT kuralini ekliyoruz,
- Iptables Firewall servisini yeniden baslatiyoruz,
- Fedora 22/21/20/19 ve CentOS/Red Hat (RHEL) 7.1 isletim sistemi ve dagitimlarinda ise oncelikle, network (ag) arayuz ve kaynaklarinin atandigi aktif Firewalld Zones bilgilerini listeliyoruz,
Asagidaki ekrandakine benzer komut ciktilari alacaksiniz. public, FedoraWorkstation, FedoraServer seklinde kullandiginiz isletim sistemi ve dagitima gore degisen aktif zone isimleri listelenecek,
- Daha sonra PostgreSQL Port (5432) icin asagidaki kurali guvenlik duvarina ekliyoruz,
- firewalld.service guvenlik duvari servisini yeniden baslatiyoruz,
- Daha sonra veritabani sunucumuza yerel agda olmayan baska bir makina/bilgisayardan baglanarak uzak baglatiyi test ediyoruz,
Not: Sunucumuza yerel agda olmayan cihazlardan uzak baglanti yapilabilmesi icin pg_hba.conf dosyasindan da ayrica izin vermemiz gerekir ve 6. adimda bu izni duzenlemistik.