Langkah – langkah instalasi OpenLiteSpeed 1.4 dan PHP 7.0

Tutorial kali ini untuk menyelesaikan janji saya dengan mas Jarry dalam instalasi OpenLiteSpeed tapi bukan yang biasa saja, yang diminta terutama adalah menggunakan PHP 7.0. Cukup menarik karena saya belum pernah mencobanya dan bisa jadi referensi pribadi kalau sudah menjadi standar kedepannya, tapi tampaknya masih lama juga. Haha. πŸ˜€

Target akhir dari langkah – langkah instalasi OpenLiteSpeed kali ini adalah:

  • OpenLiteSpeed 1.4
  • PHP 7.0
  • MariaDB 10.1

Sekalian semua komponennya yang paling mutakhir kan? Hehe. πŸ™‚ Oh ya, saya menggunakan CentOS 7 juga dalam VPSnya, kalau bisa gunakan yang versi minimal. Metode yang saya gunakan adalah memanfaatkan repository, ini agar mudah nanti dalam proses maintenance dan updatenya. Kalau compile dari source terus terang saya hindari bila tidak terpaksa, repot kedepannya.

Persiapan dulu

Begitu VPS anda siap maka silahkan update dulu CentOS 7-nya, ini memastikan agar paket aplikasinya selalu yang terbaru:

yum update

Selanjutnya kita akan menambahkan repository LiteSpeed untuk CentOS 7:

rpm -ivh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el7.noarch.rpm

Juga ikut adalah repository EPEL untuk install dependensinya:

yum install epel-release

Selanjutnya kita buat informasi repo untuk MariaDB:

nano /etc/yum.repos.d/MariaDB.repo

Dan isikan dengan kode berikut:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Yang diinstall nanti adalah MariaDB versi 10.1.15 pas saya coba.

Instalasi dimulai!

Tidak ada yang sulit kok, langkah pertama adalah menginstall OpenLiteSpeed terbarunya (saat ini versi 1.4.15):

yum install openlitespeed14

Setelah itu silahkan buat user dan password administratornya:

/usr/local/lsws/admin/misc/admpass.sh

Selanjutnya install PHP 7.0 terbaru (saat ini versi 7.0.2):

yum install lsphp70 lsphp70-mysqlnd lsphp70-process lsphp70-mbstring lsphp70-mcrypt lsphp70-gd lsphp70-opcache lsphp70-bcmath lsphp70-pdo lsphp70-common lsphp70-xml

Diakhiri dengan instalasi MariaDB terbaru juga (saat ini versi 10.1.10):

yum install MariaDB-server

Menambahkan database sistem pada MariaDB dan menjalankan servicenya:

mysql_install_db

Jangan lupa mengamankan database servernya:

mysql_secure_installation

Memang dari sisi persiapan dan instalasi terlihat mudah. Memang benar seperti itu. Haha. πŸ˜€ Yang agak ribet adalah pas konfigurasinya.

Konfigurasi OpenLiteSpeed

Selanjutnya membuat OpenLiteSpeed mengenali adanya mesin PHP 7.0. Silahkan akses Webadmin console dari server anda, formatnya adalah alamat IP server ditambahkan port 7080. Contohnya: 192.168.2.100:7080. Nanti halaman login akan muncul, silahkan masukkan username dan password yang telah anda buat sebelumnya.

Kemudian dari menu di sidebar kiri pilihlah Server Configuration dan bukan tab External App. Seharusnya akan ada satu bernama lsphp5 untuk PHP 5 yang merupakan defaultnya. Nah kita akan menambahkan hal serupa tapi untuk PHP 7.0. Pada tahap ini saya baru tahu kalau sebenarnya OLSWS 1.4.15 sudah menyertakan PHP 5.6.12, saya kira harus install sendiri seperti dalam tutorial sebelumnya. Ya… belajar hal baru lagi jadinya.

openlitespeed webadmin - server configuration - external app

