Cara membuat database server mariadb pada CentOS 7

Server database adalah sebuah server yang dapat menyimpan sebuah basis data yang diperlukan untuk kebutuhan tertentu seperti untuk program, untuk data-data disebuah organisasi/sekolah dan perusahaan. Kita dapat membuat sebuah server database kita sendiri, pada sistem operasi CentOS 7, untuk membuat server database, pada server tersebut kita memerlukan aplikasi yang dapat menyediakan layanan database.

Aplikasi penyedia database yang saya bahas kali ini adalah MariaDB, aplikasi ini terdapat pada repositori SCLo, maka sebelum dapat menginstall MariaDB kita harus menginstall repo SCLo pada server yang akan kita konfigurasi.

Berikut ini adalah topologi server yang akan saya konfigurasi :

Topologi

Node01 DB Server

  1. Install repo centos sclo terlebih dahulu, karena mariadb terdapat pada repo tersebut, jika pada repo centos default versinya masih yang 5.5, Setelah itu baru install mariadb.
  2. [root@node01 ~]# yum -y install centos-release-scl-rh centos-release-scl
    [root@node01 ~]# yum --enablerepo=centos-sclo-rh -y install rh-mariadb102-mariadb-server
  3. Setelah terinstall, berhubung aplikasi yang berasal dari repo sclo diinstall pada direktori /opt kita perlu melakukan load environtment agar mariadb dapat digunakan.
  4. [root@node01 ~]# mysql #belum bisa digunakan
    -bash: mysql: command not found

    #kita aktifkan

    [root@node01 ~]# scl enable rh-mariadb102 bash
    [root@node01 ~]# mysql -V #baru bisa digunakan
    mysql Ver 15.1 Distrib 10.2.8-MariaDB, for Linux (x86_64) using EditLine wrapper

    #Buat agar otomatis terload saat booting

    [root@node01 ~]# vi /etc/profile.d/rh-mariadb102.sh
    #!/bin/bash

    source /opt/rh/rh-mariadb102/enable
    export X_SCLS="`scl enable rh-mariadb102 'echo $X_SCLS'`"

  5. Edit file konfigurasi /etc/opt/rh/rh-mariadb102/my.cnf.d/mariadb-server.cnf untuk menentukan character set.
  6. [root@node01 ~]# vi /etc/opt/rh/rh-mariadb102/my.cnf.d/mariadb-server.cnf
    .......
    [mysqld]
    datadir=/var/opt/rh/rh-mariadb102/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    log-error=/var/opt/rh/rh-mariadb102/log/mariadb/mariadb.log
    pid-file=/run/rh-mariadb102-mariadb/mariadb.pid
    character-set-server=utf8
    .......
  7. Jalankan dan aktifkan service mariadb server.
  8. [root@node01 ~]# systemctl start rh-mariadb102-mariadb
    [root@node01 ~]# systemctl enable rh-mariadb102-mariadb
    Created symlink from /etc/systemd/system/multi-user.target.wants/rh-mariadb102-mariadb.service to /usr/lib/systemd/system/rh-mariadb102-mariadb.service.
  9. Kemudian lakukan konfigurasi awal untuk menentukan root password dan yang lainnya.
  10. [root@node01 ~]# mysql_secure_installation 

    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
    SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

    In order to log into MariaDB to secure it, we'll need the current
    password for the root user. If you've just installed MariaDB, and
    you haven't set the root password yet, the password will be blank,
    so you should just press enter here.

    Enter current password for root (enter for none): #kosongkan
    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: #root 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] Y
    ... Success!

    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] Y #ingin user root dapat diakses komputer lain atau tidak
    ... Success!

    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!
  11. Setelah itu kita sudah dapat menggunakan server database ini.
  12. [root@node01 ~]# mysql -u root -p
    Enter password:
    Welcome to the MariaDB monitor. Commands end with ; or \g.
    Your MariaDB connection id is 16
    Server version: 10.2.8-MariaDB MariaDB Server

    Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    MariaDB [(none)]> select user,host,password from mysql.user;
    +------+-----------+-------------------------------------------+
    | user | host | password |
    +------+-----------+-------------------------------------------+
    | root | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
    | root | 127.0.0.1 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
    | root | ::1 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
    +------+-----------+-------------------------------------------+
    3 rows in set (0.00 sec)
    MariaDB [(none)]> create database testdb;
    Query OK, 1 row affected (0.00 sec)

    MariaDB [(none)]> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | testdb |
    +--------------------+
    4 rows in set (0.00 sec)

    MariaDB [(none)]>
  13. Agar server dapat diakses dari luar kita perlu membuka firewall mysql.
  14. [root@node01 ~]# firewall-cmd --add-service=mysql --permanent
    success
    [root@node01 ~]# firewall-cmd --reload
    success
  15. Untuk melihat error, log pada mariadb bisa menggunakan perintah dibawah ini.
  16. [root@node01 ~]# tail -f /var/opt/rh/rh-mariadb102/log/mariadb/mariadb.log 
    2018-06-29 8:49:39 140492900100288 [Note] InnoDB: Waiting for purge to start
    2018-06-29 8:49:39 140492900100288 [Note] InnoDB: 5.7.19 started; log sequence number 1620266
    2018-06-29 8:49:39 140491962164992 [Note] InnoDB: Loading buffer pool(s) from /var/opt/rh/rh-mariadb102/lib/mysql/ib_buffer_pool
    2018-06-29 8:49:39 140491962164992 [Note] InnoDB: Buffer pool(s) load completed at 180629 8:49:39
    2018-06-29 8:49:39 140492900100288 [Note] Plugin 'FEEDBACK' is disabled.
    2018-06-29 8:49:40 140492900100288 [Note] Server socket created on IP: '::'.
    2018-06-29 8:49:40 140492900100288 [Note] Reading of all Master_info entries succeded
    2018-06-29 8:49:40 140492900100288 [Note] Added new Master_info '' to hash table
    2018-06-29 8:49:40 140492900100288 [Note] /opt/rh/rh-mariadb102/root/usr/libexec/mysqld: ready for connections.
    Version: '10.2.8-MariaDB' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server

