Install PHP 8.2.8 In Ubuntu NGINX Server

PHP 8.2 also includes bug fixes and performance improvements over previous versions like 8.1. We recommend you test your codebase with PHP 8.2 before upgrading in a production setup, just to ensure that everything works as expected.

In this article we shall cover steps that are used in the installation of PHP 8.2 on Ubuntu 22.04|20.04|18.04. The default version of PHP available on OS repositories is usually older than PHP official latest releases. PPA (Personal Package Archive) software repositories for PHP allows you to install newer releases of PHP on your Ubuntu system that are not available in the official repositories of a Linux distribution.

sudo apt update

sudo apt install -y lsb-release gnupg2 ca-certificates apt-transport-https software-properties-common

sudo add-apt-repository ppa:ondrej/php

sudo apt install php8.2-cli php8.2-fpm php8.2-common php8.2-mysql php8.2-pgsql php8.2-zip php8.2-gd php8.2-mbstring php8.2-curl php8.2-xml php8.2-bcmath php8.2-memcached

php -v

PHP 8.2.8 (cli) (built: Jul 8 2023 07:10:21) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.8, Copyright (c) Zend Technologies
with Zend OPcache v8.2.8, Copyright (c), by Zend Technologies

[AmpAnalytics ] No triggers were found in the config. No analytics data will be sent.


<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>

<amp-analytics type="googleanalytics" config="https://amp.analytics-debugger.com/ga4.json" data-credentials="include">
<script type="application/json">
{
    "vars": {
                "GA4_MEASUREMENT_ID": "G-XXXXXXXX",
                "GA4_ENDPOINT_HOSTNAME": "www.google-analytics.com",
                "DEFAULT_PAGEVIEW_ENABLED": true,    
                "GOOGLE_CONSENT_ENABLED": false,
                "WEBVITALS_TRACKING": false,
                "PERFORMANCE_TIMING_TRACKING": false,
                "SEND_DOUBLECLICK_BEACON": false
    }
}
</script>
</amp-analytics> 

As a small sneak-peak, this is the meaning for all the configuration switches.

FEATURE NAMEDESCRIPTION
GA4_MEASUREMENT_IDYour Measurement IDG-XXXXXXXX
GA4_ENDPOINT_HOSTNAMEOverride the default endpoint domain. In case you want to send the hits to your own server or a Server Side GTM Instance.
GOOGLE_CONSENT_ENABLED&gcs parameter will be added to the payloads with the current Consent Status
WEBVITALS_TRACKINGIf you enable this a webvitals event will fire 5 seconds after the page is visible
PERFORMANCE_TIMING_TRACKINGWhatever you want to push a performance_timing event including the current page load performance timings
DEFAULT_PAGEVIEW_ENABLEDIf enabled a page_view event will fire on the page load
SEND_DOUBLECLICK_BEACONSend a DC Hit

Install PHP 8.2 on Ubuntu with Nginx

PHP 8.2 is work well with WordPress, i tested already on my site josuamarcelc.com

josuamarcelc

ALL IN ONE CODE

sudo apt update && apt upgrade -y
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2 -y
sudo apt-get install -y php8.2-cli php8.2-common php8.2-fpm php8.2-mysql php8.2-zip php8.2-gd php8.2-mbstring php8.2-curl php8.2-xml php8.2-bcmath php8.2-pgsql

1. Run system updates

The first thing to do in a new system is to update our repositories in order to make them up to date. Run upgrade command also.

sudo apt update && apt upgrade -y

2. Add Ondrej sury PPA repository

To run PHP 8.2 on Ubuntu 22.04, we need to add Ondrej sury PPA into our system. This is the maintainer of the PHP repository at the moment. This PPA is not currently checked so installing from it will not be guaranteed 100% results.

To add this PPA use the following command on our terminal.

sudo add-apt-repository ppa:ondrej/php

After installation is complete we need to update the repositories again for the changes to take effect.

sudo apt update

3. Install PHP 8.2 on Ubuntu 22.04

We should now be able to install PHP 8.2 on Ubuntu 22.04 Linux machine. The commands to run are as shared below:

sudo apt install php8.2 -y

Check for the currently active version of PHP with the following command:

php --version

4. Install PHP 8.2 Extensions

Besides PHP itself, you will likely want to install some additional PHP modules. You can use this command to install additional modules, replacing PACKAGE_NAME with the package you wish to install:

sudo apt-get install php8.2-PACKAGE_NAME

You can also install more than one package at a time. Here are a few suggestions of the most common modules you will most likely want to install:

sudo apt-get install -y php8.2-cli php8.2-common php8.2-fpm php8.2-mysql php8.2-zip php8.2-gd php8.2-mbstring php8.2-curl php8.2-xml php8.2-bcmath php8.2-pgsql

This command will install the following modules:

  • php8.2-cli – command interpreter, useful for testing PHP scripts from a shell or performing general shell scripting tasks
  • php8.2-common – documentation, examples, and common modules for PHP
  • php8.2-mysql – for working with MySQL databases
  • php8.2-zip – for working with compressed files
  • php8.2-gd – for working with images
  • php8.2-mbstring – used to manage non-ASCII strings
  • php8.2-curl – lets you make HTTP requests in PHP
  • php8.2-xml – for working with XML data
  • php8.2-bcmath – used when working with precision floats
  • php8.2-pgsql – for working with PostgreSQL databases

Best DNS Servers List

DNSIPv4IPv6
Google Public DNS8.8.8.8
8.8.4.4
2001:4860:4860::8888
2001:4860:4860::8844
OpenDNS208.67.222.222
208.67.220.220
Quad9 (Malware Blocking Enabled)9.9.9.9
149.112.112.112
2620:fe::fe
2620:fe::9
DNS.Watch84.200.69.80
84.200.70.40
2001:1608:10:25::1c04:b12f
2001:1608:10:25::9249:d69b
Comodo Secure DNS8.26.56.26
8.20.247.20
Cloudflare1.1.1.1
1.0.0.1

What is DNS propagation?

DNS propagation is the time DNS changes take to be updated across the internet on the globe. It can take up to 72 hours to propagate worldwide. You can check your DNS propagation results from here.

What is DNS resolution?

DNS resolution translates the domain name into the site’s IP address. You need a site’s IP address to know where it’s on the internet. A website could have IPv4 or IPv6 addresses or both. Where the IPv4 address comes in the form of an A record and the IPv6 address comes in an AAAA record.

How do DNS records propagate?

When you update your DNS records, it may take up to 72 hours for the changes to take effect. During this period, the ISPs worldwide update their DNS cache with new DNS information for your domain.

However, due to different DNS cache level, after DNS records changes, some of the visitors might be redirected to the old DNS server, for some time, and other can see the website from new DNS server, shortly after the changes. You can perform the A, AAAA, CNAME, and additional DNS records lookup.

Why DNS propagation takes time?

Suppose you changed your domain’s nameservers, and you requested to open your domain on the web browser. Your request will not go to the hosting directly.

Each of the ISP nodes first checks its DNS cache, whether it has the DNS information for that domain. If it is not there, it will look it up to save it for future use to speed up the DNA lookup process.

Thus, the new nameservers will not propagate instantly – ISPs have different cache refreshing levels, so some will still have the old DNS information in their cache.

But if after that time interval, still, your new DNS changes are not reflecting, then you go for a DNS health check to ensure that your DNS changes are up to the mark and are following the standards.

How does the DNS process work?

Suppose you request to open the URL https://abc.com in your web browser’s bar.

  1. The web browser first checks in its local cache whether it has the requested domain’s IP address. If it’s not present, then it will send the request to the Name Resolving Server.
  2. The Name Resolving Server checks its cache against that request. If it fails to find the requested domain’s IP address, it will send that request to the Root Server.
  3. The Root Server only contains the server’s IP address with TLD (Top Level Domain) related information. It will redirect the Name Resolving Server to the TLD server containing .com information.
  4. The TLD server provides the server’s IP address (authoritative servers for requested URL https://abc.com) to the Name Resolving Server.
  5. The Name Resolving Server caches that information for a specific period (TTL) and passes that information to the requested’s computer.
  6. The client’s computer builds the connection with the authoritative server (containing the requested URL https://abc.com) for the requested content and caches the IP address’s information in its browser for further use.

Why is DNS not propagating?

The ISPs across the world have a different caching level. The DNS client or the server may cache the information the DNS records in its DNS cache. That information is temporarily cached, and DNS servers will go for the updated DNS information when TTL (Time to Live) expires.

What will happen if the domain name does not exist?

The DNS server will return a name error, also known as an NXDomain response (for non-existent domain), to symbolize that the query’s domain name does not exist.

What is the port used by DNS?

DNS uses both TCP and UDP port 53. However, the most frequently used port for DNS is UDP 53. That is used when the client’s computer communicates with the DNS server for resolving the specific domain name. Be sure, when using the UDP 53 for DNS, the maximum size of the query packet is 512 bytes.

TCP 53 is used primarily for Zone Transfers and when the query packet exceeds 512 bytes. That is true when DNSSEC is used, which adds extra overhead to the DNS query packet.

What is DNS failure?

DNS failure means that the DNS server cannot convert the domain name into an IP address in a TCP/IP network. That failure may occur within the company’s private network or the internet.

Backup And Restore Database MySQL All Schema Data Routine Trigger Specific Database

It is necessary to make a backup of the database before reinstalling the server or just in case something unexpected happens. We can actually do backups through Phpmyadmin by exporting all databases. But what if we haven’t installed Phpmyadmin on the Server?

How to Backup All Databases

1. Backup Schema and Data

mysqldump -u username -p --all-databases > backup.sql
or
mysqldump -u username -p -A > backup.sql

2. Backup only the Schemas

mysqldump -u username -p --all-databases --no-data > backup_schema.sql
or
mysqldump -u username -p -A -d > backup_schema.sql

3. Backup by Remote Server

mysqldump -u root -h 128.168.1.1 -p -A > backup.sql

4. Backup Routines

mysqldump -u username -p db_name --routines > backup_routinetrigger.sql
or
mysqldump -u username -p db_name -R > backup_routinetrigger.sql

5. Backup Routines and Triggers

mysqldump -u username -p db_name --routines --triggers > backup_routinetrigger.sql

6. Backup Specific Database

mysqldump -u username -p --database db_name > backup_db_name.sql
or
mysqldump -u username -p db_name > backup_db_name.sql

7. Backup Specific Table in Specific Database

mysqldump -u username -p --database db_name table_name > backup_db_name_table_name.sql
or
mysqldump -u username -p db_name table_name > backup_db_name_table_name.sql

How To Restore Database

8. Restore all Databases

mysql -u username -p < backup.sql

9. Restore one database

mysql -u username -p db_name < backup_db_name.sql

10. Manual command line for mysql

man mysqldump
man mysql

11. References

https://dev.mysql.com/doc/refman/8.0/en/mysql.html

https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html

Install PostgreSQL 14 and Remote on Ubuntu – Easy Install

Install PostgreSQL 14

1. Update Ubuntu and get PostgreSQL requirements

sudo apt update
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql-pgdg.list > /dev/null

sudo apt update

2. Get PostgreSQL 14 installed on your Ubuntu system

sudo apt install postgresql-14

3. PostgreSQL’s default port (5432) should not be held hostage by any other system process.

sudo ss -atnp | grep 5432

4. Next, restart, enable PostgreSQL so that it keeps running even after your Ubuntu system reboots, and check on the status of PostgreSQL to make sure it is running.

sudo systemctl restart postgresql
sudo systemctl enable postgresql
sudo systemctl status postgresql 

5. Connecting to PostgreSQL 14 Database in Ubuntu

sudo -u postgres psql

6. For example, to create a PostgreSQL admin superuser that has all the database user privileges, we would execute the following query.

CREATE ROLE <username> WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD  '<password>';

<username> : any usernames , <password> : any passwords

7. To confirm the existence of the PostgreSQL superuser, execute the following command.

\du

8. To exit PostgreSQL shell, run the command

exit;

Remote Configuration PostgreSQL 14

1. Edit the configuration file to allow remote access

vi /etc/postgresql/14/main/postgresql.conf

Look for this line in the file:

listen_addresses = 'localhost'

Uncomment, and change the value to '*', this will allow Postgres connections from anyone.

listen_addresses = '*'

2. Save and exit the file. Next, modify pg_hba.conf to also allow connections from everyone. Open the file with your preferred editor:

vi /etc/postgresql/14/main/pg_hba.conf

Modify this section:

# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256

To this:

# IPv4 local connections:
host    all             all             0.0.0.0/0            scram-sha-256

3. Allow PostgreSQL port from Firewall

sudo ufw allow 5432/tcp

4. Restart PostgreSQL

sudo systemctl restart postgresql

Cannot sudo apt update failed to update UBUNTU

1. Edit netplan File

sudo vi /etc/netplan50-cloud-init.yaml

2. Add Nameserver Google / Cloudflare or any, on nameserver

network:
    ethernets:
        [network-device]:
            ...
            nameservers:
                addresses:
                - 2001:4860:4860::8888
                - 2001:4860:4860::8844
                - 8.8.8.8
                - 8.8.4.4
                - 1.1.1.1

notes: don’t use tab on this file, only space allowed.

3. Apply and Test the Network

sudo netplan apply
systemd-resolve --status

Pajak Untuk Programmer Freelance

Lampiran II Peraturan Direktur Jenderal Pajak

Nomor : PER- 17 /PJ/2015 Tentang : Norma Penghitungan Penghasilan Neto

DAFTAR PERSENTASE NORMA PENGHITUNGAN PENGHASILAN NETO UNTUK WAJIB PAJAK ORANG PRIBADI YANG TERNYATA TIDAK ATAU TIDAK SEPENUHNYA MENYELENGGARAKAN PEMBUKUAN ATAU TIDAK BERSEDIA MEMPERLIHATKAN PEMBUKUANATAU PENCATATAN ATAU BUKTI-BUKTI PENDUKUNGNYA Kode KLU: 62010 (KEGIATAN PEMROGRAMAN KOMPUTER) Perhitungan 62,5% (semua kota)

https://www.pajak.go.id/sites/default/files/2019-03/Lampiran%201_PER%20-%2017.PJ_.2015.pdf

Kelompok ini mencakup jasa konsultasi yang berkaitan dengan analisis, design dan pemrograman dari sistem yang siap pakai. Kegiatan ini biasanya menyangkut analisis kebutuhan pengguna komputer dan permasalahannya, pemecahan permasalahan, dan membuat piranti lunak berkaitan dengan pemecahan masalah tersebut. Termasuk pula penulisan program sederhana sesuai kebutuhan pengguna komputer. Perancangan struktur dan isi dari, dan/atau penulisan kode komputer yang diperlukan untuk membuat dan mengimplementasikan, seperti sistem piranti lunak (pemutahiran dan perbaikan), aplikasi piranti lunak (pemutahiran dan perbaikan), database dan halaman web. Termasuk penyesuaian piranti lunak, misalnya modifikasi dan Penyesuaian konfigurasi aplikasi yang sudah ada sehingga berfungsi dalam lingkungan sistem informasi klien. Kegiatan sejenis yang dilaksanakan sebagai bagian yang tak terpisahkan dari penjualan piranti lunak dimasukkan dalam subgolongan 47413.

2018

Programmer, Web Programmer, Web Designer (KLU : 62010) :

10 Ibukota propinsi : 50% (Medan, Palembang, Jakarta, Bandung, Semarang, Surabaya, Denpasar, Manado, Makassar, Pontianak)

Ibukota propinsi lainnya : 50%

Daerah lainnya : 50%

Jadi kalau penghasilan programmer jakarta setahun 250 juta maka penghasilan netnya :

Rumusnya : Penghasilan neto = Penghasilan bruto x Norma Penghitungan Penghasilan Neto (NPPN)

250.000.000 x 50% = 125.000.000

Jadi 125 juta ini yang akan dihitung pajaknya.

O iya masukan penghasilan kotor setahun di kolom PEREDARAN USAHA bagian PEKERJAAN BEBAS, kemudian masukkan jumlah Norma lalu isikan manual hasil netnya di kolom PENGHASILAN NETO. Masing-masing form diisi manual karena tidak bisa perhitungan otomatis.

Dan Norma ini dilaporkan tertulis ya pada saat kita ke kantor pajak untuk merubah data.

Bisa di download formnya di sini Form Laporan Penggunaan Norma

Contoh Pengisian Form Penggunaan Norma
Penghasilan kotor setahun dikali norma akan dapat penghasilan bersih

Setelah pengisian Formulir 1770-I Halaman 2 maka hasil perhitungannya otomatis akan masuk ke Formulir induk 1770. Di form induk ini jangan lupa centang Pencatatan di pojok kanan atas. Lalu Status Kewajiban Perpajakan dicentang KK (jomblo/udh nikah pilih ini). Dan yang paling penting di formulir ini adalah centang PTKP (Penghasilan Tidak Kena Pajak) yang bisa mengurangi jumlah penghasilan net sebelum dihitung pajaknya.

Untuk Jomblo pilih TK, yang udah nikah belom punya anak pilih K, nikah udah punya anak pilih K dan jumlah anak dibawahnya (maks. 3), yang nikah penghasilan suami istri digabung pilih K/I dan jumlah anaknya. Kalo nikah dan punya anak PTKPnya makin besar lumayan pajaknya bisa kecil.

Tarif PTKP 2018 :

PTKP 2018

Kasus di sini Wajib Pajak sudah menikah dengan tanggungan 2 anak, sehingga PTKP yang didapatkan sebesar 67.500.000

Jangan lupa centang yang diberi lingkaran merah

Nanti penghasilan net akan terhitung otomatis jumlah pajaknya.

Pajak akan terhitung otomatis

Jika penghasilan Net kita di atas PTKP maka pajak akan terhitung otomatis dan jumlah itulah yang harus kita bayarkan ke negara. Tapi jika penghasilan Net kita di bawah PTKP maka kita tidak berkewajiban membayar pajak tapi tetap wajib melaporkan SPT kita.

Dari kasus di atas dari pendapatan neto 80 juta maka setelah dikurangi PTKP 67,5 juta maka penghasilan yang wajib dibayar pajaknya adalah :

80.000.000–67.500.000 = 12.500.000

Jadi 12.500.000 ribu inilah yang akan kita hitung pajaknya.

Tarif PPh 21 dijelaskan pada Pasal 17 ayat (1) huruf a Peraturan Direktur Jenderal Pajak Nomor PER-32/PJ/2015. Tarif PPh 21 berikut ini berlaku pada Wajib Pajak (WP) yang memiliki Nomor Pokok Wajib Pajak (NPWP):

  • WP dengan penghasilan tahunan sampai dengan Rp 50 juta adalah 5%
  • WP dengan penghasilan tahunan di atas Rp 50 juta — Rp 250 juta adalah 15%
  • WP dengan penghasilan tahunan di atas Rp 250 juta — Rp 500 juta adalah 25%
  • WP dengan penghasilan tahunan di atas Rp 500 juta adalah 30%
  • Untuk Wajib Pajak yang tidak memiliki NPWP, dikenai tarif pph 21 sebesar 20% lebih tinggi dari mereka yang memiliki NPWP.

Berdasarkan tarif PPh 21 di atas maka penghasilan kita yang 12.500.000 masuk dalam penghasilan 50 juta dan tarif pajaknya adalah 5%. Jadi jumlah pajak yang harus bayar sebesar :

12.500.000 x 5% = 625.000

Dari penghasilan Rp 250 juta setahun ternyata pajaknya cuma Rp 625.000 setahun.

Nah ternyata pajaknya gak sebesar yang dibayangkan kan? Itu karena sebenarnya banyak variabel yang bisa dijadikan sebagai pengurang penghasilan kotor kita di mana kita tidak mengetahui info ini.

Setelah semua form selesai terisi dan dirasa tidak ada yang salah maka klik tombol Submit di atas form untuk pengiriman online. Form pajak kita juga bisa diprint dengan memencet Ikon Printer di bawah. Jangan lupa masukan token yang sebelumnya sudah dikirimkan melalui email lalu klik tombol Submit.

Masukkan toke untuk pengiriman SPT online

Kalau pengiriman berhasil maka akan dikirimkan tanda terima melalui email.Tanda

Tanda terima akan dikirim melalui email

Dan form yang kita kirim otomatis akan masuk ke Daftar SPT online kita.

Eform langsung update

Jadi sebenarnya mudah kan buat laporan SPT tidak susah seperti yang dibayangkan? Apalagi yang sudah punya NPWP maka kamu wajib lapor kalau gak diurus maka akan susah ke depannya untuk urusan misalnya pembelian properti (rumah,ruko) karena notaris akan mengecek NPWP kita (untuk urusan pajak jual beli), jika kita tidak pernah melaporkan SPT sebelumnya maka NPWP kita otomatis akan di nonaktifkan plus gak bisa balik nama dan untuk mengaktifkannya harus melapor SPT 2 tahun terakhir plus dendanya. Jadi repotkan?

Makanya sebelum terlambat silahkan urus laporan SPT kamu bagi yang sudah punya NPWP. Terakhir lapor tanggal 31 maret 2018 loh!

Sumber :

https://medium.com/@rianrahardi/graphic-designer-freelancer-punya-npwp-udah-lapor-pajak-belum-b1e1c3357efd

https://www.online-pajak.com/id/tarif-pajak-pph-21

https://www.pajak.go.id/sites/default/files/2019-03/Lampiran%201_PER%20-%2017.PJ_.2015.pdf

https://www.pajakbro.com/2016/04/cara-menghitung-ptkp-dan-contohnya.html

https://www.pajakbro.com/2016/06/ptkp-2016-terbaru-pdf.html

https://www.pajak.go.id/id/surat-pemberitahuan-penggunaan-norma-penghitungan-penghasilan-neto

DMCA Alternatives – Website Copyrights

DMCA.com status page is linked to DMCA.com Protection Badge located on a webpage. This Certificate provides a statement of webpage content ownership. It also provides the website visitor with the status of the website owners’ content protection.

PuTTY Fatal Error – No Supported Authentication methods available (server sent: publickey)

I already tried the ways to fix this by restart the Pageant, remove the key, re add the key, redownload the key, restart my PC and still this issue come up! After one centuries, I found the solution of this issue.

If you experienced this exhibit: PuTTY Fatal Error; when accessing the server. You may try to download the the latest PuTTY itself and update your PuTTY in this URL: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html then your problem will be fixed.

Exit mobile version