Cara memasang mcrypt di dalam PHP 7.2

Mungkin ada di antara anda yang tahu bahawa modul mcrypt telah dibuang secara kekal daripada PHP 7.2 kerana moduk tersebut tidak mempunyai sebarang pembangunan lebih daripada 10 tahun. Hal ini agak menyusahkan bagi pengguna yang memerlukan mcrypt, tetapi harus dilakukan bagi mengekalkan kestabilan PHP.

Saya menggunakan Nginx sebagai panduan dan sekiranya anda menggunakan Apache, mungkin ada sedikit langkah berbeza.

Pertama, anda harus pastikan anda sedang menggunakan PHP 7.2.

$ php -v

Pasangkan beberapa pakej yang diperlukan untuk compile modul mcrypt, lalu pasang mcrypt.

$ sudo apt -y install gcc make autoconf libc-dev pkg-config php-pear php7.2-dev
$ sudo apt -y install libmcrypt-dev
$ sudo pecl install mcrypt-1.0.1

Apabila anda dipaparkan dengan pilihan seperti ini:

libmcrypt prefix? [autodetect] :

Tekan [ENTER].

Setelah selesai, akan terpapar mesej seperti ini

...
Build process completed successfully
Installing '/usr/lib/php/20170718/mcrypt.so'    ---->   this is our path to mcrypt extension lib
install ok: channel://pecl.php.net/mcrypt-1.0.1
configuration option "php_ini" is not set to php.ini location
You should add "extension=mcrypt.so" to php.ini

Kemudian anda perlu membuat konfigurasi di dalam PHP
Untuk php-cli:

$ sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini"

Untuk php-fpm:

$ sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/fpm/conf.d/mcrypt.ini"

Apabila selesai, sahkan mcrypt telah terpasang

php -i | grep "mcrypt"

Anda seharusnya akan melihat paparan seperti ini

/etc/php/7.2/cli/conf.d/mcrypt.ini
Registered Stream Filters => zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*, mcrypt.*, mdecrypt.*
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

Atasi masalah perkongsian ke Facebook di dalam Mobile Legends.

Saya telah mengalami masalah ini mungkin sebulan yang lalu atau mungkin lebih. Pihak Mobile Legends masih tidak dapat memperbaiki masalah ini menyebabkan pemain kehilangan beberapa kelebihan.

Bagi yang tidak tahu, perkongsian ke Facebook setiap hari akan memberikan anda kad Double BP. Selain itu fungsi ini digunakan untuk melengkapkan acara.

Penyelesaian yang pertama adalah, membuang aplikasi Facebook. Ini akan menyebabkan Mobile Legends menggunakan browser untuk perkongsian. Cara ini mungkin tidak efisien bagi anda sekiranya memiliki kuota internet yang terbatas. Sekiranya Facebook dipasang pada telefon anda dari kilang, anda boleh menyahaktifkannya di dalam App setting.

Cara yang kedua adalah menggunakan Facebook Lite. Tetapi, anda masih perlu membuang aplikasi Facebook yang asal. Cara ini berguna sekiranya anda mahu gunakan Facebook Lite untuk tempoh masa yang panjang.

Namun bagi saya, kedua-dua cara di atas agak menyulitkan kerana aplikasi Facebook perlu dipasang semula sekiranya kita mahu menggunakannya. Jadi, sekiranya anda mempunyai akses root pada peranti, anda boleh menggunakan cara ketiga.

Cara ketiga ini kemungkinan memerlukan akses root. Anda perlu memasang aplikasi Titanium Backup.

  1. Pilih tab Backup/Restore.
  2. Tekan kanta yang berada di atas kanan.
  3. Taipkan “Facebook”.
  4. Tekan Freeze !

    • Untuk menggunakan aplikasi Facebook kembali, tekan Defrost.

Cara membina atau memasang XMR-Stak pada Ubuntu 16.04

XMR-Stak adalah miner untuk pool Stratum. Saya menggunakan program ini untuk mine Monero.

Saya menaip panduan ini berdasarkan penggunaan saya di Ubuntu 16.04, tetapi mungkin boleh juga digunakan pada mana-mana Debian dan Ubuntu bergantung kepada keberadaan dependencies.

Pertama, anda perlu memasang beberapa pakej dan dependencies.

$ sudo apt install libmicrohttpd-dev libssl-dev cmake build-essential libhwloc-dev git

Klon source

$ git clone https://github.com/fireice-uk/xmr-stak

Secara default, 0.2% hash power akan diberikan kepada developer. Sekiranya anda tidak mahu memberikan sebarang hash power, anda boleh edit

xmr-stak/build/xmrstak/donate-level.hpp

dan mengubah 0.2 kepada 0.0.

Kemudian buat satu folder dimana XMR-Stak akan dibina.

$ mkdir xmr-stak/build
$ cd xmr-stak/build

Ubah beberapa parameter mengikut sistem anda. Saya mahu gunakan CPU, jadi command yang digunakan adalah

$ cmake .. -DOpenCL_ENABLE=off -DCUDA_ENABLE=off

Sekiranya anda mahu menggunakan GPU AMD,

