AWS'de Magento Nasıl Kurulur?
Magento'yu AWS'ye nasıl kuracağınızı mı arıyorsunuz?
Magento, e-Ticaret web siteleri için en popüler ve lider platformdur. TrustBuilt'e göre, yaklaşık 173 bin site Magento platformunu kullanıyor.
Magento, çok yönlülüğü ve güçlü performansı nedeniyle birçok e-ticaret geliştiricisinin ilk tercihidir. Mağaza sahiplerinin benzersiz çevrimiçi deneyim oluşturması, tasarlaması ve yönetmesi için sınırsız esneklik ve sonsuz ölçeklenebilirlik sunar.
Ancak çerçeve ölçeklenebilir ve güvenilirdir; Magento platformu aynı zamanda esnek ve ölçeklenebilir bir altyapı gerektirir.
Son derece esnek ve güvenli bir bulut bilişim çözümü arıyorsanız, çevrimiçi mağazanızı barındırmak için Amazon Web Services mükemmel bir çözüm bulacaksınız.
Neden Amazon Web Servisleri?
Magento açık kaynaklı bir platformdur ve paylaşılan barındırmada da çalışabilir.
Ancak, bir e-ticaret işine başlıyorsanız, güvenli ve güvenilir bir barındırma hizmetine sahip olmak akıllıca olacaktır. Paylaşılan barındırma ne güvenli ne de güvenilirdir.
Paylaşılan barındırmada bir e-ticaret mağazası başlatmak, yanlış atılan ilk adımdır.
Özel barındırma, kullanıcıların kaynaklar üzerinde tam kontrole sahip olduğu barındırmadır. Mağaza güvenilir ve güçlü bir destek alır. Bununla birlikte, şans düşüktür, ancak adanmış sunucuda bir şey olursa, e-ticaret mağazasının zarar görmesi gerekir.
Bu, bulut barındırma ile ilgili bir sorun değildir.
Bulut hosting ile hostinginiz görünmeyen bir hata ile karşılaşırsa, saniyeler içinde mevcut sitenizin site yedeği alınır. Site kaynakları, bulut barındırmada birkaç konumda yansıtılır ve kopyalar artıklık süresi boyunca kullanışlı olur.
AWS, bulut barındırma konusunda liderdir.
Bu nedenle, giderek daha fazla satıcı barındırma gereksinimleri için AWS'ye yöneliyor.
AWS Hosting'e Magento'nun nasıl kurulacağını görelim.
Süreç üç kısımdır:
- Sunucu Oluşturma, yani AWS'de bir örnek başlatma
- Magento için Ortamı Kurma, yani Barındırma yığını
- Magento'yu Yükleme
AWS'de Sunucu Oluşturma
AWS'de bir örnek başlatma
AWS'de bir bulut sunucusu başlatmak için aşağıdaki adımları izleyin.
İlk önce Amazon'da bir hesap oluşturmanız gerekir.
Şimdi AWS Management konsoluna gidin ve hesabınıza giriş yapın.

Aşağıdaki ekranı göreceksiniz:

Tüm Hizmetler altında EC2'yi seçin.
Bulamıyorsanız, Hizmetleri Bul kutusunda arayın.
Aşağıdaki ekranı yükleyecektir.

EC2 Dashboard'dan Örneği Başlat'a tıklayın. (Ayrıca sol paneldeki Örneklerden Örnekleri Görüntüleyebilir ve Başlatabilirsiniz.)
1. Adım: Bir Amazon Makine Görüntüsü (AMI) seçin
Burada, mevcut şablonlardan hangi İşletim Sistemini çalıştırmak istediğinizi seçebilirsiniz. (Red Hat Enterprise Linux 8 kullanacağız)

Tercih ettiğiniz işletim sistemini seçin.
Magento Linux üzerinde çalıştığı için Linux'u seçtik. Magento, Windows veya macOS'ta desteklenmez. Ve geliştiricilerin çoğu, Linux işletim sistemini daha kolay buluyor.
2. Adım: Bir Örnek Türü Seçin
Örnekler, farklı gereksinimlere uyacak şekilde çok çeşitli olarak sınıflandırılır. Üzerinde çalışmanız gereken örnek türünü seçebilir ve İleri'ye tıklayabilirsiniz.

