Ubuntu 18.04 üzerine PostgreSQL 12 kurulumu

17 May

PostgreSQL veritabanı, Linux gibi tamamen ücretsizdir ve açık kaynak kodludur. Bu yazıda Linux Ubuntu 18.04 dağıtımı üzerine PostgreSQL kurulumu anlatılmaktadır.

Ubuntu 18.04 dağıtımı üzerine Postgresql 12 kurulumu yapmak için öncelikle repository paket versiyonunu kontrol etmek gerekmektedir. Repository paket kontrolünün nasıl yapıldığına bir önceki yazıdan ulaşabilirsiniz.

PostgreSQL Kurulumu

Ubuntu sürümünüzde bulunan PostgreSQL sürüm istediğiniz sürüm değilse, güncellemek için PostgreSQL Apt Repository kullanılabilir. Bunun için öncelikle yapılması gereken:

/etc/apt/sources.list.d/pgdg.list

dosyası oluşturmaktır. Bu dosyanın içerisine aşağıdaki satır eklenmelidir.

deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

Daha sonra depo imzalama anahtarını (signing key) içe aktarılmalı ve paket listeleri güncellenmelidir.

sudo apt-get update

Artık ortam postgresql 12 yüklemesi için hazır durumdadır. Yükleme komutu:

sudo apt-get -y install postgresql-12 postgresql-client-12

Yükleme tamamlandığında, postgresql servisini başlatmak için gerekli komut:

sudo systemctl start postgresql

artık servis durumu kontrol edilebilir.

sudo systemctl status postgresql

PostgreSQL Bağlantısı

PostgreSQL kurulumu sonrasında Ubuntu kullanıcılarına postgres adında bir sistem kullanıcısı otomatik olarak oluşturulur. Başlangıçta, diğer kullanıcılar oluşturulana kadar bu kullanıcısı ile PostgreSQL’e bağlanmanız gerekir.

sudo su postgres

komutu ile postgres kullanıcısına geçilerek psql komutu çalıştırıldığında artık veritabanı komutlarını kullanabilirsiniz.

\l

komutu ile veritabanları listelenebilir.

\c postgres

komutu ile postgres veri tabanına bağlanabilirsiniz. (Kurulum sırasında postgres veritabanı otomatik olarak oluşturulur.)

Postgresql veritabanını konsol ortamından yönetmek biraz kullanışsızdır. Bunun yerine pgAdmin, Datagrip gibi araçlar tercih edilmelidir.

PostgreSQL Remote Ayarları

Postgresql sunucusu dışından bağlantı yapabilmek için uzak bağlantı ayarlarını yapmak gerekmektedir. Bu ayarlar aşağıdaki dosyada bulunmaktadır.

/etc/postgresql/12/main/postgresql.conf

Bu dosya vim editörü ile açılarak

listen_addresses = '*'

satırı açık konuma getirilmelidir.

Daha sonra,

etc/postgresql/12/main/pg_hba.conf

dosyasında ip tanımlaması yapılmalıdır. (hba: host based authentication)

  • “host   all   all   212.0.103.8/32   md5″ şeklinde ayarlama yaparsanız istediğiniz tek bir adresten erişim sağlayabilirsiniz. Bu ip dışından bağlantı sağlanamaz.
  • “host   all   all   0.0.0.0/0          md5″ şeklinde ayarlama yaparsanız herhangi bir ip üzerinden sunucuya bağlanabilirsiniz. Burada password authentication kimlik doğrulama yöntemi ve  md5 algoritması kullanılmıştır. (Postgresql veri tabanında ayrıca trust, ident, peer, GSSAPI, LDAP kimlik doğrulama yöntemleri de mevcuttur.)