Sampai disini saja postingan saya kali ini,
Sekian terima kasih.

Cara membuat database server mariadb pada CentOS 7

Server database adalah sebuah server yang dapat menyimpan sebuah basis data yang diperlukan untuk kebutuhan tertentu seperti untuk program, untuk data-data disebuah organisasi/sekolah dan perusahaan. Kita dapat membuat sebuah server database kita sendiri, pada sistem operasi CentOS 7, untuk membuat server database, pada server tersebut kita memerlukan aplikasi yang dapat menyediakan layanan database.

Aplikasi penyedia database yang saya bahas kali ini adalah MariaDB, aplikasi ini terdapat pada repositori SCLo, maka sebelum dapat menginstall MariaDB kita harus menginstall repo SCLo pada server yang akan kita konfigurasi.

Berikut ini adalah topologi server yang akan saya konfigurasi :

Topologi

Node01 DB Server

  1. Install repo centos sclo terlebih dahulu, karena mariadb terdapat pada repo tersebut, jika pada repo centos default versinya masih yang 5.5, Setelah itu baru install mariadb.
  2. [root@node01 ~]# yum -y install centos-release-scl-rh centos-release-scl
    [root@node01 ~]# yum --enablerepo=centos-sclo-rh -y install rh-mariadb102-mariadb-server
  3. Setelah terinstall, berhubung aplikasi yang berasal dari repo sclo diinstall pada direktori /opt kita perlu melakukan load environtment agar mariadb dapat digunakan.
  4. [root@node01 ~]# mysql #belum bisa digunakan
    -bash: mysql: command not found

    #kita aktifkan

    [root@node01 ~]# scl enable rh-mariadb102 bash
    [root@node01 ~]# mysql -V #baru bisa digunakan
    mysql Ver 15.1 Distrib 10.2.8-MariaDB, for Linux (x86_64) using EditLine wrapper

    #Buat agar otomatis terload saat booting

    [root@node01 ~]# vi /etc/profile.d/rh-mariadb102.sh
    #!/bin/bash

    source /opt/rh/rh-mariadb102/enable
    export X_SCLS="`scl enable rh-mariadb102 'echo $X_SCLS'`"

  5. Edit file konfigurasi /etc/opt/rh/rh-mariadb102/my.cnf.d/mariadb-server.cnf untuk menentukan character set.
  6. [root@node01 ~]# vi /etc/opt/rh/rh-mariadb102/my.cnf.d/mariadb-server.cnf
    .......
    [mysqld]
    datadir=/var/opt/rh/rh-mariadb102/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    log-error=/var/opt/rh/rh-mariadb102/log/mariadb/mariadb.log
    pid-file=/run/rh-mariadb102-mariadb/mariadb.pid
    character-set-server=utf8
    .......
  7. Jalankan dan aktifkan service mariadb server.
  8. [root@node01 ~]# systemctl start rh-mariadb102-mariadb
    [root@node01 ~]# systemctl enable rh-mariadb102-mariadb
    Created symlink from /etc/systemd/system/multi-user.target.wants/rh-mariadb102-mariadb.service to /usr/lib/systemd/system/rh-mariadb102-mariadb.service.
  9. Kemudian lakukan konfigurasi awal untuk menentukan root password dan yang lainnya.
  10. [root@node01 ~]# mysql_secure_installation 

    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
    SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

    In order to log into MariaDB to secure it, we'll need the current
    password for the root user. If you've just installed MariaDB, and
    you haven't set the root password yet, the password will be blank,
    so you should just press enter here.

    Enter current password for root (enter for none): #kosongkan
    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: #root 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] Y
    ... Success!

    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] Y #ingin user root dapat diakses komputer lain atau tidak
    ... Success!

    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!
  11. Setelah itu kita sudah dapat menggunakan server database ini.
  12. [root@node01 ~]# mysql -u root -p
    Enter password:
    Welcome to the MariaDB monitor. Commands end with ; or \g.
    Your MariaDB connection id is 16
    Server version: 10.2.8-MariaDB MariaDB Server

    Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    MariaDB [(none)]> select user,host,password from mysql.user;
    +------+-----------+-------------------------------------------+
    | user | host | password |
    +------+-----------+-------------------------------------------+
    | root | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
    | root | 127.0.0.1 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
    | root | ::1 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
    +------+-----------+-------------------------------------------+
    3 rows in set (0.00 sec)
    MariaDB [(none)]> create database testdb;
    Query OK, 1 row affected (0.00 sec)

    MariaDB [(none)]> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | testdb |
    +--------------------+
    4 rows in set (0.00 sec)

    MariaDB [(none)]>
  13. Agar server dapat diakses dari luar kita perlu membuka firewall mysql.
  14. [root@node01 ~]# firewall-cmd --add-service=mysql --permanent
    success
    [root@node01 ~]# firewall-cmd --reload
    success
  15. Untuk melihat error, log pada mariadb bisa menggunakan perintah dibawah ini.
  16. [root@node01 ~]# tail -f /var/opt/rh/rh-mariadb102/log/mariadb/mariadb.log 
    2018-06-29 8:49:39 140492900100288 [Note] InnoDB: Waiting for purge to start
    2018-06-29 8:49:39 140492900100288 [Note] InnoDB: 5.7.19 started; log sequence number 1620266
    2018-06-29 8:49:39 140491962164992 [Note] InnoDB: Loading buffer pool(s) from /var/opt/rh/rh-mariadb102/lib/mysql/ib_buffer_pool
    2018-06-29 8:49:39 140491962164992 [Note] InnoDB: Buffer pool(s) load completed at 180629 8:49:39
    2018-06-29 8:49:39 140492900100288 [Note] Plugin 'FEEDBACK' is disabled.
    2018-06-29 8:49:40 140492900100288 [Note] Server socket created on IP: '::'.
    2018-06-29 8:49:40 140492900100288 [Note] Reading of all Master_info entries succeded
    2018-06-29 8:49:40 140492900100288 [Note] Added new Master_info '' to hash table
    2018-06-29 8:49:40 140492900100288 [Note] /opt/rh/rh-mariadb102/root/usr/libexec/mysqld: ready for connections.
    Version: '10.2.8-MariaDB' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server