Şimdi, t2 micro'yu alıyoruz (sadece 1 GB Ram ile), çünkü size işlemi göstermek için sadece Magento'yu kuruyoruz.
Bununla birlikte, bir e-ticaret mağazası işletmeyi planlıyorsanız, en az 2 GB RAM alın. Çünkü Magento 2 mağazasını çalıştırmanın minimum RAM gereksinimi budur.
“Örnek Ayrıntılarını Yapılandır”a tıklayın.
3. Adım: Örnek Ayrıntılarını Yapılandırın
Örneğinizi burada yapılandırabilirsiniz.
Makineden belirli bir gereksiniminiz olmadıkça, burada değiştirilecek bir şey olmadığından bu adımı atlayabiliriz.

Depolama Ekle'ye tıklayın, sonraki sayfa görünecektir.
4. Adım: Depolama Alanı Ekle

Bulut sunucunuzun depolama boyutunu yapılandırabilirsiniz.
10GB varsayılan değeri yeterli olduğu için olduğu gibi tutacağız ve ileri'ye tıklayacağız.
Adım 5: Etiketleri Ekleyin
Şimdilik herhangi bir etikete ihtiyacımız olmadığı için bu kısmı atlayabiliriz.
Güvenlik Gruplarını Yapılandır'a geçeceğiz.
6. Adım: Güvenlik Grubunu Yapılandırın
Güvenlik Grubu, trafiği kontrol etmek için AWS Konsolu ucundaki bir dizi güvenlik duvarı kuralıdır.
Uygulamanın çalışmasını sağlamak için ihtiyaç duyduğumuz her IP/PORT'un burada beyaz listeye alındığından emin olmanız gerekir.
Bir Magento Uygulamasını barındırdığımız için HTTP/HTTPS Bağlantıları için 80/443 numaralı bağlantı noktasına, SSH için 22 numaralı bağlantı noktasına ve MySQL için 3306 numaralı bağlantı noktasına ihtiyacımız olacak.

Bulut sunucunuzu başlatmadan önce incelemek için Gözden Geçir ve Başlat'a tıklayın.
7. Adım: Örnek Başlatmayı İnceleyin
Bir sonraki sayfada, Bulut Sunucunuzun ayrıntılarını tek bir sayfada göreceksiniz.
Başlatmadan önce bir anahtar çifti ayarlamanız gerekir.

Sizden bir anahtar çifti seçmenizi veya yenilerini oluşturmanızı isteyecektir. Bu, örneğinize SSH aracılığıyla erişmek için anahtara ihtiyaç duyduğunuz için kritik bir adımdır. Parola Kimlik Doğrulama, EC2 Bulut Sunucularında varsayılan olarak devre dışıdır ve yalnızca anahtar tabanlı kimlik doğrulamaya izin verilir.
Burada “WebMagento” adında yeni bir anahtar çifti oluşturduk ve anahtar çiftini indirdik ve Örnekleri Başlat'a tıkladık.
Şimdi, Örnekleri Görüntüle'ye geçebileceğiniz Başlatma Durumunu gösteren bir sayfa görebilmeniz gerekir.

Ardından, tüm bulut sunucularınızı görüntüleyebileceğiniz ve yönetebileceğiniz EC2 Dashboard'a yönlendirileceksiniz.
Instance'a SSH ile giriş yapmak için Instance'ı seçin.

Eylemler>Bağlan'a tıklayın ve açılır menüde sağlanan adımları izleyin.
Git bash kodunu kutudan kopyalayın ve kodu Git Bash'e yapıştırın.

Devam etmek isteyip istemediğinizi soracaktır. Y yazın ve gireceksiniz.
Bittiğinde, sunucunuzda olacaksınız.
Şimdi Magento platformu için sunucudaki ortamı ayarlamanız gerekiyor.
Barındırma Yığını Ayarlama
Artık bir instance oluşturduğumuza göre sunucuda Hosting Stack'i kurabiliriz.
Bunun için bir Web Sunucusuna(Nginx), Veritabanı Sunucusuna(MySQL) ve topluca Barındırma Yığını olarak adlandırılan PHP(7.2) ihtiyacımız var.
Aşağıdaki komutu kullanarak paketleri kurabilirsiniz.
$ yum install -y nginx mysql-server php php-bcmath php-cli php-common php-fpm php-gd php-intl php-json php-mbstring php-mysqlnd php-pdo php-pecl-zip php-soap php-xml
Not: PHP Uzantısı gereksinimleri burada mevcuttur.
#1 Nginx Web Sunucusunu Başlatın
# systemctl start nginx.service # systemctl enable nginx.service
Nginx'in çalışıp çalışmadığını Test etmek için AWS Bulut Sunucunuzun genel DNS'sini yüklemeyi deneyebilirsiniz (AWS>Ec2 Bulut Sunucuları>Açıklama bölümünde bulunur.
Aşağıdaki ekran görüntüsünde gösterildiği gibi bir web sayfası görebilmeniz gerekir.

Nginx'i yapılandırın
Aşağıdaki sunucu bloklarını /etc/nginx/nginx.conf içinde bulunan Nginx konfigürasyonuna eklememiz gerekiyor.
Sunucu bloğunu arayın ve aşağıdaki şablonla değiştirin.
server { ... ... }
İle değiştirin:
server { server_name webmagento.com www.webmagento.com; listen 80; root /usr/share/nginx/html; error_log /var/log/nginx/webmagento_error.log; access_log /var/log/nginx/webmagento_access.log; location / { index index.php; try_files $uri $uri/ /index.php?$args; } location ~ .php/ { try_files $uri =404; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME /index.php; fastcgi_pass 127.0.0.1:9000; } }
Yapılandırmayı doğrulayın ve Nginx Web sunucusunu yeniden başlatın.
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful # systemctl restart nginx.service
2. PHP-FPM'yi yapılandırın
PHP-FPM'nin nereye kurulu olduğunu bulmak için aşağıdaki komutu yürütün.
# rpm -ql php-fpm | grep php-fpm.d

php-fpm.d dizinine gidin ve varsayılan www.conf'u başka bir adla yeniden adlandırın.
# cd /etc/php-fpm.d # mv www.conf www.conf_sample
Daha sonra aşağıdaki şablonla yeni bir conf oluşturacağız.
# vi magento-php.conf [magento] listen = 127.0.0.1:9000 listen.allowed_clients = 127.0.0.1 user = nginx group = nginx ;The below values are related to the Process Manager governing PHP-FPM. pm = ondemand pm.process_idle_timeout = 10s pm.max_children = 10 pm.start_servers = 5 pm.min_spare_servers = 2 pm.max_spare_servers = 20 pm.max_requests = 1000 request_terminate_timeout = 3600s
php-fpm sürecini başlat
# systemctl start php-fpm
PHP-FPM'nin PHP dosyalarına hizmet edip etmediğini test etmek için bir phpinfo sayfası ekleyebilir ve ona tarayıcıdan erişmeyi deneyebiliriz.
# cd /usr/share/nginx/html # vi phpinfo.php
Aşağıdaki kodu ekleyin.
<?php phpinfo(); ?>
Şimdi URL/phpinfo.php alan adını kullanarak sayfaya erişin. Aşağıda gösterilene benzer bir bilgi sayfası görmelisiniz.

#3 MySQL Hizmetini başlatın ve yapılandırın
# systemctl start mysqld.service # systemctl enable mysqld.service # mysql_secure_installation
Şimdi istendiğinde, aşağıda gösterildiği gibi değerleri girin.
Kök için geçerli parolayı girin (hiçbiri için girin): Sadece Enter'a basın
Set root password? [Y/n]: Y New password: Enter password Re-enter new password: Repeat password Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
MySQL'i şimdi başarıyla yapılandırdınız.
MySQL'in çalışıp çalışmadığını test etmek için aşağıdaki komutu kullanarak Root olarak oturum açmayı deneyin.
# mysql -u root -p
İstendiğinde şifreyi girin.

Bir veritabanı, veritabanı kullanıcısı oluşturmamız ve ayrıcalıklar atamamız gerekiyor. MySQL'e kök kullanıcı olarak giriş yapın ve aşağıdaki komutları uygulayın.
create database webmagento; create user 'webmagento'@'localhost' identified by 'password'; grant all on webmagento.* to 'webmagento'@'localhost'; flush privileges; exit;
Şimdi yeni oluşturulan kullanıcı olarak oturum açarak oturum açmaları test edin.
mysql -u webmagento -p webmagento
Magento'yu yükleme
Barındırma yığınımızı kurup yapılandırdığımıza göre, Instance'ımıza Magento'yu kurmaya devam edebiliriz.
#1 Besteci Yükle
# curl -sS <https://getcomposer.org/installer> | sudo php -- --install-dir=/usr/bin --filename=composer
#2 Magento'yu İndir
# cd /usr/share/nginx/html # wget <https://github.com/magento/magento2/archive/2.3.5.tar.gz>
İçeriği ayıkla
# tar xvfz 2.3.5.tar.gz
İçeriği html dizinine taşıyın ve İzinleri Ayarlayın
# chown -R nginx.nginx . # find . -type f -exec chmod 644 {} \\; # find . -type d -exec chmod 755 {} \\; # find ./var -type d -exec chmod 777 {} \\; # find ./pub/media -type d -exec chmod 777 {} \\; # find ./pub/static -type d -exec chmod 777 {} \\; # chmod 777 ./app/etc; # chmod 644 ./app/etc/*.xml;
Magento'yu CLI'den yükleyin
Magento'yu CLI'den yüklemek için aşağıdaki komutu kullanın
# php /usr/bin/composer install

# bin/magento setup:install --base-url=http://webmagento.com \\ --db-host=localhost --db-name=webmagento --db-user=webmagento --db-password=password \\ --admin-firstname=Web --admin-lastname=Magento [email protected] \\ --admin-user=admin --admin-password=admin123 --language=en_US \\ --currency=USD --timezone=America/Chicago --use-rewrites=0

Yönetici URL'si oluşturulacak ve sonuçlarda görüntülenecektir.
# php bin/magento setup:di:compile

Magento'nun varsayılan yapılandırma dosyasını nginx.conf dosyasına ekleyin. Daha önce eklediğimiz sunucu bloğunun arasına nginx.conf'a aşağıdaki satırı ekleyin.
include /usr/share/nginx/html/nginx.conf.sample
Ardından Nginx web sunucusunu yeniden başlatın.
Artık Magento 2'yi AWS'ye başarıyla yükledik.
Artık URL'yi kullanarak web sayfasına ve URL/<admin URL>'yi kullanarak Yönetici sayfasına erişebilirsiniz.


Bitti. Magento mağazanız hazır ve platformu özelleştirmeye başlayabilirsiniz.
Magento'yu AWS'ye kurmanın kolay bir yolu var mı?
Evet var.
Yönetilen AWS Hosting Almak bundan çok daha rahat ve değerlidir.
Her şeyden önce, sunucuya yalnızca Magento'yu kurdunuz.
Magento barındırma görevleri henüz bitmedi.
Güncellemeler olacak, iki haftada bir yayınlanacak. Bazen PHP veya MySQL veya hatta Magento'nun kendisi. Yakında Magento'nun barındırılmasını yönetmek için daha fazla zaman harcadığınızı göreceksiniz.
İşletmenizi ölçeklendirmek için kullanmanız gereken zaman, günlük barındırma görevlerinde boşa gidecektir.
Şu anda Sunucuya yalnızca boş Magento platformunu kurduk.
Gelen trafiği olan bir çevrimiçi mağaza kurmayı düşünün. Mağazayı veya yığını güncellemek, doğru şekilde yapılmazsa mağazanızı çökertebilir.
Ayrıca Magento mağazasının yükleme hızını artıran pek çok ayar ve optimizasyon tekniğinden bahsetmedik. Henüz herhangi bir güvenlik uygulaması ve güvenlik duvarı yüklemedik.
AWS barındırmada hala yapılacak çok şey var. Her gün yeni bir sorun türüyle karşılaşacaksınız.
Bu nedenle tüccarlar, yönetilen AWS barındırma hizmetine geçer.
ServerGuy, AWS Hosting'inizi yönetecek ve mağazayı ücretsiz olarak taşıyacağız.
ServerGuy'un Yönetilen AWS Barındırma Avantajı
ölçeklenebilirlik
Ani bir trafik artışı durumunda kaynakları hızla artıracağız. Siteniz, yönetilen AWS barındırma hizmetimiz kapsamında asla kapanmaz.
Yönetilen Sunucu Güvenliği
AWS güvenliğinin yanı sıra mağazanız, güvenlik duvarlarını ve ServerGuy'dan korumayı alacaktır.
Ekibimiz sunucuları proaktif olarak izler ve müşterileri her türlü web tehdidinden ve spam saldırısından korur.
Uygun Maliyetli
AWS'nin size sitenizin tükettiğinden daha fazlasını fatura etmesine asla izin vermeyeceğiz. ServerGuy tarafından yönetilen AWS barındırma ile yalnızca mağazanızın kullandığı kaynaklar için ödeme yaparsınız.
Bir müşterimizin AWS faturasını nasıl %25 oranında azalttığımızı okuyabilirsiniz.
Sorunsuz Destek
15 dakikalık yanıt süresini sağlıyoruz. Teknik desteğimiz, canlı sohbet ve bilet sistemi aracılığıyla 7/24/365 mevcuttur.
Son sözler
Magento'yu AWS'ye kendi başınıza kurmak istiyorsanız gönderideki adımları izleyin.
Ya da siz teknik şeyler yerine işinize odaklanırken bunu uzmanın sizin için yapmasına izin verebilirsiniz.
ev borcu WordPress sitesi