Arsip Penulis: silumansupra

Tentang silumansupra

work as freelance graphic designer and photographer

Setup Nginx PHP-FPM MariaDB & Codeigniter di Ubuntu 16.04 LTS

PHP7 sudah tersedia di Ubuntu 16.04 LTS Xenial Xerus, jadi kita tidak perlu mengandalkan software pihak ketiga untuk meng-install php7 di ubuntu. Tutorial ini akan menjelaskan bagaimana meng-install Nginx, MariaDB, dan PHP-FPM (LEMP Stack) di ubuntu 16.04 LTS Xenial Xerus

Langkah 1: Update Ubuntu 16.04 LTS

Sebelum meng-install software apapun, usahakan untuk eng-update repositori dan paket software. jalankan perintah di bawah ini di ssh terminal

sudo apt update

sudo apt upgrade

Langkah 2: Install Nginx Web Server

Nginx adalah salah satu web server dengan performa yang tinggi. dapat juga digunakan sebagai reverse proxy. Jalankan perintah di bawah ini untuk mulai menginstall Nginx

sudo apt install nginx

Setelah terinstall, konfigurasikan Nginx secara otomatis dijalankan ketika Ubuntu dijalankan.

sudo systemctl enable nginx

Kemudian start Nginx dengan perintah ini:

sudo systemctl start nginx

Untuk cek status:

systemctl status nginx

Output:

● nginx.service - A high performance web server and a reverse proxy server
 Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
 Active: active (running) since Sat 2016-06-04 08:31:23 EDT; 1 day 2h ago
 Main PID: 298 (nginx)
 CGroup: /system.slice/nginx.service
 ├─298 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
 └─299 nginx: worker process

enabled” artinya pada saat Ubuntu booting, secara otomatis Nginx dijalankan.

Pada browser,masukkan IP Public server Ubuntu 16.04 LTS. Anda akan melihat halaman”Welcome to Nginx” yang artinya Nginx sudah berjalan dengan benar

 

Kemudian, kita perlu mengatur agar www-data (Nginx User) sebagai owner dari direktori web root)

sudo chown www-data /usr/share/nginx/html -R

Langkah 3: Install MariaDB

MariaDB merupakan pengganti dari MySQL yang dikembangkan oleh anggota utama dari MySQL yang fokus pada akusisi Oracle untuk menjadikan MySQL produk non-open source. Banyak yang menggunakannya seperti Arch Linux, Fedora, Google, Wikipedia dsb, migrasi ke MariaDB.

sudo apt install mariadb-server mariadb-client

Setelah terinstall, cek status MariaDB

systemctl status mysql

Output:

● mysql.service - LSB: Start and stop the mysql database server daemon
 Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled)
 Active: active (running) since Wed 2016-04-20 18:52:01 EDT; 1min 30s ago
 Docs: man:systemd-sysv-generator(8)

Jika tidak berjalan (running), jalankan perintah di bawah ini:

sudo systemctl start mysql

Untuk meng-otomatiskan ketika Ubuntu 14.04 pada saat restart:

sudo systemctl enable mysql

Sekarang, jalankan perintah instalasi di bawah ini:

sudo mysql_secure_installation

Ketika ditanya password root MariaDB, tekan ENTER karena kita belum mengaturnya, kemudian masukkan password root MariaDB dan konfirmasi password yang baru.

 

Langkah berikutnya tekan ENTER untuk semua pertanyaan, mulai dari menghapus user anonymous, disable remote root login dan menghapus database test. Langkah ini merupakan syarat dasar dari keamanan MariaDB

 

Langkah 4: Install PHP7

Jalankan perintah di bawah ini untuk meng-install PHP7 dan ekstensi PHP7

sudo apt install php7.0-fpm php7.0-mbstring php7.0-xml php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl

Ekstensi php (modul) diperlukan untuk CMS (content management system) seperti wordpress, joomla, dsb. sebagai contoh jika tidak ada modul ekstensi php7.0-xml, maka pada halaman wordpress misalnya akan kosong dan pada log error Nginx akan ada pesan seperti ini:

PHP message: PHP Fatal error: Uncaught Error: Call to undefined function xml_parser_create()
 Installing these PHP extensions ensures that your CMS runs smoothly.

Sekaran jalankan php7.0-fpm

sudo systemctl start php7.0-fpm

Check status:

systemctl status php7.0-fpm

Sample output:

● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
 Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor pre
 set: enabled)
 Active: active (running) since Wed 2016-04-20 19:21:05 EDT; 2s ago

Langkah 5: Create a Default Nginx Server Block File

Hapus symlink bawaan di direktori sites-enabled

sudo rm /etc/nginx/sites-enabled/default

Kemudian buat file default server block baru di direktori /etc/nginx/conf.d/

sudo nano /etc/nginx/conf.d/default.conf

Paste-kan teks di bawah ini, ganti 111.222.333.444 dengan IP server atau domain server Anda

server {
 server_name 111.222.333.444;

root /var/www/html;  #sesuaikan dengan direktori web root
 index index.php index.html;

# set expiration of assets to MAX for caching
 location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
 expires max;
 log_not_found off;
 }

location / {
 # Check if a file or directory index file exists, else route it$
 try_files $uri $uri/ /index.php;
 }

location ~ \.php($|/.+) {

fastcgi_pass 127.0.0.1:9000;

fastcgi_split_path_info ^(.+\.php)(/.*)$;
 fastcgi_param SCRIPT_FILENAME $request_filename;
 include fastcgi_params;
}

