<p class="wp-block-paragraph"><strong>Cara install Tengine &#8211; </strong>Jadi, beberapa waktu lalu saya menemukan sebuah website yang menggunakan teknologi <a href="http://tengine.taobao.org/" target="_blank" rel="noreferrer noopener nofollow">tengine</a> untuk web servernya. Akhirnya saya <em>kepo </em>soal tengine dan sekaligus mencoba-coba installasi tengine. Setelah mengalami beberapa kesulitan seperti installasi ssl yang cukup ribet, akhirnya saya berhasil melakukan Installasi Tengine, PHP, MySQL, WordPress di Ubuntu 20.04 yang akan saya share pada artikel kali ini.</p> 
 
 
 
<p class="wp-block-paragraph">Sebelum masuk ke tutorial <strong>Cara Install Tengine, PHP, MySQL, WordPress di Ubuntu 20.04</strong>. Saya akan membahas sedikit tentang tengine.</p> 
 
 
 
<h3 class="wp-block-heading"><strong>Apa itu Tengine?</strong></h3> 
 
 
 
<p class="wp-block-paragraph">Tengine adalah server web yang dibuat oleh Taobao, situs web e-commerce terbesar di Asia. Ini didasarkan pada server HTTP Nginx dan memiliki banyak fitur lanjutan. Tengine telah terbukti sangat stabil dan efisien di beberapa dari 100 situs web teratas di dunia, termasuk taobao.com dan tmall.com.</p> 
 
 
 
<p class="wp-block-paragraph">Tengine telah menjadi proyek open source sejak Desember 2011. Proyek ini secara aktif dikembangkan oleh tim Tengine, yang anggota intinya berasal dari Taobao, Sogou dan perusahaan Internet lainnya. Tengine adalah upaya komunitas dan setiap orang didorong untuk terlibat. <strong>Baca juga: </strong><a href="https://www.tutorialpedia.net/cara-install-nginx-di-debian/"><strong>Cara Install Nginx di Debian</strong></a></p> 
 
 
 
<p class="wp-block-paragraph">Jadi, tengine adalah sebuah https akselerator yang menggunakan source dari nginx. yang dikembangkan lebih lanjut oleh tim taobao. Karena tengine menggunakan kode sumber dari nginx, seperti yang kita tahu bahwa nginx merupakan software opensource, demikian pula dengan tengine. Tengine dapat kita gunakan secara gratis.</p> 
 
 
 
<p class="wp-block-paragraph">Pada artikel cara install tengine ini, saya menggunakan <a href="https://www.tutorialpedia.net/cara-membuat-server-sendiri-di-digital-ocean/" target="_blank" rel="noreferrer noopener">VPS dari digital ocean</a> dengan distro Ubuntu 20.04 LTS.</p> 
 
 
 
<h3 class="wp-block-heading">Required Library</h3> 
 
 
 
<p class="wp-block-paragraph">Sebelum melakukan installasi tengine, ada beberapa library yang diperlukan diantaranya:</p> 
 
 
 
<ul class="wp-block-list"> 
<li><a href="https://www.openssl.org/">OpenSSL</a> library version between 1.0.2–1.1.0</li> 
<li><a href="https://www.zlib.net/">Zlib</a> library version between 1.1.3–1.2.11</li> 
<li><a href="http://www.pcre.org/">PCRE</a> library version between 4.4–8.40</li> 
<li><a href="https://gcc.gnu.org/">GCC</a> Compiler</li> 
<li><a href="http://jemalloc.net/">jemalloc</a></li> 
<li><a href="https://github.com/ivmai/libatomic_ops">libatomic-ops</a></li> 
</ul> 
 
 
 
<p class="wp-block-paragraph">Untuk menginstall library-library tersebut, jalankan perintah dibawah ini:</p> 
 
 
 
<pre><code> 
apt install build-essential zlib1g-dev libpcre3 libpcre3-dev libssl-dev libjemalloc-dev libatomic-ops-dev make 
</code></pre> 
 
 
 
<h2 class="wp-block-heading"><strong>Cara Install Tengine, PHP, MySQL &; WordPress</strong></h2> 
 
 
 
<h3 class="wp-block-heading"><strong>Install Tengine</strong></h3> 
 
 
 
