Nginx error connect to php5-fpm.sock failed (13: Permission denied) di Ubuntu Server 14.04

Barusan melakukan update regular di ubuntu server 14.04 kantor melalui repositori yang ada di apt. Update yang tersedia cukup banyak. Salah duanya adalah update nginx dan php5-fpm. Selesai update dilakukan, ternyata perubahannya cukup major, karena diminta untuk melakukan restart. Beres restart, semua service berjalan normal seperti sedia kala sesuia yang terlihat dimonitoring monit service manager. Coba-coba buka website yang sudah dideploy diserver, ternyata oh ternyata Nginx menampilkan pesan error 502. Alamak kenapa pula ini 😦

Akhirnya saya coba lihat di log errornya si nginx yang terletak di /var/run/nginx/error.log. Disana tertulis pesan :

connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied)

Waduh kenapa pula itu ? padahal sebelumnya tidak ada masalah permission sama sekali. Berbekal error tersebut, coba searching di google, kali aja ada yang mengalami hal serupa. Hasilnya ketemu solusi disini. Cukup simple ternyata. Untuk menanggulangi masalah permision tersebut cukup dengan mengubah permission pada file php5-fpm.sock dengan chmod 666 dengan cara berikut

sudo chmod 666 /var/run/php5-fpm.sock

Setelah itu restart service php5-fpm dan nginx. Walaa, semua pun berjalan normal kembali. Semoga Membantu !

Iklan

Install Linux, Nginx, MySQL, PHP (LEMP) di Ubuntu 14.04

Kebetulan di kantor kedatangan server baru tipe tower yang rencananya diperuntukkan untuk aplikasi internal sekaligus sebagai file server. Iseng lihat-lihat diweb, ternyata ubuntu 14.04 lts sudah release. Pas banget sekalian buat nyoba. Proses instalasinya gak ribetlah. Tinggal di next – next aja, beres dah. Saya install yang ubuntu server kosongan saja, tanpa aplikasi bawaan satupun. Selesai install, langsung ganti repo local biar kenceng. Seperti biasa, pilihan jatung ke reponya wedus. Standar yang saya lakukan setelah clean install :

sudo apt-get update
sudo apt-get install build-essentials
sudo apt-get upgrade

Berikutnya, proses instalasi web server. Pilihan kali ini jatuh kepada Nginx feat php dan mysql. Soalnya baca2 di beberapa artikel, web server nginx performanya lumayan cepat dibandingkan apache, jadinya pengen nyoba 🙂 . Kita mulai dari Nginxnya dulu. Tinggal install dari repo :

Baca lebih lanjut

PHP : Membuat random string

Random string, kadang diperlukan untuk membuat kata acak untuk menangkal masuknya spam kedalam sebuah website. Misalkan pada halaman pendaftaran, akan lebih bermanfaat jika ditambahkan random string yang biasa disebut sebagai captcha.

Berikut cara simple untuk  mempersiapkan random string untuk ditambahkan kedalam website kita :

[php]

function createRandomString()
{
$length = 7;
$characters = ‘0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz’;
$string = ”;

for ($p = 0; $p < $length; $p++) {
$string .= $characters[mt_rand(0, strlen($characters))];
}

return $string;
}

[/php]

Untuk mengganti jumlah string yang ingin ditampilkan cukup mengubah nilai dari varibel length, atau bisa juga dijadikan sebagai parameter inputan.

Semoga Bermanfaat !

Integrasi CodeIgniter dan phpBB

Long time no posting. Kali ini masih seputar codeigniter. Ide awalnya ingin menambahkan fitur forum di Portal Ripiu. Karena tidak ingin pusing dan ribet kalau harus dibangun dari awal, jatuhlah pilihan untuk menggunakan open source.

Pilihan pertama jatuh kepada SMF (simple machine forum). Alasannya karena tertarik dengan namanya (simple gitu loh :d ) . Setelah dibaca – baca instruksi, dan dengan modal nekat dicoba melakukan integrasi. Kendala pertama yang dihadapi, so pasti masalah account. Keinginannya adalah account yang sudah terdaftar di ripiu agar tidak perlu lagi mendaftar di forum nantinya. Dengan bantuan om google ditemukanlah SMF API. Tapi sayang sekali, API yang begitu bagus, tidak disertakan dengan dokumentasi cara pemakaiaanya dan tidak ada sedikit contoh pun yang disertakan. Walhasil, gatot alias gagal total. Cari – cari di forum codeigniter pun, ternyata memang belum ada yang buat SMF library untuk codeigniter. Ya sudahlah!

Baca lebih lanjut

Welcome Kucindan

Beberapa bulan terakhir ini, iseng2 saya mencoba untuk membuat sebuah engine cms (content management system) yang titik beratnya lebih difokuskan untuk pembuatan weblog. Ide tersebut muncul ketika saya mendapati di setiap upgrade engine blog kesayangan ini yang masih setia menggunakan wordpress semakin lama semakin berat saja. Dugaan pertama, tuduhan jatuh kepada koneksi speedy yang makin kacau. Tetapi, setelah saya coba di komputer sendiri (localhost) ternyata tidak banyak terjadi perubahan. Memang itulah sisi yang harus dikorbankan, ketika sebuah engine selalu dan selalu ingin disempurnakan oleh si pemiliknya.