Klik Add, pilih jenis LiteSpeed SAPI App, beri nama lsphp70, isikan lokasi program PHP 7.0 dan sisanya tirukan saja dari lsphp5 yang sudah ada.

openlitespeed litespeed sapi app php 7 configuration

Kalau bingung ini adalah profil lsphp70 yang saya isikan:

Name: lsphp70
Address:uds://tmp/lshttpd/lsphp.sock
Max Connections: 35
Environment: PHP_LSAPI_MAX_REQUESTS=500
             PHP_LSAPI_CHILDREN=35
Initial Request Timeout (secs): 60
Retry Timeout : 0
Response Buffering: no
Auto Start: yes
Command: $SERVER_ROOT/lsphp70/bin/lsphp
Back Log: 100
Instances: 1
Memory Soft Limit (bytes): 2047M
Memory Hard Limit (bytes):2047M
Process Soft Limit: 400
Process Hard Limit: 500

Setelah selesai kita buka tab Script Handler, ubah untuk penanganan jenis script php menjadi lsphp70 pada Handler Namenya. Setelah itu silahkan klik icon hijau dengan panah berputar untuk melakukan Graceful Restart. Ini agar konfigurasi baru anda diterapkan semua.

openlitespeed webadmin - server configuration - script handler

Terakhir adalah menguji coba apakah benar sudah menggunakan PHP 7.0 dan berjalan normal. Ini mudah sekali mengujinya, silahkan buka alamat IP server anda ditambahkan port 8088. Contohnya: 192.168.2.100:8088 dan nanti akan keluar halaman default OpenLiteSpeed. Klik saja link Test PHP dan halaman phpinfo akan keluar seperti dibawah.

openlitespeed phpinfo php 7

Yeah! Sukses menggunakan PHP 7.0.2 dalam OpenLiteSpeed 1.4.15.

Penutup

Ada beberapa hal tambahan yang bisa anda atur selanjutnya:

  1. Secara default port untuk HTTPnya ada di 8088, ini bisa anda ganti ke standarnya 80 pada menu Listener.
  2. Saya anjurkan juga port default administrasinya ikut diubah. Lokasinya di WebAdmin settings dan di Listener.
  3. Direktori OpenLiteSpeed ada pada /usr/local/lsws dan untuk virtual host saya anjurkan dibuat disini.
  4. Untuk menambahkan website baru, upload file – filenya pada direktori virtual hostnya. Kemudian pada WebAdmin console tambahkan Virtual Host baru untuk nama domain tersebut.
  5. Anda bisa menginstall beberapa versi PHP yang berbeda dalam satu server dan OpenLiteSpeed bisa disetting memilih menggunakan yang mana tergantung websitenya.

Mungkin ada yang terlewat dari panduan diatas dan juga poin – poin tambahannya. Tapi saya yakin ini sudah mencakup hampir seluruh proses instalasi OpenLiteSpeed dan PHP terbaru.

Semoga bermanfaat. πŸ™‚

