Switch php version

Berikut adalah untuk switch dari satu versi php ke versi lainnya

sudo update-alternatives --config php

Setelah itu akan muncul pilihan sebagai berikut (tergantung php version yang sudah/pernah di install):

There are 5 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
  0            /usr/bin/php8.1   81        auto mode
  1            /usr/bin/php7.1   71        manual mode
  2            /usr/bin/php7.2   72        manual mode
* 3            /usr/bin/php7.4   74        manual mode
  4            /usr/bin/php8.0   80        manual mode
  5            /usr/bin/php8.1   81        manual mode

Press <enter> to keep the current choice[*], or type selection number: 

Reference: https://php.tutorials24x7.com/blog/how-to-switch-php-version-on-ubuntu-20-04-lts

Mod rewrite (part.1)

Mod Rewrite part.1

Mod_Rewrite memungkinkan Anda membuat URL khusus dan sederhana sesuai kebutuhan.

Tulisan ini akan membahas tentang bagaimana mengaktifkan Mod_Rewrite, Membuat dan Menggunakan halaman .htaccess yang diperlukan, dan menyiapkan penulisan ulang URL.

Before we begin generating the actual URL rewrites, we need to activate the apache mod_rewrite module that controls them.

sudo a2enmod rewrite

Perintah mengaktifkan modul atau—jika sudah diaktifkan, menampilkan kata-kata, “Module rewrite sudah diaktifkan”

Setelah modul diaktifkan, Anda dapat mengatur penulisan ulang URL dengan membuat file .htaccess di direktori situs web Anda.

File .htaccess adalah cara untuk mengonfigurasi detail situs web Anda tanpa perlu mengubah file konfigurasi server. Tanda titik yang meng’awali’ nama file akan membuat file ini tidak tampak secara default di dalam folder.

Selain itu, peletakan file .htaccess juga penting. Konfigurasi dalam file itu akan memengaruhi semua yang ada di direktori dan direktori di bawahnya.

Cara mengizinkan perubahan dalam file .htaccess

Untuk mengizinkan file .htaccess menimpa konfigurasi situs web standar, kita awali dengan dengan membuka file konfigurasi. Catatan: Anda memerlukan hak sudo untuk langkah ini.

sudo nano /etc/apache2/sites-available/default

Setelah berada di dalam file itu, temukan bagian berikut, dan ubah baris yang mengatakan AllowOverride dari None menjadi All. Bagian tersebut sekarang akan terlihat seperti ini:

<Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
 </Directory>

Setelah Anda menyimpan dan keluar dari file itu, restart apache. File .htaccess sekarang akan tersedia untuk semua situs Anda.

sudo service apache2 restart

Refference: Digital Ocean: How To Set Up Mod_Rewrite

Netplan & DNS nameserver Ubuntu 18.04

Selama bertahun untuk setting nameserver kita cukup mengganti /etc/resolv.conf :

nameserver 8.8.4.4
nameserver 8.8.8.8

selain itu kita dapat  merubah di /etc/network/interfaces menjadi

dns-addresses 8.8.4.4, 8.8.8.8

Lalu restart :

sudo systemctl restart networking

atau

sudo /etc/init.d/networking restart

Saat ini versi terbaru ubuntu mulai menggunakan Netplan.

Netplan adalah utilitas baris perintah untuk konfigurasi jaringan pada distribusi Linux tertentu. Netplan menggunakan file deskripsi YAML untuk mengkonfigurasi antarmuka jaringan dan, dari deskripsi tersebut, akan menghasilkan pilihan konfigurasi yang diinginkan untuk alat render (eg. network-manager).

File yang perlu kita setup adalah : /etc/netplan/01-*/yaml.

Sehingga kita perlu meletakkan code seperti berikut di dalamnya:

nameserver:
   addresses: [8.8.4.4, 8.8.8.8]

 

Fix Error #551 in phpMyAdmin 18.04

Error message containts :

Warning in ./libraries/plugin_interface.lib.php#551
count(): Parameter must be an array or an object that implements Countable