Sampai disini saja postingan saya kali ini,
Sekian terima kasih.

Tutorial membuat template Blogger #1

Pada posting kali ini saya akan membahas bagaimana cara membuat sebuah template blogger versi saya, untuk membuat template blogger kita perlu memahami beberapa materi pemograman web yang mungkin pernah dipelajari saat SMK atau ketika kuliah, jika kita menguasai materi tersebut kita akan dengan mudah memahami struktur template yang ada pada blogger.

Seperti yang saya bilang ada beberapa materi yang harus dipahami diantaranya yaitu :

  • HTML untuk struktur elemen.
  • CSS untuk menghias.
  • JavaScript untuk membuat konten lebih dinamis.
  • XML
Saya mempelajari semua itu pertama ketika saya sekolah dan dari situs W3Schools.

Persiapan

Bahan-bahan yang diperlukan untuk membuat template tidak terlalu sulit dan sudah pasti ada disetiap komputer, berikut ini bahan yang perlu dipersiapkan.
  • Editor Text seperti Notepad, Mousepad (Linux), saya menyarankan Notepad++.
  • Browser Chrome, Firefox, Opera, atau Safari sebagai Viewer (Output).
Pada setiap browser kita dapat memanfaatkan fitur Inspect Element atau developer tools untuk memudahkan kita dalam pembuatan.
Caranya klik kanan pada browser > Inspect.

Gambar diatas merupakan contoh fitur inspect element.

Membuat template kosong

Kita buat template kosong atau kanvas kosong, saya menyarankan membuat templatenya pada blog baru yang khusus untuk pengujian yang tidak dipakai untuk ditayangkan dipublik.

Buka Blogger > Pilih salah satu blog > Template > Edit HTML.

Pada bagian ini kita hapus bersih semua kode yang ada pada kotak itu tanpa sisa.

Masukan kode struktur dasar HTML pada kotak tersebut, berikut ini kodenya.

<!DOCTYPE html>
<html>
<head>
<title>Judul Blog</title>
</head>
<body>
Isi Blog
</body>
</html>

Setelah itu pada bagian <head> tambahkan beberapa tag html lainnya seperti xml, b:skin.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html b:version='2' class='v2' expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b'
xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'/>
<b:if cond='data:blog.isMobile'>
<!--
Tag Meta jika ingin template blogger ini menjadi responsive,
yaitu menyesuaikan ukuran layar perangkat
-->
<meta content='width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0' name='viewport'/>
<b:else/>
<meta content='width=1100' name='viewport'/>
</b:if>
<!--
tag b:include untuk memanggil konten yang terpisah,
yang ini untuk memanggil semua konten head yang dibutuhkan pada blogger
-->
<b:include data='blog' name='all-head-content'/>
<!--
Tag b:if memungkinkan kita membuat beberapa konten berbeda tergantung dari kondisi,
misalnya jika pada halaman homepage isinya menjadi A sedangkat selain homepage menjadi B,
-->
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<title><data:blog.pageTitle/></title>
<b:else/>
<title><data:blog.pageName/></title>
</b:if>
<!-- Tempat untuk meletakan CSS blogger ada pada tag b:skin -->
<b:skin>
<![CDATA[
body, html {
margin : 0;
padding : 0;
font-family : sans-serif;
}
]]>
</b:skin>
</head>
<body>
Isi Blog
</body>
</html>

Setelah bagian head, kita lanjutkan pada bagian <body>, kita akan menambahkan tag b:section untuk menyediakan tempat menyisipkan widget pada blog, atau bisa menjadi tempat postingan dan header.