$ cmake .. -DCPU_ENABLE=off -DCUDA_ENABLE=off

Dan jika anda mahu gunakan GPU Nvidia,

$ cmake .. -DCPU_ENABLE=off -DOpenCL_ENABLE=off

Anda boleh rujuk pautan ini untuk parameter tambahan yang lain.

Sekarang kita sudah bersedia untuk membina XMR-Stak.

$ make

Apabila sudah selesai, anda perlu menjalankan XMR-Stak buat pertama kali untuk menjana fail konfigurasi.

$ bin/xmr-stak

Isikan maklumat seperti yang diminta. Tidak perlu gunakan nicehash sekiranya anda tidak mine pada pool NiceHash.

Fail konfigurasi yang bernama config.txt, cpu.txt, amd.txt, dan nvidia.txt akan diletakkan di dalam folder build. Jika anda bina untuk CPU, akan ada config.txt dan cpu.txt. Begitulah seterusnya jika anda bina untuk AMD atau Nvidia. Anda boleh mengubah mana-mana perimeter mengikut kesesuaian anda.

Saya telah menulis sebuah script untuk memudahkan anda untuk menjalankan XMR-Stak. Anda boleh mrnggunakannya sekiranya anda mahu.

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
$DIR/build/bin/xmr-stak --config $DIR/build/config.txt

[Android] Cara menukar User Certificate kepada System

Mungkin atas sebab-sebab tertentu, anda perlukan sesuatu certificate itu dipasang pada system. Saya menulis entri ini kerana tidak menjumpai cara yang terkini.

Saya telah mencuba cara ini pada Android 7.1 AOSP. Untuk versi android yang lebih lama, path pemasangan user certificate adalah berlainan dan tidak akan anda temui di sini.

Nota:

  1. Akses root diperlukan.
  2. Semak senarai user dan system certificate di Settings > Security > Trusted Credentials.
  3. User certificate: /data/misc/user/0/cacerts-added
  4. System certificate: /system/etc/security/cacerts

Langkah 1:

Buang semua certificate kecuali yang anda mahu pindahkan. Ini untuk memudahkan pencarian kerana certificate tersebut tidak disimpan dengan nama asal.

Langkah 2:

Buka /data/misc/user/0/cacerts-added menggunakan file manager anda. Anda akan melihat senarai certificate yang namanya berakhir dengan 0 sebagai contohnya, c8750f0d. Semua di sini adalah user certificate yang anda telah pasang.

Langkah 3:

Salin certificate tadi ke dalam /system/etc/security/cacerts. Kemudian reboot.

[PHP] Masalah menetapkan permission pada mkdir() dan chmod()

Situasi masalah kali ini agak mengelirukan kerana saya sudahpun merujuk pelbagai laman web tentang contoh penggunaan mkdir() serta chmod(). Tetapi, masalah sama tetap muncul di mana permission yang saya tetapkan untuk folder yang saya hendak buat tidak sama dengan permission folder yang diberikan kepada folder tersebut.

Saya menggunakan mkdir() seperti ini:

mkdir("./test", 777);

Tetapi yang terhasil adalah 007.
Jadi saya cuba menggunakan chmod():
mkdir("./test", 777);
chmod("./test", 777);

Tetapi masih juga sama. Lalu saya cuba mengubah mask:

$oldmask = umask(0);
mkdir("./test", 777);
umask($oldmask);

Tekanan semakin terasa apabila hasilnya tetap sama!

Setelah beberapa minit merenung hidup, saya merujuk semula dokumentasi PHP dan mendapati saya mempunyai kesalahan menaip. Permission yang saya taip sepatutnya adalah 0777 dan bukannya 777. Jadi code akhir saya yang berfungsi adalah:

mkdir("./test", 0777);

Pengajarannya adalah sentiasa menumpukan perhatian.

Konfigurasi Nginx untuk Rapidleech Berserta Password

Rapidleech adalah satu program PHP yang amat berguna. Rapidleech memudahkan proses muat turun dari beratus laman filehosting.

Bagi pengguna Nginx, cara memasangnya agak berbeza berbanding Apache. Saya andaikan anda telahpun memuat turun source Rapidleech daripada Github.

Pasang pakej yang diperlu untuk mencipta .htpasswd

$ sudo apt update
$ sudo apt install apache2-utils

Cipta fail password (.htpasswd)

$ sudo htpasswd -c /etc/nginx/.htpasswd rapid
  • Gantikan rapid kepada username yang anda mahukan.

Tambahkan kod di bawah ke dalam konfigurasi Nginx

location ^~ /rap1d {
    auth_basic "Ding Dong Bell";
    auth_basic_user_file <strong>/etc/nginx/.htpasswd</strong>;
    location ~ .php { 
        fastcgi_pass unix:/run/php/php7.1-fpm.sock;
        include snippets/fastcgi-php.conf;
    } 
}
  • Ubah rap1d kepada lokasi dimana anda menyimpan skrip PHP Rapidleech.

Kemudian reload Nginx

$ sudo systemctl reload nginx

Panduan Memasang pyLoad pada Linux