Solution:

You can also fix this by editing the library itself.

  1. Make a backup first
    sudo cp /usr/share/phpmyadmin/libraries/plugininterface.lib.php /usr/share/phpmyadmin/libraries/plugininterface.lib.php.bak
  2. Edit the library
    sudo nano /usr/share/phpmyadmin/libraries/plugin_interface.lib.php
  3. Search for “if (! is_null($options) && count($options) > 0) {”
    or if not found then search for “if ($options != null && count($options) > 0) {”

Then replace it with “if ($options != null) {”

To search in Nano editor press CTRL and W

  1. Save the file (CTRL and O)
  2. Refresh the phpMyAdmin page and try agin.

Backup Stored Procedures and Routines

We need to specify --routines to take backup of stored procedures with data and tables.

The following command will take backup of entire database including stored procedures. For example, your database name is “mydb”.

mysqldump -u root -p –routines mydb > mydb.sql

To take backup of only Stored Procedures and Triggers (Exclude table and data ) use the following command.

mysqldump –routines –no-create-info –no-data –no-create-db –skip-opt mydb > mydb.sql

Reference:
https://tecadmin.net

How to Change Hostname on Ubuntu 18.04

View the current hostname

$ hostnamectl
 Static hostname: dbserver
         Icon name: computer-vm
           Chassis: vm
        Machine ID: baf17aaaa3c343c48cc85d38fa7534c8
           Boot ID: 0c82f3ccd20c4fda9d6d317d551d3ba9
    Virtualization: kvm
  Operating System: Ubuntu 18.04.4 LTS
            Kernel: Linux 4.15.0-1058-aws
      Architecture: x86-64

As you can see in the image above, the current hostname is set to dbserver.

Now, we will change the hostname

1. Using hostnamectl command

sudo hostnamectl set-hostname dbserver2

2. Edit the /etc/hosts file

127.0.0.1   localhost
127.0.0.1   dbserver2

 

PostgreSQL remote connection

This arcticle was writen based PostgreSQL version 10.10 and running on Ubuntu 18.04

Configuring postgresql.conf

Find postgresql.conf

$ find / -name "postgresql.conf"
/usr/lib/tmpfiles.d/postgresql.conf
/etc/postgresql/10/main/postgresql.conf

Open file /etc/postgresql/10/main/postgresql.conf and replace line

listen_addresses = 'localhost'

with

listen_addresses = '*'

Configuring pg_hba.conf

Open file /etc/postgresql/10/main/pg_hba.conf and add following entry at the very end

host    all             all     0.0.0.0/0                    md5
host    all             all     ::/0                         md5

Do not get confused by “md5” option mentioned above. All it means is that a password needs to be provided. If you want client to allow collection without providing any password then change “md5” to “trust” and that will allow connection unconditionally.

Restart postgresql server.

Membuat seluruh elemen dalam Form tidak dapat diakses

Dengan memberikan attribut disabled pada elemen Fieldset

<form id="form1">
    <fieldset disabled>
        <input/>
        <input/>
        <input/>
    </fieldset>
</form>
<br>
<button id="btn_edit">Edit On</button><br>
<button id="btn_lock">Edit Off</button>

Jika menggunakan jQuery :

$("#btn_edit").click(function(){
        $("#form1 :fieldset").prop('disabled',false);
    });

$("#btn_lock").click(function(){
        $("#form1 :fieldset").prop('disabled',true);
    });

 

Mencopot memcached dari Ubuntu

(Uninstall memcached from ubuntu)

Cara paling praktis adalah sebagai berikut, tapi cara ini hanya mencopot memcached nya saja, tapi mencopot juga dependency packages yang tidak diperlukan

$ sudo apt-get remove memcached 

Jika akan menghapus juga dependency packages terkait maka lakukan hal berikut ini

$ sudo apt-get purge memcached

atau sekalian dibersihkan, jika Anda akan reinstall kembali, lakukan ini

$ sudo apt-get purge --auto-remove memcached 

Memasang Web Server (LAMP) di Ubuntu 16.04

Pengantar

Sebelumnya diasumsikan bahwa kita sudah memiliki Ubuntu 16.04 Server 64bit. Jika Anda belum mengetahui cara instalasi Ubuntu 16.04 dapat dilihat disini. Karena ini untuk server, maka IP Address nya harus di set static. Secara default Ubuntu 16.04 Server tidak dipasangi Graphical User Interface, jadi semua dikendalikan dengan console, text based command.

Rencana yang akan dipasang adalah :

  1. Apache2
  2. MySQL 5
  3. PHP 7

Langkah 1 | Pasang Apache2 Web Server:

– Login lah sebagai user ubuntu yang pertama kali dibuat, user pertama ini memiliki kekhususan karena secara default sudah sebagai sudo user, atau user yang dapat berperan sebagai root. Saat ini prompt dari console Anda masih berupa “$” yang menandakan sebagai role user ‘bukan root’.

Selanjutnya masuklah sebagai root :

sudo -i

Salah satu tanda bahwa kita sedang dalam mode root adalah adanya prompt “#”.

Lakukan Update, agar seluruh komponen OS berada pada status update terkini.

apt-get update

DIlanjutkan dengan memasang/install Apache 2:

apt-get install apache2

Jika berjalan baik tanpa error, selanjutnya kita periksa apakah sudah berfungsi dengan browse dengan browser ke alamat IP server tersebut.

http://<IP address>

Dan akan tampak kira-kira seperti gambar di bawah ini:

Langkah 2 | Pasang MySQL Server:

Ada beberapa pilihan database yang dapat kita lakukan antara lain : MySQL, MariaDB, PostgreSQL, dan sebagainya. Kali ini kita pilih MySQL

sudo apt-get install mysql-server mysql-client

Dalam proses pemasangan ini Anda akan diminta memasukkan pilihan password untuk user database ‘root’:

Sekali lagi:

Keberadaan MySQL dapat diperiksa dengan:

sudo systemctl status mysql

Hasilnya kira-kira akan seperti ini :

toosa@toosa-T580:~$ sudo systemctl status mysql
[sudo] password for toosa: 
? mysql.service - MySQL Community Server
 Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
 Active: active (running) since Sab 2016-12-17 20:07:08 WIB; 1 day 12h ago
 Main PID: 1548 (mysqld)
 CGroup: /system.slice/mysql.service
 ??1548 /usr/sbin/mysqld

Periksa versi MySQL Anda :

sudo mysql --version

Jika Anda ternyata bermaksud memasang MariaDB, maka MySQL perlu dilepas terlebih dahulu atau dipasang pada port yang berbeda, hal itu tidak dibahas di artikel ini, insyaALLAH akan saya bahas di artikel mendatang. Demikian pula untuk meningkatkan keamanan dari MySQL atau MariaDB akan saya bahas pada artikel selanjutnya.

Langkah 3 | Pasang PHP 7:

Berikutnya kitapasang PHP 7

sudo apt-get update 
sudo apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi? php7.0 libapache2-mod-php7

Selanjutnya kita periksa versi php yang telah terpasang dengan :

sudo php -v

Kira-kira akan kita dapatkan hasil sebagai berikut :

toosa@toosa-T580:~$ php -v
PHP 7.0.9-1+deb.sury.org~trusty+1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
 with Zend OPcache v7.0.9-1+deb.sury.org~trusty+1, Copyright (c) 1999-2016, by Zend Technologies

Terkahir kita perisksa dengan fungsi phpinfo(), mari kita buat sebuah file info.php

sudo nano  /var/www/html/info.php

Lalu diisi dengan code sebagai berikut :

<?php
phpinfo();
?>

Setelah disimpan, coba cek IP Anda :

Check IP :

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

lalu buka browser dengan IP tersebut: http://<IP address>/info.php, contoh :

http://192.168.100.1/info.php
1 2 3 4 5 6 13