Magento Nedir? E-Ticaret Dünyasına Giriş
Magento, dünya genelinde en popüler ve güçlü açık kaynaklı e-ticaret platformlarından biridir. Küçük işletmelerden büyük kurumsal firmalara kadar geniş bir yelpazede kullanılan Magento, esnek yapısı, zengin özellik setleri ve genişletilebilir mimarisi sayesinde işletmelere çevrimiçi mağaza oluşturma ve yönetme konusunda kapsamlı çözümler sunar. Ürün yönetimi, sipariş işleme, müşteri ilişkileri, pazarlama araçları ve raporlama gibi temel e-ticaret fonksiyonlarının yanı sıra, binlerce eklenti ve tema ile mağazanızı tamamen özelleştirmenize olanak tanır.
Bu rehberde, artık eski bir işletim sistemi olmasına rağmen, belirli senaryolarda hala karşımıza çıkabilen Ubuntu 14.04 sunucusu üzerine Magento’nun (genellikle 1.x sürümleri) nasıl kurulacağını ve temel ayarlarının nasıl yapılacağını adım adım inceleyeceğiz. Ubuntu 14.04’ün PHP 5.5 gibi Magento 1.x ile uyumlu sürümleri barındırması, bu rehberi hala geçerli kılmaktadır. Ancak, yeni projeler için her zaman daha güncel işletim sistemi ve Magento sürümlerini tercih etmeniz şiddetle tavsiye edilir.
Sistem Gereksinimleri ve Hazırlık
Magento kurulumuna başlamadan önce, sunucunuzun gerekli yazılımlara sahip olduğundan ve güncel olduğundan emin olmalıyız. Bu bölümde, Ubuntu 14.04 sunucunuzu Magento için nasıl hazırlayacağınızı anlatacağız.
Sistemi Güncelleme
Herhangi bir kuruluma başlamadan önce sunucunuzdaki paket listelerini güncellemek ve mevcut paketleri yükseltmek iyi bir uygulamadır. Bu, potansiyel güvenlik açıklarını kapatır ve yazılım çakışmalarını önler.
sudo apt-get update
sudo apt-get upgrade -y
Apache Web Sunucusu Kurulumu
Magento bir web uygulaması olduğu için bir web sunucusuna ihtiyaç duyar. Bu rehberde Apache’yi kullanacağız. Apache, Ubuntu 14.04 depolarında kolayca bulunabilir ve kurulabilir.
sudo apt-get install apache2 -y
Kurulumdan sonra, Apache’nin temel bir modülü olan mod_rewrite‘ı etkinleştirmemiz gerekir. Bu modül, Magento’nun URL yapısı için kritik öneme sahiptir.
sudo a2enmod rewrite
sudo service apache2 restart
MySQL Veritabanı Sunucusu Kurulumu
Magento, tüm verilerini (ürünler, siparişler, müşteriler vb.) bir veritabanında saklar. MySQL, Magento ile en uyumlu veritabanı sistemlerinden biridir.
sudo apt-get install mysql-server -y
Kurulum sırasında MySQL root kullanıcısı için bir parola belirlemeniz istenecektir. Güçlü bir parola seçtiğinizden emin olun.
Kurulum tamamlandıktan sonra, MySQL kurulumunu güvenli hale getirmek için aşağıdaki komutu çalıştırın:
sudo mysql_secure_installation
Bu komut, root parolasını ayarlamanıza, anonim kullanıcıları kaldırmanıza, uzaktan root girişini devre dışı bırakmanıza ve test veritabanını silmenize olanak tanır. Tüm sorulara “Y” (Yes) yanıtı vererek devam edebilirsiniz.
PHP ve Gerekli Modüllerin Kurulumu
Magento PHP ile yazılmıştır ve çalışmak için belirli PHP modüllerine ihtiyaç duyar. Ubuntu 14.04 varsayılan olarak PHP 5.5.9 ile gelir, bu da Magento 1.x için uygundur. İhtiyaç duyulan PHP modüllerini aşağıdaki komutla kurabiliriz:
sudo apt-get install php5 php5-mysql php5-gd php5-mcrypt php5-curl php5-intl php5-xsl -y
Kurulumdan sonra, Magento’nun sorunsuz çalışması için PHP yapılandırmasında bazı değişiklikler yapmamız gerekebilir. Özellikle memory_limit değerini artırmak önemlidir. PHP yapılandırma dosyasını (php.ini) düzenleyin:
sudo nano /etc/php5/apache2/php.ini
Aşağıdaki satırları bulun ve değerlerini uygun şekilde ayarlayın (değerler Magento sürümüne ve mağazanızın büyüklüğüne göre değişebilir, ancak başlangıç için bu değerler yeterlidir):
memory_limit = 512M ; veya 768M, 1G
max_execution_time = 180 ; veya 300
upload_max_filesize = 64M
post_max_size = 64M
date.timezone = Europe/Istanbul ; Kendi zaman diliminizi ayarlayın
Değişiklikleri kaydettikten sonra Apache’yi yeniden başlatın:
sudo service apache2 restart
Magento Kurulumu
Sistemimiz hazır olduğuna göre, şimdi Magento dosyalarını indirip sunucumuza yerleştirebilir ve kurulum sürecini başlatabiliriz.
Veritabanı Oluşturma
Magento için özel bir veritabanı ve kullanıcı oluşturmamız gerekiyor. Bu, güvenlik ve yönetim kolaylığı açısından önemlidir.
mysql -u root -p
MySQL root parolanızı girin. Ardından aşağıdaki komutları çalıştırın (magento_db, magento_user ve your_password kısımlarını kendi tercihinize göre değiştirin):
CREATE DATABASE magento_db;
CREATE USER 'magento_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON magento_db.* TO 'magento_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Magento Dosyalarını İndirme ve Hazırlama
Bu rehber için Magento 1.9.4.5 sürümünü kullanacağız. Magento’nun resmi web sitesinden veya GitHub üzerinden edinebilirsiniz. Genellikle, Magento’nun eski sürümlerini doğrudan indirmeniz için bir hesap gereklidir. Örnek olarak, dosyayı sunucunuza indirdiğinizi varsayalım:
wget https://magento.mirror.garr.it/magento-releases/magento-1.9.4.5.zip
Zip dosyasını açmak için unzip paketini kurmanız gerekebilir:
sudo apt-get install unzip -y
Şimdi dosyayı açalım ve web sunucumuzun erişebileceği bir dizine taşıyalım. Örnek olarak /var/www/html/magento dizinini kullanacağız.
unzip magento-1.9.4.5.zip
sudo mv magento/* /var/www/html/magento/
sudo rm -rf magento magento-1.9.4.5.zip
Eğer /var/www/html/magento dizini yoksa, önce oluşturmanız gerekir:
sudo mkdir -p /var/www/html/magento
Dizin İzinlerini Ayarlama
Magento’nun düzgün çalışabilmesi için doğru dosya ve dizin izinlerine sahip olması çok önemlidir. Yanlış izinler, hatalara, yükleme sorunlarına ve güvenlik açıklarına yol açabilir.
sudo chown -R www-data:www-data /var/www/html/magento
sudo find /var/www/html/magento -type d -exec chmod 775 {} \;
sudo find /var/www/html/magento -type f -exec chmod 664 {} \;
Kurulum sırasında bazı dizinlerin (örneğin var, media) geçici olarak 777 iznine sahip olması gerekebilir. Kurulum tamamlandıktan sonra bunları tekrar güvenli izinlere (775) döndürmeyi unutmayın.
sudo chmod 777 /var/www/html/magento/var
sudo chmod 777 /var/www/html/magento/media
sudo chmod 777 /var/www/html/magento/app/etc
Apache Sanal Host (Virtual Host) Yapılandırması
Magento’yu kendi alan adınız veya IP adresiniz üzerinden erişilebilir kılmak için bir Apache sanal host yapılandırması oluşturmalıyız.
sudo nano /etc/apache2/sites-available/magento.conf
Aşağıdaki içeriği dosyaya yapıştırın. ServerName kısmını kendi alan adınızla veya sunucunuzun IP adresiyle değiştirin:
ServerAdmin webmaster@localhost
ServerName your_domain_or_IP
DocumentRoot /var/www/html/magento
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
Kaydedip çıktıktan sonra, bu sanal host’u etkinleştirin ve Apache’yi yeniden başlatın:
sudo a2ensite magento.conf
sudo service apache2 restart
Web Tabanlı Kurulum
Artık web tarayıcınızı açıp sunucunuzun IP adresine veya yapılandırdığınız alan adına giderek Magento kurulum sihirbazını başlatabilirsiniz (örneğin, http://your_domain_or_IP/).
- Lisans Anlaşması: Lisans anlaşmasını kabul edip devam edin.
- Yerelleştirme: Saat dilimi, para birimi ve dil ayarlarınızı yapın.
- Veritabanı Yapılandırması: Daha önce oluşturduğunuz veritabanı bilgilerini girin:
- Host:
localhost - Database Name:
magento_db - User Name:
magento_user - User Password:
your_password
- Host:
- Web Yapılandırması: Mağazanızın temel URL’sini ve yönetici paneli URL’sini kontrol edin.
- Yönetici Hesabı Oluşturma: Yönetici paneline giriş yapmak için kullanıcı adı, e-posta ve güçlü bir parola belirleyin.
- Şifreleme Anahtarı: Magento, oturumları ve parolaları şifrelemek için bir anahtar kullanır. Otomatik olarak oluşturulan anahtarı kullanabilir veya kendinizinkini girebilirsiniz. Bu anahtarı güvende tutun!
- Kuruluma Başla: Tüm bilgileri kontrol ettikten sonra kurulumu başlatın.
Kurulum tamamlandığında, yönetici paneli URL’sini ve şifreleme anahtarınızı içeren bir başarı mesajı göreceksiniz. Yönetici paneline giriş yaparak mağazanızı yapılandırmaya başlayabilirsiniz.
Kurulum Sonrası Ayarlar ve Optimizasyon
Magento kurulumu tamamlandıktan sonra, mağazanızın performansını, güvenliğini ve işlevselliğini artırmak için bazı ek adımlar atmanız önerilir.
Cron İşlerinin Ayarlanması
Magento, birçok arka plan görevini (örneğin, dizinleri yeniden indeksleme, e-posta gönderme, haber bültenleri, otomatik güncellemeler) cron işleri aracılığıyla yönetir. Bu işlerin düzgün çalışması için sunucunuzda cron işlerini ayarlamanız şarttır.
sudo crontab -u www-data -e
Açılan dosyaya aşağıdaki satırları ekleyin (Magento’nun kök dizinine göre yolu kontrol edin):
# Magento Cron Jobs
* /usr/bin/php5 /var/www/html/magento/cron.php > /dev/null 2>&1
* /usr/bin/php5 /var/www/html/magento/cron.sh > /dev/null 2>&1
Kaydedip çıktıktan sonra cron işleri otomatik olarak çalışmaya başlayacaktır.
Dizin İzinlerini Geri Ayarlama (Güvenlik Amaçlı)
Kurulum sırasında geçici olarak 777 izni verdiğimiz dizinleri daha güvenli bir hale getirmemiz gerekir:
sudo chmod 775 /var/www/html/magento/var
sudo chmod 775 /var/www/html/magento/media
sudo chmod 644 /var/www/html/magento/app/etc/local.xml
local.xml dosyası veritabanı kimlik bilgilerini içerdiği için 644 izniyle korunmalıdır.
Güvenlik Önerileri
- Yönetici URL’sini Değiştirin: Yönetici paneli URL’sini varsayılan
/adminyerine benzersiz bir şeyle değiştirerek botların ve kötü niyetli kişilerin tahmin etmesini zorlaştırın. Bunu Magento yönetici panelinden “System > Configuration > Admin > Admin Base URL” altında yapabilirsiniz. - Güçlü Parolalar: Tüm yönetici ve veritabanı parolalarınızın karmaşık ve güçlü olduğundan emin olun.
- Gereksiz Dosyaları Silme: Kurulum sonrası
downloaderveinstall.phpgibi dosyaları kaldırarak potansiyel güvenlik açıklarını azaltabilirsiniz. (Ancak downloader’ı güncellemeler için kullanacaksanız dikkatli olun). - SSL/TLS Kullanımı: Mağazanızın güvenliği için her zaman HTTPS kullanın. Let’s Encrypt gibi ücretsiz sertifika sağlayıcılarından yararlanabilirsiniz.
Önbellek (Cache) Yönetimi
Magento, performansı artırmak için yoğun bir şekilde önbellek kullanır. Yönetici panelinden “System > Cache Management” bölümünden önbelleği temizleyebilir veya devre dışı bırakabilirsiniz. Genellikle, bir değişiklik yaptıktan sonra önbelleği temizlemek, değişikliklerin anında görünmesini sağlar.
Sonuç ve Sıkça Sorulan Sorular (SSS)
Bu rehberde, Ubuntu 14.04 sunucusu üzerine Magento 1.x’i başarıyla kurmak ve temel yapılandırmalarını yapmak için gerekli tüm adımları detaylı bir şekilde ele aldık. Artık kendi e-ticaret mağazanızı yönetmeye ve özelleştirmeye başlayabilirsiniz. Unutmayın, Magento’nun performansı ve güvenliği için düzenli bakım, güncellemeler ve optimizasyonlar kritik öneme sahiptir.
Sıkça Sorulan Sorular (SSS)
S: Magento 1.x’in resmi desteği bitti mi?
C: Evet, Magento 1.x’in resmi desteği 30 Haziran 2020 tarihinde sona ermiştir. Bu, güvenlik güncellemeleri veya hata düzeltmeleri almayacağı anlamına gelir. Yeni projeler için Magento 2.x’i veya başka bir güncel e-ticaret platformunu kullanmanız şiddetle tavsiye edilir. Bu rehber, belirli eski sistemlerin bakımı veya öğrenme amaçlıdır.
S: Ubuntu 14.04 yerine daha yeni bir sürüm kullanabilir miyim?
C: Kesinlikle! Yeni projeler için Ubuntu 20.04 LTS veya 22.04 LTS gibi daha güncel sürümleri kullanmanız önerilir. Bu sürümler daha yeni PHP (7.4, 8.x) ve MySQL (8.x) sürümlerini destekler, bu da Magento 2.x için daha uygundur.
S: Kurulum sırasında 500 hatası alıyorum, ne yapmalıyım?
C: 500 Internal Server Error genellikle PHP yapılandırma sorunlarından, dosya izinlerinden veya Apache yapılandırmasındaki hatalardan kaynaklanır.
- Apache hata günlüklerini kontrol edin:
sudo tail -f /var/log/apache2/error.log - PHP bellek limitini (
memory_limit) artırdığınızdan emin olun. - Dosya ve dizin izinlerinin doğru olduğundan emin olun (özellikle
var,media,app/etcdizinleri).
S: Admin paneline erişemiyorum.
C: Şunları kontrol edin:
- Yönetici paneli URL’sinin doğru olduğundan emin olun (varsayılan:
http://your_domain_or_IP/admin). - Veritabanı bağlantısının doğru olduğundan emin olun (
app/etc/local.xml). - Önbelleği temizlemeyi deneyin (eğer SSH erişiminiz varsa
rm -rf /var/www/html/magento/var/cache/*). - Yönetici hesabınızın doğru kullanıcı adı ve parolaya sahip olduğundan emin olun.
S: PHP bellek limitini nasıl artırırım?
C: sudo nano /etc/php5/apache2/php.ini dosyasını açarak memory_limit satırını bulun ve istediğiniz değeri (örneğin, 512M veya 768M) girin. Değişiklikleri kaydettikten sonra Apache’yi yeniden başlatmayı unutmayın: sudo service apache2 restart.