(Postgre

Bu ayarların yapıldıktan sonra aktif olabilmesi için postgresql servisinin yeniden başlatılması gerekmektedir.

sudo systemctl restart postgresql

Artık veritabanına uzak bağlantı sağlanabilir.

Ubuntu repository paketi sürüm kontrolü

16 May

Window gibi işletim sistemlerinde, kullanmak istediğimiz programlar exe, msi gibi paketler halinde dağıtılırken, Ubuntu gibi sistemlerde, ihtiyacınız olan programlar ve kitaplıklar .deb dosyalarında paketlenir ve dağıtılır. Bu dosyalar indirilebilir veya CD ortamında size gelebilir.

Ubuntu gibi sistemlerde “repository” diye adlandırılan paket depoları mahiyetinde kullanılan sunucular bulunmaktadır. Bu depolarda bulunan paketlere genellikle Synaptic gibi araçlarla erişirsiniz. Bu araçlar, sisteminizde yüklü olan paketleri ve depoda yüklemeye hazır durumda bulunan paketlerin listeler.

Ubuntu kurulduğunda mevcut Synaptic repository listesinde, kullanıcılara gerekli olan  programların o güne kadar güncellenmiş sürümleri bulunmaktadır. Ancak programlar işletim sistemlerinden daha hızlı gelişim gösterebilmektedirler. Ubuntu ortamına kurulmak istenen bir program “apt-get install” komutu ile yüklenirse, listedeki son sürümü indirip yüklenir. Bu nedenle, bir programı yüklemeden önce versiyon kontrolü yapmak faydalı olabilir. Örneğin postgresql versiyon kontrolü için kullanılacak komut şu şekildedir:

apt-cache policy postgresql

Bu komut çalıştırıldığında, sistemdeki postgresql durumunu listeler.

  • Listede 3 farklı sürümden bahseder. Bunlar;  10.13-1.pgdg18.04, 10.12-0ubuntu0.18.04.1 ve  10.3-1. Ayrıca hangi depolardan geldiklerini de gösterir.
  • Installed (none) bilgisi bize sistemde yüklü bir postgresql kurulumu olmadığını gösterir.
  • Candidate bilgisi, şu anda apt-get install komutu çalıştırıldığında yüklenecek sürüm bilgisini verir.

Ubuntu yeni kullanıcı ekleme işlemleri

12 May

Ubuntu ortamında kullanılan “sudo” komutu, “super user do” anlamına gelmektedir. Yani sudo komutunu kullanmak için yönetici yetkilerine sahip olmak gerekmektedir. Bir kullanıcının super user olması için “sudo” grubuna dahil olması gerekmektedir. Öncelikle bir kullanıcı oluşturulması gerekmektedir.

1. Giriş

sudo yetkili kullanıcıların oluşturulabilmesi için öncelikle root kullanıcısı ile ya da root yetkili bir kullanıcı ile giriş yapmak gerekmektedir.

ssh root@server_ip_address

2. Kullanıcı hesabı oluştur

Yeni kullanıcı oluşturmak için adduser ve useradd komutları kullanılır.

useradd ve adduser komutları arasında ne fark var?

useradd , aslında sistemle derlenmiş yerel bir binary dosyadır. adduser ise arka tarafta useradd binary dosyasını kullanan bir perl script’tir.

2.1  adduser komutu ile kullanıcı ekle

Yeni kullanıcı oluşturma işlemi adduser komutu ile yapılmaktadır. Örneğin bucuncu adında bir kullanıcı oluşturmak için gerekli komut aşağıdaki şekildedir.

adduser bucuncu

Komut çalıştırıldığında aşağıdaki işlemler gerçekleştirilerek kullanıcı hesabı ve dosyaları oluşturulur.

root@localhost:~# adduser bucuncuAdding user `bucuncu’ …
Adding new group `bucuncu’ (1001) …
Adding new user `bucuncu’ (1001) with group `bucuncu’ …
Creating home directory `/home/bucuncu’ …
Copying files from `/etc/skel’ …
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for bucuncu
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y

Parolayı girdikten sonra, kullanıcı için otomatik olarak bir giriş dizini oluşturur, giriş dizinindeki birkaç yapılandırma dosyasını kopyalar ve yeni kullanıcının bilgilerini ayarlamanız istenir. Tüm bu bilgileri boş bırakmak istiyorsanız, varsayılanları kabul etmek için ENTER tuşuna basmanız yeterlidir..

adduser komutu, kullanıcı hesabının otomatik bir şekilde oluşturan, kullanıcı dostu bir komuttur.

2.2 useradd komutu ile kullanıcı ekleme

useradd komutu, parametreler kullanarak kullanıcı oluşturma işlemi için kullanılan komuttur.

useradd bucuncu -m -s /bin/bash -g users -G dbusers

Bu komut ile kullanıcı oluşturulurken, kullanıcı için gerekli olan tüm parametreler elle girilmelidir.

  • -m parametresi: –create-home anlamına gelir ve eğer daha önce oluşturulmamış ise home/bucuncu dizinini oluşturur.
  • -s parametresi: –shell anlamına gelir. Kullanıcının shell de oturum açması için gereklidir. Bu paramtreyi kullanmadan bir kullanıcı oluşturursanız, /etc/passwd içerisinde kullanıcıyı bucuncu:x:1000:1000::/home/bucuncu:/bin/sh şeklinde bulunur. Bu şekilde oturum açtığınızda terminalde yalnızca $: şeklinde bir terim görürsünüz. Eğer bu parametreyi kullanırsanız, /etc/passwd içerisinde kullanıcıyı bucuncu:x:1000:1000::/home/bucuncu:/bin/bash şeklinde görebilirsiniz. Bu şekilde oturum açtığınızda terminalde komut satırını bucuncu@localhost:~# şeklinde görebilirsiniz.
  • -g parametresi: –gid anlamınag elir. Yani grup id olarak adlandırılabilir.
  • -G parametresi: –groups anlamına gelir. Kullanıcıyı birden çok gruba eklemek için gereklidir.

useradd komutu için gerekli bütün parametrelere buradan ulaşabilirsiniz.

3. Kullanıcıyı sudo grubuna ekle

Ubuntu sistemlerinde varsayılan olarak, sudo grubunun üyelerine sudo erişim yetkisi verilir. sudo grubunda olmayan kullanıcılar sudo komutunu kullanamazlar. Çünkü sudo komutu yönetici yetkilerine sahip işlemler için gereklidir.Oluşturulan kullanıcıyı sudo grubuna eklemek için usermod komutu kullanılır.

usermod -aG sudo bucuncu

4. Yeni kullanıcı ile giriş yap

Oluşturulan yeni kullanıcı ile giriş yapmak için gerekli komut aşağıdaki şekildedir.

ssh bucuncu@localhost

5. Kullanıcı şifresini değiştir

Kullanıcı şifresini değiştirmek için:

sudo passwd bucuncu

komutu kullanılabilir. Komut çalıştığında iki defa yeni şifre girmeniz istenir.

Sonuç

Sudo yetkilerine sahip bir kullanıcı oluşturmayı görmüş olduk. Bu işlemi gerçekleştirirken  useradd ve adduser komutlarının kullanılabileceğini ve bu komutlar arasındaki farkları öğrenmiş olduk. Artık bu kullanıcı hesabıyla Ubuntu sunucunuza giriş yapabilir ve yönetici komutlarını çalıştırmak için sudo komutunu kullanabilirsiniz.

Ubuntu üzerinde Eclipse JEE menü sorunu

24 Kas

Ubuntu üzerinde java çalışmak isteyenlerin kurduğu Eclipse JEE versiyonu  üzerinde yaşayacakları bir sorunun çözümü üzerinde durmak istiyorum. Sanal makinemde kurulu olan ubuntu-13.10-desktop-amd64 sürümlü işletim sistemi üzerine Eclipse JEE versiyonunu kurarak işe başladım. Masaüstüne eclipse kısayolunu oluşturdum. Programı çalıştırdığımda aynı sorunla bende karşılaştım. Sorun, Eclipse açıldığında menülerin gözükmemesiydi.

Eclipse JEE
Eclipse JEE

Resimde de görüldüğü şekliyle üst(File, Edit,…) menü gelmemişti. İnternetten çözüm yollarını biraz araştırdıktan sonra sonuca ulaştım.

Öncelikler Terminal’i çalıştırarak Desktop dizinine geçtim. Yönetici yetkileri ile Eclipse masaüstü dosyasını açtım. Aşağıdaki komut ile masaüstü kısayolu dosyasını açabiliyoruz.

sudo gedit EclipseJEE.desktop

Eclipse Menu Onarımı
Eclipse Menu Onarımı

Açılan desktop dosyası içerisine şu komutu girdim: Ecex=env UBUNTU_MENUPROXY=0 /opt/eclipse-jee/eclipse

Dosyayı kaydedip programı yeniden çalıştırdığımda üst menü göründü.