Selain alasan tersebut sebenarnya ada misi lain yang terselebung ;)) . Misi tersebut tak lain dan tak bukan adalah untuk memajukan para pengguna internet di indonesia dan programmernya. Karena setiap kali saya mempunyai ide dan ingin berkontribusi terhadap suatu open source, selalu saja sudah keduluan sama bule2 disana :p . Sebagai contoh, ketika ingin membuat plugin untuk web kesayangan, ketika hal tersebut ingin di bagi dengan orang lain, ternyata sudah banyak yang bikin duluan.

Baca lebih lanjut

Include vs Require

Dah pada kenalan smua kan dua makhluk diatas ? si include ma si require.  Bagi para programmer, tentunya sudah tidak asing lagi dengan mereka berdua. Setidaknya sering papasan di jalan lah meskipun belum kenalan :D. Nah, untuk dongeng kita kali ini, akan difokuskan penerapan kedua makhluk tersebut pada bahasa pemrogrman web (PHP). Serupa tapi tak sama, itulah yang mungkin bisa menggambarkan keduannya.

Apa sih beda pemakaian antara kedua makhluk ini sebenarnya ? Sepintas kalo tidak begitu dipikirkan, keduanya tampak sama saja, tidak ada bedanya antara kita menggunakan include maupun require untuk menambah referensi didalam selembar program yang sedang dikerjakan. Namun sebelum kita mendongeng lebih jauh, jujur secara teknis sebenarnya saya juga tidak mengetahui perbedaan yang jelas diantara keduanya. Tapi disini saya hanya mencoba untuk mennjabarkan berdasarkan hasil penelurusan pribadi yang berhasil menunjukkan sedikit perbedaan diantara keduanya.

Begini ceritanya :

Misal kita memiliki sebuah file yang kita beri nama hasil.php. Didalam file hasil.php pura-puranya kita memanggil sebuah file yang bernama fungsi.php menggunakan include dan require. Dan sebagai jurinya dibawah pemanggilan file tersebut ditambahkan sebaris kode untuk menampilkan tulisan “Include vs Require” kurang lebih seperti kode dibawah ini :

Baca lebih lanjut

Menjalankan PHP dari command line

Adakalanya script php yang kita buat membutuhkan waktu komputasi melebihi standar waktu timeout yang diberikan oleh browser yaitu selama 30 detik. Hal ini kebetulan sedang terjadi dengan Tugas Akhir yang sedang saya kerjakan, dimana komputasi yang berjalan membutuhkan waktu pemrosesan yang lama dikarenakan adanya proses rekursif yang pengkodisian berhenti tidak pasti (bisa jadi setelah 2 kali proses pengulangan, 10 kali bahkan samapi 1000 kali).

Untuk mengatasi hal tersebut, php sendiri telah membundle productnya dengan CLI (command line interface). Untuk pengguna unix dan unix-like lainya dapat menjalankanya dengan menggunakan perintah berikut :

 #!/usr/bin/php -q namafile.php 

Baca lebih lanjut

Sinkronisasi datetime format dalam PHP dan MySQL

PHP dan MySQL memang merupakan pasangan serasi yang selalu menjadi pilihan utama para develepor web. Selain karena memang terbukti ketangguhannya, kedua tools tersebut berbasis free dan open source, sehingga siapapn dapat memakai dengan bebas bahkan mengubah kode program agar sesuai dengan yang diinginkan. Namun seringkali kita di buat bingung ketika sedang mengolah data yang memiliki format waktu (datetime). Hal tersebut dikarenakan PHP dan MySQL memiliki format yang berbeda.

PHP menggunakan unix timestamps untuk semua date functionality nya dimana format ini menyimpan data dalam bentuk integer, sedangkan MySQL mempunyai tiga format tipe waktu (DATETIME, DATE, dan TIMESTAMP) dan semuanya dalam bentuk string. Hal inilah yang biasanya membingungkan para develepor web untuk menggunakan dan menyimpan dalam format yang mana. Biasanya para developer akan tetap menyimpan dalam bentuk php timestamp dan di MySQL akan di anggap sebagai string biasa (menggunakan tipe varchar).

Baca lebih lanjut

Random Image pada PHP

Random ImageKita mungkin sering melihat pada form registrasi, form login atau pada submit comment blog yang dilengkapi dengan verifikasi gambar. Verifikasi gambar ini akan menampilkan sejumlah karakter yang harus di tulis ulang oleh user. Hal ini di gunakan untuk mencegah script atau bot untuk dapat melakukan registrasi / login secara otomatis. Bagaimana hal tersebut dapat tercipta ?? Kita akan coba untuk mengungkapnya.

Prasyarat keisengan kita kali ini adalah :
web server beserta script pemrogrman nya, yaitu PHP yang telah diaktifkan gd supportnya. Jika php-gd belum aktif, silahkan liat lagi konfigurasi php.ini anda, dan jangan lupa untuk mengaktifkan baris extension=php_gd2.dll.

Baca lebih lanjut