<body>
<!--
Dalam satu tag b:section dapat diisi beberapa widget blog, b:section header
bisa digunakan untuk meletakan header, sedangkan tag b:section main
biasanya sebagai tempat postingan blog dimuat.
-->
<b:section class='header' id='header' showaddelement='yes'/>
<b:section class='main' id='main'>
<b:widget id='Blog1' locked='true' title='Posting Blog' type='Blog' version='1' />
</b:section>
<!--
Setiap b:section memiliki class untuk membedakan jenisnya, dan id untuk
membedakan antara b:section satu dengan yang lainnya.
b:section dibawah ini dapat diisi dengan widget tambahan seperti label,
archive, popular post
-->
<b:section class='sidebar' id='sidebar1' showaddelement='yes' />
<b:section class='sidebar' id='sidebar2' showaddelement='yes' />
</body>

Maka hasil akhirnya akan seperti dibawah ini.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html b:version='2' class='v2' expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'/>
<b:if cond='data:blog.isMobile'>
<meta content='width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0' name='viewport'/>
<b:else/>
<meta content='width=1100' name='viewport'/>
</b:if>
<b:include data='blog' name='all-head-content'/>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<title><data:blog.pageTitle/></title>
<b:else/>
<title><data:blog.pageName/></title>
</b:if>
<b:skin><![CDATA[
body, html {
margin : 0;
padding : 0;
font-family : sans-serif;
}
]]></b:skin>
</head>
<body>
<b:section class='header' id='header' showaddelement='yes'/>
<b:section class='main' id='main'>
<b:widget id='Blog1' locked='true' title='Posting Blog' type='Blog' />
</b:section>
<b:section class='sidebar' id='sidebar1' showaddelement='yes'/>
<b:section class='sidebar' id='sidebar2' showaddelement='yes'/>
</body>
</html>

Klik simpan untuk menyimpannya, setiap kali ada perubahan klik simpan untuk menyimpan perubahan.

Menambahkan widget

Kita akan mengisi b:section dengan widget, kali ini yang saya contohkan adalah Header. Klik Tata Letak pada blogger, kira-kira hasilnya sementara seperti ini.

Klik tambahkan gadget pada bagian header, lalu pilih Header halaman.

Langsung klik simpan, setelah selesai sementara jika dilihat dari web browser akan seperti ini.

Cukup sampai disini postingan saya yang ini, jika ada waktu saya akan melanjutkan pada part berikutnya.

Tutorial membuat template Blogger #1

Pada posting kali ini saya akan membahas bagaimana cara membuat sebuah template blogger versi saya, untuk membuat template blogger kita perlu memahami beberapa materi pemograman web yang mungkin pernah dipelajari saat SMK atau ketika kuliah, jika kita menguasai materi tersebut kita akan dengan mudah memahami struktur template yang ada pada blogger.

Seperti yang saya bilang ada beberapa materi yang harus dipahami diantaranya yaitu :

  • HTML untuk struktur elemen.
  • CSS untuk menghias.
  • JavaScript untuk membuat konten lebih dinamis.
  • XML
Saya mempelajari semua itu pertama ketika saya sekolah dan dari situs W3Schools.

Persiapan

Bahan-bahan yang diperlukan untuk membuat template tidak terlalu sulit dan sudah pasti ada disetiap komputer, berikut ini bahan yang perlu dipersiapkan.
  • Editor Text seperti Notepad, Mousepad (Linux), saya menyarankan Notepad++.
  • Browser Chrome, Firefox, Opera, atau Safari sebagai Viewer (Output).
Pada setiap browser kita dapat memanfaatkan fitur Inspect Element atau developer tools untuk memudahkan kita dalam pembuatan.
Caranya klik kanan pada browser > Inspect.

Gambar diatas merupakan contoh fitur inspect element.

Membuat template kosong

Kita buat template kosong atau kanvas kosong, saya menyarankan membuat templatenya pada blog baru yang khusus untuk pengujian yang tidak dipakai untuk ditayangkan dipublik.

Buka Blogger > Pilih salah satu blog > Template > Edit HTML.

Pada bagian ini kita hapus bersih semua kode yang ada pada kotak itu tanpa sisa.

Masukan kode struktur dasar HTML pada kotak tersebut, berikut ini kodenya.

<!DOCTYPE html>
<html>
<head>
<title>Judul Blog</title>
</head>
<body>
Isi Blog
</body>
</html>

Setelah itu pada bagian <head> tambahkan beberapa tag html lainnya seperti xml, b:skin.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html b:version='2' class='v2' expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b'
xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'/>
<b:if cond='data:blog.isMobile'>
<!--
Tag Meta jika ingin template blogger ini menjadi responsive,
yaitu menyesuaikan ukuran layar perangkat
-->
<meta content='width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0' name='viewport'/>
<b:else/>
<meta content='width=1100' name='viewport'/>
</b:if>
<!--
tag b:include untuk memanggil konten yang terpisah,
yang ini untuk memanggil semua konten head yang dibutuhkan pada blogger
-->
<b:include data='blog' name='all-head-content'/>
<!--
Tag b:if memungkinkan kita membuat beberapa konten berbeda tergantung dari kondisi,
misalnya jika pada halaman homepage isinya menjadi A sedangkat selain homepage menjadi B,
-->
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<title><data:blog.pageTitle/></title>
<b:else/>
<title><data:blog.pageName/></title>
</b:if>
<!-- Tempat untuk meletakan CSS blogger ada pada tag b:skin -->
<b:skin>
<![CDATA[
body, html {
margin : 0;
padding : 0;
font-family : sans-serif;
}
]]>
</b:skin>
</head>
<body>
Isi Blog
</body>
</html>