<p>Download tengine dari repository github</p> 
<pre><code>git clone https://github.com/alibaba/tengine</code></pre> 
<p>Compile Tengine, Jalankan satu persatu perintah dibawah ini:</p> 
<pre><code>mkdir /usr/local/nginx</code></pre> 
<pre><code>mkdir /var/tmp/nginx</code></pre> 
<pre><code>cd tengine</code></pre> 
<pre><code>./configure --prefix=/usr/local/nginx \ 
--pid-path=/var/run/tengine.pid \ 
--error-log-path=/var/log/nginx/error.log \ 
--user=www-data \ 
--group=www-data \ 
--with-poll_module \ 
--with-http_stub_status_module \ 
--with-http_gzip_static_module \ 
--with-http_stub_status_module \ 
--with-http_sub_module \ 
--add-module=./modules/ngx_http_concat_module \ 
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi \ 
--http-scgi-temp-path=/var/tmp/nginx/scgi \ 
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \ 
--http-client-body-temp-path=/var/tmp/nginx/client \ 
--with-ipv6 \ 
--with-http_v2_module \ 
--with-http_ssl_module \ 
--with-http_realip_module \ 
--add-module=./modules/ngx_http_sysguard_module 
</code></pre> 
<pre><code>make &;&; make install 
</code></pre> 
<p>Sekarang Tengine sudah terinstall. Tinggal atur user dan hak akses direktori nya saja.</p> 
<pre><code>useradd -s /sbin/nologin www-data</code></pre> 
<pre><code>cd /usr/local/nginx</code></pre> 
<p>memberi akses ke directory html, secara default html directory tengine berada di /usr/local/nginx/html anda bisa mengubahnya sesuai keinginan</p> 
<pre><code>chown www-data:www-data -R /usr/local/nginx/html</code></pre> 
<pre><code>chown www-data:www-data -R /usr/local/nginx/logs</code></pre> 
<pre><code>chown www-data:www-data -R /var/tmp/nginx</code></pre> 
<pre><code>chmod 700 -R /usr/local/nginx/html</code></pre> 
<pre><code>chmod 700 -R /var/tmp/nginx</code></pre> 
<pre><code>chmod 777 -R /usr/local/nginx/logs</code></pre> 
<pre><code>ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx</code></pre> 
<p>Tes konfigurasi tengine lalu jalankan service nya.</p> 
<pre><code>nginx -t</code></pre> 
<p>Untuk menjalankan tengine cukup jalankan perintah seperti berikut ini.</p> 
<pre><code>nginx</code></pre> 
 
 
 
<p class="wp-block-paragraph">Sekarang coba buka browser anda dan akses ip atau domain vps anda. Jika muncul seperti tampilan dibawah ini, itu artinya anda telah berhasil melakukan installasi tengine di server ubuntu.</p> 
 
 
 
<figure class="wp-block-image size-large"><img class="wp-image-7558" src="https://www.tutorialpedia.net/wp-content/uploads/Screenshot_455-min-1024x424.png" alt="cara install tengine" /></figure> 
 
 
 
<h3 class="wp-block-heading"><strong>Install PHP-FPM</strong></h3> 
 
 
 
<p>Install PHP7.4</p> 
<pre><code>apt-get install php7.4-common php7.4-readline php7.4-fpm php7.4-cli php7.4-gd php7.4-mysql php7.4-curl php7.4-mbstring php7.4-opcache php7.4-json php7.4-xml -y 
</code></pre> 
<p>Mengubah pengaturan default PHP</p> 
<pre><code>sed -i "s/memory_limit = .*/memory_limit = 256M/" /etc/php/7.4/fpm/php.ini</code></pre> 
<pre><code>sed -i "s/upload_max_filesize = .*/upload_max_filesize = 128M/" /etc/php/7.4/fpm/php.ini</code></pre> 
<pre><code>sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.4/fpm/php.ini</code></pre> 
<pre><code>sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.4/fpm/php.ini</code></pre> 
<pre><code>sed -i "s/;cgi.fix_pathinfo=1/;cgi.fix_pathinfo=0/" /etc/php/7.4/fpm/php.ini</code></pre> 
<pre><code>sed -i "s@listen = /run/php/php7.4-fpm.sock@listen = 127.0.0.1:9000@g" /etc/php/7.4/fpm/pool.d/www.conf</code></pre> 
<p>Apply configuration</p> 
<pre><code>/etc/init.d/php7.4-fpm restart</code></pre> 
 
 
 
