Kullanıcı Aletleri

Site Aletleri


tr:cs:op:bsd:localhost

Yerel Sunucu Kurulumu

Kuracağımız sunucu için elbette bir cihaza ihtiyacımız var, ciddi miktarlar verip kule sunucu satın almak saçma olacaktır. Bu yüzden eski bir laptop kullanıcaz. Ben eski dizüstü bilgisayarımı bu iş için kullanıyorum. Kuracağımız sunucu dış ağa açık olmayacak, ancak isterseniz bunu sağlayabilirsiniz. Bunun için statik IP' ye sahip olmanız gerekmekte. Çoğu ISP firması kabul edilebilir ücretler karşılığında statik IP hizmeti vermekte. Dilerseniz bu hizmetleri satın alarak ufak birkaç ayarla yazımda anlatacağım bilgileri kullanarak dışarıdan erişim sağlayabilirsiniz. Bu yazımda bu konu hakkında bilgi vermeyeceğim. Öğrenmek isterseniz, TCP bağlantılarını Modeminiz üzerinden kuracağımız bu sunucuya yönlendirmeniz gerekmektedir.

FreeBSD Kurulumu

İlk olarak FreeBSD sitesinden istenilen versiyonun yükleme paketi indirilir.

Bilmemiz gerekenler; kurulum yapacağımız cihazın işlemci mimarisi. Ben eski bir laptop'a kuracağımdan ve 32 bit bir intel işlemciye sahip olduğundan. i386 seçiyorum. Eğer 64 bit bir cihaza kurulum yapılacaksa amd64 seçilmelidir. Arm işlemciler mac bilgisayarlarda kullanılmakta. Diğerleri için [Desteklenen platformlar sayfasına](https://www.freebsd.org/platforms/#_supported_platforms) bakılabilir.

Mimariyi seçtikten sonra FTP sayfasına gidilir ve yükleme seçeneğine göre seçim yapılrı. Her zaman RELEASE sürümü kurulmalıdır.

Ben https://download.freebsd.org/releases/i386/i386/ISO-IMAGES/13.1/ sayfasını kullanacağım. Bu yazıyı yazarken en güncel sürüm bu olduğundan.

  • FreeBSD-versiyonvemimari-bootonly.iso
    • Bu sadece boot aşaması için gerekli dosyaları içeren arşivdir. Bizi sadece network ayarlarına kadar götürür daha sonra gerekli dosyalar internetten indirilerek yükleme yapılır.
  • FreeBSD-versiyonvemimari-bootonly.iso.xz
    • Yukarıdaki dosyanın arşivlenerek sıkıştırılmış halidir. Esasen aynı dosyalardır.
  • FreeBSD-versiyonvemimari-disc1.iso
    • Eğer CD kullanarak yükleme yapacaksak kullanmamız gereken imaj dosyasıdır. İmaj bir CD'ye yazıldıktan sonra kuruluma geçilir.
  • FreeBSD-versiyonvemimari-disc1.iso.xz
    • Yukarıdaki dosyanın arşivlenerek sıkıştırılmış halidir.
  • FreeBSD-versiyonvemimari-dvd1.iso
    • DVD kullanarak yükleme yapacaksak kullanılabilecek imaj dosyasıdır. CD versiyonundan farklı olarka ekstra dosyalarıda içerir. İnternet bağlantısına gerek kalmadan temel bir kurulum yapılmasına olanak sağlar.
  • FreeBSD-versiyonvemimari-dvd1.iso.xz
    • Aynı şekilde boyuttan kazanmak için sıkıştırılmış hali. İndirdikten sonra herhangi bir arşivleme programı ile açmak gerekir.
  • FreeBSD-versiyonvemimari-memstick.img
    • Flash Disket kullanarak kurulum yapılacaksa kullanılması gereken imajdır. Rufus benzeri programlarla imaj dosyası bir flash diske yazılarak kurulum yapıldır. Ben bunu kullanacağım.
  • FreeBSD-versiyonvemimari-memstick.img.xz
    • Yukarıdaki imajın sıkıştırılmış hali.
  • FreeBSD-versiyonvemimari-mini-memstick.img
    • Bootonly gibi sadece boot aşamasını geçmemizi sağlayacak olan imajdır. Farkı flash kullanarak boot ederiz. Daha sonra internet bağlantısı ile gerekli paketleri indiririz.
  • FreeBSD-versiyonvemimari-mini-memstick.img.xz
    • Yukarıdaki imajın sıkıştırılmış hali.

