You Now Here »

spesifikasi pengetahuan dasar seputar SPANEL hosting  (Read 6460 times - 60 votes) 

DANNY

G-Plus Author
  • ADMINISTRATOR
  • More Share Forum Topic
  • [MS] kepala suku
  • *
  • DANNY sangat terkenal!DANNY sangat terkenal!DANNY sangat terkenal!DANNY sangat terkenal!DANNY sangat terkenal!DANNY sangat terkenal!
  • Rep Power: 6
  • Join: September 30, 2009
  • Posts: 11,931
  • Poin: 193.934
    • WWW
  • IP member tracker Logged
spesifikasi pengetahuan dasar seputar SPANEL hosting
« on: October 23, 2010, 11:25:09 AM »


  SAPI dan Versi    PHP di server hosting berjalan dalam mode (SAPI) apa?  Di server hosting, PHP berjalan dalam mode CGI untuk security/privacy  antaraccount. Skrip berjalan dengan sebagai Unix user masing-masing  ("USER" atau "cgi-USER"). Namun Anda tidak perlu menaruh baris  "#!/usr/bin/php" maupun melakukan chmod 755 atau chmod +x pada file-file  skrip PHP Anda. Cukup upload saja.    Berapa versi PHP yang didukung?  Baik PHP4 maupun PHP5 tersedia di server, karena banyak aplikasi yang  masih membutuhkan PHP4 dan tidak kompatibel dengan PHP5 (dan  sebaliknya). Anda dapat memilih untuk menggunakan PHP4 atau PHP5 untuk  setiap subdomain. Caranya, login ke control panel  lalu pilih spanel:Subdomain Manager, lalu klik Prefs pada subdomain  yang dimaksud. Akan ada pilihan ingin menggunakan PHP4 atau PHP5.
Versi PHP default yang berjalan jika Anda tidak mengesetnya dengan cara di atas adalah PHP5.    Sebaiknya versi PHP mana yang saya gunakan? 4 atau 5?  Saat ini sebaiknya sebisa mungkin menggunakan versi 5, karena versi 4 telah dihentikan dukungan resminya oleh PHP Group.    Konfigurasi    Apakah saya dapat mengedit php.ini?  Ya. Anda dapat menciptakan php.ini sendiri untuk setiap subdomain. Caranya:

    * dari Spanel buka menu Subdomain Manager
    * pilih subdomain yang diinginkan lalu klik "Setting" pada kolom Pilihan
    * pada bagian "php ini tersendiri" klik Buat php.ini atau Sunting php.ini jika php.ini sudah pernah dibuat
    * edit / tambahkan baris sintaks yang diperlukan
    * klik Simpan

Atau cara lainnya, taruhlah file php.ini di subdirektori  sites/<NAMASITE>/etc/ Anda. Sintaks file php.ini dapat dilihat di  manual PHP. Silakan merujuk ke http://php.net/
Catatan: jika Anda menjalankan skrip PHP lewat command line, maka  lokasi php.ini tersendiri ini harus disebutkan denga opsi -c. Contoh:

$ php5 -c ../etc skripku.php $ cd admin $ php5 -c ../../etc skrip2.php

Jika tidak menyebutkan opsi -c, maka skrip command line Anda akan menggunakan php.ini default sistem (di /etc/php5).    Apakah saya dapat menggunakan php_flag di .htaccess  Maaf, php_flag tidak didukung. Sebagai gantinya, gunakan php.ini per-subdomain (lihat jawaban pertanyaan sebelumnya).

    Extension    Extension apa yang tersedia di server hosting?  Untuk melihat daftar extension lengkap yang tersedia di server, dapat  dilakukan dengan melihat output phpinfo(), atau mengintip direktori  library PHP di /usr/lib/php4 dan /usr/lib/php5 (namun cara kedua ini  kurang lengkap, karena ada juga extension yang terbuilt-in dan tidak di  file *.so terpisah).
