Genel Linux

Ubuntu Servere Xampp Kurulumu

Ubuntu server üzerinde Xampp kurulumu yapacağız, aslında normalde linux üzerinde hep apache kurup üstüne mysql, php ve ftp kuracak şekilde ilerlerdik ama bu sefer tüm paketleri içinde barından ve bana göre stabil bir sitem olan  Ubuntu servere xampp kurulumu yaparak php, mysql, ftp, phpmyadmin gibi tüm servisleri çalıştıracağız.

Kurulum

Kuruluma geçemeden önce sunucunun tüm güncellemelerini tamamladıktan sonra kurulum aşamasına geçeceğiz.

Hazırlık

Sunucuda gerekli güncellemeleri yapmak için ubdate ve upgrade komutlarrını çalıştırınız, ilk önce sudo su ile root yetkisi alıyoruz.

sudo su
apt-get update && apt-get upgrade

Update ve upgrade işlemleri tamamlandıktan sonra reboot diyerek sunucumuzu yeniden başlatalım.

Sunucumuzu reboot edip sunucumuza eriştikten sonra gerekli xampp sürümünü indirelim.




Xampp resmi sitesinden https://www.apachefriends.org/download.html istediğiniz sürümünü indirelim. Herhangi bir sürümü seçip bağlantı adresini kopyalayıp ssh panelden wget yardımı ile kurulum dosyasını sunucumuza çekiyoruz.

Dosya adresini kopyaladık.

wget https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/8.2.4/xampp-linux-x64-8.2.4-0-installer.run

Komutu yardımı ile xampp kurulum dosyasını sunucumuza çektik.

Önce indirdiğimiz xampp kurulum dosyasına gerekli yetkileri verip kurulumu başlatıyoruz, gelen uyarı ekranlarına Y diyerek onaylayınız.

chmod 755 xampp-linux-x64-8.2.4-0-installer.run
./xampp-linux-x64-8.2.4-0-installer.run

Ubuntu Servere Xampp Kurulumu sunucunuzun özelliklerine göre biraz zaman alabilir, kurulum bitene kadar bekliyoruz. Kurulum tamamlandıktan sonra xampp servisini çalıştıralım.

/opt/lampp/lampp start

Ubuntu serverde xamp kurulumu tamamladık, ve servisi aktif ettik, kontrol edelim, sunucumuza erişebilecek miyiz? Bu arada 443 ve 80 portlarını açmanız gerekmektedir, güvenlik duvarı kullanıyorsanız.

80 portu ile sunucumuza erişim sağladık, şimdi phpmyadmin erişmek için gerekli izinleri ayarlayalım.

Phpmyadmine girmeye çalışınca yukardaki gibi bir hata aldık, şimdi gerekli config dosyasını düzenleyelim.

 nano /opt/lampp/etc/extra/httpd-xampp.conf

Require local yazan kısmı Require all granted olarak değiştiriniz kaydedin ve ardından xampp reset edelim.

/opt/lampp/lampp restart

Resetledikten sonra tekrar phpmyadmine girmeye çalışalım direk açılacaktır, şimdi güvenlik ayarlarını yapalım.

/opt/lampp/xampp security

Son olarak tekrar xampp resetleyelim ve tekrar phpmyadmine erişince belirlediğimiz root şifresi ile girebileceğiz.

/opt/lampp/lampp restart

Adres satırına https://sunucuipadresi/phpmyadmin/ girdiğimizde şifre giriş ekranı karşıladığını göreceksiniz.

Bu aşamaya kadar ubuntu servere xampp kurulumunu gerçekleştirdik, mysql ve phpmyadmin için gerekli güvenlik ayarlarını yaptık, şimdi host oluşturup web sitemizi xampp sunucumuza yönlendireceğiz, ardından ssl sertifikası tanımlayıp adresimizi güvenli hale getireceğiz.



Xampp Vhost İşlemleri

Bu aşamada sunucuo.zulfumehmet.com domain adresimizi bu sunucumuza yönlendirerek işlemlere başlıyoruz.

