{"id":1779,"date":"2021-05-05T17:41:33","date_gmt":"2021-05-05T09:41:33","guid":{"rendered":"https:\/\/zaf.web.id\/blog\/?p=1779"},"modified":"2024-09-06T00:20:17","modified_gmt":"2024-09-05T16:20:17","slug":"logging-report-php-pada-web-server-apache-ke-telegram","status":"publish","type":"post","link":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/","title":{"rendered":"Logging Report PHP pada Web Server Apache ke Telegram"},"content":{"rendered":"<p>Sistem atau aplikasi yang baik adalah yang memiliki tingkat <em>error<\/em> yang minim, bahkan jika memungkinkan tidak terdapat <em>error<\/em> sekecil apapun. Namun seperti yang dikatakan banyak orang, tidak ada sistem yang sempurna, yang ada hanya bagaimana meminimalisir <em>error<\/em> tersebut.<\/p>\n<p><em>Log<\/em> membantu developer untuk melakukan identifikasi jika ada hal yang tidak sesuai antara <em>design<\/em> dengan <em>output<\/em>, sehingga proses perbaikan dapat dilakukan dengan cepat.<\/p>\n<p>Sistem <em>log<\/em> sangat penting, baik pada <em>development stage<\/em> maupun di <em>production<\/em>. Saat masih berada pada <em>development stage<\/em> kita umumnya mengembangkan dan memantau <em>log<\/em> pada saat yang bersamaan. Hal yang berbeda terjadi pada <em>production stage<\/em>, dimana kita tidak memantau lagi <em>log<\/em> yang dihasilkan. Salah satu opsi yang bisa dimanfaatkan untuk <em>monitoring log<\/em> di <em>server<\/em> adalah dengan menggunakan <em>Telegram<\/em>.<\/p>\n<p>Kita biasanya lebih peka terhadap notifikasi yang masuk pada aplikasi chat seperti telegram.<\/p>\n<figure id=\"attachment_1835\" aria-describedby=\"caption-attachment-1835\" style=\"width: 922px\" class=\"wp-caption aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1835\" src=\"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?resize=922%2C573&#038;ssl=1\" alt=\"Apache Log Telegram Notif\" width=\"922\" height=\"573\" srcset=\"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?w=922&amp;ssl=1 922w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?resize=300%2C186&amp;ssl=1 300w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?resize=768%2C477&amp;ssl=1 768w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?resize=619%2C385&amp;ssl=1 619w\" sizes=\"auto, (max-width: 922px) 100vw, 922px\" \/><figcaption id=\"caption-attachment-1835\" class=\"wp-caption-text\">Apache Log Telegram Notif<\/figcaption><\/figure>\n<p>Untuk mewujudkan alur diatas setidaknya ada beberapa <em>tools<\/em> dan <em>script<\/em> yang perlu dikonfigurasi.<\/p>\n<h3>Simple Event Correlator<\/h3>\n<p>Jika menggunakan basis sistem operasi <em>Ubuntu<\/em>, kita bisa langsung install <em><a href=\"http:\/\/manpages.ubuntu.com\/manpages\/bionic\/man1\/sec.1.html\" target=\"_blank\" rel=\"noopener\">Simple Event Correlator<\/a> (SEC)<\/em> dari <em>repository<\/em> <em>Ubuntu<\/em>.<\/p>\n<p><code>sudo apt install sec<\/code><\/p>\n<h3>Konfigurasi Script<\/h3>\n<p>Berikutnya kita perlu membuat konfigurasi untuk <code>sec<\/code> dan simpan dalam direktori yang diinginkan<\/p>\n<style>.gist table { margin-bottom: 0; }<\/style><div style=\"tab-size: 8\" id=\"gist112192335\" class=\"gist\">\n    <div class=\"gist-file\" translate=\"no\" data-color-mode=\"light\" data-light-theme=\"light\">\n      <div class=\"gist-data\">\n        \n<div class=\"js-gist-file-update-container js-task-list-container\">\n      <div id=\"file-php7err-conf\" class=\"file my-2\">\n    \n    <div itemprop=\"text\"\n      class=\"Box-body p-0 blob-wrapper data type-text  \"\n      style=\"overflow: auto\" tabindex=\"0\" role=\"region\"\n      aria-label=\"php7err.conf content, created by 23Pstars on 07:46AM on October 05, 2021.\"\n    >\n\n        \n<div class=\"js-check-hidden-unicode js-blob-code-container blob-code-content\">\n\n  <template class=\"js-file-alert-template\">\n  <div data-view-component=\"true\" class=\"flash flash-warn flash-full d-flex flex-items-center\">\n  <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg>\n    <span>\n      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.\n      <a class=\"Link--inTextBlock\" href=\"https:\/\/github.co\/hiddenchars\" target=\"_blank\">Learn more about bidirectional Unicode characters<\/a>\n    <\/span>\n\n\n  <div data-view-component=\"true\" class=\"flash-action\">        <a href=\"{{ revealButtonHref }}\" data-view-component=\"true\" class=\"btn-sm btn\">    Show hidden characters\n<\/a>\n<\/div>\n<\/div><\/template>\n<template class=\"js-line-alert-template\">\n  <span aria-label=\"This line has hidden Unicode characters\" data-view-component=\"true\" class=\"line-alert tooltipped tooltipped-e\">\n    <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg>\n<\/span><\/template>\n\n  <table data-hpc class=\"highlight tab-size js-file-line-container\" data-tab-size=\"4\" data-paste-markdown-skip data-tagsearch-path=\"php7err.conf\">\n        <tr>\n          <td id=\"file-php7err-conf-L1\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"1\"><\/td>\n          <td id=\"file-php7err-conf-LC1\" class=\"blob-code blob-code-inner js-file-line\">type=Single<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-php7err-conf-L2\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"2\"><\/td>\n          <td id=\"file-php7err-conf-LC2\" class=\"blob-code blob-code-inner js-file-line\">ptype=RegExp<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-php7err-conf-L3\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"3\"><\/td>\n          <td id=\"file-php7err-conf-LC3\" class=\"blob-code blob-code-inner js-file-line\">pattern=\\[php7\\:<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-php7err-conf-L4\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"4\"><\/td>\n          <td id=\"file-php7err-conf-LC4\" class=\"blob-code blob-code-inner js-file-line\">desc=$0<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-php7err-conf-L5\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"5\"><\/td>\n          <td id=\"file-php7err-conf-LC5\" class=\"blob-code blob-code-inner js-file-line\">action=shellcmd \/path\/to\/dir\/tg-send.sh &quot;$0&quot;<\/td>\n        <\/tr>\n  <\/table>\n<\/div>\n\n\n    <\/div>\n\n  <\/div>\n\n<\/div>\n\n      <\/div>\n      <div class=\"gist-meta\">\n        <a href=\"https:\/\/gist.github.com\/23Pstars\/50278fdbc8188f46408e7ce7bc1661c8\/raw\/e87692f3711dc218641c3b302fda19168074396f\/php7err.conf\" style=\"float:right\" class=\"Link--inTextBlock\">view raw<\/a>\n        <a href=\"https:\/\/gist.github.com\/23Pstars\/50278fdbc8188f46408e7ce7bc1661c8#file-php7err-conf\" class=\"Link--inTextBlock\">\n          php7err.conf\n        <\/a>\n        hosted with &#10084; by <a class=\"Link--inTextBlock\" href=\"https:\/\/github.com\">GitHub<\/a>\n      <\/div>\n    <\/div>\n<\/div>\n\n<p>Selanjutnya kita perlu membuat <em>script<\/em> untuk mengirim pesan ke <em>Telegram<\/em> menggunakan <a href=\"https:\/\/core.telegram.org\/\" target=\"_blank\" rel=\"noopener\">Telegram API<\/a>, tapi sebelumnya kita perlu melakukan integrasi melalui <a href=\"https:\/\/t.me\/botfather\" target=\"_blank\" rel=\"noopener\">BotFather<\/a> yang telah disediakan telegram untuk mendapatkan <code>Chat ID<\/code> dan <code>Token<\/code><\/p>\n<style>.gist table { margin-bottom: 0; }<\/style><div style=\"tab-size: 8\" id=\"gist112192335\" class=\"gist\">\n    <div class=\"gist-file\" translate=\"no\" data-color-mode=\"light\" data-light-theme=\"light\">\n      <div class=\"gist-data\">\n        \n<div class=\"js-gist-file-update-container js-task-list-container\">\n      <div id=\"file-tg-send-sh\" class=\"file my-2\">\n    \n    <div itemprop=\"text\"\n      class=\"Box-body p-0 blob-wrapper data type-shell  \"\n      style=\"overflow: auto\" tabindex=\"0\" role=\"region\"\n      aria-label=\"tg-send.sh content, created by 23Pstars on 07:46AM on October 05, 2021.\"\n    >\n\n        \n<div class=\"js-check-hidden-unicode js-blob-code-container blob-code-content\">\n\n  <template class=\"js-file-alert-template\">\n  <div data-view-component=\"true\" class=\"flash flash-warn flash-full d-flex flex-items-center\">\n  <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg>\n    <span>\n      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.\n      <a class=\"Link--inTextBlock\" href=\"https:\/\/github.co\/hiddenchars\" target=\"_blank\">Learn more about bidirectional Unicode characters<\/a>\n    <\/span>\n\n\n  <div data-view-component=\"true\" class=\"flash-action\">        <a href=\"{{ revealButtonHref }}\" data-view-component=\"true\" class=\"btn-sm btn\">    Show hidden characters\n<\/a>\n<\/div>\n<\/div><\/template>\n<template class=\"js-line-alert-template\">\n  <span aria-label=\"This line has hidden Unicode characters\" data-view-component=\"true\" class=\"line-alert tooltipped tooltipped-e\">\n    <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg>\n<\/span><\/template>\n\n  <table data-hpc class=\"highlight tab-size js-file-line-container\" data-tab-size=\"4\" data-paste-markdown-skip data-tagsearch-path=\"tg-send.sh\">\n        <tr>\n          <td id=\"file-tg-send-sh-L1\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"1\"><\/td>\n          <td id=\"file-tg-send-sh-LC1\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c\"><span class=\"pl-c\">#!<\/span>\/bin\/bash<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-tg-send-sh-L2\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"2\"><\/td>\n          <td id=\"file-tg-send-sh-LC2\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-tg-send-sh-L3\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"3\"><\/td>\n          <td id=\"file-tg-send-sh-LC3\" class=\"blob-code blob-code-inner js-file-line\">CHAT_ID={{channel-id}}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-tg-send-sh-L4\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"4\"><\/td>\n          <td id=\"file-tg-send-sh-LC4\" class=\"blob-code blob-code-inner js-file-line\">TOKEN={{telegram-token}}<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-tg-send-sh-L5\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"5\"><\/td>\n          <td id=\"file-tg-send-sh-LC5\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-tg-send-sh-L6\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"6\"><\/td>\n          <td id=\"file-tg-send-sh-LC6\" class=\"blob-code blob-code-inner js-file-line\">curl -s <span class=\"pl-s\"><span class=\"pl-pds\">&quot;<\/span>https:\/\/api.telegram.org\/bot<span class=\"pl-smi\">$TOKEN<\/span>\/sendMessage?chat_id=<span class=\"pl-smi\">$CHAT_ID<\/span><span class=\"pl-pds\">&quot;<\/span><\/span> --data-urlencode <span class=\"pl-s\"><span class=\"pl-pds\">&quot;<\/span>text=[domain.com] <span class=\"pl-smi\">$1<\/span><span class=\"pl-pds\">&quot;<\/span><\/span><\/td>\n        <\/tr>\n  <\/table>\n<\/div>\n\n\n    <\/div>\n\n  <\/div>\n\n<\/div>\n\n      <\/div>\n      <div class=\"gist-meta\">\n        <a href=\"https:\/\/gist.github.com\/23Pstars\/50278fdbc8188f46408e7ce7bc1661c8\/raw\/e87692f3711dc218641c3b302fda19168074396f\/tg-send.sh\" style=\"float:right\" class=\"Link--inTextBlock\">view raw<\/a>\n        <a href=\"https:\/\/gist.github.com\/23Pstars\/50278fdbc8188f46408e7ce7bc1661c8#file-tg-send-sh\" class=\"Link--inTextBlock\">\n          tg-send.sh\n        <\/a>\n        hosted with &#10084; by <a class=\"Link--inTextBlock\" href=\"https:\/\/github.com\">GitHub<\/a>\n      <\/div>\n    <\/div>\n<\/div>\n\n<p>Agar <em>script<\/em> dapat dieksekusi kita perlu merubah <em>permission<\/em> -nya<\/p>\n<p><code>chmod +x tg-send.sh<\/code><\/p>\n<p>Untuk memastikan semua sudah terkonfigurasi dengan baik, kita bisa coba kirim notif ke <em>Telegram<\/em> dengan perintah berikut<\/p>\n<p><code>.\/tg-send.sh \"tes pesan notif\"<\/code><\/p>\n<p>Jika notif pesan berhasil masuk ke <em>Telegram,<\/em> selanjutnya kita bisa menjalankan <code>sec<\/code> dengan menentukan <em>config<\/em> dan <em>path<\/em> ke <em>apache log<\/em> di <em>web server<\/em>. Untuk memudahkan eksekusi kita bisa membuat <em>script<\/em> agar mudah untuk dijalankan.<\/p>\n<style>.gist table { margin-bottom: 0; }<\/style><div style=\"tab-size: 8\" id=\"gist112192335\" class=\"gist\">\n    <div class=\"gist-file\" translate=\"no\" data-color-mode=\"light\" data-light-theme=\"light\">\n      <div class=\"gist-data\">\n        \n<div class=\"js-gist-file-update-container js-task-list-container\">\n      <div id=\"file-run-sh\" class=\"file my-2\">\n    \n    <div itemprop=\"text\"\n      class=\"Box-body p-0 blob-wrapper data type-shell  \"\n      style=\"overflow: auto\" tabindex=\"0\" role=\"region\"\n      aria-label=\"run.sh content, created by 23Pstars on 07:46AM on October 05, 2021.\"\n    >\n\n        \n<div class=\"js-check-hidden-unicode js-blob-code-container blob-code-content\">\n\n  <template class=\"js-file-alert-template\">\n  <div data-view-component=\"true\" class=\"flash flash-warn flash-full d-flex flex-items-center\">\n  <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg>\n    <span>\n      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.\n      <a class=\"Link--inTextBlock\" href=\"https:\/\/github.co\/hiddenchars\" target=\"_blank\">Learn more about bidirectional Unicode characters<\/a>\n    <\/span>\n\n\n  <div data-view-component=\"true\" class=\"flash-action\">        <a href=\"{{ revealButtonHref }}\" data-view-component=\"true\" class=\"btn-sm btn\">    Show hidden characters\n<\/a>\n<\/div>\n<\/div><\/template>\n<template class=\"js-line-alert-template\">\n  <span aria-label=\"This line has hidden Unicode characters\" data-view-component=\"true\" class=\"line-alert tooltipped tooltipped-e\">\n    <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg>\n<\/span><\/template>\n\n  <table data-hpc class=\"highlight tab-size js-file-line-container\" data-tab-size=\"4\" data-paste-markdown-skip data-tagsearch-path=\"run.sh\">\n        <tr>\n          <td id=\"file-run-sh-L1\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"1\"><\/td>\n          <td id=\"file-run-sh-LC1\" class=\"blob-code blob-code-inner js-file-line\">#!\/bin\/bash<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-run-sh-L2\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"2\"><\/td>\n          <td id=\"file-run-sh-LC2\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n        <\/tr>\n        <tr>\n          <td id=\"file-run-sh-L3\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"3\"><\/td>\n          <td id=\"file-run-sh-LC3\" class=\"blob-code blob-code-inner js-file-line\">sec -conf=\/path\/to\/dir\/php7err.conf -input=\/path\/to\/apache2\/error.log -detach<\/td>\n        <\/tr>\n  <\/table>\n<\/div>\n\n\n    <\/div>\n\n  <\/div>\n\n<\/div>\n\n      <\/div>\n      <div class=\"gist-meta\">\n        <a href=\"https:\/\/gist.github.com\/23Pstars\/50278fdbc8188f46408e7ce7bc1661c8\/raw\/e87692f3711dc218641c3b302fda19168074396f\/run.sh\" style=\"float:right\" class=\"Link--inTextBlock\">view raw<\/a>\n        <a href=\"https:\/\/gist.github.com\/23Pstars\/50278fdbc8188f46408e7ce7bc1661c8#file-run-sh\" class=\"Link--inTextBlock\">\n          run.sh\n        <\/a>\n        hosted with &#10084; by <a class=\"Link--inTextBlock\" href=\"https:\/\/github.com\">GitHub<\/a>\n      <\/div>\n    <\/div>\n<\/div>\n\n<p>Kita perlu merubah <em>permission<\/em> -nya lagi agar dapat dijalankan<\/p>\n<p><code>chmod +x run.sh<\/code><\/p>\n<p>Terakhir tinggal menjalankan <em>script<\/em> -nya<\/p>\n<p><code>.\/run.sh<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sistem atau aplikasi yang baik adalah yang memiliki tingkat error yang minim, bahkan jika memungkinkan&hellip;<\/p>\n","protected":false},"author":1,"featured_media":1835,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3,57],"tags":[287,286,288],"class_list":["post-1779","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-inspirasi","category-programming","tag-apache-log","tag-telegram","tag-telegram-bot"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Logging Report PHP pada Web Server Apache ke Telegram - Ahmad Zafrullah<\/title>\n<meta name=\"description\" content=\"Skenario monitoring log di web server Apache dengan memanfaatkan notifikasi di Telegram menggunakan Telegram API.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Logging Report PHP pada Web Server Apache ke Telegram - Ahmad Zafrullah\" \/>\n<meta property=\"og:description\" content=\"Skenario monitoring log di web server Apache dengan memanfaatkan notifikasi di Telegram menggunakan Telegram API.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/\" \/>\n<meta property=\"og:site_name\" content=\"Ahmad Zafrullah\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/23Pstars\" \/>\n<meta property=\"article:author\" content=\"http:\/\/www.facebook.com\/23Pstars\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-05T09:41:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-05T16:20:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png\" \/>\n\t<meta property=\"og:image:width\" content=\"922\" \/>\n\t<meta property=\"og:image:height\" content=\"573\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Zaf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@23Pstars\" \/>\n<meta name=\"twitter:site\" content=\"@23Pstars\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"Zaf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/logging-report-php-pada-web-server-apache-ke-telegram\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/logging-report-php-pada-web-server-apache-ke-telegram\\\/\"},\"author\":{\"name\":\"Zaf\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\"},\"headline\":\"Logging Report PHP pada Web Server Apache ke Telegram\",\"datePublished\":\"2021-05-05T09:41:33+00:00\",\"dateModified\":\"2024-09-05T16:20:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/logging-report-php-pada-web-server-apache-ke-telegram\\\/\"},\"wordCount\":339,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\"},\"image\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/logging-report-php-pada-web-server-apache-ke-telegram\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/telegram-pustik-syslog.png?fit=922%2C573&ssl=1\",\"keywords\":[\"apache log\",\"telegram\",\"telegram bot\"],\"articleSection\":[\"Inspirasi\",\"Programming\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zaf.web.id\\\/blog\\\/logging-report-php-pada-web-server-apache-ke-telegram\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/logging-report-php-pada-web-server-apache-ke-telegram\\\/\",\"url\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/logging-report-php-pada-web-server-apache-ke-telegram\\\/\",\"name\":\"Logging Report PHP pada Web Server Apache ke Telegram - Ahmad Zafrullah\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/logging-report-php-pada-web-server-apache-ke-telegram\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/logging-report-php-pada-web-server-apache-ke-telegram\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/telegram-pustik-syslog.png?fit=922%2C573&ssl=1\",\"datePublished\":\"2021-05-05T09:41:33+00:00\",\"dateModified\":\"2024-09-05T16:20:17+00:00\",\"description\":\"Skenario monitoring log di web server Apache dengan memanfaatkan notifikasi di Telegram menggunakan Telegram API.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/logging-report-php-pada-web-server-apache-ke-telegram\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zaf.web.id\\\/blog\\\/logging-report-php-pada-web-server-apache-ke-telegram\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/logging-report-php-pada-web-server-apache-ke-telegram\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/telegram-pustik-syslog.png?fit=922%2C573&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/telegram-pustik-syslog.png?fit=922%2C573&ssl=1\",\"width\":922,\"height\":573,\"caption\":\"Apache Log Telegram Notif\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/logging-report-php-pada-web-server-apache-ke-telegram\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Logging Report PHP pada Web Server Apache ke Telegram\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/\",\"name\":\"Ahmad Zafrullah\",\"description\":\"Work to Learn is better than Learn how to Work\",\"publisher\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\",\"name\":\"Zaf\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\",\"width\":300,\"height\":300,\"caption\":\"Zaf\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\"},\"sameAs\":[\"http:\\\/\\\/zaf.web.id\",\"http:\\\/\\\/www.facebook.com\\\/23Pstars\",\"https:\\\/\\\/x.com\\\/23Pstars\"],\"url\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/author\\\/zaf\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Logging Report PHP pada Web Server Apache ke Telegram - Ahmad Zafrullah","description":"Skenario monitoring log di web server Apache dengan memanfaatkan notifikasi di Telegram menggunakan Telegram API.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/","og_locale":"id_ID","og_type":"article","og_title":"Logging Report PHP pada Web Server Apache ke Telegram - Ahmad Zafrullah","og_description":"Skenario monitoring log di web server Apache dengan memanfaatkan notifikasi di Telegram menggunakan Telegram API.","og_url":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/","og_site_name":"Ahmad Zafrullah","article_publisher":"http:\/\/www.facebook.com\/23Pstars","article_author":"http:\/\/www.facebook.com\/23Pstars","article_published_time":"2021-05-05T09:41:33+00:00","article_modified_time":"2024-09-05T16:20:17+00:00","og_image":[{"width":922,"height":573,"url":"https:\/\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png","type":"image\/png"}],"author":"Zaf","twitter_card":"summary_large_image","twitter_creator":"@23Pstars","twitter_site":"@23Pstars","twitter_misc":{"Ditulis oleh":"Zaf","Estimasi waktu membaca":"3 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/#article","isPartOf":{"@id":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/"},"author":{"name":"Zaf","@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed"},"headline":"Logging Report PHP pada Web Server Apache ke Telegram","datePublished":"2021-05-05T09:41:33+00:00","dateModified":"2024-09-05T16:20:17+00:00","mainEntityOfPage":{"@id":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/"},"wordCount":339,"commentCount":0,"publisher":{"@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed"},"image":{"@id":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?fit=922%2C573&ssl=1","keywords":["apache log","telegram","telegram bot"],"articleSection":["Inspirasi","Programming"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/","url":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/","name":"Logging Report PHP pada Web Server Apache ke Telegram - Ahmad Zafrullah","isPartOf":{"@id":"https:\/\/zaf.web.id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/#primaryimage"},"image":{"@id":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?fit=922%2C573&ssl=1","datePublished":"2021-05-05T09:41:33+00:00","dateModified":"2024-09-05T16:20:17+00:00","description":"Skenario monitoring log di web server Apache dengan memanfaatkan notifikasi di Telegram menggunakan Telegram API.","breadcrumb":{"@id":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/#primaryimage","url":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?fit=922%2C573&ssl=1","contentUrl":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?fit=922%2C573&ssl=1","width":922,"height":573,"caption":"Apache Log Telegram Notif"},{"@type":"BreadcrumbList","@id":"https:\/\/zaf.web.id\/blog\/logging-report-php-pada-web-server-apache-ke-telegram\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zaf.web.id\/blog\/"},{"@type":"ListItem","position":2,"name":"Logging Report PHP pada Web Server Apache ke Telegram"}]},{"@type":"WebSite","@id":"https:\/\/zaf.web.id\/blog\/#website","url":"https:\/\/zaf.web.id\/blog\/","name":"Ahmad Zafrullah","description":"Work to Learn is better than Learn how to Work","publisher":{"@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zaf.web.id\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":["Person","Organization"],"@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed","name":"Zaf","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1","url":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1","contentUrl":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1","width":300,"height":300,"caption":"Zaf"},"logo":{"@id":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1"},"sameAs":["http:\/\/zaf.web.id","http:\/\/www.facebook.com\/23Pstars","https:\/\/x.com\/23Pstars"],"url":"https:\/\/zaf.web.id\/blog\/author\/zaf\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2021\/05\/telegram-pustik-syslog.png?fit=922%2C573&ssl=1","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":424,"url":"https:\/\/zaf.web.id\/blog\/error-log-apace-di-webuzo\/","url_meta":{"origin":1779,"position":0},"title":"Error log Apace di Webuzo","author":"Zaf","date":"November 8, 2014","format":false,"excerpt":"Secara default\u00a0error_log file Apache tidak muncul\u00a0dalam direktori dimana tempat script tersimpan,\u00a0kemudian untuk debugging bisa dengan stream langsung log aktifitasnya\u00a0dari default path error log. Pertama login dulu via SSH ke server: Selanjutnya stream file log menggunakan program tail, misalnya saya ingin membuka log error untuk domain zaf.web.id :","rel":"","context":"dalam &quot;Server&quot;","block_context":{"text":"Server","link":"https:\/\/zaf.web.id\/blog\/category\/server\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1324,"url":"https:\/\/zaf.web.id\/blog\/domain-lokal-menggunakan-virtual-host-di-apache\/","url_meta":{"origin":1779,"position":1},"title":"Domain Lokal menggunakan Virtual Host di Apache","author":"Zaf","date":"November 24, 2018","format":false,"excerpt":"Web developer pastinya tidak asing lagi dengan alamat 127.0.0.1 a.k.a localhost. 127.0.0.1 maupun localhost merujuk pada suatu alamat pada mesin komputer kita, atau biasa disebut dengan host, disanalah si Apache biasanya bersarang. Untuk project yang sifatnya masih development biasanya akan menggunakan alamat tersebut. Hanya saja akan ada kendala dimana dalam\u2026","rel":"","context":"dalam &quot;Coretan&quot;","block_context":{"text":"Coretan","link":"https:\/\/zaf.web.id\/blog\/category\/coretan\/"},"img":{"alt_text":"Apache Web Server","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2018\/12\/apache-web-server-1024x423.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2018\/12\/apache-web-server-1024x423.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2018\/12\/apache-web-server-1024x423.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":586,"url":"https:\/\/zaf.web.id\/blog\/masalah-mysql-service-sering-mati-pada-cloud-digitalocean\/","url_meta":{"origin":1779,"position":2},"title":"Masalah MySQL service sering mati pada Cloud DigitalOcean","author":"Zaf","date":"September 22, 2015","format":false,"excerpt":"Beberapa bulan terakhir saya\u00a0memutuskan untuk menggunakan layanan cloud server dari DigitalOcean untuk mengakomodir\u00a0semua service, baik website maupun system management yang saya\u00a0gunakan di\u00a0kantor. Butuh beberapa hari untuk proses migrasi data dari layanan sebelumnya (shared hosting) dan\u00a0berjalan cukup baik, sampai saat ini kami sudah menggunakan 3 server (droplet) untuk menampung semua kebutuhan.\u2026","rel":"","context":"dalam &quot;Server&quot;","block_context":{"text":"Server","link":"https:\/\/zaf.web.id\/blog\/category\/server\/"},"img":{"alt_text":"DigitalOcean Logo","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/09\/digitalocean_logo-300x300.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1059,"url":"https:\/\/zaf.web.id\/blog\/menambahkan-sertifikat-ssl-untuk-curl-di-php\/","url_meta":{"origin":1779,"position":3},"title":"Menambahkan sertifikat SSL untuk cURL di PHP","author":"Zaf","date":"Maret 25, 2017","format":false,"excerpt":"Sejak PHP versi 5.6\u00a0autentikasi SSL terhadap akses cURL (CURLOPT_SSL_VERIFYPEER) default menjadi TRUE. Hal ini mengakibatkan\u00a0ketika menggunakan fungsi file_get_contents() selalu melakukan\u00a0validasi sertifikat SSL terhadap URL tujuan yang menggunakan protokol SSL. Meskipun URL tujuan telah terinstall sertifikat SSL yang valid, namun\u00a0cURL tidak dapat membuktikan validitas SSL jika belum memiliki dokumen pembanding sendiri\u2026","rel":"","context":"dalam &quot;Server&quot;","block_context":{"text":"Server","link":"https:\/\/zaf.web.id\/blog\/category\/server\/"},"img":{"alt_text":"SSL Certificate Logo","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2017\/03\/ssl-certificate.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":644,"url":"https:\/\/zaf.web.id\/blog\/ampps-solusi-web-server-stack-pada-mac-os-x-el-capitan\/","url_meta":{"origin":1779,"position":4},"title":"AMPPS &#8211; Solusi Web Server Stack pada Mac OS X El Capitan","author":"Zaf","date":"September 24, 2015","format":false,"excerpt":"Pada OS X 10.8 (Mountain Lion) keatas, termasuk\u00a0yang saya gunakan (OS X 10.10 Yosemite)\u00a0telah dibekali dengan dengan apache secara default, tinggal mengaktifkan nya saja dengan perintah Sebelum August 2015, saya masih menggunakan OS X Yosemite di MacBook Pro saya. Hingga muncul versi\u00a0terbaru dari OS X El Capitan dengan berbagai fitur\u2026","rel":"","context":"dalam &quot;macOS&quot;","block_context":{"text":"macOS","link":"https:\/\/zaf.web.id\/blog\/category\/macos\/"},"img":{"alt_text":"OS X El Capitan","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/09\/os_x_el_capitan.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/09\/os_x_el_capitan.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/09\/os_x_el_capitan.jpg?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/09\/os_x_el_capitan.jpg?resize=700%2C400 2x"},"classes":[]},{"id":49,"url":"https:\/\/zaf.web.id\/blog\/was-hacked-httpgeomagnetic-lombok-com\/","url_meta":{"origin":1779,"position":5},"title":"Was Hacked : http:\/\/geomagnetic-lombok.com","author":"Zaf","date":"Maret 24, 2013","format":false,"excerpt":"Beberapa hari yang lalu situs Observarium Geomagnetik Lombok\u00a0terkena serangan Deface, ulah hacker lokal. Tapi untungnya cuma Testing security dan tidak mengganggu database. Hanya memperingati Admin untuk lebih mengoptimalkan sisi keamanan dari Website. Sebenarnya sy tidak terlalu mencemaskan sistemnya, karena website ini belum sepenuhnya di manfaatkan, cuma persiapan saja. Dalam hal\u2026","rel":"","context":"dalam &quot;Coretan&quot;","block_context":{"text":"Coretan","link":"https:\/\/zaf.web.id\/blog\/category\/coretan\/"},"img":{"alt_text":"Geomagnetik Lombok kena Deface","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2013\/03\/screenshot.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2013\/03\/screenshot.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2013\/03\/screenshot.png?resize=525%2C300 1.5x"},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4zLnS-sH","_links":{"self":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts\/1779","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/comments?post=1779"}],"version-history":[{"count":13,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts\/1779\/revisions"}],"predecessor-version":[{"id":1837,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts\/1779\/revisions\/1837"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/media\/1835"}],"wp:attachment":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/media?parent=1779"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/categories?post=1779"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/tags?post=1779"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}