Gerekli imaj indirilerek, cihaza format atılır. Temel yükleme aşamaları kullanarak kurulum yapılabilir. Benim vereceğim öneriler ise ufak çaplı bir sunucu kuracaksak. ZFS dosya sistemi kullanılmamalıdır. Burada temel kurulum aşamalarını yazaraki uzatmak istemiyorum…

Kurulum bittikten sonra reboot atılır ve giriş yapılır. Artık gerekli paketleri yükleyip sunucumuzu yapılandırabiliriz.

kldload i915kms kodu ile ekran kartını devreye alabilirsiniz (Intel ekran kartı için.). Bu geçici bir çözümdür. Her yeni başlatmada tekrarlamanız gerekir. Şimdilik yazıları rahat okumak adına kullanalım.

Paketlerin Kurulumu

Paket Sisteminin Kurulması

Programlarımızı kurarken paket sistemini kullanacağız. Portlardan kurmak çok zaman alıyor ve baş ağrıtıcı olabiliyor. Aşağıdaki kodları sırayla yazarak paket sistemini kurabilirsiniz.

pkg -y
pkg update -f
pkg upgrade

Gerekli Paketlerin Kurulumu

Bu programlar benim sürekli kullandığım programlar olduğundan yüklemekteyim. İsterseniz bu aşamayı atlayabilirsiniz.

pkg install -y python27 python3 bash wget

MySQL Kurulumu

pkg search mysql komutu ile olan paketlere bak. Aşağıdakilerden birini kur.

pkg install -y mysql55-server mysql55-client
pkg install -y mysql56-server mysql56-client
pkg install -y mysql57-server mysql57-client
pkg install -y mysql80-server mysql80-client

mysql-client kurmamın sebebi, yazdığım programlarda mysql konektörlerini kullanmam, eğer sizin böyle bir ihtiyacınız yoksa client'i kurmanıza gerek yok.

Mysql'in başlangıçta otomatik açılması

Aşağıdaki kod ile bilgisayarı her açtığımızda mysql otomatik olarak başlar.

sysrc mysql_enable="YES"

MySQL Ayarlamaları

ee /usr/local/etc/mysql/my.cnf

Komutu ile ee editör ile config dosyasında ufak bir düzenleme yapacağız. Ayar dosyasında bind adress 127.0.0.1 gibi bir satır olmalı. Bu satırı başına # koyarak yorum satırı haline getirmeliyiz.

service mysql-server start

Komutu ile mysql'i başlatıyoruz. Artık root kullanıcısı için ayarlar yapabiliriz.

mysql_secure_installation

Komutu ile Mysql'in yardımcı yükleme script'ini çalıştırıyoruz. Burada bize bazı sorular soracak bunları kendinize göre cevaplarısız. Size başta root şifresi soracaktır. Biz yeni kurulum yaptığımızdan henüz bir şifre yok direkt olarka enter ile geçicez daha sonra kendi root şifremizi ayarlayacağız.

mysql -u root -p

Komutu ile giriş yapabiliriz artık. Yeni şifrenizi burada kullanacaksınız. MySQL kurulumu burada bitiyor. Artık giriş yaptıktan sonra istediğiniz sorguyu komut satırı üzerinden çalıştırabilirsiniz. exit; ile çıkış yapabilirsiniz.

32 bit Kütüphanelerin kurulumu