location /subdir_codeigniter/ {
 alias /var/www/html/subdir_codeigniter/;
 try_files $uri $uri/ /subdir_codeigniter/index.php;

location ~ \.php$ {
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_index index.php;
 fastcgi_pass 127.0.0.1:9000;
 include /etc/nginx/fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $request_filename;
 }
}

}

Di sini saya akan mengupload codeigniter di sub-direktori subdir_codeigniter, dan web-root saya upload dengan CMS WordPress, tutorialnya bisa di buka di sini

Tutup file dan test konfigurasi Nginx kemudian reload

sudo nginx -t

sudo systemctl reload nginx

Langkah 6: Test PHP

untuk mengetahui versi PHP7, jalankan perintah ini:

php --version

Output:

PHP 7.0.15-7ubuntu2 (cli) ( NTS )
 Copyright (c) 1997-2016 The PHP Group
 Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
 with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

Untuk pengecekanPHP-FPM, buat file test.php di direktori web-root

sudo nano /usr/share/nginx/html/test.php

Ketikkan kode di bawah ini.


<?php phpinfo(); ?>

Simpan dan tutup file dari editor, dan panggil file test.php di browser 111.222.333.444/test.php

 

Jika muncuk informasi mengenai proses PHP dan table PHP Info berarti PHP berjalan dengan baik di Ubuntu 16.04 LTS

 

Untuk kemanan hapus file test.php

sudo rm /var/www/html/test.php

Langkah 7: Download CodeIgniter

https://codeigniter.com/download

Upload ke direktori subdir_codeigniter sesuai dengan konfigurasi defaul.conf yang telah kita atur sebelumnya.

Sesuaikan file config.php pada Application/config/ dengan mengubah base_url dan hilangkan index.php pada index_page

$config['base_url'] = 'http://111.222.333.444/subdir_codeigniter/';

$config['index_page'] = ' ';

Selamat, CodeIgniter sudah bisa berjalan di server Ubuntu 16.04 dengan web server Nginx. Untuk konfigurasi database menggunakan MariaDB akan kita bahas pada tutorial berikutnya

Google Map API v3 Biostall Libary

Demo: http://biostall.com/demos/google-maps-v3-api-codeigniter-library/

Download: https://github.com/BIOSTALL/CodeIgniter-Google-Maps-V3-API-Library/archive/master.zip

  • Download library (ukuran ~ 190KB)
  • Paste di direktori Application/libraries. Ada dua file, Googlemaps.php dan Jsmin.php
  • Pada file view.php (atau file apapun untuk menampilkan map) sebelum tag </head> paste script di bawah ini

<?php echo $map['js']; ?>

  • dan paste script di bawah ini untuk menampilkan map di antara tag <body> dan </body>

<?php echo $map['js']; ?>

PHP 7.0:  Error Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP

jika Anda memakai PHP7 maka akan ada error di baris atas website seperti ini

pada file Application/libraries/Googlemaps.php

ubah baris di bawah ini


function Googlemaps($config = array()) {

menjadi seperti ini


function __construct($config = array()) {

tampilan editornya

CodeIgniter HMVC object_to_array() error

HMVC : https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/downloads

Muncul error

An uncaught Exception was encountered

Type: Error

Message: Call to undefined method MY_Loader::_ci_object_to_array()

Filename: /Users/k1ut2/Sites/nine.dev/application/third_party/MX/Loader.php

Line Number: 300

Backtrace:

File: /Users/k1ut2/Sites/nine.dev/application/controllers/Welcome.php Line: 23 Function: view

File: /Users/k1ut2/Sites/nine.dev/index.php Line: 315 Function: require_once

Solusi:

pada file application/third_party/MX/Loader.php (sekitar line 300…)


return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return));

replace dengan script di bawah ini


if (method_exists($this, '_ci_object_to_array'))
{
 return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return));
} else {
 return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_prepare_view_vars($vars), '_ci_return' => $return));
}

Tips & Trik Windows 10 Yang Keren

Tips Windows 10 ini akan membuat Anda seperti ahli komputer dan keren yang bisa dicoba saat ini juga. Windows 10 merupakan Operating System yang sukses besar dan membawakan pengalaman baru dan fleksibilitas bagi pengguna yang menggunakan OS keluaran Microsoft ini.

Seperti Anda dapat mengatur tata letak jendela program yang sedang dipakai/aktif dengan menekan dan tahan rombol WINDOWS + UP/DOWN/LEFT/RIGHT.

Create Virtual Desktop

Baca lebih lanjut

Hack Modem Speedy ZTE F609

Bagaimana Cara Hack Modem Speedy ZTE f609? Ingin tahu password admin modem ZTE F609 tanpa harus reset modem? Dengan menggunakan celah factory-default dari ZTE F609 kita bisa mengetahui password admin nya.

Langkah-langkah Hack Modem Speedy F609:

1. Buka CMD, ketikkan telnet (aktifkan terlebih dahulu telnet client)
2. Pada command line, ketikkan telnet
3. ketik ” o 192.168.1.1 ” (IP dari modem ZTE F609)
4. Login User: root, Password: Zte521
5. ketikkan perintah ” sendcmd 1 DB p DevAuthInfo ”
6. cari user admin dan passwordnya

Lihat Tutorial Video Hack Modem Speedy F609

Download Ebook The Graphic Design Reference & Specification Book

2016-10-05-04_20_36-the-graphic-design-reference-specification-book-everything-graphic-designers-n

Bagi Anda seorang desainer grafis dan membutuhkan referensi dan spesifikasi mengenai dunia desain grafis maka download ebook ini. Buku yang berisi materi desain grafis mulai dari pra-produksi sampai dengan post-produksi di bahas di sini. Simak daftar isi dari ebook ini Baca lebih lanjut