<h3 class="wp-block-heading"><strong>Install MariaDB</strong></h3> 
 
 
 
<p>Install MariaBD Server &; Client</p> 
<pre><code>apt-get install mariadb-server mariadb-client -y</code></pre> 
<p>Pada langkah ini anda hanya disuruh mengikuti instruksi yang diberikan.</p> 
<pre><code>mysql_secure_installation</code></pre> 
<p>Logs</p> 
<pre><code>Enter current password for root (enter for none): 
OK, successfully used password, moving on... 
 
Setting the root password ensures that nobody can log into the MariaDB 
root user without the proper authorisation. 
 
Set root password? [Y/n] y 
New password: 
Re-enter new password: 
Password updated successfully! 
Reloading privilege tables.. 
 ... Success! 
 
 
By default, a MariaDB installation has an anonymous user, allowing anyone 
to log into MariaDB without having to have a user account created for 
them. This is intended only for testing, and to make the installation 
go a bit smoother. You should remove them before moving into a 
production environment. 
 
Remove anonymous users? [Y/n] n 
 ... skipping. 
 
Normally, root should only be allowed to connect from 'localhost'. This 
ensures that someone cannot guess at the root password from the network. 
 
Disallow root login remotely? [Y/n] n 
 ... skipping. 
 
By default, MariaDB comes with a database named 'test' that anyone can 
access. This is also intended only for testing, and should be removed 
before moving into a production environment. 
 
Remove test database and access to it? [Y/n] y 
 - Dropping test database... 
 ... Success! 
 - Removing privileges on test database... 
 ... Success! 
 
Reloading the privilege tables will ensure that all changes made so far 
will take effect immediately. 
 
Reload privilege tables now? [Y/n] y 
 ... Success! 
 
Cleaning up... 
 
All done! If you've completed all of the above steps, your MariaDB 
installation should now be secure. 
 
Thanks for using MariaDB!</code></pre> 
 
 
 
<p class="wp-block-paragraph"><strong>Mengatur Server Block Tengine</strong></p> 
 
 
 
<p class="wp-block-paragraph">Meskipun tengine memiliki source yang sama dengan nginx, tapi ada perbedaan dalam pengaturan server block tengine. Kalau di nginx, kita bisa mengatur virtual host per file. Namun kalau di tengine kita hanya mengatur virtual host di dalam 1 file yaitu di <em>nginx.conf</em></p> 
 
 
 
<p>Berikut ini adalah gambaran dari pengaturan virtualhost tengine</p> 
<pre><code>stream { 
 server { 
 listen 443 ssl; 
 server_name www.domain1.com; 
 ...... 
 } 
 
 server { 
 listen 443 ssl; 
 server_name www.domain2.com; 
 ...... 
 } 
 
 #Default server, first server block will be used 
 #if not such default server is provied. 
 server { 
 listen 443 ssl default; 
 .... 
 } 
 
}</code></pre> 
<p>Jadi, jika anda mempunyai lebih dari 1 domain, anda hanya perlu menambahkan server block berikutnya, namun masih dalam http block. Karena kita akan mengubah konfigurasi tengine, kita backup dulu nginx.conf file nya.</p> 
<pre><code>cp /usr/local/nginx/conf/nginx.conf /root/</code></pre> 
<p>Lalu, kosongkan konfigurasi yang lama,</p> 
<pre><code>cat /dev/null >; /usr/local/nginx/conf/nginx.conf</code></pre> 
<p>Secara default, sebenarnya konfigurasi tengine hanya seperti dibawah ini.</p> 
<pre><code> 
user www-data; 
worker_processes 1; 
 
