Skip to content

Instantly share code, notes, and snippets.

@asilbalaban
Last active May 18, 2023 06:35
Show Gist options
  • Save asilbalaban/3082a630dee2522f591a to your computer and use it in GitHub Desktop.
Save asilbalaban/3082a630dee2522f591a to your computer and use it in GitHub Desktop.
Yosemite icin mukemmel gelistirme ve test ortami

Yosemite icin mukemmel gelistirme ve test ortami

Bu rehber OSX yosemite icin kolayca Apache, MySQL, PHP & Virtual host kurulumu yapmaniz icin hazirlanmistir.

UYARI: Asagidaki rehber boyunca bilgisayarinizin dosya sistemine mudahale edeceksiniz. Eger ne yaptiginizi bilmiyorsaniz bu sizin bilgisayariniza zarar verebilir, veri kaybina zarar verebilir. Bu rehberi uygulamadan once Time Machine yedegi aldiginizdan emin olun.

-2. Xcode Command Line Tools

Eger sisteminizde yoksa ilk is bu paketi kurarak basliyoruz.

xcode-select --install

Bu komut bilgisayariniza Xcode Command Line Tools indirip kuracak, bu pakete Homebrew kullanacagimiz icin ihtiyac duyuyoruz.

Sonraki asamaya gecmeden once xcode'u acarak kullanici kosullarini kabul etmeyi unutmayin!

-1. Homebrew

Homebrew paket yoneticisi kurun, zaten yukluyse surum yukseltmesi yapin.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew doctor

0. Sublime Text

Bu adimi gizli sistem dosyalarini nasil degistireceginizi biliyorsaniz atlayabilirsiniz.

Sublime Text'in internet sitesine goz atin ve indirip kurun.

Daha sonra asagidaki komutu kullanin. Eger usr/local/bin klasoru yoksa oncelikle bu klasoru mkdir yardimiyla olusturun.

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

Bu komut istedigimiz dosyalari komut satirindan subl komutunu yazarak duzenleyebilmemizi saglayacak..

1. dnsmasq

.dev domainlerin otomatik olarak olusturulmasi ve tanimlanmasi icin dnsmasq kullanacagiz. Asagidaki tum komutlari satir satir calistirin

brew install dnsmasq
cd $(brew --prefix)
mkdir etc
echo 'address=/.dev/127.0.0.1' > etc/dnsmasq.conf
sudo cp -v $(brew --prefix dnsmasq)/homebrew.mxcl.dnsmasq.plist /Library/LaunchDaemons

Daha sonra admin sifrenizi girin ve asagidaki komutlari girin.

sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
sudo mkdir /etc/resolver
sudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolver/dev'

2. httpd.conf

/private/etc/apache2/httpd.conf dosyasini duzenleyin

subl /private/etc/apache2/httpd.conf

asagidaki satirlara giderek basindaki # isaretini silerek bu modullerin yorum olarak kalmasini kaldirin

# line 160
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
# line 168
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
# line 169
LoadModule php5_module libexec/apache2/libphp5.so
# line 499
Include /private/etc/apache2/extra/httpd-vhosts.conf

Bu degisiklikleri gerceklestirdikten sonra 271. satira index.php ekleyin

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

3. php.ini

Bu bolumde bir php.ini olusturup daha sonra duzenleyecegiz

sudo cp /private/etc/php.ini.default /private/etc/php.ini
subl /private/etc/php.ini

simdi 791. satirin basindaki noktali virgulu (;) silin, asagidaki gibi gorunmeli

upload_tmp_dir = /tmp

ayni islemi 1390. satir icinde uygulayin

session.save_path = "/tmp"

4. Web Klasoru

Bu bolumde bir web klasoru olusturacagiz bu klasor icine koydugumuz projeler localhost uzerinde ve ag ipniz uzerinde ulasilabilir olacak benim belirttigim klasorden farkli bir klasorde tutmak istiyorsaniz 5. bolumde kendinize gore degistirmeyi unutmayin.

oncelikle bir web klasoru olusturalim

mkdir ~/Web

daha sonra bunun icerisine bir klasor daha koyalim

mkdir ~/Web/_localhost

5. httpd-vhosts.conf

/private/etc/apache2/extra/httpd-vhosts.conf: dosyasini degistirin

subl /private/etc/apache2/extra/httpd-vhosts.conf

  1. satirdan sonraki herseyi silin ve YOURUSERNAME yazan yerleri kendi bilgisayar kullanici adiniz ile degistirin
