Thursday, June 18, 2015

The Perfect Setup

Setup git, github & homebrew

Pengguna OSX, tak tahu nak guna apa untuk jadikan osx anda sebagai server? MAMP? XAMPP?
Anda boleh cuba Homebrew.

Jalankan arahan dibawah untuk memasang Homebrew:

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



Dan pasang git dan wget menggunakan homebrew

brew install git
brew install wget

Anda sepatutnya akan dapat versi git yang terkini. Anda boleh lihat versi git dengan menjalankan arahan "git --version". Saya punya versi 2.4.4.

Sekarang anda boleh jalankan arahan "brew update" dan "brew upgrade" untuk memastikan supaya git dan lain lain perihal mendapatkan kemaskini terkini.

Masukkan email dan nama untuk menyimpan pengesahan akaun git anda:

git config --global user.name “Nama disini"
git config --global user.email “email_anda@example.com”
git config --global credential.helper osxkeychain

Jika anda mengalami masalah mengenai "git-credential-osxkeychain file does not exists" Reka ia, dan gantikan PATH/ dengan path anda:

sudo mv PATH/git-credential-osxkeychain “$(dirname $(which git))/git-credential-osxkeychain”


Selamat datang ke tanah jajahan Homebrew

Sekarang kita boleh memasang Apache, PHP dan MySQL dengan hanya menggunakan homebrew.

PHP

Untuk mendapatkan PHP versi terkini tap homebrew-php repository dan jalankan arahan:
brew tap josegonzalez/homebrew-php
brew install php54
Ataupun php53, php55, php56

Jangan lupa untuk buat backup pada file config apache:
cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.bak

Untuk enable kan PHP dan vhosts pada apache, masukkan ayat dibawah pada httpd.conf:
LoadModule php5_module /usr/local/opt/php54/libexec/apache2/libphp5.so 
Include /private/etc/apache2/extra/httpd-vhosts.conf

Ubah fail php.ini yang berada di /usr/local/etc/php/5.4/php.ini:
short_open_tag = ON

Pasang PHP Mcrypt extension, jalankan arahan:
brew install mcrypt php54-mcrypt/pre>

Jalankan arahan "php -m | grep mcrypt". Jika output keluar "mcrypt", pemasangan anda berjaya. Jika tiada output, pemasangan anda tidak berjaya. Sila pasang semula ataupun masukkan ayat dibawah ke php.ini anda:
extension=”/usr/local/Cellar/php54-mcrypt/5.4.22/mcrypt.so”

Untuk membenarkan Apache run pada startup, jalankan arahan:
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

Untuk Undo arahan diatas (iaitu untuk meng-nyah aktifkan Apache run pada startup), gunakan arahan dibawah ini:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

Composer

Guna PHP kan? Kenapa tidak dapatkan Composer? :D
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install josegonzalez/php/composer

MySQL

Dengan menggunakan homebrew, anda boleh memasang MySQL dengan semudah arahan:
brew install mysql

Selesai pasang, anda boleh lihat versi dan lokasi MySQL dengan jalankan arahan:
mysql --version
which mysql

Ubah tetapan config MySQL jika anda memerlukan perubahan:
sudo touch /etc/my.cnf

Untuk membenarkan MySQL dijalankan pada startup:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents

Tetapkan password untuk MySQL:
cd /usr/local/share/mysql
mysqladmin -u root password ‘ROOT_PASSWORD’

Dan yang terakhir, socket file. Jika anda perlukan perubahan:
sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

PHPMyAdmin

Jika anda tidak menggunakan tools seperti SequalPro atau sqlbuddy, anda boleh menggunakan PHPMyAdmin. Pasang dengan menggunakan homebrew:
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install phpmyadmin

Setup vhosts

Buka file tetapan config vhosts
open /etc/apache2/extra/httpd-vhosts.conf

Dan masukkan line dibawah:
 
   DocumentRoot “/Library/WebServer/Documents”

Untuk setup ~/Projek sebagai root php file(php aktif dari bermula folder ini) anda boleh akses dengan mudah dengan hanya menambah ServerName. Saya guna www sebagai ServerName saya.
 
  DocumentRoot “/Users/YOUR_USERNAME/Projects”
  ServerName www
  ErrorLog “/private/var/log/apache2/www-error_log”
  CustomLog “/private/var/log/apache2/www-access_log” common     
  
    AllowOverride All
    Order allow,deny
    Allow from all
  

Jika anda memasang PHPMyAdmin:

  DocumentRoot “/usr/local/share/phpmyadmin”
  ServerName phpmyadmin
  
    Options Indexes
    FollowSymLinks MultiViews
    AllowOverride All 
    Order allow,deny
    Allow from all
  

Sekarang anda perlu menetapkan ServersName pada localhost:
sudo open /etc/hosts

Masukkan line dibawah ke /etc/hosts anda:
127.0.0.1 www
127.0.0.1 phpmyadmin

Sekarang clearkan dns dan restart apache.
Anda boleh buka PHPMyAdmin di http://phpmyadmin/ atau root web anda di http://www/

dscacheutil -flushcache
sudo apachectl restart

Sekian.

No comments:

Post a Comment