events { 
 worker_connections 1024; 
} 
 
 
http { 
 include mime.types; 
 default_type application/octet-stream; 
 sendfile on; 
 keepalive_timeout 65; 
 
 gzip on; 
 
 server { 
 listen 80; 
 server_name localhost; 
 location / { 
 root html; 
 index index.html index.htm; 
 } 
 
 error_page 500 502 503 504 /50x.html; 
 location = /50x.html { 
 root html; 
 } 
 
 } 
 
}</code></pre> 
<p>Namun, jika ingin menggunakan wordpress maka ada beberapa perubahan didalam konfigurasinya. Saya tidak bisa jelaskan baris per-baris. Cukup perhatikan saja tanda komen (#) yang saya berikan.</p> 
<pre><code>user www-data; 
worker_processes 1; 
 
events { 
 worker_connections 1024; 
} 
 
 
http { 
 include mime.types; 
 default_type application/octet-stream; 
 sendfile on; 
 keepalive_timeout 65; 
 
 gzip on; 
 
 server { 
 listen 80; 
 root /usr/local/nginx/html/; #lokasi file website anda 
 server_name dev.tutorialpedia.net; #nama domain anda 
 index index.html index.htm index.php; 
 
 location / { 
 try_files $uri $uri/ /index.php?$args; 
 } 
 
 #konfigurasi PHP 
 location ~ \.php$ { 
 fastcgi_pass 127.0.0.1:9000; 
 fastcgi_index index.php; 
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
 include fastcgi_params; 
 fastcgi_cache_valid 200 60m; 
 } 
 error_page 500 502 503 504 /50x.html; 
 location = /50x.html { 
 root html; 
 } 
 
 } 
 
}</code></pre> 
<p>Sebelum apply configuration sebaiknya test dulu konfignya dengan cara.</p> 
<pre><code>nginx -t</code></pre> 
<p>Jika output yang dihasilkan <i>test is succesful</i> Lalu restart tengine</p> 
<pre><code>nginx -s reload</code></pre> 
 
 
 
<h3 class="wp-block-heading"><strong>Install WordPress</strong></h3> 
 
 
 
<p>Installasi wordpress hampir sama pada umumnya. masuk ke folder direktori html tengine dan Download WordPress</p> 
<pre><code>cd /usr/local/nginx/html &;&; wget https://wordpress.org/latest.tar.gz</code></pre> 
<p>Ekstrak wordpress dan letakkan di root direktori</p> 
<pre><code>tar -x --xform s/wordpress// -f /usr/local/nginx/html/latest.tar.gz -C /usr/local/nginx/html/</code></pre> 
<p>beri hak akses tengine ke folder</p> 
<pre><code>chown -R www-data:www-data /usr/local/nginx/html/</code></pre> 
<pre><code>chmod -R 755 /usr/local/nginx/html/</code></pre> 
<p>hapus file yang tidak perlu yang berada di root direktori</p> 
<pre><code>rm /usr/local/nginx/html/index.html</code></pre> 
<p>Sebelum melakukan installasi wordpress, kita diwajibkan membuat database terlebih dahulu. Command dibawah ini akan membuat database dengan nama &#8220;tengine&#8221;</p> 
<pre><code>mysql -uroot -p -e "CREATE DATABASE tengine;"</code></pre> 
<p>Jika diminta password, silahkan masukkan password database anda.</p> 
 
 
 
<p class="wp-block-paragraph">Lalu akses domain/ip vps anda. Maka akan muncul tampilan seperti berikut:</p> 
 
 
 
<figure class="wp-block-image size-large"><img class="wp-image-7564" src="https://www.tutorialpedia.net/wp-content/uploads/Screenshot_456-min-1024x862.png" alt="cara install tengine" /></figure> 
 
 
 
<p class="wp-block-paragraph">Klik <strong>Let&#8217;s Go</strong></p> 
 
 
 
<figure class="wp-block-image size-large"><img class="wp-image-7565" src="https://www.tutorialpedia.net/wp-content/uploads/Screenshot_457-min-1024x769.png" alt="cara install tengine" /></figure> 
 
 
 
<p class="wp-block-paragraph">Lalu masukkan kredensial seperti <strong>Nama database, user database dan password database.</strong></p> 
 
 
 
<figure class="wp-block-image size-large"><img class="wp-image-7566" src="https://www.tutorialpedia.net/wp-content/uploads/Screenshot_458-min-1024x650.png" alt="cara install tengine" /></figure> 
 
 
 
<p class="wp-block-paragraph">Jika pada saat klik <strong>submit</strong> muncul <em>error establishing database connection</em>, meskipun semua informasi yang anda masukkan sudah benar.</p> 
 
 
 
<figure class="wp-block-image size-large"><img class="wp-image-7567" src="https://www.tutorialpedia.net/wp-content/uploads/Screenshot_459-min-1024x669.png" alt="cara install tengine" /></figure> 
 
 
 
<p class="wp-block-paragraph">Ini dikarenakan, secara default mariadb melarang kita untuk menggunakan root user sebagai user default untuk digunakan sebagai user database. Untuk itu kita harus meng-<em>alter </em>user root tersebut agar bisa digunakan. Namun, cara tersebut kurang aman, jadi ada baiknya kita membuat user baru saja dengan level yang sama dengan user root.</p> 
 
 
 
<p>Masuk ke mysql anda.</p> 
<pre><code>mysql -uroot -p</code></pre> 
<p>Create user. Agar memenuhi kriteria password, silahkan gunakan huruf besar kecil dan karakter unik</p> 
<pre><code>CREATE USER 'useranda'@'localhost' IDENTIFIED BY 'password';</code></pre> 
<p>beri semua akses ke user</p> 
<pre><code>GRANT ALL PRIVILEGES ON *.* TO 'useranda'@'localhost';</code></pre> 
 
 
 
<p class="wp-block-paragraph">Lalu sekarang masukkan kembali user baru yang sudah dibuat. Harusnya berhasil:</p> 
 
 
 
<figure class="wp-block-image size-large"><img class="wp-image-7568" src="https://www.tutorialpedia.net/wp-content/uploads/Screenshot_460-min-1024x524.png" alt="cara install tengine" /></figure> 
 
 
 
<p class="wp-block-paragraph">Tinggal lanjutkan saja installasi wordpress seperti biasa.</p> 
 
 
 
<figure class="wp-block-image size-large"><img class="wp-image-7569" src="https://www.tutorialpedia.net/wp-content/uploads/Screenshot_461-min-1024x727.png" alt="cara install tengine" /></figure> 
 
 
 
<p class="wp-block-paragraph">Jika, langkah-langkah yang anda ikuti sesuai, maka seharusnya installasi tengine tidak ada masalah. Untuk mengecek, apakah website kita sudah menggunakan tengine, anda bisa mencoba add on browser bernama wappalyzer.</p> 
 
 
 
<div class="wp-block-image"> 
<figure class="aligncenter size-large"><img class="wp-image-7570" src="https://www.tutorialpedia.net/wp-content/uploads/Screenshot_410.png" alt="" /></figure> 
</div> 
 
 
 
<p class="wp-block-paragraph"><strong>Lalu, bagaimana dengan installasi SSL di tengine? </strong></p> 
 
 
 
<p class="wp-block-paragraph">Nah, untuk installasi ssl di tengine memang agak sedikit tricky, berhubungan artikel ini sudah terlalu panjang. maka akan saya bahas pada artikel berikutnya.</p> 
 
 
 
<p class="wp-block-paragraph">Stay tune!</p> 
 
 
 
<p class="wp-block-paragraph">Demikian artikel <strong>Cara Install Tengine, PHP, MySQL dan WordPress</strong></p> 

Cara Install Tengine, PHP, MySQL, WordPress di Ubuntu 20.04
Recent Articles
Kumpulan DNS Gratis Tercepat!
DNS merupakan sebuah sistem yang bertugas menyimpan semua informasi data domain dalam jaringan. Dengan adanya DNS, domain atau hostname yang ada akan ditranslate dan...
Apa itu DNS ? Dan Fungsinya
Apa itu DNS? - DNS (Domain Name System) adalah sebuah sistem yang bertugas menyimpan semua informasi data domain dalam jaringan. Dengan adanya DNS, domain...
Apa itu OLT ? Serta Fungsinya Dalam Jaringan
Apa itu olt ? OLT (Optical Line Termination) adalah perangkat keras yang berfungsi sebagai titik akhir (end-point) dari layanan jaringan optik pasif (Passive Optical...
Template Voucher Untuk Mixradius
Template Voucher Untuk Mixradius - Pasti kalian bosen kan dengan template voucher default mixradius? tenang. kali ini saya akan memberikan template untuk voucher mixradius kamu agar...
Daftar Port Game Online Mikrotik Terbaru
Daftar port game online dibawah ini bisa digunakan untuk membuat rule agar koneksi ke game online tersebut bisa lancar, bisa juga untuk memisahkan antara...