Setelah bagian head, kita lanjutkan pada bagian <body>, kita akan menambahkan tag b:section untuk menyediakan tempat menyisipkan widget pada blog, atau bisa menjadi tempat postingan dan header.

<body>
<!--
Dalam satu tag b:section dapat diisi beberapa widget blog, b:section header
bisa digunakan untuk meletakan header, sedangkan tag b:section main
biasanya sebagai tempat postingan blog dimuat.
-->
<b:section class='header' id='header' showaddelement='yes'/>
<b:section class='main' id='main'>
<b:widget id='Blog1' locked='true' title='Posting Blog' type='Blog' version='1' />
</b:section>
<!--
Setiap b:section memiliki class untuk membedakan jenisnya, dan id untuk
membedakan antara b:section satu dengan yang lainnya.
b:section dibawah ini dapat diisi dengan widget tambahan seperti label,
archive, popular post
-->
<b:section class='sidebar' id='sidebar1' showaddelement='yes' />
<b:section class='sidebar' id='sidebar2' showaddelement='yes' />
</body>

Maka hasil akhirnya akan seperti dibawah ini.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html b:version='2' class='v2' expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'/>
<b:if cond='data:blog.isMobile'>
<meta content='width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0' name='viewport'/>
<b:else/>
<meta content='width=1100' name='viewport'/>
</b:if>
<b:include data='blog' name='all-head-content'/>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<title><data:blog.pageTitle/></title>
<b:else/>
<title><data:blog.pageName/></title>
</b:if>
<b:skin><![CDATA[
body, html {
margin : 0;
padding : 0;
font-family : sans-serif;
}
]]></b:skin>
</head>
<body>
<b:section class='header' id='header' showaddelement='yes'/>
<b:section class='main' id='main'>
<b:widget id='Blog1' locked='true' title='Posting Blog' type='Blog' />
</b:section>
<b:section class='sidebar' id='sidebar1' showaddelement='yes'/>
<b:section class='sidebar' id='sidebar2' showaddelement='yes'/>
</body>
</html>

Klik simpan untuk menyimpannya, setiap kali ada perubahan klik simpan untuk menyimpan perubahan.

Menambahkan widget

Kita akan mengisi b:section dengan widget, kali ini yang saya contohkan adalah Header. Klik Tata Letak pada blogger, kira-kira hasilnya sementara seperti ini.

Klik tambahkan gadget pada bagian header, lalu pilih Header halaman.

Langsung klik simpan, setelah selesai sementara jika dilihat dari web browser akan seperti ini.

Cukup sampai disini postingan saya yang ini, jika ada waktu saya akan melanjutkan pada part berikutnya.

Konfigurasi proxy load balance Nginx pada CentOS 7

Sebelumnya saya sudah membahas reverse proxy pada Nginx yang memungkinkan kita membuat server Frontend dan Backend di posting ini, pada kali ini konfigurasi tidak jauh berbeda dengan reverse proxy hanya saja ditambahkan Load Balance pada server backend.

Berikut ini adalah topologi server yang akan saya konfigurasi :

Topologi

Berdasarkan topologi diatas, jika kita mengakses server controller maka akan diteruskan pada server backend #1 kemudian jika mengakses untuk yang kedua kalinya akan diteruskan ke backend #2.

Frontend Server

  1. Pastikan server sudah terinstall nginx sebelumnya dan sudah dapat beroperasi. Jika belum install terlebih dahulu web server nginx pada server tersebut, bisa dilihat pada posting saya yang ini.
  2. Lalu buka file konfigurasi /etc/nginx/nginx.conf untuk menambahkan konfigurasi nginx.
  3. [root@m1-dz ~]# vi /etc/nginx/nginx.conf
    http {
    #tambahkan ini pada bagian http {}
    upstream belakang {
    server node01.network.dz;
    #daftar server backend
    server node02.network.dz;
    }


    server {
    listen 80;
    #listen [::]:80 default_server;
    server_name www.network.dz;
    root /usr/share/nginx/html;
    #Tambahkan ini di bagian server {}
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    proxy_pass http://belakang;
    }


  4. Lakukan pengecekan sintaks konfigurasi.
  5. [root@m1-dz ~]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
  6. Restart service nginx untuk memperbarui konfigurasi.
  7. [root@m1-dz ~]# systemctl restart nginx

Backend Server Node01 & Node02

Pada kedua server ini hanya web server biasa tanpa konfigurasi khusus, bisa menggunakan apache untuk backend nya.

Testing Client

Setelah konfigurasi selesai dilakukan kita lakukan pengetesan pada client.

  1. Akses ke1
  2. Akses ke2

Cukup sampai disini postingan saya kali ini,
Sekian Terima Kasih.

Referensi

Server World

Konfigurasi proxy load balance Nginx pada CentOS 7

Sebelumnya saya sudah membahas reverse proxy pada Nginx yang memungkinkan kita membuat server Frontend dan Backend di posting ini, pada kali ini konfigurasi tidak jauh berbeda dengan reverse proxy hanya saja ditambahkan Load Balance pada server backend.

Berikut ini adalah topologi server yang akan saya konfigurasi :

Topologi

Berdasarkan topologi diatas, jika kita mengakses server controller maka akan diteruskan pada server backend #1 kemudian jika mengakses untuk yang kedua kalinya akan diteruskan ke backend #2.

Frontend Server

  1. Pastikan server sudah terinstall nginx sebelumnya dan sudah dapat beroperasi. Jika belum install terlebih dahulu web server nginx pada server tersebut, bisa dilihat pada posting saya yang ini.
  2. Lalu buka file konfigurasi /etc/nginx/nginx.conf untuk menambahkan konfigurasi nginx.
  3. [root@m1-dz ~]# vi /etc/nginx/nginx.conf
    http {
    #tambahkan ini pada bagian http {}
    upstream belakang {
    server node01.network.dz;
    #daftar server backend
    server node02.network.dz;
    }


    server {
    listen 80;
    #listen [::]:80 default_server;
    server_name www.network.dz;
    root /usr/share/nginx/html;
    #Tambahkan ini di bagian server {}
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    proxy_pass http://belakang;
    }


  4. Lakukan pengecekan sintaks konfigurasi.
  5. [root@m1-dz ~]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
  6. Restart service nginx untuk memperbarui konfigurasi.
  7. [root@m1-dz ~]# systemctl restart nginx

Backend Server Node01 & Node02

Pada kedua server ini hanya web server biasa tanpa konfigurasi khusus, bisa menggunakan apache untuk backend nya.

Testing Client

Setelah konfigurasi selesai dilakukan kita lakukan pengetesan pada client.

  1. Akses ke1
  2. Akses ke2

Cukup sampai disini postingan saya kali ini,
Sekian Terima Kasih.

Referensi

Server World

Konfigurasi Nginx Reverse Proxy pada CentOS 7

Nginx memiliki sebuah fitur yang disebut dengan Reverse Proxy yaitu sebuah fitur yang memungkinkan kita memiliki satu server frontend atau controller, dan backend dibelakang server controller, nantinya server yang menerima permintaan client adalah frontend/controller kemudian akan diteruskan menuju salah satu server backend tergantung permintaan client.

Kali ini saya akan mengkonfigurasi Reverse Proxy Nginx berdasarkan topologi dibawah ini :

Topologi

Terdapat satu server controller dan dua server backend, jika client mengakses www.network.dz/node01 maka akan diarahkan pada server backend #1 begitu pula untuk /node02.

Server Controller

  1. Pastikan server ini sudah terinstall nginx sebelumnya, jika belum bisa lihat postingan saya yang ini.
  2. Setelah server sudah terinstall nginx, buka kembali file konfigurasi /etc/nginx/nginx.conf. Catatan : server ini sudah saya konfigurasi SSL sebelumnya, jika tidak ingin menggunakan SSL abaikan dan ganti beberapa sintaks.
  3. [root@m1-dz ~]# vi /etc/nginx/nginx.conf
    #Cari bagian server {}
    server {
    listen 443 ssl; #ganti menjadi 80 dan hapus SSL jika tidak ingin mengaktifkan SSL
    #listen [::]:80 default_server;
    server_name www.network.dz;
    root /usr/share/nginx/html;
    #abaikan tulisan merah ini jika tidak ingin mengaktifkan SSL
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE+RSAGCM:ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:!aNULL!eNull:!EXPORT:!DES:!3DES:!MD5:!DSS;
    ssl_certificate /etc/pki/tls/certs/web-cert.crt;
    ssl_certificate_key /etc/pki/tls/private/web-key.key;


    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location /node01 { #untuk /node01 mengarah ke node01.network.dz
    proxy_pass http://node01.network.dz/;
    }

    location /node02 {
    proxy_pass http://node02.network.dz/;
    }


  4. Cek sintaks konfigurasi.
  5. [root@m1-dz ~]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
  6. Restart nginx untuk memperbarui konfigurasi.
  7. [root@m1-dz ~]# systemctl restart nginx

Server node01 & node02

  1. Pada kedua server ini tidak ada konfigurasi khusus yang dilakukan, bahkan jika kedua server ini menggunakan apache tidak menjadi masalah, cukup install web server apache/nginx biasa pada kedua server ini.
  2. Contoh file konfigurasi nginx /etc/nginx/nginx.conf pada kedua server ini.
  3. #Server Node01
    [root@node01 ~]# vi /etc/nginx/nginx.conf
    server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name node01.network.dz; #sesuai dengan subdomain server
    root /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }

    #Server Node02
    [root@node02 ~]# vi /etc/nginx/nginx.conf
    server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name node02.network.dz; #sesuai dengan subdomain server
    root /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }
    #Bisa dilihat tidak ada konfigurasi khusus pada kedua server.
  4. Buat file index.html pada kedua server tersebut.
  5. [root@node01 ~]# vi /usr/share/nginx/html/index.html
    <h1>NODE01 Server BACKEND #1</h1>
    <h2>node01.network.dz</h2>

    [root@node02 ~]# vi /usr/share/nginx/html/index.html
    <h1>NODE02 Server BACKEND #2</h1>
    <h2>node02.network.dz</h2>

Testing Client

Setelah semua konfigurasi selesai kita testing lewat client.

  • Untuk node01
  • Untuk node02

Cukup sampai disini postingan saya kali ini,

Sekian terima kasih.

Referensi

Server World

Konfigurasi Nginx Reverse Proxy pada CentOS 7

Nginx memiliki sebuah fitur yang disebut dengan Reverse Proxy yaitu sebuah fitur yang memungkinkan kita memiliki satu server frontend atau controller, dan backend dibelakang server controller, nantinya server yang menerima permintaan client adalah frontend/controller kemudian akan diteruskan menuju salah satu server backend tergantung permintaan client.

Kali ini saya akan mengkonfigurasi Reverse Proxy Nginx berdasarkan topologi dibawah ini :

Topologi

Terdapat satu server controller dan dua server backend, jika client mengakses www.network.dz/node01 maka akan diarahkan pada server backend #1 begitu pula untuk /node02.

Server Controller

  1. Pastikan server ini sudah terinstall nginx sebelumnya, jika belum bisa lihat postingan saya yang ini.
  2. Setelah server sudah terinstall nginx, buka kembali file konfigurasi /etc/nginx/nginx.conf. Catatan : server ini sudah saya konfigurasi SSL sebelumnya, jika tidak ingin menggunakan SSL abaikan dan ganti beberapa sintaks.
  3. [root@m1-dz ~]# vi /etc/nginx/nginx.conf
    #Cari bagian server {}
    server {
    listen 443 ssl; #ganti menjadi 80 dan hapus SSL jika tidak ingin mengaktifkan SSL
    #listen [::]:80 default_server;
    server_name www.network.dz;
    root /usr/share/nginx/html;
    #abaikan tulisan merah ini jika tidak ingin mengaktifkan SSL
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE+RSAGCM:ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:!aNULL!eNull:!EXPORT:!DES:!3DES:!MD5:!DSS;
    ssl_certificate /etc/pki/tls/certs/web-cert.crt;
    ssl_certificate_key /etc/pki/tls/private/web-key.key;


    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location /node01 { #untuk /node01 mengarah ke node01.network.dz
    proxy_pass http://node01.network.dz/;
    }

    location /node02 {
    proxy_pass http://node02.network.dz/;
    }


  4. Cek sintaks konfigurasi.
  5. [root@m1-dz ~]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
  6. Restart nginx untuk memperbarui konfigurasi.
  7. [root@m1-dz ~]# systemctl restart nginx

Server node01 & node02

  1. Pada kedua server ini tidak ada konfigurasi khusus yang dilakukan, bahkan jika kedua server ini menggunakan apache tidak menjadi masalah, cukup install web server apache/nginx biasa pada kedua server ini.
  2. Contoh file konfigurasi nginx /etc/nginx/nginx.conf pada kedua server ini.
  3. #Server Node01
    [root@node01 ~]# vi /etc/nginx/nginx.conf
    server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name node01.network.dz; #sesuai dengan subdomain server
    root /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }

    #Server Node02
    [root@node02 ~]# vi /etc/nginx/nginx.conf
    server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name node02.network.dz; #sesuai dengan subdomain server
    root /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }
    #Bisa dilihat tidak ada konfigurasi khusus pada kedua server.
  4. Buat file index.html pada kedua server tersebut.
  5. [root@node01 ~]# vi /usr/share/nginx/html/index.html
    <h1>NODE01 Server BACKEND #1</h1>
    <h2>node01.network.dz</h2>

    [root@node02 ~]# vi /usr/share/nginx/html/index.html
    <h1>NODE02 Server BACKEND #2</h1>
    <h2>node02.network.dz</h2>

Testing Client

Setelah semua konfigurasi selesai kita testing lewat client.

  • Untuk node01
  • Untuk node02

Cukup sampai disini postingan saya kali ini,

Sekian terima kasih.

Referensi

Server World

Konfigurasi Nginx dengan PHP-FPM pada CentOS7

Nginx adalah sebuah aplikasi yang menyediakan layanan Web Server, aplikasi ini dapat diintegrasikan dengan PHP-FPM yang merupakan alternatif untuk memproses konten script PHP,  dengan kita menginstall nginx dan php-fpm, aplikasi nginx dapat memproses script PHP dan hasil outputnya akan ditampilkan di komputer client.

Saya akan menginstall Nginx dan PHP-FPM di sebuah server yang bersistem operasi CentOS 7, kedua aplikasi ini terdapat didalam repositori remi, untuk itu sebelum menginstallnya kita harus memasukan repo remi di server.

Topologi

Berikut ini adalah topologi server yang akan dikonfigurasi :

Web Server

  1. Pada web server pastikan nginx sudah dapat beroperasi sebelumnya, jika belum bisa lihat postingan saya yang ini.
  2. Untuk menginstall PHP-FPM kita perlu menginstall repo REMI, karena paket PHP-FPM berada pada repo REMI ini, setelah itu baru kita menginstall paket PHP-FPM nya.
  3. [root@node01 ~]# yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
    [root@node01 ~]# yum -y install php70 php70-php-pear php70-php-mbstring php70-php-fpm
  4. Setelah proses installasi selesai, kemudian kita lakukan Load Environtment PHP70.
  5. [root@node01 ~]# php70 -v #melihat versi PHP
    PHP 7.0.30 (cli) (built: Apr 24 2018 20:40:19) ( NTS )
    Copyright (c) 1997-2017 The PHP Group
    Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

    [root@node01 ~]# scl enable php70 bash

    #Buat file seperti dibawah ini agar php70 dapat berjalan otomatis ketika server menyala
    [root@node01 ~]# vi /etc/profile.d/php70.sh
    #!/bin/bash

    source /opt/remi/php70/enable
    export X_SCLS="`scl enable php70 'echo $X_SCLS'`"

  6. Edit file konfigurasi PHP-FPM pada /etc/opt/remi/php70/php-fpm.d/www.conf.
  7. [root@node01 ~]# vi /etc/opt/remi/php70/php-fpm.d/www.conf
    #cari tulisan seperti dibawah ini, ganti tulisan apache menjadi nginx
    ; RPM: apache user chosen to provide access to the same directories as httpd
    user = nginx
    ; RPM: Keep a group allowed to write in log dir.
    group = nginx
  8. Jalankan service PHP-FPM.
  9. [root@node01 ~]# systemctl start php70-php-fpm
    [root@node01 ~]# systemctl enable php70-php-fpm
  10. Pastikan PHP-FPM berjalan pada port 9000.
  11. [root@node01 ~]# ss -napt | grep php-fpm
    LISTEN 0 128 :::9000 :::*
    users:(("php-fpm",pid=978,fd=0),("php-fpm",pid=977,fd=0),("php-fpm",pid=976,fd=0),("php-fpm",pid=975,fd=0),("php-fpm",pid=974,fd=0),("php-fpm",pid=918,fd=6))
  12. Setelah itu edit file konfigurasi nginx untuk mengintegrasikan dengan PHP-FPM.
  13. [root@node01 ~]# vi /etc/nginx/nginx.conf
    server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name node01.network.dz;
    root /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }
    #tambahkan script dibawah ini didalam server {}
    location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    include fastcgi_params;
    }

  14. Restart nginx untuk memperbarui konfigurasi.
  15. [root@node01 ~]# systemctl restart nginx
  16. Buat file index.php pada direktori root web server.
  17. [root@node01 ~]# echo '<?php phpinfo(); ?>' > /usr/share/nginx/html/index.php
  18. Terakhir testing client apakah sudah dapat bekerja.

Sampai disini saja postingan saya kali ini,
Sekian dan terima kasih.

Referensi

Server World

Konfigurasi Nginx dengan PHP-FPM pada CentOS7

Nginx adalah sebuah aplikasi yang menyediakan layanan Web Server, aplikasi ini dapat diintegrasikan dengan PHP-FPM yang merupakan alternatif untuk memproses konten script PHP,  dengan kita menginstall nginx dan php-fpm, aplikasi nginx dapat memproses script PHP dan hasil outputnya akan ditampilkan di komputer client.

Saya akan menginstall Nginx dan PHP-FPM di sebuah server yang bersistem operasi CentOS 7, kedua aplikasi ini terdapat didalam repositori remi, untuk itu sebelum menginstallnya kita harus memasukan repo remi di server.

Topologi

Berikut ini adalah topologi server yang akan dikonfigurasi :

Web Server

  1. Pada web server pastikan nginx sudah dapat beroperasi sebelumnya, jika belum bisa lihat postingan saya yang ini.
  2. Untuk menginstall PHP-FPM kita perlu menginstall repo REMI, karena paket PHP-FPM berada pada repo REMI ini, setelah itu baru kita menginstall paket PHP-FPM nya.
  3. [root@node01 ~]# yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
    [root@node01 ~]# yum -y install php70 php70-php-pear php70-php-mbstring php70-php-fpm
  4. Setelah proses installasi selesai, kemudian kita lakukan Load Environtment PHP70.
  5. [root@node01 ~]# php70 -v #melihat versi PHP
    PHP 7.0.30 (cli) (built: Apr 24 2018 20:40:19) ( NTS )
    Copyright (c) 1997-2017 The PHP Group
    Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

    [root@node01 ~]# scl enable php70 bash

    #Buat file seperti dibawah ini agar php70 dapat berjalan otomatis ketika server menyala
    [root@node01 ~]# vi /etc/profile.d/php70.sh
    #!/bin/bash

    source /opt/remi/php70/enable
    export X_SCLS="`scl enable php70 'echo $X_SCLS'`"

  6. Edit file konfigurasi PHP-FPM pada /etc/opt/remi/php70/php-fpm.d/www.conf.
  7. [root@node01 ~]# vi /etc/opt/remi/php70/php-fpm.d/www.conf
    #cari tulisan seperti dibawah ini, ganti tulisan apache menjadi nginx
    ; RPM: apache user chosen to provide access to the same directories as httpd
    user = nginx
    ; RPM: Keep a group allowed to write in log dir.
    group = nginx
  8. Jalankan service PHP-FPM.
  9. [root@node01 ~]# systemctl start php70-php-fpm
    [root@node01 ~]# systemctl enable php70-php-fpm
  10. Pastikan PHP-FPM berjalan pada port 9000.
  11. [root@node01 ~]# ss -napt | grep php-fpm
    LISTEN 0 128 :::9000 :::*
    users:(("php-fpm",pid=978,fd=0),("php-fpm",pid=977,fd=0),("php-fpm",pid=976,fd=0),("php-fpm",pid=975,fd=0),("php-fpm",pid=974,fd=0),("php-fpm",pid=918,fd=6))
  12. Setelah itu edit file konfigurasi nginx untuk mengintegrasikan dengan PHP-FPM.
  13. [root@node01 ~]# vi /etc/nginx/nginx.conf
    server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name node01.network.dz;
    root /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }
    #tambahkan script dibawah ini didalam server {}
    location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    include fastcgi_params;
    }

  14. Restart nginx untuk memperbarui konfigurasi.
  15. [root@node01 ~]# systemctl restart nginx
  16. Buat file index.php pada direktori root web server.
  17. [root@node01 ~]# echo '<?php phpinfo(); ?>' > /usr/share/nginx/html/index.php
  18. Terakhir testing client apakah sudah dapat bekerja.

Sampai disini saja postingan saya kali ini,
Sekian dan terima kasih.

Referensi

Server World