LEMP WordPress – Linux, Nginx, MySQL, PHP-FPM ve Wordress Kurulumu

 

Centos 6 sunucusu üzerine LEMP Kurulumu, yani Linux, Nginx, MySQL, PHP-FPM kurup WordPress ile calisan bir web sitesi yaynlayacağım.  Kurulum ve ayarları cogunluka bash script ile yapiyor olacağız. Bu script i biraz daha degistirip Centos 7 veya Ubuntu versiyonlarını tanıyarak otomatik olarak calistirmasını saglayacak sekilde ayarlıyor olacağım…
VPS, Vagrant yada sanal bir centos6 tabanlı bir linux uzerinde aşagıdaki bash script kopyalayıp calistiracağız. Acıklamaları inceledigimizde sırası ile en guncel uygulamarı kurma adına epel reposunu kuruyoruz. Sonrasında vim editorunu, monitoring yapabilma adına htop ve wget gibi uygulamarı kuruyoruz.  Mysq, php-fpm, nginx kurulumlarını yapip bunların sunucu yeniden basladıgında otomatik olarak acılmasını ayarlıyoruz. Php ve nginx conf dosyalarını degistiriyoruz. WordPress kurulumu icin wordpress-cli kurup ayarlarını yapiyoruz.  WordPress ‘i kuracagımız dosya dizinini acip gerekli yetkileri tanımlıyoruz. Guvenlik icin root yekisine sahip bir kullanıcı acip fa2ban kurup nginx ayarlarını yapiyoruz. ssh portunu degistirip iptables  ayarlarını yapip tum servisleri yeniden baslatiyoruz. Bu servisleri yeniden baslattıgımızda iptables aktif olacagindan sunucu uzerindeki baglantımız kopacaktır.  Ssh portunu degistirdigimizden ssh -p 4422 root@sunucu-ip ile giris yapmamız gerekiyor.  Giris yapamıyorsak daha onceden girdigimiz fingerprint ‘i siliyoruz. Bir sorun olması durumunda ssh 22 portunu iptables yer verdim.  Bu portu degistirebiliriz.
Kurulum sonrasi mysql ayarları ve yeni bir database acip wp-cli ile wordpress kurulumu yapacağız. Kurulum sonrasi nginx conf dosyasını duzenleyip guvenlik icin dosya ve klasor yetkileri, izinleri ve sahiplikleri degistireceğiz.
Ayrıca aynı sunucu uzerinde ikinci bir wordpress sitesi acip nginx conflarını ayarlayacağız. Burda olusturulan klasor isimleri web site, database user gibi bilgileri kendinize ozel olarak degistirebilirsiniz.

Gerekli servis ve uygulamar kurulduktan sonra mysq ayarları icin mysql_secure_installation calistiriyoruz. Karsımıza sırası ile mysql icin root sifresi belirleyip belirlememiz icin bir secenek sunuyor. “set root password”  y harfine basıp devam ediyoruz. Diğer secenekleride yes olarak secip mysq secure kurulumunu tamamlıyoruz.

[root@ibrahimakcay ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
… Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
… Success!

By default, MySQL comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

[root@ibrahimakcay ~]#

Simdi mysql de database olusturup kullanıcı tanımları ve yetkilerini vermek icin

mysql -u root -p

CREATE DATABASE iakcaydb111; GRANT ALL PRIVILEGES ON iakcaydb111.* TO ‘iakcayuser111’@’localhost’ IDENTIFIED BY ‘Password!’; FLUSH PRIVILEGES;quit;

Database yetkiler verildikten sonra wordpress kuracagimiz dizine gidiyoruz.

cd /var/www/ibrahimakcay.net/public_html

Wp-CLI yuklu oldugundan emin olalım eger yuklemede bir sorun yasanmıs ise Adım 8 tekrarlayabiliriz.

wp-cli

wp-cli basarili bir sekilde yuklenmis ise asagıdaki komutu calisitirp wordpress kurulumunu yapiyoruz.

wp core download && wp core config –dbname=iakcaydb111 –dbuser=iakcayuser111 –dbpass=Password! –dbprefix=ia2_ && wp core install –url=http://ibrahimakcay.net –title=”Siteme Hos Geldiniz” –admin_user=wpiakcay111 –admin_password=wpPassword! –admin_email=ibrahimakcay.net

Kurulum sonrası klasor ve dosyların sahiplikleri ve izinlerini tekrarlayoruz.

mv /var/www/ibrahimakcay.net/public_html/wp-config.php /var/www/ibrahimakcay.net/
chown -R nginx:nginx /var/www/ibrahimakcay.net
find /var/www/ibrahimakcay.net/ -type d -exec chmod 775 {} \; && find /var/www/ibrahimakcay.net -type f -exec chmod 664 {} \;
sudo chmod 660 var/www/ibrahimakcay.net/wp-config.php
sudo cat >> /var/www/ibrahimakcay.net/wp-config.php <<-‘EOF’
/** Allow Direct Updating Without FTP */
define(‘FS_METHOD’, ‘direct’);
EOF

Tum adımları basarili bir sekilde yaptı isek asagidaki komut ile nginx servisinin sorunsuz calismasını bekliyoruz. Eger bir sorun varsa hatada hangi dosyada hangi satırda oldugunu gosterecektir.  Sonrasında nginx servisini restart edip siteye giriş yapiyoruz.
Eğer alan adınız kayıtlı degil ise kendi cihazınızın hosts dosyasına bu ip adresini ekleyerek web sitenize giris yapabilirsiniz.

nginx -t
/etc/init.d/nginx restart

Deneme amaclı websitemize girip guncelleyip yeni bir tema dahi indirdik.  Birden fazla web siteside barındırmanız mümkün. Sadece yeni bir database acarak islemleri tekrarlayabilirsiniz. Tabiki dizinler farkli olacaktır.

Aynı sunucu uzerinde farklı bir wordpress sitesi barındıra biliriz. Hatta sunucu kaynakları yeterli ise daha fazla web sitesi barindirilabilir.

mysql -u root -p

Kurulumu hızlıca tamamlama adına akcay.sh olusturup calistiriyoruz.
sh akcay.sh

 

About

Yeniliklere ve gelişime aç...

View all posts by

Bir cevap yazın