35 Comments

  1. wah, nyoba langkah anda bisa mas, ternyata waktu install dari repo saya menggunakan
    yum install php70-* --skip-broken malah ga bisa digunakan php7 nya. Padahal dengan cara yang sama untuk install php56 baik2 aja.

    NB: kemaren berhasil nyoba hhvm dan openlitespeed, tapi koneksi tidak stabil. sering dapat error 400. kalo ada waktu, mas chandra iseng2 coba openlitespeed dan hhvm dan share ya mas.

    1. Sep mas, ini multiple PHP juga mas mestinya. Saya tes sekilas lewat phpinfo memang sukses ganti versinya per virtual host.

      HHVM memang ada minat coba mas, tapi ini Apache dan Nginx saja belum sudah loncat ke OpenLiteSpeed. Haha. πŸ˜€ Saya tampung dulu ya, ini lagi ngantri yang Ajentiβ€”V.

      Kalau boleh dishare mas langkah β€” langkahnya buat kombinasi OLSWS dengan HHVM. Buat referensi nantinya. πŸ™‚

  2. Cukup sederhana saja mas, install hhvm, install openlitespeed menggunakan user dan group www-data, install mariadb.
    1. Konfigurasi hhvm untuk menggunakan socket dengan mengedit file /etc/hhvm/server.ini, ganti server.port=9000 dengan hhvm.server.file_socket=/var/run/hhvm/sock lalu restart hhvm.
    2. Buat fastcgi eksternal app pada server configuration openlitespeed
    Name : hhvm Address : uds://var/run/hhvm/sock Max Connections : 2000 Initial Request Timeout (secs) : 60 Retry Timeout (secs) : 0 Auto Start : No
    Parameter lain biarkan saja.
    3. Banti beberapa parameter tuning server configuration
    Smart Keep-Alive : Yes Max Request Body Size (bytes) : 256M Max Dynamic Response Body Size (bytes) : 256M
    4. Silahkan ganti script handler pada virtual host menggunakan hhvm.

    Secara singkat seperti itu langkah yang saya lakukan untuk menggunakan hhvm.
    Saya menggunakan debian, sehingga installasi openlitespeed dilakukan secara manual, a.k.a compile.

    1. Trims mas Fadhilah buat informasi HHVMnya dan koreksinya soal MySQL.

      Nanti saya kumpulkan dulu referensinya kombinasi OpenLiteSpeed dengan HHVM, saya usahakan dengan repository sih. Biar ga repot nanti pas mau update. πŸ™‚

      Oh ya mas, katanya sering 400 Bad Request Error kalau pakai HHVM. Ini terjadinya saat baru instalasi dan coba tes url/website atau pakai benchmark simulasi visitor (seperti Apache Bench) atau malah sudah dipakai beneran pada situs aktif dengan ribuan pengunjung?

      1. Kalau pakai repo secara langsung untuk CentOS, saya rasa untuk HHVM belum ada, sehingga harus compile manual. Kalau langsung lewat repo di debian sebenarnya sudah bisa, hanya saja kemaren, openlitespeed masih menggunakan versi 1.4.13.

        Coba lewat install wordpress kosongan mas, kadang-kadang sering dapat 400 bad request error, tapi beberapa saat kemudian normal2 saja. Mungkin ini karena hhvm butuh yang namanya warm up proses.

      2. Wah iya mas, sudah lama ga ngecek soal HHVM dan memang benar resminya cuma ada repo untuk Debian dan Ubuntu. Kapan – kapan saya coba install.

        Hmmm… ga cari tahu sih mas mungkin memang sudah ada fungsi cachenya terintegrasi dan sesuai kata anda perlu dipanasi dulu.

    1. Halo Akmal, ada template Virtual Hostnya mas di panelnya. PHP_SuEXEC namanya. Sudah dicoba? Ini VPSnya dipakai bersama – sama?

      1. Yang error Your PHP installation appears to be missing the MySQL extension which is required. mas?

        Mas pakai metode kompilasi atau install dari repository? Saya menggunakan repo sih mas, solusinya terpikirkan:

        yum install lsphp56-mysql
  3. Mas Chandra saya memakai STACK diatas cuma Openlitespeednya pakai versi terbaru 1.4.17. Yang mau saya tanyakan, bagaimana setting cache untuk Openlitespeed ya mas ? Saya lihat di documentation open.litespeedtech.com rasanya kurang jelas jadi masih bingung penerapannya sampai sekarang. Intinya supaya hasil kecepatan website lebih maksimal, bagian mana saja yang harus saya setting ?

    Terima kasih.

    1. Yang disini mas: http://open.litespeedtech.com/mediawiki/index.php/Help:Modules:Cache ? Saya dulu pernah coba dan persis kok langkah – langkahnya. Tapi untuk OLSWS 1.3 tentunya. Yang di 1.4 rasanya cuma beda tampilan saja kan?

      Itu istilah yang digunakan dalam konfigurasi cachenya juga agak membingungkan aslinya. Asumsi saya sampai sekarang itu sistem cachingnya mirip dengan Varnish atau FastCGI Cache di Nginx. Belum saya riset lagi. Masih banyak kerjaan soalnya. πŸ™‚

  4. saya mentok disini mas:

    Enter current password for root (enter for none):
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2 "No such file or director             y)

    saya masukkan password root tetap gak bisa, saya enter jg masih sama error itu muncul, udah 2 x install ini plus reinstall OS centos tetp gagal. salah saya dmn ya.?

    maksih

    1. Yang mana saja terserah kok mas, diarahkan dulu ya tidak salah. πŸ™‚

      Masalahnya ada dimana ya mas? Ada pesan errornya?

  5. saya instll openlitespeed dan wordpress untuk php memakai default krn OLS sudah ada phpnya, smeua berjalan lancar
    namun saat saya compile php 7 melalui fitur di openlitespeed dan aktifkan php 7 mengapa jadi eror estabishing database connection? ini masalahnya dimana ya?

    apa sudah pernah pakai wordpress dengan php 7 di openlitespeed?

    1. Halo Doni, itu masalahnya dengan MySQLnya mas. Bisa jadi antara username/password salah atau memang service MySQL tidak aktif.

      Coba eksekusi perintah service mysql status dan lihat hasilnya.

  6. Halo Mas Chandra,

    Ada yg aneh akhir2 ini, semua sudah mengikuti langkah diatas tetapi dengan versi ols paling baru, tidak ada yg error, tapi lsphp70 tidak bekerja, walhasil saya mendapatkan server 503.

    Salam,

    Fadhilah

    1. Berarti mas pakai proses install biasa kan?

      yum install openlitespeed

      Tutorial diatas saya buat pas versi stablenya 1.3 dan 1.4 ada repo sendiri.

      Akses file statis (gambar) atau html apakah normal?

  7. ServerNesia emang jempol, recommended buat baca2 mengenai openlitespeed. Btw, saya nubi.. Saya minta tolong mas.. Saya sudah install di VPS saya openlitespeed dan php 7 persis panduan diatas dan berhasil. Tapi bagaimana mengaktifkan module UPLOADPROGRESS? Saya sudah aktifkan di Web Admin Console, tapi pada halaman testpage ketika upload gambar tidak ada progress bar berjalan, dan ada pesan error : ERROR -- uploadProgress module not enabled?. Lalu saya ikuti langkah2 install uploadprogress pada php 7 pada situs ini :
    https://www.xandermar.com/solved-how-install-uploadprogress-php-7-centosrhel-drupal

    Tapi stuck pas masukkan command: phpize

    Apa mungkin karena direktori php kita berada pada /usr/local/lsws/lsphp70 ?
    Bagaimana solusinya, mohon bantuan.. πŸ™ Terimakasih mas Chandra..

    1. Hmmm… mas ikuti tutorialnya persis? Soalnya saya buat tutorial diatas saat versi stablenya 1.3, sekarang defaultnya sudah 1.4. Mungkin perlu saya koreksi biar ga menyesatkan. πŸ˜€

      Sudah coba ini mas:

      wget https://github.com/Jan-E/uploadprogress/archive/master.zip
      unzip master.zip
      cd uploadprogress-master
      /usr/local/lsws/lsphp70/bin/phpize 
      ./configure --enable-uploadprogress --with-php-config=/usr/local/lsws/lsphp70/bin/php-config 
      make
      make install
      

      Tambahkan extension=uploadprogress.so pada php.ini
      Restart LSWS.

      1. Terimakasih atas balasannya mas.. Tadi saya ada update mengenai ini, dan ternyata masalahnya adalah karena belum terinstall php-devel dan command phpize harus lengkap dengan path: /usr/local/lsws/lsphp70/bin/phpize
        BERHASIL
        Sekarang sih status di phpinfo sudah terpasang UPLOADPROGRESS
        http://imageshack.com/a/img924/3710/Qv3LVL.jpg
        Dan sekarang kalo tes upload di pagetest (openlitespeed welcome page) tidak mau terupload lagi setelah install uploadprogress. Bagaimana cara cek upload dengan halaman yang ada upload bar/progress gitu.. Terimakasih lagi mas Chandra..

      2. Mas, ngetes upload progressnya pakai apa? Drupal 8?

        Soalnya saya baca – baca ini terlalu bleeding edge juga stacknya, PHP 7 dan modulnya untuk PHP bukan LSPHP.

      3. Sebelumnya maaf saya nubi.. Saya tes uploadprogress hanya di halaman welcome page Open LiteSpeed. Kan disitu ada tes upload. Lalu yg kedua saya tes juga melalui script php bawaan dari Github yg mas Chandra kasih:
        https://github.com/Jan-E/uploadprogress/archive/master.zip unzip master.zip

        Mas chandra bilang “PHP 7 dan modulnya untuk PHP bukan LSPHP” apa artinya? Apa beda php dengan lsphp dalam hal ini?

        Btw, saya sudah tes juga pakai PHP yg versi 5.6.28 (berhubung LSWS support multi php di web admin console). Dan hasilnya sama.

        Akhir kata bagaimana seharusnya nge-tes uploadprogress? Kali aja mas Chandra ada script referensi utk saya gunakan tes. Terimakasih.

      4. Aslinya perintah yang saya berikan itu adaptasi dari link yang mas berikan sebelumnya. πŸ™‚ Sudah saya tes sekilas dan bisa, tapi saya ga pakai Drupal dan ga kepikiran lihat welcome pagenya OLSWS. Sama – sama belajarnya kok mas. πŸ˜€

        Bedanya di implementasi mesin proses PHPnya mas. Kalau link yang mas berikan itu untuk PHP-FPM yang sudah include standar: http://php.net/ dan kalau di LiteSpeed mereka punya mesin sendiri namanya LSPHP: https://www.litespeedtech.com/products/litespeed-sapi/php yang katanya jauh lebih baik daripada yang standar. Saya setuju sih, enteng memang. πŸ˜€

        Tapi LiteSpeed sendiri bisa pakai modul PHP standar dan bisa juga pakai FastCGI buat manfaatkan PHP-FPM.

        Nah… yang bikin saya kesulitan itu gini mas. Itu modul upload-progress adanya untuk PHP dan belum standar untuk PHP 7.0. Dimana pada LSPHP jadi tambah kompleks karena versi 7.0nya sendiri masih pengembangan juga. Jadi ini sudah bleeding edge dan ingin dipakai pada platform ga standar.

        Mas sudah coba langsung saja pakai CMSnya? Siapa tahu cuma masalah pada tampilan tapi fungsinya normal.

  8. Hello Admin, how to active openlitespeed modules? I did it via Web Admin Console but nothing changed, progress bar doesn’t work when uploading. I need to active uploadprogress module. Thank you.

  9. salam Mas saya cuba tutorial ini di 2 vps karena pertama nyuba di server Singapore ga bisa. kali ini saya pake Amsterdam ram1gb dan singapore ram512, setelah tahap instalasi mysql_secure_installation. dan mencoba untuk masuk ke openlitespeednya menggunakan port 7080 kenapa ga bisa ya ? awalnya waktu instal pertama kirain negaranya atau jumlah ramnya.. tapi setelah saya instal kedua2 vps tadi tetep ga bisa mas masuk ke ip:7080.. mohon pencerahan mas…

    1. Ada errornya tidak mas yang muncul di browser?

      Kemungkinan sudah saatnya update lagi, soalnya – sesuai judul – saya nulis ini pas versi 1.3 masih defaultnya. Sekarang sudah 1.4 defaultnya.

      1. This site can’t be reached

        The connection was reset.
        Try:
        Checking the connection
        Checking the proxy and the firewall
        Running Windows Network Diagnostics
        ERR_CONNECTION_RESET

      2. saya instal barusan mas… ini tadi blm ada 1 jam mas… rencana pengen beralih dari apache ke openlitespeed…. mohon petuah mas… saya instal berdasarkan petunjuk di atas….

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *