Takip et

WordPress Sürüm Kontrolü ile CentOS 7 Üzerine Kurulum ve Güncelleme Rehberi

WordPress Sürüm Kontrolü ile CentOS 7 Üzerine Kurulum ve Güncelleme Rehberi WordPress, dünya genelinde en popüler içerik yönetim sistemler

WordPress Sürüm Kontrolü ile CentOS 7 Üzerine Kurulum ve Güncelleme Rehberi

WordPress, dünya genelinde en popüler içerik yönetim sistemlerinden (CMS) biridir. Ancak, eklentiler, temalar ve çekirdek dosyaların sık güncellemeleri, özellikle birden fazla geliştiricinin çalıştığı veya kritik projelerde sürüm yönetimini zorlaştırabilir. Bu rehberde, CentOS 7 sunucusu üzerinde WordPress’i Git sürüm kontrol sistemiyle nasıl kuracağınızı ve güncelleyeceğinizi adım adım öğreneceksiniz. Bu yaklaşım, değişiklikleri izlemenize, hataları geri almanıza ve daha kontrollü bir geliştirme/güncelleme süreci sağlamanıza olanak tanır.

Ortam Hazırlığı: CentOS 7 Sunucusunu Ayarlama

WordPress’i sürüm kontrolüyle kurmadan önce, CentOS 7 sunucunuzu gerekli web sunucusu, veritabanı ve PHP bileşenleriyle hazırlamanız gerekmektedir.

Sistem Güncellemesi ve Temel Araçların Kurulumu

İlk olarak, sisteminizi güncelleyelim ve Git ile gerekli diğer paketleri kuralım:

sudo yum update -y
sudo yum install epel-release -y
sudo yum install git wget unzip -y

Web Sunucusu Kurulumu (Apache)

Bu rehberde Apache’yi kullanacağız, ancak Nginx de benzer şekilde yapılandırılabilir.

sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

PHP ve Gerekli Uzantıların Kurulumu

CentOS 7 varsayılan olarak eski PHP sürümleriyle gelir. Daha güncel bir PHP sürümü (örneğin PHP 7.4 veya 8.x) için Remi deposunu kullanacağız.

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum-config-manager --enable remi-php74 # PHP 7.4 etkinleştirilir. Daha yeni bir sürüm için 'remi-php80', 'remi-php81' vb. kullanabilirsiniz.
sudo yum install php php-cli php-mysqlnd php-gd php-mbstring php-xml php-fpm php-opcache php-json php-zip -y
sudo systemctl restart httpd

Veritabanı Sunucusu Kurulumu (MariaDB)

WordPress için bir veritabanı sunucusuna ihtiyacımız var. MariaDB, MySQL’in topluluk tarafından geliştirilen bir çatalıdır ve popüler bir seçimdir.

sudo yum install mariadb-server mariadb -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation

mysql_secure_installation komutu çalıştırıldığında, root şifresi belirlemeniz, anonim kullanıcıları kaldırmanız, root’un uzaktan girişini engellemeniz ve test veritabanını silmeniz istenecektir. Bu adımları güvenlik için tamamlamanız önemlidir.

WordPress ve Git Entegrasyonu

Ortam hazırlığı tamamlandıktan sonra, WordPress’i kurmaya ve Git ile sürüm kontrolüne almaya başlayabiliriz.

WordPress Veritabanı Oluşturma

WordPress için bir veritabanı ve kullanıcı oluşturmanız gerekmektedir.

sudo mysql -u root -p

Şifrenizi girdikten sonra MariaDB kabuğuna düşeceksiniz. Aşağıdaki komutları çalıştırarak veritabanı ve kullanıcıyı oluşturun:

CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'guclu_sifreniz';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

wordpress_db, wordpress_user ve guclu_sifreniz değerlerini kendi tercihinize göre değiştirmeyi unutmayın.

WordPress İndirme ve Dizin Yapılandırması

WordPress dosyalarını web sunucunuzun kök dizinine (genellikle /var/www/html) indireceğiz.

cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest.tar.gz

Şimdi, WordPress’i Git sürüm kontrolüne alalım.

sudo git init
sudo git add .
sudo git commit -m "Initial WordPress installation"

Bu komutlar, mevcut WordPress dosyalarını Git deposuna ekler ve ilk taahhüdü (commit) oluşturur.

wp-config.php Yapılandırması

wp-config.php dosyası WordPress’in veritabanı bağlantı bilgilerini ve diğer önemli ayarlarını içerir.

sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php

wp-config.php dosyasını açtıktan sonra, veritabanı adını, kullanıcı adını ve şifresini yukarıda oluşturduğunuz bilgilerle güncelleyin:

define( 'DB_NAME', 'wordpress_db' );
define( 'DB_USER', 'wordpress_user' );
define( 'DB_PASSWORD', 'guclu_sifreniz' );
define( 'DB_HOST', 'localhost' );

Ayrıca, güvenlik için benzersiz kimlik doğrulama anahtarlarını (salts) aşağıdaki adresten alıp yapıştırmanız önerilir: https://api.wordpress.org/secret-key/1.1/salt/

Değişiklikleri kaydedip çıktıktan sonra, bu önemli yapılandırma dosyasını da Git’e ekleyelim:

sudo git add wp-config.php
sudo git commit -m "Add wp-config.php with database credentials"

Dizin İzinleri

WordPress’in düzgün çalışması için doğru dosya ve dizin izinlerine sahip olması gerekir.

sudo chown -R apache:apache /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;
sudo chmod -R 775 /var/www/html/wp-content/uploads # Yüklemeler için yazma izni

wp-content/uploads dizinine, WordPress’in medya dosyalarını yükleyebilmesi için özel olarak yazma izni verilmesi önemlidir.

Artık web tarayıcınızdan sunucunuzun IP adresine veya alan adına giderek WordPress kurulumunu tamamlayabilirsiniz.

WordPress Güncellemeleri ve Sürüm Kontrolü

Sürüm kontrolü kullanmanın en büyük avantajlarından biri, WordPress çekirdek, eklenti ve tema güncellemelerini kontrollü bir şekilde yönetebilmektir.

WordPress Çekirdek Güncellemeleri

WordPress çekirdeğini güncellemek genellikle yönetim panelinden yapılır, ancak sürüm kontrolü ile manuel olarak yapmak daha güvenli bir yaklaşımdır.

1. Mevcut Durumu Kaydetme: Güncellemeye başlamadan önce, mevcut tüm değişikliklerinizi Git’e taahhüt ettiğinizden emin olun.

cd /var/www/html
    sudo git status
    # Eğer değişiklikler varsa:
    sudo git add .
    sudo git commit -m "Pre-update commit before core update"

2. Yeni Çekirdek Sürümünü İndirme: Yeni WordPress sürümünü indirip mevcut dosyaların üzerine kopyalayacağız. wp-content dizini ve wp-config.php dosyası gibi özelleştirilmiş dosyaları korumak önemlidir.

cd /var/www/html
    sudo wget https://wordpress.org/latest.tar.gz
    sudo tar -xzf latest.tar.gz
    sudo rsync -av --exclude 'wp-content/' --exclude 'wp-config.php' --exclude '.git/' wordpress/ .
    sudo rm -rf wordpress latest.tar.gz

rsync komutu, wp-content, wp-config.php ve .git dizinlerini dışarıda bırakarak yalnızca çekirdek dosyalarını günceller.

3. Veritabanı Güncellemesi: Tarayıcınızdan your_domain/wp-admin/upgrade.php adresine giderek veritabanı güncellemesini tamamlayın.

4. Güncellemeyi Git’e Taahhüt Etme: Çekirdek güncellemesi tamamlandıktan sonra, değişiklikleri Git’e kaydedin.

sudo git add .
    sudo git commit -m "WordPress core updated to X.Y.Z" # X.Y.Z yerine yeni sürüm numarasını yazın

5. Geri Alma (Rollback): Eğer güncelleme sonrası bir sorun yaşarsanız, kolayca önceki duruma dönebilirsiniz:

sudo git log --oneline # Önceki taahhütlerin listesini görmek için
    sudo git reset --hard  # Sorunsuz olan önceki taahhüdün hash'ini buraya yazın

Bu komut, çalışma dizininizi ve Git geçmişinizi belirtilen taahhüt noktasına geri döndürür.

Eklenti ve Tema Güncellemeleri

Eklenti ve temaları WordPress yönetim panelinden güncelleyebilirsiniz. Güncelleme sonrası bu değişiklikleri Git’e taahhüt etmeyi unutmayın.

cd /var/www/html
sudo git status

Güncellenen eklenti/tema dosyalarını Git'e ekleyin

sudo git add wp-content/plugins/your-plugin-name/ wp-content/themes/your-theme-name/ sudo git commit -m "Updated plugin X and theme Y"