Host Oluşturma

Dosyalarımızı barındırmak için /opt/lampp/htdocs dizini altında bir klasör oluşturalım

mkdir /opt/lampp/htdocs/sunucuo.zulfumehmet.com

Klasörümüzü oluşturduk log ve erişim için iki farklı klasör daha oluşturalım

mkdir /opt/lampp/htdocs/sunucuo.zulfumehmet.com/html

mkdir /opt/lampp/htdocs/sunucuo.zulfumehmet.com/log
/opt/lampp/htdocs/sunucuo.zulfumehmet.com/html /opt/lampp/htdocs/sunucuo.zulfumehmet.com/log Bu iki yolu kaydedelim, ilerde vhost aşamasında lazım olacaktır.

/opt/lampp/htdocs/sunucuo.zulfumehmet.com/html dizinini içinde bir adet index.html dosyası oluşturalım.

echo "sunucuo.zulfumehmet.com" > /opt/lampp/htdocs/sunucuo.zulfumehmet.com/html/index.html

Vhostu aktif edelim aşağıdaki komut yardımı ile,

nano /opt/lampp/etc/httpd.conf

#Include etc/extra/httpd-vhosts.conf başındaki # (sharp) simgeyi kaldırınız, dosyayı kaydedip çıkınız.

Domaini tanımlamak için aşağıdaki komutu kullanarak httpd-vhosts.conf dosyasını düzenleyelim

nano /opt/lampp/etc/extra/httpd-vhosts.conf

<VirtualHost *:80>
ServerAdmin sunucuo.zulfumehmet.com
DocumentRoot "/opt/lampp/htdocs/sunucuo.zulfumehmet.com/html"
ServerName sunucuo.zulfumehmet.com
ServerAlias sunucuo.zulfumehmet.com
ErrorLog "/opt/lampp/htdocs/sunucuo.zulfumehmet.com/log/error_log"
CustomLog "/opt/lampp/htdocs/sunucuo.zulfumehmet.com/log/access_log" common
</VirtualHost>

Kendi yapınıza göre kayıtları düzenleyiniz. Dosya yolu olarak yukarda not aldığımız dosya yolunu kullanacağınızı unutmayınız. Dosyayı kaydedip çıktından sonra xampp resetleyelim.

/opt/lampp/lampp restart

Tarayıcıdan sunucuo.zulfumehmet.com yazdığımızda web sitemize erişmemiz gerekmektedir.

Ubuntu Servere Xampp kurulumu yaptık ve host ekleme işlemini de tamamladık, sıradaki işlemimiz https erişimini aktif etmek olacaktır.

SSL Yükleme ve HTTPS aktif etmek

Cerbot kullanarak Let’s Encrypt den domain adresimiz için alınacak sertifikayı hostumuza tanımlayacağız.

Https protokolü 443 portundan çalıştığı için güvenlik duvarı kullanıyorsanız 443 portunu açmayı unutmayınız.

Cerbot kurulumu için gerekli paketleri kuralım

sudo snap install core; sudo snap refresh core

Yüklü eski sürüm bir cerbot varsa kaldıralım

sudo apt remove certbot

Cerbot kurlumuna geçelim

sudo snap install --classic certbot

Yoolumuzu bağlayalım

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Kurulumu tamam şimdi sertifikamızı oluşturalım. İlk önce xampp durduralım ve ardından sertifikamızı oluşturalım

/opt/lampp/lampp stop

Sertifikamızı oluşturalım

sudo certbot certonly --standalone -d sunucuo.zulfumehmet.com

Yukardaki şekilde cevapladıktan sonra verilen sertfika yolunu bir yere not alalım ve xampp çalıştıralım.

/opt/lampp/lampp start

Sertifikaları hostumuza tanımlamak için aşağıdaki komutu giriniz.

nano /opt/lampp/etc/extra/httpd-ssl.conf