Berikut ini isi /usr/lib/php4 saat artikel ini ditulis Jun 2008  (dapat berubah sewaktu-waktu, bergantung versi terakhir PHP4; dan ini  belum termasuk extension-extension yang built-in seperti ftp, openssl,  pcre, dll).

curl.so domxml.so gd.so imagick.so imap.so isis.so json.so ldap.so mcal.so mcrypt.so mhash.so mysql.so odbc.so pgsql.so php_mapscript.so pspell.so recode.so snmp.so sqlite3.so sqlite.so suhosin.so syck.so xslt.so  isis.so

Dan ini isi /usr/lib/php5:

curl.so ffmpeg.so gd.so imagick.so imap.so isis.so json.so ldap.so mcrypt.so mhash.so mysqli.so mysql.so odbc.so pdo_mysql.so pdo_odbc.so pdo_pgsql.so pdo.so pdo_sqlite.so pgsql.so php_mapscript.so pspell.so recode.so snmp.so sqlite3.so sqlite.so suhosin.so syck.so tidy.so xmlrpc.so xsl.so  isis.so

Beberapa extension lain dapat kami instal per request (berdasarkan permintaan) klien, contohnya saat ini antara lain: ffmpeg.so.     Mengapa saat saya memanggil fungsi GD, atau PostgreSQL, dll, seperti  imagecreatefronpng() muncul error undefined function? Mengapa extension  gd, dll tidak tersedia?  Sebetulnya extension gd, dll tersedia di server, namun tidak diload  secara default. Defaultnya, hanya extension mysql dan suhosin saja  (mysql.so, suhosin.so) yang diload otomatis, untuk mempercepat eksekusi  server, karena hanya extension mysql-lah yang dipakai oleh lebih dari  80-90% skrip PHP, dan extension suhosin diload untuk memproteksi skrip.  Jika Anda ingin menggunakan fungsi-fungsi extension lain, contohnya gd  (mis: fungsi imagecreatefrompng()) maka Anda dapat menggunakan salah  satu dari dua cara:
Pertama, meload secara manual di awal skrip. Tambahkan:

if (!extension_loaded('gd')) dl('gd.so');

di awal skrip Anda, sebelum menggunakan fungsi-fungsi gd. Ganti gd.so  dengan extension lain yang dikehendaki. Jika ingin meload lebih dari  satu extension, cukup tambahkan lagi perintah dl(...) seperti di atas.
Kedua, membuat php.ini sendiri lalu menambahkan  extension=... Lihat bagian sebelumnya tentang cara membuat php.ini, lalu  tambahkan baris ini:

extension=gd.so

di file php.ini. Jika ingin meload lebih dari satu extension, cukup  tambahkan lagi baris extension=... seperti di atas. Jangan lupa pastikan  baris extension=mysql.so juga tetap ada pada file php.ini Anda jika Anda ingin menggunakan fungsi-fungsi MySQL.    Apakah PDO (PHP Data Objects) didukung?  Ya, Anda dapat menambahkan baris berikut pada php.ini Anda:

extension=pdo.so  extension=pdo_mysql.so

Catatan: PDO hanya tersedia di PHP5. Anda perlu mengeset agar situs  Anda menggunakan PHP5 dan bukan PHP4. Caranya, silakan lihat bagian  sebelumnya. Jika anda menggunakan framework php seperti PRADO, anda  perlu gunakan fasilitas ini .     Apakah allow_url_fopen dinonaktifkan? Saya mencoba menghidupkan lewat  baris 'allow_url_fopen=1' di php.ini saya tapi tetap tidak bisa?  Demi keamanan (karena remote include merupakan salah satu lubang  terumum pada aplikasi web), PHP di server hosting dilindungi oleh suhosin,  sehingga allow_url_fopen by default dinonaktifkan. Dan jika Anda  hidupkan pun belum akan membuat Anda bisa melakukan remote  fopen/include. Anda masih harus mengizinkan situs-situs tertentu yang  ingin diakses ke dalam whitelist.
Jika Anda membutuhkan fitur remote fopen/include PHP, untuk  mengaktifkannya Anda dapat menambahkan dua baris berikut ke php.ini  Anda:

allow_url_fopen=1 suhosin.executor.include.whitelist=http://SITE1,http://SITE2...

di mana SITE1, SITE2 adalah nama host yang ingin agar dapat digunakan untuk remote fopen/include.
Catatan: demi keamanan, hanya daftarkan situs yang ingin Anda  gunakan saja pada SITE1, SITE2, dst. Ini melindungi Anda dari exploit  yang mengambil skrip trojan/worm dari situs asing.
Catatan: Risiko keamanan karena remote include pada website Anda ditanggung oleh Anda sendiri. Harap berhati-hati.    Apakah saya dapat menginstal extension custom saya sendiri?  Bisa. Caranya:
1. Kompile. Kompilelah extension Anda di sistem yang sama  dengan sistem yang digunakan server hosting saat ini (mis: server  hosting saat artikel ini ditulis menggunakan OS Debian/Linux Etch 4.0,  maka Anda perlu mengkompile extension PHP tersebut di sistem operasi  yang sama).
Jika Anda tidak memiliki akses ke sistem lain bersistem operasi  sama, Anda dapat meminta pada staf technical support untuk membukakan  sementara akses ke kompiler C (seperti gcc) agar dapat mengompile  extension Anda di server hosting kami.
2. Upload. Uploadlah extension hasil kompilasi Anda (*.so) ke server. Direktori yang dianjurkan adalah di sites/NAMASITE/etc/.
3. Load. Anda dapat me-load extension ini dengan:

ini_set('extension_dir', '/u/UNIXUSER/sites/NAMASITE/etc:' . ini_get('extension_dir')); dl('NAMAEXTENSION.so');

Atau bisa juga Anda mengeset extension_dir dari php.ini Anda (lihat  jawaban pertanyaan lain untuk mengetahui cara membuat php.ini sendiri).
Artikel referensi: Struktur direktori Spanel, Kompiler C.    Paket PEAR apa saja yang didukung?  Ada banyak (setidaknya puluhan) yang telah diinstal di server  hosting. Anda dapat melihatnya dengan mengetikkan perintah "pear list"  di shell SSH.

    Encoder    Apakah Zend Optimizer didukung?  Ya. Anda dapat menjalankan skrip-skrip yang diencode dengan Zend  Guard / Zend Encoder. Silakan lihat instruksi detilnya di sini: Zend Optimizer.    Apakah Ioncube PHP Loader didukung?  Ya. Anda dapat menjalankan skrip-skrip yang diencode dengan Ioncube PHP Encoder. Silakan lihat instruksi detilnya di sini: Ioncube PHP Encoder.    Apakah EAccelerator didukung?  Ya. Anda dapat menjalankan skrip-skrip yang diencode untuk EAccelerator. Silakan lihat instruksi detilnya di sini: EAccelerator.

    Lain-lain    Ekstensi file apa yang dijalankan sebagai PHP?  Defaultnya, file-file berakhiran .php, .php3, .phtml akan dieksekusi  oleh PHP interpreter. Anda dapat menambahkan sendiri ekstensi lain,  misalnya agar *.abc juga dijalankan sebagai PHP, tambahkan ini di file  .htaccess Anda:

AddType application/x-httpd-php .abc

Bahkan file HTML pun bisa saja Anda lewatkan ke PHP, dengan menambahkan baris ini di .htaccess:

AddType application/x-httpd-php .html

Frase kunci:

    * Akhiran file
    * Membuat file berakhiran .html diproses oleh PHP

thanx to
  :beer:


View Mobile Web Short URL:
« Last Edit: October 23, 2010, 11:37:14 AM by admin_danny »