Eğer 64 bit bir cihaza kurulum yapıyorsan ve 32 bir kütüphanelere ihtiyacın varsa aşağıdaki komut ile otomatik olarka 32 bit kütüphaneleri yükleyebilirsin. Elbette wget yüklü olması gerekmekte. Örnek kodda kurulumda kullandığın imaj dosyasından kopya çekerek versiyon kısmını düzelt.

wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/12.2-RELEASE/lib32.txz
tar Jxpvf lib32.txz -C /
rm -rf lib32.txz

Yerel Web Sunucusu Kurulumu

Buradaki aşamalar benim kendi kullandığım yerel sunucumda uyguladığım ayarlardır. Senin ihtiyacına göre bazı değişiklikler yapman gerekebilir.

Apache ve PHP Kurulumu

NGIX gibi şeyler kullanmıyorum. Biraz eski kafalıyım herşeyin kontrolümde olmasını seviyorum. Bu yüzden apache ve php kullanıyorum. Başka kullandığım şeylerde var ama temel bir web server kurmak için bunlar yeterli olacaktır.

pkg install -y apache24
 
pkg install -y php74 mod_php74 php74-bz2 php74-curl php74-mysqli php74-extensions php74-json php74-mbstring php74-session
 
sysrc apache24_enable="YES"

Yukarıdaki komutu kullanarak yükleme yapabilirsin. Ben php74 kullanıyorum eğer farklı bir sürüm istiyorsan search komutu ile paketler içinde arama yapabilirsin. Ayrıca başka php modülüne ihtiyacın varsa onlarıda yüklemeyi unutma.

Apache Ayarları

ee /usr/local/etc/apache24/httpd.conf

Komutu ile httpd.conf ayar dosyasında bazı düzenlemeler yapacağız.

Aşağıdaki satırları bul ve başlarındaki # kaldırarak yorum satırı olmaktan çıkar.

Include etc/apache24/extra/httpd-vhosts.conf
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
LoadModule ssl_module libexec/apache24/mod_ssl.so

Aşağıdaki satırı bul ve düzenle. Eğer sadece yerel olarak kullanacaksan 127.0.0.1, eğer sunucunu internete açacaksan, domain adresini yazmalısın. (*İnternet üzerinden erişime açacaksan, en azından statik IP adresine sahip olman ve modem üzerinden gelen bağlantıları sunucuna yönlendirmen gerekmekte.*)

#ServerName www.example.com:80
ServerName 127.0.0.1:80

Aşağıdaki komut ile apache sunucumuza sanal host'lar ayarlayacağız.

ee /usr/local/etc/apache24/extra/httpd-vhosts.conf

Editörle açtıktan sonra içeriğini aşağıdaki örneğe göre düzenle.

DOMAINNAME kısmın kendine göre düzenle. Aşağıdaki örnek, yerel olarak internete açılmayacak bir sunucu içindir. Normalde yerel sunuculara ip adresi üzeirnden yerel olarak eriştiğimizden alt alan adları kullanamayız. Ben dolaylı yoldan alt alan adları kullanarak, birden fazla sanal host kurmayı gösteriyorum. Bu sayede test ortamımızda istediğimiz kadar web sitesi denemeleri yapabileceğiz.

<VirtualHost *:80>
    ServerAdmin administrator@development.localhost
    DocumentRoot "/usr/local/www/apache24/data/DOMAINNAME.com"
    ServerName localhost
    ServerAlias DOMAINNAME.com
    ErrorLog "/var/log/httpd-DOMAINNAME-com-error-log"
    CustomLog "/var/log/httpd-DOMAINNAME-com-access-log" devmon
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin administrator@development.localhost
    DocumentRoot "/usr/local/www/apache24/data/SUBDOMAIN.DOMAINNAME.dev"
    ServerName SUBDOMAIN.localhost
    ServerAlias SUBDOMAIN.DOMAINNAME.com
    ErrorLog "/var/log/SUBDOMAIN.DOMAINNAME.com-error_log"
    CustomLog "/var/log/SUBDOMAIN.DOMAINNAME.com-access_log" devmon
</VirtualHost>

Yerel Olarak Alt Alan Adı Kullanımı