Sayfanın en altına gelip aşağıdaki kodları kendinize göre yapılandırıp giriniz.,

<VirtualHost *:443>
ServerAdmin sunucuo.zulfumehmet.com
DocumentRoot "/opt/lampp/htdocs/sunucuo.zulfumehmet.com/html"
ServerName sunucuo.zulfumehmet.com
ServerAlias sunucuo.zulfumehmet.com
ErrorLog "/opt/lampp/htdocs/sunucuo.zulfumehmet.com/log/error_log"
CustomLog "/opt/lampp/htdocs/sunucuo.zulfumehmet.com/log/access_log" common
SSLEngine on
SSLCertificateFile "/etc/letsencrypt/live/sunucuo.zulfumehmet.com/fullchain.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/sunucuo.zulfumehmet.com/privkey.pem"
</VirtualHost>

Yukardaki şekilde kendinize göre düzenleyip kaydedip çıkınız. Ardından xampp resetleyelim.

/opt/lampp/lampp restart

Siteye https protokolü ile erişmeye çalışalım.

Gördüğünüz gibi sitemiz güvenli ve sertifikamız tanımlı.



Sertifika Yenileme İşlemi

Oluşturduğumuz sertifika 90 gün geçerli olacağı için biz bunu otomatik olarak nasıl yenilebiliriz. Son adımda bu konuya değineceğiz. Aşağıdaki komut yardımı ile domainimizi yenilemek için tanımlayalım

nano /etc/letsencrypt/renewal/sunucuo.zulfumehmet.com.conf

En alt satıra aşağıdaki komutu ekleyiniz.

renew_hook = systemctl reload your_service

Kaydedip çıkalım.

Şimdi test edelim.

 /opt/lampp/lampp stop &amp;&amp; certbot renew --dry-run &amp;&amp; /opt/lampp/lampp start

Yeni sertifikalarımız oluştu, şimdi yukarda girdiğimiz komutu 3 ayda bir otomatik çalışacak şekilde cronjob servisine ekleyelim. Cron görev litesini açmak için aşağıdaki komutu giriniz.

crontab -e

Açılan sayfanın en altına şu kuralı ekleyelim.

 /opt/lampp/lampp stop && certbot renew --dry-run && /opt/lampp/lampp start

Bu şekilde 3 ayda bir çalışacak olan komutumuz önce xampp servisini durduracak, sertifikaları yenileyip geri xampp servisini aktif edecektir.

FTP Yapılanması

Dosya upload etmek, silmek ve düzenlemek için ftp aracılığı ile bağlantı kuracağız, bunun için ftp yapılanmasını yapalım.

Ftp ile erişim sağlamak için güvenlik duvarından 21 portunu açmanız gerekmektedir.

İlk olarak ftp adında bir grup oluşturalım.

groupadd ftp

Ftp için bir zmehmet adında bir kullanıcı oluşturalım.

useradd zmehmet

Kullanıcıya bir şifre tanımlayalım

passwd zmehmet

Oluşturduğumuz zmehmet kullanıcısını ftp grubuna alalım,

usermod -a -G ftp zmehmet

Klasörümüzü eşleştirelim

chow zmehmet.ftp /opt/lampp/htdocs/sunucuo.zulfumehmet.com/html

chmod 775 /opt/lampp/htdocs/sunucuo.zulfumehmet.com/html 

Ardından xampp reboot edelim.

/opt/lampp/lampp restart

Ftp bağlantımızı sağlayalım

Ftp bağlantımızı da oluşturduk.

Değineceklerim bu kadar, tüm aşamaları tek tek yaparak anlatmaya çalıştım, takıldığınız yerleri yorum kısmına yazarsanız yardımcı olmaya çalışacağım.

https://tr.wikipedia.org/wiki/Cron

https://tr.wikipedia.org/wiki/Let%27s_Encrypt

Linux Sistemlerde Cron

 

Yorum Yaz

*E-mail adresiniz gizli kalacaktır.

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

Öneriler

Yeni Makaleler