Öncelikle kayıt olmanız gerekiyor. Buraya tıklayıp (referans bağlantıdır. Bu bağlantıdan kayıt olmanız halinde 10 Dolar hediye kazanıcaksınız) kayıt olduktan sonra üst sağ taraftaki “Create Droplet” butonuna tıklayın.
Apache’ye göre daha yüksek bir performans sağlayan nginx’i kullanacağız. Nginx’i kuralım:
sudo apt-get update
sudo apt-get install nginx
Damlacığınızın ip adresini adres çubuğuna girerseniz nginx’in landing sayfasını görebilirsiniz.
Sıra mysql’a geldi. Kurulum sırasında root için parola koymanızı isteyecek. Bu parolayı bir yere not edin. Kurulum bittikten sonra mysql’u aktif hale getirelim.
sudo apt-get install mysql-server
Şimdi ise aşağıdaki komut ile kurulumu tamamlayalım. Parola istediğinde root parolanızı girin. Parolayı değiştirmenizi isteyip istemediğinizi soracak . N cevabını verin. Diğer sorduğu şeylere Y yanıtı verebilirsiniz. (Yanıtlardan sonra ENTER’a tıklayın)
sudo mysql_secure_installation
Şimdi ise PHP’yi yükleyelim.
sudo apt-get install php5-fpm php5-mysql
Küçük bir yapılandırma ayarını değiştirmemiz gerekiyor. Bu gereklilik güvenlik amacıyla.
sudo nano /etc/php5/fpm/php.ini
cgi.fix_pathinfo değerini “0” durumuna getirin. Varsayılan olarak “1”dir. (altlarda biraz)
cgi.fix_pathinfo=0
kaydedip çıkın. Yükleme işlemleri bu kadardı. Son olarak tekrar başlatalım:
sudo service php5-fpm restart
Şimdi bizim php yapılanmasına uygun nginx varsayılan dosyası üzerinde tanıtalım.
sudo nano /etc/nginx/sites-available/default
Varsayılan şu şekildedir.
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
}
hepsini silip aşağıdakini direk kopyalayabilir veya sadece değişiklikleri ve eklemeleri yapabilirsiniz.
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
server_name server_domain_adi_veya_IP;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server_domain_adi_veya_IP kısmına domaininizi sunucu ile bağladıysanız domain adınızı eğer bağlı değil ise sunucumuzun ip adresini bu alana yazın.
Şimdi ise değişiklerin işleme girmesi için nginx’e restart atalım.
sudo service nginx restart
Şimdi ise php yapılandırmamızı test etmeye geldi.
sudo nano /usr/share/nginx/html/info.php
aşağıdaki kodu ekleyip kaydedip çıkın:
phpinfo();
?>
Daha sonra adres çubuğuna şu adresi yazın:
http://server_domain_adi_veya_IP/info.php
Sonuç şu şekilde olmalıdır:
Php yapılanmasının nginx üzerinde düzgün bir şekilde çalıştığını teyit ettik. Şimdi oluşturduğumuz bu php dosyasını silelim
sudo rm /usr/share/nginx/html/info.php
Artık yavaş yavaş wordpress’e yaklaşıyoruz. Öncelikli işimiz veritabanımızı oluşturmak olucak. Daha sonra wordpress’i kurup adımları daha da ileri taşıcaz.
mysql root olarak giriş yapalım
mysql -u root -p
Root parolasını daha önce girmiştik. O parolayı giriniz. Şimdi veritabanı oluşturalım. Veritabanına isim verelim
CREATE DATABASE veritabani;
Şimdi bu veritabanı için yetkili bir kullanıcı oluşturalım
CREATE USER veritabanikullanici@localhost IDENTIFIED BY 'parola';
Bağlama işlemini de gerçekleştirelim. Yetki verme işlemini yapalım.
GRANT ALL PRIVILEGES ON veritabani.* TO veritabanikullanici@localhost
Şimdi bu değişikleri mysql üzerinde aktif hale getirmek için gerekli komutu girelim
FLUSH PRIVILEGES;
Bu bilgileri kenara not aldık. mysql’dan çıkış yapalım.
exit
Wordpress kurulumunu yapacağız şimdi.
cd ~
wget http://wordpress.org/latest.tar.gz
çıkarma işlemini yapalım
tar xzvf latest.tar.gz
şimdi paketleri güncelleyelim ve gerekli olan 2 paketi yükleyelim
sudo apt-get update
sudo apt-get install php5-gd libssh2-php
sıra wordpress’e sql’umuzu tanıtmaya geldi. (önce dosyaya gidelim)
cd ~/wordpress
gerekli dosyamızı yaratalım (kopyalamak)
cp wp-config-sample.php wp-config.php
wp-config.php dosyamıza girelim
nano wp-config.php
aslında burada nereyi düzenleyeceğinizi biliyorsunuz
. . .
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'veritabanı');
/** MySQL database username */
define('DB_USER', 'veritabanikullanici');
/** MySQL database password */
define('DB_PASSWORD', 'parola');
. . .
Kaydet ve çık.
Bu wordpress klasörü böyle kalmayacak yani burada kalmayacak. Gerekli klasörü oluşturalım
sudo mkdir -p /var/www/html/HTML]
dosyalarımızı oluşturduğumuz yola kopyalayalım
[HTML]sudo rsync -avP ~/wordpress/ /var/www/html/
Şimdi ise bu yola bir kullanıcıya erişim verelim. Root olarak kullanmak riskli olabilir. Bunun için önce bir kullanıcı oluşturmalısınız.
adduser demo
sudo chown -R demo:www-data /var/www/html/*
demo yerine kendiniz bir kullanıcı adı seçebilirsiniz.
Şimdi ise uploads klasörü oluşturup ona gerekli izinleri verelim. (aşağıdaki işlemleri doğru bir biçimde olması için /var/www/html/ yolunda olduğunuzdan emin olun.
mkdir wp-content/uploads
sudo chown -R :www-data /var/www/html/wp-content/uploads
Şimdi nginx ayarlarımızı yapacağız. Default ayarlarını daha önce yapılandırmıştık. O ayarları model alıcaz.
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/wordpress
(dilerseniz default olarak ayarladığımız yapılanmayı kopyalamak yerine aşağıda vereceğim örneği doğrudan kullanabilirsiniz)
Değişikliklerimizi yapalım
sudo nano /etc/nginx/sites-available/wordpress
Yapılacak değişikleri aşağıdaki örneğe göre model alabilirsiniz veya dediğim gibi default'u model almayıp aşağıdakini doğrudan kopyalayıp aktarıp site adı kısmını düzenleyebilirsiniz. Eğer kopyaladıysanız tamamını silip ekleyebilirsiniz.
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www/html;
index index.php index.html index.htm;
server_name senin_domain.com;
location / {
# try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
Değişiklikleri aktif hale getirelim (bağlama işlemi)
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
eski default ayarlarını sites-enabled kısmından kaldırmamız gerekiyor. Daha sonra karmaşa oluşabilir.
sudo rm /etc/nginx/sites-enabled/default
Şimdi işleme geçmesi için gerekli restart’ları gerçekleştirelim
sudo service nginx restart
sudo service php5-fpm restart
Artık domain adınızı adres çubuğuna girip yükleme işlemini gerçekleştirebilirsiniz. Bu ekranı hepiniz biliyorsunuzdur zaten. Admin kullanıcı adı parolası email adresi gibi bilgilerin girildiği kısım.
Kurulum işlemi bitti!
Kaynak: Detaylı olarak WordPress Kurulumu (nginx)