<Directory "/Users/YOURUSERNAME/Web">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
</Directory>
<Virtualhost *:80>
    VirtualDocumentRoot "/Users/YOURUSERNAME/Web/_localhost"
    UseCanonicalName Off
</Virtualhost>
<Virtualhost *:80>
   VirtualDocumentRoot "/Users/YOURUSERNAME/Web/%2"
   ServerName sites.dev
   ServerAlias www.*.dev
   ServerAlias www.*.dev.*.xip.io
   UseCanonicalName Off
</Virtualhost>
<Virtualhost *:80>
    VirtualDocumentRoot "/Users/YOURUSERNAME/Web/%1"
    ServerName sites.dev
    ServerAlias *.dev
    ServerAlias *.dev.*.xip.io
    UseCanonicalName Off
</Virtualhost>

6. MySQL

MySQL yukleyip ayarlarini yapacagiz. Asagidaki komutlari terminalinizde calistirin

brew install mysql
mysql.server restart
mysql_secure_installation

Son somut ile birlikte ekrandaki yonergeleri takip edin.

Daha sonra yeni bir veritabani olusturmak icin asagidaki komutu kullanabilirsiniz.

mysql.server stop

mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

OSX MySQL socketinin /var/mysql klasorunde olmasini bekleyecektir. Bunun icin bu dizini olusturup sembolik bir link olustracagiz.

sudo mkdir /var/mysql
sudo chmod 755 /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

Simdi mysql'i tekrar baslatalim

mysql.server start

MySQL'i sequelpro kullanabilirsiniz. Veya phpmyadmin kurabilirsiniz

#7 PHPMYADMIN

Mysql.sock icin sembolik link olusturun

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

PHPMYADMIN kuralim

brew install josegonzalez/php/phpmyadmin

PHPMYADMIN'e erisebilmek icin vhost ayarlarimizi yapalim

sudo nano /etc/apache2/httpd.conf

Dokumani actiktan sonra en alta asagidaki vh ayarlarini yapistirin

Alias /phpmyadmin /usr/local/share/phpmyadmin

<Directory /usr/local/share/phpmyadmin/>
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>

Apacheyi restart

sudo apachectl restart

Bu islemden sonra PHPMYADMIN kurulumunun yapilabilmesi icin config dosyasi olusturacagiz ve bu dizine yazma izini vereceiz buyuk harfle SURUM yazan yeri sizin phpmyadmin surumunuzle degistirip asagidaki iki komutu kullanin

mkdir/usr/local/Cellar/phpmyadmin/SURUM/share/phpmyadmin/config
chmod o+w  /usr/local/Cellar/phpmyadmin/SURUM/share/phpmyadmin/config

BROWSER'dan acin -> http://localhost/phpmyadmin/setup/

MYSQL parolaniz daha once belirlediginiz parola olacak auth bolumunden serverinizi yapilandirabilirsiniz

BROWSER'dan giris yapin -> http://localhost/phpmyadmin/

#8. APACHE kullanicisini degistirme

Eger yetkilendirme ile ilgili sorunlar yasarsaniz veya yasamak istemiyorsaniz apache kullanicisini kendi kullanici adiniz ile degistirebilirsiniz.

181. satirdaki su bolumde user karisina kendi kullanici adinizi yazarak kaydedin ve apacheyi yeniden baslatin.

<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User kullaniciadiniz
Group _www 

#9. Mutlu Son Apache ve MYSQL'i bu sekilde yeniden baslatabilirsiniz

mysql.server start
sudo apachectl restart

bu sekilde durdurabilirsiniz

mysql.server start
sudo apachectl stop

Web klasorunde olusturdugunuz her site ~/Web/sitem otomatik olarak .dev uzantisi ile kullanabilir olacak hem sitem.dev hemde www.sitem.dev adresinde

Localhostunuzdaki siteleri surekli olarak mobil cihazlarda test etmek zorunda kaliyor ve is arkadaslarinizin kendi bilgisayarinda bakmasi gerekebiliyor

sitem.dev.X.X.X.X.xip.io xxx kismina bilgisayarinizin ip adresinizi yazacaksiniz. bu sekilde diger cihazlardan sitelerinizi sorunsuz goruntuleyebilirsiniz.

Eger ulkeniz sacma sapan bir yerse xip.io bloklaniyor olabilir. O zaman bilindik 8.8.8.8. google dns'i kullanarak kurtulmayi deneyin.

*Bu yazidaki tum bilgiler raureif'in suradaki yazisindandir *

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment