Docker itu adalah platform atau software yang digunakan untuk merepack applikasi dan terisolasi sehingga tidak menggangu sistem operasi utama.

Misal nih, :

kita dulu install apache – php langsung masuk console dan install paketnya

sudo apt install apache2 php libapache2-mod-php php-mysql

kemudian kita menunggu installasi selesai dan dilanjut dengan configure sana sini.

dengan docker kita cukup lakukan

docker pull php:7.4-apache

docker run --name php74-apache -v '/docker/phpscript:/var/www/html/' -p 81:80 -d docker.io/library/php:7.4-apache

Selesai.

Yah sudah selesai, kita cukup letakkan file php kita pada folder /docker/phpscript/index.php

Sangat cepat dan terisolasi.

 

Panduan tutorial ini akan menjelaskan bagaimana cara membuat docker service sehingga apps kita bisa jalan secara otomatis setiap startup atau setiap booting.

Posisi kami memiliki file docker-compose.yml pada folder berikut ini

/docker/phpmysql/docker-compose.yml

Membuat File Start, Stop dan Restart

Selanjutya kita membuat file service_start.sh

#!/bin/bash
docker compose -f /docker/phpmysql/docker-compose.yml start

kemudian kita membuat file service_stop.sh

#!/bin/bash
docker compose -f /docker/phpmysql/docker-compose.yml start

kemudian kita membuat file service_restart.sh

#!/bin/bash
docker compose -f /docker/phpmysql/docker-compose.yml restart

Membuat Script Service

Selanjutnya membuat script untuk menjalankan service

nano /etc/systemd/system/phpmysql.service

Kemudian isilah dengan script dibawah ini

[Unit]
Description=PHP7.4 - Mysql
After=network-online.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/docker/phpmysql/service_start.sh
ExecStop=/docker/phpmysql/service_stop.sh
ExecReload=/docker/phpmysql/service_restart.sh
Restart=on-failure
RestartSec=5
StartLimitInterval=60s
StartLimitBurst=3

[Install]
WantedBy=multi-user.target

Sepertinya dengan membaca baris script tersebut sudah bisa mengerti maksudnya ya.

lanjut dengan jalanan reload

systemctl daemon-reload

Test service tersebut dengan menjalankan

service phpmysql start

dan untuk melihat statusnya jalankan

serice phpmysql status

outputnya kira-kira seperti ini

Membuat Service Berjalan setiap Startup atau Booting

Kita cukup jalankan perintah ini

systemctl enable phpmysql

kira-kira seperti ini hasilnya

Bagaimana, ada pertanyaan? silahkan simpan nomor whatsapp kami di 0817-0334-1186 (pusathosting) japri kami.

 

Berikut ini adalah tutorial panduan bagaimana cara membuat private nameserver ( baca: private ns ) ketika anda menggunakan layanan DNS Hosting di Pusathosting

Rangkuman bisa anda lihat pada Video Tutorial berikut ini atau penjelasan text ada dibawahnya

Mendapatkan IP Address NS Utama

Nameserver layanan DNS Hosting kami adalah :

ns1.irza.net
ns2.irza.net
ns3.irza.net

Maka untuk membuat nameserver kita harus mendapatkan ip address ns tersebut, cara mendapatkan ip address adalah dengan melakukan ping dan seperti ini hasilnya :

Jika masih kesulitan, baca tutorial ini ” Cara Ping untuk Mendapatkan IP Address

Mendaftarkan Child Nameserver

Tahap selanjutnya adalah mendaftarkan child nameserver ke provider dimana anda membeli domain.

silahkan baca Tutorial untuk membuat child nameserver

Membuat Record DNS

Tahap selanjutnya adalah membuat record DNS di panel DNS Hosting, silahkan anda entrikan record dns seperti ini :

ns1.domain-anda.com A ip_address_ns1.irza.net
ns2.domain-anda.com A ip_address_ns2.irza.net
ns3.domain-anda.com A ip_address_ns3.irza.net

Test Resolver

Anda perlu menunggu propagasi domain minimal 1 jam.

