Concrete5’i Ubuntu 12.04 Çalıştıran VPS Sunucunuza Kurulum Rehberi
İnternet dünyasında var olmak isteyen kişi ve kurumlar için güçlü ve esnek bir içerik yönetim sistemi (CMS) seçimi kritik öneme sahiptir. Concrete5, kullanıcı dostu arayüzü, gelişmiş düzenleme yetenekleri ve genişletilebilir yapısıyla dikkat çeken açık kaynaklı bir CMS’tir. Özellikle “yerinde düzenleme” (in-context editing) özelliği sayesinde, web sitesi sahipleri içeriklerini doğrudan önizleme modunda düzenleyebilir, bu da yayınlama sürecini oldukça hızlandırır ve kolaylaştırır. PHP tabanlı olması ve MySQL veritabanı kullanması, onu standart web sunucusu ortamlarıyla uyumlu hale getirir.
Bu kapsamlı rehberde, Concrete5’i Ubuntu 12.04 işletim sistemi yüklü bir Sanal Özel Sunucu (VPS) üzerine nasıl kuracağınızı adım adım detaylandıracağız. Ubuntu 12.04, artık eski bir sürüm olmasına rağmen, birçok eski sistemin hala bu dağıtımı kullandığı veya belirli bir proje gereksinimi nedeniyle bu ortamın tercih edildiği durumlar olabilir. Bu rehber, ilgili paketin ve sürümün gereksinimlerine odaklanarak, bu özel ortamda sorunsuz bir kurulum süreci sağlamayı amaçlamaktadır. Kurulum sürecinde bir LAMP (Linux, Apache, MySQL, PHP) yığını oluşturacak, Concrete5 için bir veritabanı hazırlayacak, dosyaları sunucuya yükleyecek ve son olarak web tabanlı yükleyiciyi kullanarak kurulumu tamamlayacağız. Adımları dikkatlice takip ederek, Concrete5 sitenizi kısa sürede yayına alabilirsiniz.
Ön Gereksinimler
Concrete5 kurulumuna başlamadan önce, bazı temel gereksinimleri karşılamanız ve hazırlıklar yapmanız gerekmektedir. Bu adımlar, kurulum sürecinin sorunsuz ilerlemesi için kritik öneme sahiptir.
VPS Sunucusu ve Erişimi
Öncelikle, Ubuntu 12.04 işletim sistemi kurulu bir VPS sunucusuna ihtiyacınız var. Bu sunucuya SSH (Secure Shell) aracılığıyla erişim sağlayabilmeniz gerekmektedir. Genellikle bir terminal programı (Linux/macOS için yerleşik terminal, Windows için PuTTY gibi) kullanarak sunucunuza bağlanabilirsiniz. Root kullanıcı olarak veya sudo yetkisine sahip bir kullanıcıyla oturum açmanız gerekecektir. Root erişimi, sistem üzerinde tam kontrol sağlamanıza olanak tanır ve tüm kurulum adımları için gereklidir.
Temel Linux Bilgisi
Bu rehber, temel Linux komut satırı bilgisine sahip olduğunuzu varsaymaktadır. cd (dizin değiştirme), ls (dizin içeriğini listeleme), cp (dosya kopyalama), mv (dosya taşıma/yeniden adlandırma), rm (dosya silme), nano veya vi (metin düzenleyici) gibi komutlara aşina olmanız, kurulum sürecinde size yardımcı olacaktır.
Alan Adı (Opsiyonel ama Önerilir)
Web sitenize bir IP adresi yerine bir alan adı (örneğin, alanadiniz.com) üzerinden erişmek istiyorsanız, alan adınızın A kaydını (veya gerekli CNAME kaydını) VPS sunucunuzun IP adresine yönlendirmiş olmanız gerekmektedir. Bu işlem genellikle alan adı kayıt sağlayıcınızın kontrol panelinden yapılır ve DNS değişikliklerinin internet genelinde yayılması biraz zaman alabilir (genellikle birkaç saat, bazen 24-48 saate kadar).
Minimum Sistem Kaynakları
Concrete5, temel bir kurulum için çok yüksek sistem kaynakları gerektirmez, ancak sitenizin trafiği ve içerik miktarı arttıkça daha fazla kaynağa ihtiyaç duyacaktır. Ubuntu 12.04 üzerinde Concrete5 5.6.x sürümünü çalıştırmak için minimum olarak şunlar önerilir:
* RAM: En az 512 MB (tercihen 1 GB veya üzeri)
* CPU: 1 çekirdek (tercihen 2 çekirdek)
* Disk Alanı: En az 10 GB boş alan (işletim sistemi, LAMP yığını ve Concrete5 dosyaları için)
Bu gereksinimleri karşıladığınızdan emin olduktan sonra, kurulumun ilk aşamasına, yani LAMP yığınını kurmaya geçebiliriz.
LAMP Yığınını Kurulumu
Concrete5, PHP tabanlı bir uygulama olduğundan, çalışmak için bir web sunucusu (Apache), bir veritabanı sunucusu (MySQL) ve PHP yorumlayıcısına ihtiyaç duyar. Bu bileşenlerin tümü bir araya gelerek “LAMP” (Linux, Apache, MySQL, PHP) yığınını oluşturur. Ubuntu 12.04 üzerinde bu bileşenleri adım adım kuracağız.
Sistem Paketlerini Güncelleme
Kuruluma başlamadan önce, sunucunuzdaki mevcut paket listesini güncellemek ve kurulu paketleri yükseltmek iyi bir uygulamadır. Bu, en son güvenlik yamalarına ve kararlı sürümlere sahip olmanızı sağlar.
sudo apt-get update
sudo apt-get upgrade -y
apt-get update komutu, yerel paket indeksini güncel depolardaki bilgilerle senkronize eder. apt-get upgrade -y komutu ise, -y bayrağı sayesinde tüm mevcut paketleri onay istemeden yükseltir.
Apache Web Sunucusunu Kurulumu
Apache, internet üzerindeki en popüler web sunucularından biridir ve Concrete5 gibi PHP uygulamalarını barındırmak için mükemmel bir seçimdir.
sudo apt-get install apache2 -y
Kurulum tamamlandıktan sonra, Apache’nin çalışıp çalışmadığını kontrol edebilirsiniz. Tarayıcınızda VPS sunucunuzun IP adresini ziyaret ettiğinizde “It works!” yazan varsayılan bir Apache sayfası görmelisiniz.
Concrete5’in URL yapılarını düzgün bir şekilde yönetebilmesi için Apache’nin mod_rewrite modülünü etkinleştirmemiz gerekmektedir. Bu modül, kullanıcı dostu URL’ler oluşturmak için kullanılır (örneğin, alanadiniz.com/hakkimizda yerine alanadiniz.com/index.php?cID=123).
sudo a2enmod rewrite
sudo service apache2 restart
a2enmod rewrite komutu mod_rewrite modülünü etkinleştirir ve ardından Apache servisini yeniden başlatarak değişikliklerin uygulanmasını sağlarız.
MySQL Veritabanı Sunucusunu Kurulumu
Concrete5, tüm içerik ve yapısal verilerini depolamak için bir MySQL veritabanına ihtiyaç duyar.
sudo apt-get install mysql-server mysql-client -y
Kurulum sırasında, MySQL root kullanıcısı için bir parola belirlemeniz istenecektir. Bu parolayı güvenli bir yerde sakladığınızdan emin olun, çünkü veritabanı yönetimi için gerekecektir.
MySQL kurulumunu daha güvenli hale getirmek için mysql_secure_installation komutunu çalıştırmanız önerilir. Bu komut, root parolasını değiştirmek, anonim kullanıcıları kaldırmak, root kullanıcısının uzaktan giriş yapmasını engellemek ve test veritabanını kaldırmak gibi bir dizi güvenlik adımını uygulamanıza olanak tanır.
sudo mysql_secure_installation
Komut çalıştırıldığında size çeşitli sorular sorulacaktır:
* Enter current password for root (enter for none): MySQL kurulumu sırasında belirlediğiniz root parolasını girin.
* Change the root password? [Y/n]: Parolayı değiştirmek istemiyorsanız n girin.
* Remove anonymous users? [Y/n]: Y girerek anonim kullanıcıları kaldırın.
* Disallow root login remotely? [Y/n]: Y girerek root kullanıcısının uzaktan bağlanmasını engelleyin (güvenlik için önerilir).
* Remove test database and access to it? [Y/n]: Y girerek test veritabanını kaldırın.
* Reload privilege tables now? [Y/n]: Y girerek yetki tablolarını yeniden yükleyin.
PHP ve Gerekli Modülleri Kurulumu
Concrete5 bir PHP uygulaması olduğu için PHP yorumlayıcısına ve bazı ek PHP modüllerine ihtiyaç duyar. Ubuntu 12.04’ün varsayılan depoları genellikle PHP 5.3.10 sürümünü sunar. Concrete5’in 5.6.x sürümleri bu PHP sürümüyle uyumludur.
sudo apt-get install php5 libapache2-mod-php5 php5-mysql php5-gd php5-curl php5-mcrypt php5-intl php5-cli -y
Bu komut, PHP 5’i, Apache için PHP modülünü (libapache2-mod-php5), MySQL veritabanı bağlantısı için PHP modülünü (php5-mysql), görüntü işleme için GD kütüphanesini (php5-gd), cURL desteğini (php5-curl), şifreleme fonksiyonları için mcrypt’i (php5-mcrypt), uluslararasılaştırma için intl’i (php5-intl) ve komut satırı PHP yorumlayıcısını (php5-cli) kurar. Concrete5’in düzgün çalışması için bu modüllerin çoğu gereklidir.
PHP modüllerini kurduktan sonra, Apache’nin PHP’yi tanıması için web sunucusunu yeniden başlatmanız gerekir:
sudo service apache2 restart
PHP Yapılandırmasını Ayarlama
Concrete5’in düzgün çalışması ve büyük dosyaların yüklenmesi gibi işlemleri sorunsuz bir şekilde gerçekleştirebilmesi için PHP yapılandırma dosyasında bazı ayarları düzenlememiz gerekebilir. PHP yapılandırma dosyası genellikle /etc/php5/apache2/php.ini yolundadır.
sudo nano /etc/php5/apache2/php.ini
Aşağıdaki satırları bulun ve Concrete5 için önerilen değerlere göre düzenleyin:
* memory_limit: PHP betiklerinin kullanabileceği maksimum bellek miktarını belirler. Concrete5 için en az 128M (128 Megabayt) önerilir, ancak daha büyük siteler veya karmaşık işlemler için 256M veya daha fazlası daha iyi olabilir.
memory_limit = 256M
* upload_max_filesize: Sunucuya yüklenebilecek maksimum dosya boyutunu belirler. Concrete5’te medya dosyaları yüklerken bu limit önemlidir.
upload_max_filesize = 64M
* post_max_size: HTTP POST isteklerinin kabul edeceği maksimum veri boyutunu belirler. Bu değer genellikle upload_max_filesize değerinden büyük veya ona eşit olmalıdır.
post_max_size = 64M
* max_execution_time: PHP betiklerinin maksimum çalışma süresini saniye cinsinden belirler. Uzun süren işlemler (örneğin, büyük bir yedekleme veya toplu resim işleme) için bu değerin artırılması gerekebilir.
max_execution_time = 300
* date.timezone: PHP’nin tarih ve saat fonksiyonlarının doğru çalışması için bir zaman dilimi belirtmek zorunludur. Aksi takdirde, PHP uyarı mesajları gösterebilir. Kendi coğrafi konumunuza uygun bir zaman dilimi seçin (örneğin, “Europe/Istanbul”, “America/New_York”).
date.timezone = Europe/Istanbul
Değişiklikleri kaydedip (nano’da Ctrl+O, Enter, Ctrl+X) çıktıktan sonra, Apache’yi yeniden başlatarak PHP yapılandırma değişikliklerinin etkin olmasını sağlayın:
sudo service apache2 restart
Concrete5 İçin MySQL Veritabanı Oluşturma
Concrete5’i kurmadan önce, web sitenizin tüm verilerini depolayacağı özel bir MySQL veritabanı oluşturmanız gerekmektedir. Ayrıca, bu veritabanına erişim sağlayacak bir kullanıcı da tanımlayacağız.
Öncelikle, MySQL sunucusuna root kullanıcısı olarak bağlanın:
mysql -u root -p
Parola istendiğinde, MySQL kurulumu sırasında belirlediğiniz root parolasını girin. MySQL komut istemine düştüğünüzde, aşağıdaki komutları sırasıyla çalıştırın:
Veritabanı Oluşturma
Concrete5 için yeni bir veritabanı oluşturun. Veritabanı adını (concrete5_db yerine) istediğiniz gibi değiştirebilirsiniz, ancak kolay hatırlanabilir ve açıklayıcı bir isim seçmeniz önerilir.
CREATE DATABASE concrete5_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CHARACTER SET utf8 COLLATE utf8_general_ci ifadesi, veritabanının Türkçe karakterler ve diğer uluslararası karakterlerle uyumlu olmasını sağlar.
Veritabanı Kullanıcısı Oluşturma
Şimdi, bu veritabanına özel olarak erişim sağlayacak bir kullanıcı oluşturacağız. Bu, güvenlik açısından önemlidir, çünkü Concrete5 uygulaması doğrudan MySQL root kullanıcısıyla değil, bu özel kullanıcıyla etkileşim kuracaktır. concrete5_user yerine başka bir kullanıcı adı ve your_strong_password yerine güçlü ve benzersiz bir parola belirlediğinizden emin olun.
CREATE USER 'concrete5_user'@'localhost' IDENTIFIED BY 'your_strong_password';
'localhost' ifadesi, bu kullanıcının yalnızca sunucunun kendisinden (yani VPS’nizden) bağlanabileceği anlamına gelir. Bu, çoğu web uygulaması kurulumu için yeterli ve güvenli bir yaklaşımdır.
Kullanıcıya Yetki Verme
Oluşturduğunuz kullanıcıya, az önce oluşturduğunuz veritabanı üzerinde tüm yetkileri verin.
GRANT ALL PRIVILEGES ON concrete5_db.* TO 'concrete5_user'@'localhost';
Bu komut, concrete5_user kullanıcısına concrete5_db veritabanındaki tüm tablolarda (.) tüm işlemleri (ALL PRIVILEGES) yapma yetkisi verir.
Yetkileri Yeniden Yükleme
Yaptığınız yetki değişikliklerinin hemen etkili olması için MySQL yetki tablolarını yeniden yükleyin:
FLUSH PRIVILEGES;
Son olarak, MySQL komut isteminden çıkın:
EXIT;
Artık Concrete5 kurulumu için gerekli veritabanı ve kullanıcı hazır. Bu bilgileri (veritabanı adı, kullanıcı adı ve parola) Concrete5 web tabanlı yükleyicisinde kullanacağız.
Concrete5’i İndirme ve Hazırlama
LAMP yığınını kurduktan ve veritabanını hazırladıktan sonra, Concrete5 dosyalarını sunucunuza indirip web kök dizinine yerleştirmemiz gerekiyor.
Web Kök Dizinine Gitme
Ubuntu 12.04’te Apache’nin varsayılan web kök dizini genellikle /var/www‘dur. Bu dizine geçiş yapın:
cd /var/www
Bu dizin, web sitenizin dosyalarının barındırılacağı yerdir.
Concrete5’i İndirme
Concrete5’in güncel sürümleri PHP 7.x veya üzeri gerektirdiğinden, Ubuntu 12.04’ün varsayılan PHP 5.3.10 sürümüyle uyumlu olan Concrete5 5.6.x serisinden bir sürüm indirmemiz gerekmektedir. Concrete5’in resmi web sitesinin “legacy versions” (eski sürümler) bölümünden uygun bir sürümü bulabilirsiniz. Örneğin, Concrete5 5.6.4.0, PHP 5.3 ile iyi çalışan kararlı bir sürümdür.
Aşağıdaki komutla Concrete5 5.6.4.0 sürümünü doğrudan sunucunuza indirebilirsiniz. Not: Bu indirme bağlantısı zamanla değişebilir veya geçerliliğini yitirebilir. Her zaman concrete5.org/developers/downloads/legacy-versions adresinden en güncel ve uyumlu sürümün bağlantısını kontrol etmeniz önerilir.
sudo wget https://www.concrete5.org/download_file/-/view/86819/
Bu komut, /var/www dizinine concrete5-5.6.4.0.zip adında bir ZIP dosyası indirecektir.
ZIP Dosyasını Açma ve Dosyaları Taşıma
İndirdiğimiz ZIP dosyasını açmak için unzip paketinin kurulu olması gerekir. Eğer kurulu değilse:
sudo apt-get install unzip -y
Şimdi indirdiğimiz Concrete5 ZIP dosyasını açın:
sudo unzip concrete5-5.6.4.0.zip
Bu işlem, /var/www dizini içinde concrete5-5.6.4.0 adında yeni bir dizin oluşturacak ve tüm Concrete5 dosyalarını buraya çıkaracaktır. Web sitenizin doğrudan IP adresiniz veya alan adınız üzerinden erişilebilir olması için bu dizinin içeriğini /var/www ana dizinine taşımamız gerekiyor:
sudo mv concrete5-5.6.4.0/* .
sudo mv concrete5-5.6.4.0/.htaccess .
İlk komut, concrete5-5.6.4.0 dizinindeki tüm dosya ve dizinleri (gizli dosyalar hariç) mevcut dizine (.) taşır. İkinci komut ise .htaccess gibi gizli dosyaları ayrı olarak taşır, çünkü * joker karakteri gizli dosyaları genellikle içermez.
Dosyaları taşıdıktan sonra, orijinal boş dizini ve ZIP dosyasını temizleyebilirsiniz:
sudo rm -r concrete5-5.6.4.0 concrete5-5.6.4.0.zip
Dosya İzinlerini Ayarlama
Concrete5’in düzgün çalışabilmesi, dosya yükleyebilmesi ve yapılandırma dosyalarını yazabilmesi için belirli dizinlere ve dosyalara Apache web sunucusunun kullanıcısının (Ubuntu’da genellikle www-data) yazma izinlerine sahip olması gerekir.
Öncelikle, tüm dosyaların sahipliğini www-data kullanıcısına ve grubuna atayın:
sudo chown -R www-data:www-data /var/www
Ardından, genel dosya ve dizin izinlerini ayarlayın. Genellikle dizinler için 755 ve dosyalar için 644 izinleri önerilir. Ancak Concrete5’in bazı dizinleri için daha geniş yazma izinleri gerekebilir.
sudo find /var/www -type d -exec chmod 755 {} \;
sudo find /var/www -type f -exec chmod 644 {} \;
Concrete5’in özel olarak yazma izni gerektiren bazı dizinleri vardır:
sudo chmod -R 777 /var/www/application/files
sudo chmod -R 777 /var/www/application/config
sudo chmod -R 777 /var/www/updates
sudo chmod -R 777 /var/www/packages
777 izni, bu dizinlere herkesin okuma, yazma ve çalıştırma yetkisine sahip olduğu anlamına gelir. Bu, kurulum sırasında ve sonrasında Concrete5’in sorunsuz çalışmasını sağlar. Kurulum tamamlandıktan sonra, güvenlik için application/config dizininin izinlerini 755 veya 775 gibi daha kısıtlı bir değere düşürmeyi düşünebilirsiniz, ancak files, updates ve packages genellikle 777 olarak kalır.
Apache Sanal Host Yapılandırması (Önerilir)
Concrete5 kurulumunuzu doğrudan sunucunuzun IP adresi üzerinden çalıştırabilirsiniz, ancak bir alan adı kullanıyorsanız ve gelecekte aynı sunucu üzerinde birden fazla web sitesi barındırmayı planlıyorsanız, özel bir Apache Sanal Host (Virtual Host) yapılandırması oluşturmanız önerilir. Bu, sitenizin daha düzenli ve yönetilebilir olmasını sağlar.
Yeni Bir Sanal Host Dosyası Oluşturma
Apache’nin siteleri için yapılandırma dosyaları genellikle /etc/apache2/sites-available/ dizininde bulunur. Yeni bir dosya oluşturarak Concrete5 siteniz için özel bir yapılandırma tanımlayalım. Alan adınızı your_domain.com olarak varsayalım.
sudo nano /etc/apache2/sites-available/concrete5.conf
Açılan dosyaya aşağıdaki içeriği yapıştırın. ServerName ve ServerAdmin değerlerini kendi alan adınız ve e-posta adresinizle değiştirmeyi unutmayın.
ServerAdmin webmaster@your_domain.com
ServerName your_domain.com
# Eğer www ile de erişilmesini istiyorsanız aşağıdaki satırı ekleyebilirsiniz.
# ServerAlias www.your_domain.com
DocumentRoot /var/www
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
* ServerAdmin: Sunucu yöneticisinin e-posta adresi.
* ServerName: Web sitenizin birincil alan adı.
* DocumentRoot: Web sitenizin dosyalarının bulunduğu dizin (bizim durumumuzda /var/www).
* : Bu blok, belirli bir dizin için özel yapılandırma ayarları tanımlar.
* Options Indexes FollowSymLinks MultiViews: Dizin listelemeyi, sembolik bağlantıları takip etmeyi ve içerik anlaşmasını etkinleştirir.
* AllowOverride All: Bu çok önemlidir! Bu, .htaccess dosyalarının Apache yapılandırmasını geçersiz kılmasına izin verir. Concrete5, URL’leri yeniden yazmak ve diğer ayarları yapmak için .htaccess dosyasını yoğun bir şekilde kullanır.
* Order allow,deny ve allow from all: Tüm istemcilerden erişime izin verir.
* ErrorLog ve CustomLog: Hata ve erişim günlüklerinin nereye yazılacağını belirtir.
Değişiklikleri kaydedin ve dosyayı kapatın.
Sanal Host’u Etkinleştirme
Yeni oluşturduğunuz sanal host yapılandırmasını etkinleştirmek için a2ensite komutunu kullanın:
sudo a2ensite concrete5.conf
Varsayılan Apache sitesini devre dışı bırakmak isteyebilirsiniz, böylece alan adınız veya IP adresiniz doğrudan Concrete5 sitenize yönlendirilir:
sudo a2dissite default
veya Ubuntu 12.04'te bu 000-default.conf olabilir
sudo a2dissite 000-default.conf
Değişikliklerin etkili olması için Apache servisini yeniden başlatın:
sudo service apache2 restart
Artık alan adınızı tarayıcınızda ziyaret ettiğinizde, Concrete5’in web tabanlı yükleyicisi ile karşılaşmalısınız.
Concrete5 Web Yükleyicisini Çalıştırma
Tüm sunucu tarafı hazırlıklar tamamlandığında, Concrete5’in web tabanlı yükleyicisi aracılığıyla son kurulum adımlarını tamamlamanın zamanı geldi. Bu aşama oldukça basittir ve genellikle birkaç tıklamayla tamamlanır.
Web tarayıcınızı açın ve VPS sunucunuzun IP adresini veya alan adınızı (eğer yapılandırdıysanız) girin. Örneğin: http://your_domain.com veya http://your_vps_ip_address.
Karşınıza Concrete5 kurulum ekranı gelecektir.
1. Dil Seçimi
İlk adımda, kurulum süreci ve web siteniz için kullanmak istediğiniz dili seçmeniz istenecektir. Listeden “Türkçe”yi seçip “Devam Et” butonuna tıklayın.
2. Sistem Gereksinimleri Kontrolü
Concrete5, sunucunuzun gerekli tüm PHP modüllerine ve yapılandırma ayarlarının uygun olup olmadığını otomatik olarak kontrol edecektir. Bu sayfadaki tüm maddelerin yeşil tik işaretine sahip olduğundan emin olun. Eğer herhangi bir madde kırmızı çarpı işaretiyle işaretlenmişse, ilgili PHP modülünü yüklemeyi veya php.ini dosyasındaki ayarları düzeltmeyi unutmuşsunuz demektir. Gerekli düzeltmeleri yaptıktan sonra Apache’yi yeniden başlatıp bu sayfayı yenileyin.
Tüm gereksinimler karşılandığında, “Kuruluma Başla” butonuna tıklayın.
3. Veritabanı Bilgileri
Bu adımda, daha önce MySQL’de oluşturduğumuz veritabanı bilgilerini girmeniz istenecektir:
* Veritabanı Sunucusu: Çoğu durumda 'localhost' olarak kalacaktır.
* Veritabanı Adı: concrete5_db (veya kendi belirlediğiniz ad)
* Veritabanı Kullanıcı Adı: concrete5_user (veya kendi belirlediğiniz ad)
* Veritabanı Şifresi: your_strong_password (veya kendi belirlediğiniz şifre)
Bilgileri doğru bir şekilde girdikten sonra, “Veritabanına Bağlan” butonuna tıklayın. Eğer bağlantı başarılı olursa, bir sonraki adıma geçeceksiniz. Herhangi bir hata alırsanız, girdiğiniz bilgileri ve MySQL kullanıcısına verdiğiniz yetkileri kontrol edin.
4. Site ve Yönetici Bilgileri
Bu son adımda, web siteniz ve yönetici kullanıcı için temel bilgileri gireceksiniz:
* Site Adı: Web sitenizin adını girin (örneğin, “Benim Concrete5 Sitem”).
* Yönetici Kullanıcı Adı: Yönetici panelinize giriş yapmak için kullanacağınız kullanıcı adını belirleyin (örneğin, admin).
* Yönetici Şifresi: Yönetici panelinize giriş yapmak için kullanacağınız güçlü bir şifre belirleyin ve tekrar onaylayın.
* Yönetici E-posta Adresi: Yönetici e-posta adresinizi girin. Bu adres, şifre sıfırlama veya önemli bildirimler için kullanılacaktır.
Tüm bilgileri girdikten sonra, “Kurulumu Tamamla” butonuna tıklayın.
Concrete5 şimdi veritabanını oluşturacak, örnek verileri yükleyecek ve temel yapılandırmayı tamamlayacaktır. Bu işlem birkaç dakika sürebilir. Kurulum tamamlandığında, genellikle “Kurulum Başarılı!” veya benzeri bir mesajla karşılaşırsınız ve doğrudan sitenizin ana sayfasına veya yönetici paneline yönlendirilirsiniz.
Tebrikler! Concrete5’i Ubuntu 12.04 VPS sunucunuza başarıyla kurdunuz. Artık sitenizi özelleştirmeye ve içerik eklemeye başlayabilirsiniz.
Kurulum Sonrası Adımlar ve Güvenlik
Concrete5’i başarıyla kurduktan sonra, sitenizin performansını artırmak, güvenliğini sağlamak ve sorunsuz çalışmasını temin etmek için yapmanız gereken birkaç önemli adım bulunmaktadır.
Kurulum Dosyalarını Silme (Concrete5 5.x için geçerli değil)
Bazı CMS’lerde kurulum tamamlandıktan sonra install.php veya install klasörü gibi kurulumla ilgili dosyaları silmek gerekir. Concrete5 5.x serisinde bu tür bir dosya veya klasör bulunmamaktadır; install.php dosyası kurulum tamamlandıktan sonra kendiliğinden devre dışı kalır veya yönlendirme yapar. Bu nedenle bu adım Concrete5 için genellikle geçerli değildir. Ancak, /var/www dizininde gereksiz gördüğünüz veya güvenlik riski oluşturabilecek başka dosyalar olup olmadığını kontrol etmek her zaman iyi bir uygulamadır.
Dosya İzinlerini Gözden Geçirme
Kurulum sırasında bazı dizinlere (örneğin application/config) 777 gibi geniş izinler vermiş olabilirsiniz. Güvenlik amacıyla, kurulum tamamlandıktan sonra bu tür hassas dizinlerin izinlerini daha kısıtlı bir hale getirmek iyi bir fikirdir.
* application/config dizini için izinleri 755 veya hatta 775 olarak değiştirebilirsiniz.
sudo chmod -R 755 /var/www/application/config
application/files, updates ve packages dizinleri için genellikle 777 izni korunur, çünkü Concrete5’in bu dizinlere sürekli yazma erişimine ihtiyacı vardır.
Cron İşlerini Yapılandırma
Concrete5, arama indeksleme, önbelleği temizleme, e-posta kuyruğunu işleme ve diğer arka plan görevlerini otomatikleştirmek için cron işlerine ihtiyaç duyar. Bu görevlerin düzenli olarak çalışması, sitenizin performansını ve işlevselliğini artırır.
Cron işlerini düzenlemek için aşağıdaki komutu kullanın:
sudo crontab -e
Bu komut, sistem genelinde cron tablolarını düzenlemenizi sağlar. Açılan dosyaya aşağıdaki satırı ekleyin. Bu komut, her dakika Concrete5’in arka plan işlerini çalıştıracaktır.
* cd /var/www && /usr/bin/php -f index.php -- /tools/required/jobs > /dev/null 2>&1
: Cron’un her dakika çalışacağını belirtir.
* cd /var/www: Komutu çalıştırmadan önce /var/www dizinine geçiş yapar.
* /usr/bin/php: PHP yorumlayıcısının tam yoludur.
* -f index.php -- /tools/required/jobs: Concrete5’in arka plan işlerini tetikleyen komuttur.
* > /dev/null 2>&1: Bu kısım, cron işinden gelen tüm çıktıları (hem standart çıktı hem de hata çıktıları) /dev/null‘a yönlendirir, böylece e-posta kutunuz gereksiz bildirimlerle dolmaz.
Dosyayı kaydedin ve kapatın. Cron işi otomatik olarak başlayacaktır.
Güvenlik En İyi Uygulamaları
* Güçlü Parolalar: Yönetici hesabı ve veritabanı kullanıcısı için her zaman güçlü, karmaşık parolalar kullanın.
* Düzenli Yedeklemeler: Web sitenizin dosyalarını ve veritabanını düzenli olarak yedekleyin. Bir sorun durumunda hızlı bir şekilde geri dönebilmenizi sağlar.
Concrete5 Güncellemeleri: Concrete5 5.6.x sürümü için güvenlik yamalarını ve hata düzeltmelerini takip edin. Yeni sürümler çıktığında, sitenizi güncel tutmak, bilinen güvenlik açıklarına karşı korunmanıza yardımcı olur. Ancak, Ubuntu 12.04’teki PHP sürümünüz nedeniyle 5.6.x serisinin ötesine geçemeyeceğinizi unutmayın.*
* Sunucu Güvenliği: VPS sunucunuzun işletim sistemini güncel tutun. Bir güvenlik duvarı (örneğin, UFW – Uncomplicated Firewall) kurarak yalnızca gerekli portlara (SSH için 22, HTTP için 80, HTTPS için 443) erişime izin verin.
sudo apt-get install ufw -y
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
* SSL/TLS Sertifikası: Web sitenizi HTTPS üzerinden yayınlamak için bir SSL/TLS sertifikası kurun. Bu, kullanıcılarınızın verilerini şifreler ve sitenizin güvenilirliğini artırır. Let’s Encrypt gibi ücretsiz seçenekler mevcuttur, ancak Ubuntu 12.04 için kurulumu biraz daha karmaşık olabilir.
Sık Karşılaşılan Sorunlar ve Giderme
Kurulum sürecinde veya sonrasında bazı sorunlarla karşılaşmanız olasıdır. İşte en yaygın sorunlar ve çözüm önerileri:
1. 500 Internal Server Error veya Beyaz Sayfa
Bu genellikle Apache veya PHP yapılandırma sorunlarından kaynaklanır.
* Çözüm:
* Apache hata günlüklerini kontrol edin: sudo tail -f /var/log/apache2/error.log. Bu günlükler size sorunun kaynağı hakkında ipucu verecektir.
* PHP sözdizimi hataları, eksik PHP modülleri veya php.ini ayarları bu hataya neden olabilir. php.ini dosyasındaki display_errors ayarını On olarak ayarlayarak (geçici olarak) daha detaylı hata mesajları görebilirsiniz.
* .htaccess dosyasında bir hata olup olmadığını kontrol edin. AllowOverride All ayarının Apache sanal host yapılandırmanızda etkin olduğundan emin olun.
2. Veritabanı Bağlantı Hatası
Concrete5 web yükleyicisinde veya kurulum sonrası sitenizde veritabanı bağlantı hatası alıyorsanız:
* Çözüm:
* Girdiğiniz veritabanı adı, kullanıcı adı ve parolanın doğru olduğundan emin olun.
* MySQL sunucusunun çalıştığından emin olun: sudo service mysql status.
* MySQL kullanıcısının doğru veritabanına yetkisi olduğundan emin olun (GRANT ALL PRIVILEGES komutunu kontrol edin).
* php5-mysql modülünün kurulu olduğundan emin olun.
3. İzin Hataları (Permission Denied)
Concrete5 dosyaları yükleyemiyor, yapılandırma yazamıyor veya önbellek oluşturamıyorsa:
* Çözüm:
* chown -R www-data:www-data /var/www komutuyla tüm Concrete5 dosyalarının sahipliğini www-data kullanıcısına atadığınızdan emin olun.
* chmod -R 777 ile application/files, application/config, updates ve packages dizinlerine yazma izni verdiğinizden emin olun.
* Apache’nin error.log dosyasını kontrol ederek hangi dosya veya dizinde izin sorunu yaşandığını görebilirsiniz.
4. URL Yeniden Yazma Sorunları (Pretty URLs Çalışmıyor)
Sitenizdeki bağlantılar index.php/page-name şeklinde görünüyorsa veya belirli sayfalar bulunamıyorsa:
* Çözüm:
* Apache’nin mod_rewrite modülünün etkin olduğundan emin olun: sudo a2enmod rewrite ve ardından sudo service apache2 restart.
* Sanal host yapılandırmanızda bloğu içinde AllowOverride All ayarının olduğundan emin olun.
* Concrete5’in kendi panelinden “Dashboard > System & Settings > SEO & Statistics > URLs” bölümünden “Pretty URLs” seçeneğinin etkin olduğunu kontrol edin.
5. PHP Zaman Dilimi Uyarısı
Web sitesinde veya günlüklerde “Date.timezone” uyarısı görüyorsanız:
* Çözüm:
* /etc/php5/apache2/php.ini dosyasını düzenleyin ve date.timezone ayarına geçerli bir zaman dilimi değeri atayın (örneğin, date.timezone = Europe/Istanbul).
* Değişikliklerden sonra Apache’yi yeniden başlatın.
Bu sorun giderme ipuçları, kurulum ve kullanım sırasında karşılaşabileceğiniz çoğu sorunu çözmenize yardımcı olacaktır. Sorun devam ederse, Concrete5’in resmi forumlarını veya topluluk destek kanallarını kontrol etmek de faydalı olabilir.
Sonuç
Bu detaylı rehberde, Concrete5’i Ubuntu 12.04 işletim sistemi yüklü bir VPS sunucusu üzerine nasıl kuracağınızı adım adım öğrendiniz. LAMP yığınını kurmaktan, MySQL veritabanını hazırlamaya, Concrete5 dosyalarını indirmeye ve yapılandırmaya kadar tüm süreçleri titizlikle ele aldık. Özellikle Ubuntu 12.04’ün varsayılan PHP sürümüyle uyumlu bir Concrete5 sürümü seçimine dikkat ederek, eski bir sistemde bile sorunsuz bir kurulum gerçekleştirebileceğinizi gösterdik.
Artık Concrete5 siteniz yayında ve içerik eklemeye, tasarımını özelleştirmeye ve güçlü özelliklerini keşfetmeye hazırsınız. Concrete5’in kullanıcı dostu arayüzü sayesinde, web sitenizi kolayca yönetebilir ve güncelleyebilirsiniz.
Unutmayın, bir web sitesinin kurulumu sadece başlangıçtır. Sitenizin uzun ömürlü ve güvenli olması için kurulum sonrası adımlara ve güvenlik en iyi uygulamalarına dikkat etmek hayati önem taşır. Düzenli yedeklemeler yapmak, güçlü parolalar kullanmak, sunucu ve CMS güncellemelerini takip etmek, sitenizi olası tehditlere karşı korumanıza yardımcı olacaktır. Cron işlerini doğru yapılandırmak, sitenizin arka plan görevlerini sorunsuz bir şekilde yürütmesini sağlayarak performansını artırır.
Bu rehberin, Concrete5’i Ubuntu 12.04 sunucunuza başarıyla kurmanızda size yol gösterdiğini umuyoruz. Web dünyasındaki yolculuğunuzda Concrete5 ile harika projeler geliştirmeniz dileğiyle!