pyLoad adalah alat yang amat berguna untuk memuat turun fail dari file-hosting. Fungsinya utamanya sama seperti Rapidleech, Plowshare, serta jDownloader. Alat seperti ini memudahkan kerana anda tidak perlu melihat iklan sekaligus mempermudah serta mempercepatkan proses muat turun.

Sebab utama saya memilih pyLoad adalah kerana pyLoad mempunyai WebUI dan juga mempunyai komiti yang aktif. Ini amat memudahkan penggunaan saya. Tetapi, memasang pyLoad agak sulit bagi mereka yang kurang berpengalaman.

Sebelum memulakan, pastikan anda menggunakan Linux serta mempunyai akses root. Di dalam panduan ini, saya menggunakan Ubuntu 16.04 64bit.

Pasangkan pakej yang diperlukan

$ sudo apt update
$ sudo apt install python python-dev python-pip python-imaging python-qt4 libjpeg62 libjpeg62-dev tesseract-ocr rhino sqlite3

Pasang modul python menggunakan pip

$ pip install --user pycurl pycrypto pyOpenSSL jinja beaker

Muat turun kod sumber pyLoad versi stabil dari github

$ git clone -b stable https://github.com/pyload/pyload
$ cd pyload

Mulakan pyLoad buat kali pertama

$ python pyLoadCore.py

Ikut arahan di skrin dan pastikan semua parameter di system status bertanda OK.

Nota:

  • Proses ini dapat diulang dengan menggunakan parameter -s, pyload pyLoadCore.py -s.
  • Biarkan listen address pada 0.0.0.0. Gunakan 127.0.0.1 sekiranya anda hanya mahu menggunakannya pada localhost.
  • Gunakan port 1025 dan ke atas kerana port 1024 dan kebawah memerlukan akses root.

Mulakan pyLoad

$ python pyLoadCore.py

Anda akan melihat log pada paparan ssh jika pyLoad berjaya dipasang. WebUI boleh diakses pada http://localhost:8000.

Laman utama pyLoad: pyload.net (kod sumber)

Cara memasang Cloud-torrent dan Caddy sebagai proxy

Sekali lagi saya akan memberikan panduan berkaitan Caddy! Kali ini kita akan memasang cloud-torrent berserta Caddy sebagai proxy.

Cloud-torrent adalah sebuah klien torrent yang ditulis dalam bahasa program Go. Bukan sahaja pantas, malah klien ini juga direka untuk paparan skrin yang lebih kecil seperti telefon bimbit.

Sebelum memulakan langkah selanjutnya, anda harus mempunyai sebuah server dan domain (yang percuma juga boleh digunakan).

Mari kita mulakan. Pergi ke directory yang anda mahu untuk menyimpan fail-fail berkenaan dan muat-turun binari program yang telah disediakan. Dalam panduan ini, saya akan menggunakan /var/www/cloud-torrent

Pergi ke directory berkenaan (cipta sekiranya belum ada)

$ cd /var/www/cloud-torrent

Lalu muat-turun binari cloud-torrent yang terbaharu

$ curl i.jpillora.com/cloud-torrent | bash

Mulakan screen dan jalankan cloud-torrent

$ screen -S cloud-torrent   
$ ./cloud-torrent -h 127.0.0.1

Minimize screen

CTRL A + D

Sekarang kita bergerak ke Caddy pula.

Dapatkan Caddy versi terbaharu di sini. Kemudian cipta fail Caddyfile . Masukkan teks dibawah ke dalam Caddyfile, seterusnya simpan.

domain.anda {  
    proxy / 127.0.0.1:3000 {  
        websocket   
    }  
}

Gantikan domain.anda dengan domain yang anda miliki.

Mulakan Caddy tanpa HTTP/2

$ ./caddy -http2=false

Anda boleh mengakses domain anda di pelayar web.

Cara Memasang Composer Secara Global

Di sini saya ingin menerangkan secara ringkas cara untuk memasang Composer secara global.

Pastikan PHP dan Curl terpasang:

$ sudo apt-get install curl php5-cli

Muat-turun dan pasangkan Composer.

$ curl -sS https://getcomposer.org/installer | sudo php — –install-dir=/usr/local/bin –filename=composer

Anda boleh memastikan semula Composer teroasang dengan menaip:

$ composer –version

Pengaktifan Remote Connection MySQL

Saya seringkali menghadapi masalah sambungan MySQL dari jarak jauh apabila berpindah pelayan (server). Di sini saya ingin berkongsi perkara yang harus dilakukan agar sambungan jarak jauh (remote connection) berfungsi.

Pastikan anda mempunyai akses root. Kemudian, edit /etc/mysql/my.cnf:

$ sudo nano /etc/mysql/my.cnf

Kemudian cari bahagian ini:

bind-address = 127.0.0.1

Dan comment baris tersebut seperti berikut

#bind-address = 127.0.0.1

Langkah terakhir adalah restart proses MySQL

$ sudo service mysql restart

Jangan lupa bahawa anda masih perlu menambah akaun di dalam database anda dengan akses dari localhost serta Any Host yang mana kedua-dua mempunyai username yang sama