Selanjutnya lakukan test ping pada nama domain anda

ping ns1.domain-anda.com
ping ns2.domain-anda.com

dan seterusnya

Apabila sudah mendapatkan ip address sesuai maka proses pembuatan private nameserver sudah selesai.

Ubah Ke Private Nameserver

Sekarang saatnya merubah nama domain anda menggunakan private nameserver yang sudah anda buat tadi.

Selamat mencoba.

Dan tentu saja, apabila masih ada permasalahan seputar pembuatan private ns ini, maka silahkan hubungi tim support kami di https://www.pusathosting.com chat dibagian pojok kanan bawah atau klik halaman hubungi kami.

 

Berikut ini adalah panduan dan tutorial bagaimana cara menggunakan DNS gratis dari PusatHosting.

Pointing Nameserver Domain

Pertama yang harus anda lakukan adalah merubah nameserver domain ke ns dns gratis kami yaitu
ns1.irza.net
ns2.irza.net
ns3.irza.net

Client.pusathosting.com

Untuk menggunakan dns gratis ini silahkan ikuti tutorial berikut :

  1. Login ke http://client.pusathosting.com
  2. Klik menu Domains => Manage DNS
  3. Klik – Add zone dan masukkan domain beserta ip address disamping kanan
  4. Selanjutnya klik edit

Perhatikan tutorial video berikut ini

Demikian panduan menggunakan layanan dns gratis dari PusatHosting dan apabila masih membutuhkan bantuan silahkan chat dengan kami di https://www.pusathosting.com

 

Hari ini kami mendapati website klien menggunakan prestashop dan untuk login ke admin managernya sangat lama. Solusinya adalah.

Kami menemukan prestashop tersebut jarang di maintenance dalam waktu lama sehingga data statistik yang terdapat di database mencapai 300MB.

Kami melakukan truncate data statistik dengan cara

TRUNCATE TABLE `ps_connections`;
TRUNCATE TABLE `ps_connections_page`;
TRUNCATE TABLE `ps_connections_source`;
TRUNCATE TABLE `ps_page_viewed`;
TRUNCATE TABLE `ps_guest`;

Selanjutnya kami login kembali ke dashboard admin prestashopnya. Dan Sukses.

 

Jika anda menggunakan laravel dan swiftmail kemudian mendapat error “SSL3_GET_SERVER_CERTIFICATE:certificate verify failed” maka solusinya sebagai berikut

Edit file system/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php dan tambahkan

$options[‘ssl’][‘verify_peer’] = false;
$options[‘ssl’][‘verify_peer_name’] = false;

Sebelum

$streamContext = stream_context_create($options);

Save, dan silahkan coba kembali.

 

 

Halo, untuk mempercepat download suatu file dari lokasi remote anda bisa gunakan script php berikut ini.

<?php

/**
* Copy remote file over HTTP one small chunk at a time.
*
* @param $infile The full URL to the remote file
* @param $outfile The path where to save the file
*/
function copyfile_chunked($infile, $outfile) {
$chunksize = 10 * (1024 * 1024); // 10 Megs

/**
* parse_url breaks a part a URL into it's parts, i.e. host, path,
* query string, etc.
*/
$parts = parse_url($infile);
$i_handle = fsockopen($parts['host'], 80, $errstr, $errcode, 5);
$o_handle = fopen($outfile, 'wb');

if ($i_handle == false || $o_handle == false) {
return false;
}

if (!empty($parts['query'])) {
$parts['path'] .= '?' . $parts['query'];
}

/**
* Send the request to the server for the file
*/
$request = "GET {$parts['path']} HTTP/1.1\r\n";
$request .= "Host: {$parts['host']}\r\n";
$request .= "User-Agent: Mozilla/5.0\r\n";
$request .= "Keep-Alive: 115\r\n";
$request .= "Connection: keep-alive\r\n\r\n";
fwrite($i_handle, $request);

/**
* Now read the headers from the remote server. We'll need
* to get the content length.
*/
$headers = array();
while(!feof($i_handle)) {
$line = fgets($i_handle);
if ($line == "\r\n") break;
$headers[] = $line;
}

/**
* Look for the Content-Length header, and get the size
* of the remote file.
*/
$length = 0;
foreach($headers as $header) {
if (stripos($header, 'Content-Length:') === 0) {
$length = (int)str_replace('Content-Length: ', '', $header);
break;
}
}

/**
* Start reading in the remote file, and writing it to the
* local file one chunk at a time.
*/
$cnt = 0;
while(!feof($i_handle)) {
$buf = '';
$buf = fread($i_handle, $chunksize);
$bytes = fwrite($o_handle, $buf);
if ($bytes == false) {
return false;
}
$cnt += $bytes;

/**
* We're done reading when we've reached the conent length
*/
if ($cnt >= $length) break;
}

fclose($i_handle);
fclose($o_handle);
return $cnt;
}

