Making Dooitkoo – bagian 2

Lanjutan dari Bagian 1

Tahap berikutnya setelah seting domain dsb adalah mempersiapkan application server dan local development environment, plus alat pendukung lainnya. Karena servernya pake linux, untuk development saya pake Mac yang juga berbasis Linux. Jadi sementara komputer windowsnya dipake utk buka dokumentasi & ngegame aja …

Server

Webfaction pake custom control panel di mana setiap website harus memiliki application dan domain. Application adalah tempat di mana saya nanti meletakkan file-file yang akan di-publish oleh Apache. Website adalah semacam container untuk application, fungsinya kurang lebih seperti file *.conf yand dipake Apache untuk ngeload website. Domain fungsinya seperti DNS manager.

Jadi pertama saya buat 2 application yaitu dooitkoo dan dooitkoo_staging, masing-masing untuk versi live/production dan testing. Kemudian saya bikin 2 database, yg namanya juga dooitkoo & dooitkoo_staging & saya bikin 2 website yang namanya sama.

Saya ga mau semua file & folder application server berada di lokasi yang bisa diakses lewat web. Jadi saya bikin 2 aplikasi tambahan bernama dooitkoo_public & dooitkoo_staging_public yang berupa symbolic link. Kedua aplikasi tambahan nantinya akan menjadi pointer ke direktori “/public” yang ada di Laravel. Website “app” saya atur supaya pake symlink dooitkoo_public, website “staging” saya arahkan ke dooitkoo_staging.

Apps

Saya buat 2 subdomain untuk dooitkoo, app.dooitkoo.com dan staging.dooitkoo.com. “app” adalah domain untuk live/production, semua user nantinya akan diarahkan ke domain ini. “staging” adalah test domain untuk online test sebelum kode di-deploy ke “app“. Domain app saya arahkan ke website dooitkoo dan domain staging saya arahkan ke website dooitkoo_staging.

Karena nanti versi live dari dooitkoo pake SSL, saya harus bikin website satu lagi dengan setting protokol HTTPS. Jadi domain app punya dua channel, HTTP (dooitkoo_public) dan HTTPS (dooitkoo_secure).

Sites

Email

Tadinya saya ingin pakai outlook.com untuk host semua email dari dooitkoo.com tapi karena ada bug tolol di server outlook, akhirnya saya balik pakai google domain. Lewat control panel di webfaction, saya set “Email hosting” sebagai “External” lalu saya buat MX entry sesuai petunjuk Oom Google. Setelah itu saya coba kirim & terima email dari semua akun dooitkoo & akun lain yang saya punya. Lancar jaya.

Mx

Local

Pertama saya buat project folder lalu unduh Laravel. Local domain saya beri nama app.dooitkoo.dev, namanya sedikit beda dengan yang online ( .dev vs .com ) supaya saya bisa bikin lebih dari satu konfigurasi aplikasi. Laravel mendukung lebih dari satu environment yang dibedakan berdasar nama domain. Jadi untuk local server, saya bisa buat konfigurasi yang berbeda dengan live maupun staging.

Project

SSL

Setelah hampir putus asa ngeset SSL pake MAMP & error terus, ternyata caranya hampir sama dgn webfaction, harus bikin dua domain yg namanya sama, satu pake SSL, yang lain ga. Bikin self-signed certificate juga gampang. Tinggal klik.

Sites ssl no ssl

Biar ga perlu ketik nama domain lengkap dgn protokol https, bikin redirect di host yg non-ssl.

Ssl redirect

Git repository

Pertama saya bikin repositori (private) di bitbucket terus inisialisasi git di project folder, lalu sambungkan keduanya.

mac$ git init
mac$ git remote add origin masputih@git.bitbucket.org:/dooitkoo
mac$ git add .
mac$ git commit -m 'initial'
mac$ git push origin master

Berikutnya, saya buka terminal lalu akses live & staging server di Webfaction lewat SSH. Kemudian saya lakukan sinkronisasi live & staging server dengan bitbucket.

staging$ git pull
live$ git pull

Terakhir saya coba akses app.dooitkoo.com dan staging.dooitkoo.com lewat browser untuk memastikan seting udah benar.

Berikutnya adalah konfigurasi Laravel, nanti saya tulis di artikel berikutnya.

Also in this category ...