En basit ihtiyaçlarımızdan biri olan static web siteleri için günümüzde en çok tercih edilen yazılımın wordpress olduğunu hepimiz biliyoruz. Bu yazımda AWS üzerinden sunucu açıp, wordpress nasıl kurulur ve yapılandırılır örnek kodlar ile anlatacağım. Öncelikle bu konuda kullanacağım yapıyı sizlere birkaç cümle ile bahsedeyim. Öncelikle AWS’de ücretsiz olarak sunulan 1 GB Ram 1 vCPU özelliklerine sahip server oluşturup sonra da bu server üzerinde eksiksiz bir wordpress siteyi kurucağım. Tabi wordpress bir site için gerekli olan (apache2, php, mysql, phpmyadmin) bütün yazılımları da servera nasıl kuracağımızı kodları ile birlikte size sunacağım.
İlk olarak AWS üzerinde bir free tier hesap oluşturmamız gerekli.
https://aws.amazon.com
Free tier hesap oluştururken AWS bizden kredi kartı bilgilerimizi girmemizi istiyor fakat ücretli bir server kullanmadığımız sürece kartınızdan herhangi bir ödeme almıyor.
Free tier hesapta istediğiniz kadar 1 GB 1vCPU server açabiliriz fakat toplamda aylık 750 saat kullanım hakkına sahip oluruz.
Ufak bir hesap yaptığımızda 3 tane server çalıştırırsak 10 gün gibi bir sürede kullanım hakkımız dolmuş olur. ( 3 * 24 = 72 750 / 72 = 10.4 )
Artık hesap oluşturduğumuza göre birlikte 1 server hazırlayalım.
İlk olarak AWS Management Console’a gelin ve ekran görüntüsünde ki gibi “launch a virtual machine” seçeneğine tıklayalım.
1.Adımda karşımza gelen ekrandan Ubuntu Server 18.04 LTS server’ını select’e basarak seçiyoruz.
2.Adımda ücretsiz olarak kullanabileceğimiz t2.micro serverını seçiyoruz. Next: Configure Instance details ile bir sonraki adıma geçiyoruz
3.Adımda sayfada herhangi bir değişiklik yapmıyoruz. Next: Add Storage ile bir sonraki adıma geçiyoruz.
4.Adımda Server için disk ayarlıyoruz. Default 8GB değeri gelir wordpress için yeterli aslında fakat biz bu alanı 1024 GB a kadar yükseltebiliriz.Next: Add Tag ile bir sonraki adıma geçiyoruz.
5.Adımda AWS sisteminde sunucumuz için tag lar belirliyebiliriz. Ben sadece Name tagını belirledim.Next: Configure Security Group ile bir sonraki adıma geçiyoruz.
6.Adımda sunucumuzun açılacak tcp,udp portlarını belirliyoruz. Sunucuya erişim sağlayabilmemiz için 22 SSH portunu , WordPress içinde http:80 ve https:443 portlarını açıyoruz.Next: Review and Launch ile bir sonraki adıma geçiyoruz.
7.Adımda server’ı oluştururken seçtiğimiz bütün ayarların özet halini görüntülüyoruz ve ardından Launch a tıklayarak server’ımızın hazırlanmasını bekliyoruz. (1-2 dk içinde hazır olacaktır.)
Launch Dedikten sonra karşımıza sunucuya erişmemiz için key oluşturma ekranı geliyor. Key dosyamıza isim verdikten sonra download key pair’e tıklayarak key dosyaımızı bilgisayara indirelim.
Server’ımızı oluşturduk artık ssh üzerinden erişebiliriz. Ben ssh bağlantılarımı Mobaxterm programı ile yapıyorum sizde ücretsiz sürümünü kullanabilirsiniz.
SSH iler eriştikten sonra LAMP için kurulumlara başlayabiliriz.
1.Root kullanıcı olabilmek için bu kod satırını girelim.
sudo su
2.Apt komutlarıyla liste güncellemesi ve sonra paket güncellemesi yapıyoruz.
apt-get update && sudo apt-get upgrade -y
3.Web server olarak apache2 kuruyoruz
apt install apache2
4.Firewall ayar listesine bakalım
ufw app list
Karşımıza bu şekilde bir liste çıkacaktır
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
5.Apache Full Firewall ayarını seçiyoruz.
ufw allow in "Apache Full"
6.Server Wan IP’mizi kontrol edelim
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
7.Veritabını mysql kurulumunu yapalım.
apt install mysql-server
8.Php7.4 kurulumunu yapabilmek için repository ekleyeceğiz.
22.Websitemiz için gerekli dosyalarını içine atacabileceğimiz bir klasör oluşturacağız.Ben /var/www altında wordpressdev klasörünü oluşturdum siz kendinize göre değiştirebilirsiniz.
mkdir /var/www/wordpressdev
23.Apache virtual host conf dosyasını editlemek için apache dizinine gidelim.
cd /etc/apache2/sites-available/
24.Dizin altındaki 000-default.conf editleyelim.
Default conf dosyasının içeriği aşağıdaki gibi olmalıdır.Tabi DocumentRoot ve Directory deki klasör yolunu kendinize göre değiştirmeniz gerekiyor.
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/wordpressdev
ServerName wordpressdev
ServerAlias wordpressdev
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
25.Apache rewrite modülünü açalım.
a2enmod rewrite
26.Apache conf dosyamızı test edelim.
apache2ctl configtest
27.Apache2 servisini restart edelim.
systemctl restart apache2
28.phpMyadmin üzerinden wordpress için veritabanı açalım.phpMyadmin paneline girmek için http://Server_IP/phpmyadmin adresini kullanalım. Not: phpMyadmin’e kurulum yaparken belirlediğimiz root şifresi veya kendimiz için oluşturduğumuz kullanıcı ile girebilirsin. Bknz. Adım 17 ve 20. Login ekranından giriş yapın.
Veritabanları bölümüne gelelim ve yeni bir veritabanı oluşturalım.
Sonra oluşturduğunuz database’in içine girip kullanıcı yetkilerini ayarlayalım.
29.Artık wordpress dosyalarımızı indirip hazırlamaya başlayalım dosyaları tmp klasörüne indiricez orada gerekli editleri yapıcaz ve son olarak websitemiz için oluşturduğumuz klasöre kopyalayacağız dosyaları. WordPress son versiyonunu indirelim.
curl -O https://wordpress.org/latest.tar.gz
tar.gz dosyasını açalım.
tar xzvf latest.tar.gz
.htaccess dosyasını oluşturalım.
touch /tmp/wordpress/.htaccess
wp-config-sample.php adını wp-config.php olarak değiştirelim.
Artık son bir işimiz kaldı. WordPress wp-config.php dosyasını özelleştirip database ayarlarını ve wordpress key’i girip kuruluma hazır hale getireceğiz.
nano /var/www/wordpressdev/wp-config.php
Database alanlarını dolduralım Define ile başlayan keyleri de düzenlelim ve son olarak sayfanın en sonuna define('FS_METHOD', 'direct'); ekleyip kaydedelim. Kuruluma hazırız. http://Server_IP yazıp erişebiliriz.
HashiCorp Terraform, DevOps mühendislerinin bir uygulamanın çalışması için ihtiyaç duyduğu fiziksel kaynakları programlı olarak sağlamalarına olanak tanıyan, açık…