copyfile_chunked('http://domain.com/namafile.zip', 'namafile.zip');
?>

Contoh diatas akan mendownload file wordpress terbaru dan akan menyimpan di hosting anda.

Selamat mencoba.

 

 

Apabila terlalu banyak email frozen di directadmin, maka anda bisa menghapusnya secara otomatis dengan menggunakan penjadwalan cron.

Jalankan peritah ini :

<strong> exim -bp|grep frozen|awk '{print $3}' |xargs exim -Mrm</strong>

atau ini

<strong># exiqgrep -zi|xargs exim -Mrm</strong>

Selamat mencoba.

 

 

 

 

Bila anda ingin melakukan copy file antar server menggunakan ssh atau rsync dan tanpa mau ditanyai password lagi. Ikuti cara ini:

Buat Public Key

ssh-keygen -f ~/.ssh/id_rsa -q -P ""
cat ~/.ssh/id_rsa.pub

Copy public key tersebut ke server tujuan dan simpan pada path ~/.ssh/authorized_keys

dan jika folder tersebut belum tercipta, maka di server tujuan buatlah foldernya.

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys

Pengujian Rsync atau SSH

Selanjutnya lakukan pengujian login dengan ssh atau mengcopykan file menggunakan rsync.

ssh -p 22 root@server.com

atau anda bisa coba rsync dengan cara

rsync -avz --progress /folder/namafile.tar.gz -e  "ssh -p 322" root@server.com:~/

Selamat mencoba dan apabila ada masalah / kesulitan silahkan tanya saja dengan meninggalkan komentar dibawah.

 

Hari ini kami mendapati error mysql seperti ini “Mysql Can’t Open file …. [ERROR] Error in accept: Too many open files”

 

Setelah mencari solusi akhirnya menemukan solusi dari dauntuk.com

dan berikut ini yang kami lakukan.

nano /etc/security/limits.conf

kemudian sesuaikan seperti dibawah

# End of file
soft nofile 1024000
hard nofile 1024000
soft nproc 1024000
hard nproc 1024000
mysql hard nofile 1024000
mysql soft nofile 1024000

nano /etc/security/limits.d/90-nproc.conf

*          soft    nproc     10240000
root       soft    nproc     unlimited
mysql   soft    nproc   10240000

dan yang terakhir merubah setting my.cnf

nano /etc/my.cnf

kemudian tambahkan

[mysqld]
open_files_limit = 1024000

dan restart mysqlnya

 

Hari ini ada gangguan listrik yang mengakibatkan server langsung mati dan membuat rusak kuota node vps dengan error seperti ini

Initializing quota …
vzquota : (error) Quota on syscall for id 101: File exists
vzquota : (error)       Native quota is already running for this partition.
vzquota on failed [3]

Solusinya adalah dengan mendisable sistem kuota

nano /etc/sysconfig/vz

ubah DISK_QUOTA=yes ke DISK_QUOTA=no dan jalankan kembali vps satu per satu.

Cara ini berhasil namun vps berjalan tanpa sistem kuota, selanjutnya kami cari cara untuk mengaktifkan kembali sistem kuota tersebut.

Demikian catatan ini, semoga membantu.