Git İş Akışı Örneği

Daha karmaşık projeler için bir Git iş akışı oluşturmak, geliştirme ve üretim ortamlarını ayırmanıza yardımcı olur.

1. Geliştirme Dalı Oluşturma: Yeni özellikler veya büyük güncellemeler üzerinde çalışırken develop gibi bir geliştirme dalı kullanın.

sudo git checkout -b develop

2. Değişiklikleri Geliştirme Dalında Yapma: Tüm yeni kodları, eklenti/tema kurulumlarını bu dalda yapın ve taahhüt edin.

# Değişiklikler yapın
    sudo git add .
    sudo git commit -m "Added new feature Z"

3. Üretim Ortamına Entegre Etme: Değişiklikler test edildikten ve onaylandıktan sonra, main (veya master) dalına birleştirin ve üretim sunucusuna dağıtın.

sudo git checkout main
    sudo git merge develop
    sudo git push origin main # Eğer uzak bir depo kullanıyorsanız

Bu, üretim sunucunuzdaki main dalını güncelleyerek değişikliklerin canlıya alınmasını sağlar.

Sonuç ve Sıkça Sorulan Sorular (SSS)

Bu rehberde, CentOS 7 üzerinde WordPress’i Git sürüm kontrolüyle nasıl kuracağınızı ve güncelleyeceğinizi öğrendiniz. Bu yöntem, WordPress kurulumunuzun kararlılığını artırır, değişiklikleri izlenebilir kılar ve olası sorunlarda hızlıca geri dönmenizi sağlar. Özellikle ekip çalışması yapılan veya kritik WordPress siteleri için bu yaklaşım vazgeçilmezdir.

Sıkça Sorulan Sorular (SSS)

Q1: wp-content dizini neden sürüm kontrolünde olmalı?
A1: wp-content dizini eklentilerinizi, temalarınızı ve yüklemelerinizi içerir. Eklenti ve tema güncellemelerini, özelleştirmeleri ve hatta yüklenen bazı dosyaları (özellikle temalar veya eklentilerle ilişkili olanları) izlemek için bu dizini sürüm kontrolüne almak önemlidir. Bu sayede, hangi eklenti veya temanın hangi sürümünün ne zaman yüklendiğini takip edebilir ve gerekirse geri alabilirsiniz.

Q2: wp-config.php dosyasındaki hassas bilgiler (veritabanı şifreleri) Git deposunda tutulmalı mı?
A2: Geliştirme ortamlarında ve tek sunuculu basit kurulumlarda wp-config.php dosyasını Git’e dahil etmek yaygın bir pratiktir. Ancak, daha güvenli ve ölçeklenebilir yaklaşımlar için veritabanı şifreleri gibi hassas bilgileri .env dosyaları, ortam değişkenleri veya bir sır yönetimi çözümü aracılığıyla yönetmek daha iyidir. Bu şekilde, wp-config.php dosyasını Git’e dahil edebilir, ancak hassas bilgileri farklı ortamlara göre dinamik olarak yükleyebilirsiniz.

Q3: WordPress’in otomatik güncellemelerini devre dışı bırakmalı mıyım?
A3: Evet, sürüm kontrolü ile manuel güncelleme yapmayı tercih ediyorsanız, WordPress’in otomatik çekirdek güncellemelerini devre dışı bırakmanız önerilir. Bu, güncellemeler üzerinde tam kontrol sahibi olmanızı sağlar ve Git taahhütleri ile entegrasyonu kolaylaştırır. Otomatik güncellemeleri devre dışı bırakmak için wp-config.php dosyasına aşağıdaki satırı ekleyebilirsiniz:
define( 'WP_AUTO_UPDATE_CORE', false );

Q4: Git ile geri yükleme (rollback) işlemi güvenli midir?
A4: git reset --hard komutu ile geri yükleme işlemi, dosya sisteminizi belirtilen taahhüt anındaki duruma getirir ve o taahhütten sonraki tüm yerel değişiklikleri siler. Bu güçlü bir komuttur ve dikkatli kullanılmalıdır. Herhangi bir geri yükleme yapmadan önce önemli verilerinizi yedeklemeniz şiddetle tavsiye edilir. Ayrıca, bu sadece dosya sistemini etkiler; veritabanı değişikliklerini geri almak için ayrı veritabanı yedeklemelerine veya özel komutlara ihtiyacınız olabilir.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.