Yukarıdaki sanal host ayar dosyasını taslak olarka kullanarak bir örnek test ortamı kurayım…

Burada bir yerel de olsada bir alanadı seçmemiz gerekmekte. Ben deneme.com kullanacağım. Burada seçeceğiniz alanadı, kullandığınız bilgisayarlarda kullanmadığınız gerçek olmayan bir alanadı olmalıdır, mesela burada google.com seçersem birdaha google'a giremiyeceğim. Girdiğimde benim sunucuma yönlenmiş olacak.

<VirtualHost *:80>
    ServerAdmin administrator@development.localhost
    DocumentRoot "/usr/local/www/apache24/data/deneme.com"
    ServerName localhost
    ServerAlias deneme.com
    ErrorLog "/var/log/httpd-deneme-com-error-log"
    CustomLog "/var/log/httpd-deneme-com-access-log" devmon
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin administrator@development.localhost
    DocumentRoot "/usr/local/www/apache24/data/test.deneme.com"
    ServerName test.localhost
    ServerAlias test.deneme.com
    ErrorLog "/var/log/test.deneme.com-error_log"
    CustomLog "/var/log/test.deneme.com-access_log" devmon
</VirtualHost>

Şimdi kullandığınız bilgisayarınızda (Windows olduğunu varsayıyorum.) c:\Windows\System32\Drivers\etc\hosts dosyasını düzenlememiz gerekmekte. Bu dosyada en alta aşağıdaki kodları ekleyin.

192.168.xxx.xxx       demene.com
192.168.xxx.xxx       test.deneme.com

Buradaki xxx kısımları sizin freebsd cihazınızın yerel ip adresine göre düzenleyin. ifconfig komutu ile öğrenebilirsiniz.

Bu mantıkla alt alanları istediğiniz sayıda arttırabilirsiniz. Artık windows bilgisayardan herhangi bir tarayıcıdadeneme.com yazdığınızda yerel web sunucunuza gideceksiniz. En güzel yanı alt alanlarıda artık kullanabilirsiniz. Yani test.deneme.com yazarak alt alanınıza gidebilirsiniz. Buraların FreeBSD cihazda disk konumları. Sırayla aşağıdaki şekilde.

/usr/local/www/apache24/data/deneme.com
/usr/local/www/apache24/data/test.deneme.com

İlgili yerlerde bu klasörleri oluşturarak içerisine web dosyalarınızı atınız. Mysql veritabanı kullanacaksanız. Giriş yapıp veritabanı ve kullanıcı oluşturabilirsiniz. Aynı şekilde phpmyadmin'de kurabilirsiniz. Gerisi sizin kullanımınıza kalmış…

mkdir /usr/local/www/apache24/data/DOMAINNAME.com
mkdir /usr/local/www/apache24/data/subdomain.DOMAINNAME.com
chown -R www:www /usr/local/www/apache24/data
service apache24 restart

Yukarıdaki komutlarla ilgili klasörleri oluşturup, apache'ye restart verebilirsiniz. PHP Ayarlarınıda tamamladıktan sonra apache'ye restart vermeyi unutmayın.

PHP Ayarları

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Komutu ile örnek ayar dosyasını ilgili alana kopyalıyoruz.

ee /usr/local/etc/apache24/modules.d/001_mod-php.conf

Komutu ile apache üzerinden php entegrasyonunu tamamlayacağız. Editörü açtıktan sonra içine aşağıdakileri yapıştır.

<IfModule dir_module>
	DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
    	SetHandler application/x-httpd-php
	</FilesMatch>
    <FilesMatch "\.phps$">
    	SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

Artık test ortamımızda php'yi sorunsuz kullanabiliriz. Yazı burada sonlanıyor… Saygılarımla…

UCH Viki'den alınmıştır. https://wiki.ulascemh.com/doku.php?id=tr:cs:op:bsd:localhost

tr/cs/op/bsd/localhost.txt · Son değiştirilme: 2025/05/04 17:40 Değiştiren: ulascemh