Ana içeriğe geç

🚀 pgAdmin 4 Kurulumu – Ubuntu’da Sunucu Modu Yapılandırma

📌 Bu Rehberde Ne Öğreneceksiniz?

Bu rehber, Ubuntu tabanlı bir sunucuda pgAdmin 4'ü Sunucu Modunda kurmayı, Python sanal ortamında çalıştırmayı ve Nginx + Gunicorn ile web’e açmayı öğretir.


🧠 1. Teknik Özet

Amaç: pgAdmin 4’ü Python sanal ortamında kurmak ve grafiksel PostgreSQL yönetimi sağlamak.
Adımlar: Bağımlılık kurulumu → venv aktivasyonu → pgAdmin kurulumu → config yapılandırma → Gunicorn + Nginx → PostgreSQL bağlantısı.


2. pgAdmin 4 ve Bağımlılıkların Kurulumu

2.1 Paket dizinini güncelleyin:

sudo apt update

Bu komut sistemdeki paket listesini yeniler.

2.2 Bağımlılıkları kurun:

sudo apt install libgmp3-dev libpq-dev

pgAdmin’in çalışması için gerekli temel kütüphaneleri kurar.


2.3 Gerekli dizinleri oluşturun:

sudo mkdir -p /var/lib/pgadmin4/sessions
sudo mkdir /var/lib/pgadmin4/storage
sudo mkdir /var/log/pgadmin4

pgAdmin’in oturum, depolama ve log dosyaları için klasörleri oluşturur.

2.4 Dizin izinlerini düzenleyin:

sudo chown -R sammy:sammy /var/lib/pgadmin4 /var/log/pgadmin4

Kurulum sırasında pgAdmin’in yazabilmesi için geçici izin verir.

2.5 Sanal ortamı etkinleştirin:

cd environments/
source my_env/bin/activate

pgAdmin’i izole bir Python ortamında kurmanızı sağlar.


2.6 pip’i güncelleyin:

python -m pip install -U pip

Sanal ortamdaki pip’in güncel olmasını sağlar.

2.7 pgAdmin wheel dosyasını indirin:

wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v6.10/pip/pgadmin4-6.10-py3-none-any.whl

pgAdmin 4’ün Python dağıtım paketini indirir.


2.8 wheel paketini kurun:

python -m pip install wheel

.whl dosyalarını kurmak için gerekli araçları sağlar.

2.9 pgAdmin 4 paketini kurun:

python -m pip install pgadmin4-6.10-py3-none-any.whl

pgAdmin’i sanal ortama yükler.

2.10 Gunicorn WSGI sunucusunu kurun:

python -m pip install gunicorn

pgAdmin’i web’de çalıştıracak uygulama sunucusunu kurar.


3. pgAdmin 4 Yapılandırması

3.1 config_local.py oluşturun:

nano my_env/lib/python3.10/site-packages/pgadmin4/config_local.py

pgAdmin ayarlarını özelleştireceğiniz dosyayı açar.

3.2 Aşağıdaki yapılandırmayı ekleyin:

LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'
SERVER_MODE = True

pgAdmin’i Sunucu Moduna alır ve gerekli dosya yollarını tanımlar.


3.3 İlk kullanıcı hesap kurulumunu çalıştırın:

python my_env/lib/python3.10/site-packages/pgadmin4/setup.py

pgAdmin paneline giriş için admin hesabı oluşturur.


4. Gunicorn ve Nginx Yapılandırması

4.1 Örnek Nginx reverse proxy yapılandırması:

server {
listen 80;
server_name panel.rabisu.cloud;

location / {
proxy_pass http://unix:/tmp/pgadmin4.sock;
include proxy_params;
}
}

Nginx, dış istekleri Gunicorn soketine yönlendirir.


4.2 Gunicorn’u başlatın:

gunicorn --bind unix:/tmp/pgadmin4.sock --workers=1 --threads=25 \
--chdir ~/environments/my_env/lib/python3.10/site-packages/pgadmin4 pgAdmin4:app

pgAdmin uygulamasını Gunicorn üzerinden çalıştırır.


5. PostgreSQL Kullanıcısına Parola Atama

5.1 PostgreSQL’e giriş:

sudo -u sammy psql

PostgreSQL süper kullanıcısı olarak komut satırını açar.

5.2 Kullanıcıya parola atayın:

ALTER USER sammy PASSWORD 'GüçlüBirParola123';

pgAdmin’in PostgreSQL’e bağlanmasını mümkün kılar.

5.3 PostgreSQL’den çıkın:

\q

PSQL oturumunu sonlandırır.


6. pgAdmin Web Arayüzüne Erişim

  • Tarayıcınıza yazın:
http://panel.rabisu.cloud

pgAdmin giriş ekranına ulaşırsınız.


7. PostgreSQL Sunucusunu pgAdmin’e Ekleme

7.1 Bağlantı ayarları:

  • Host: localhost
  • Port: 5432
  • Maintenance DB: sammy
  • Username: sammy
  • Password: belirlediğiniz parola

pgAdmin ile PostgreSQL arasında bağlantı oluşturur.


8. Tablo Oluşturma ve Veri Ekleme

8.1 Örnek INSERT sorgusu:

INSERT INTO public."table01"(col1, col2, col3)
VALUES ('Juneau', 14, 337),
('Bismark', 90, 2334),
('Lansing', 51, 556);

Oluşturduğunuz tabloya örnek veri ekler.


❓ Sıkça Sorulan Sorular

1. pgAdmin 4 neden tercih ediliyor? Modern, hızlı ve web tabanlı yönetim paneli sunduğu için.

2. Sunucu Modu ne işe yarar? pgAdmin’i çok kullanıcılı web paneline dönüştürür.

3. Gunicorn ve Nginx neden birlikte kullanılır? Gunicorn uygulamayı çalıştırır, Nginx dış dünyadan güvenli erişim sağlar.

4. PostgreSQL neden parola ister? GUI araçları parola tabanlı bağlantı gerektirir.

5. Gunicorn’u kalıcı çalıştırmak için ne yapılır? Supervisor veya systemd servisi oluşturulur.


🎯 Sonuç

Bu rehberle pgAdmin 4’ü Ubuntu üzerinde kurdunuz, yapılandırdınız ve PostgreSQL ile entegre ettiniz.
Artık veritabanınızı grafiksel web paneli üzerinden yönetebilirsiniz.

Daha fazla içerik için Rabisu Bulut platformunu ziyaret edebilirsiniz.