Cara memasang Python 3.7 pada Ubuntu

Python adalah salah satu bahasa pengaturcaraan yang paling berkuasa. Penggunaan versi yang terbaru adalah amat digalakkan, tetapi anda mungkin mengalami masalah memasangnya kerana Ubuntu verdi lama tidak menyediakan versi Python terbaru di dalam wadah (repository) lalai.

Bagi anda yang menjalankan Ubuntu versi baru seperti 17.10 atau 18.04, anda boleh memasang Python menggunakan apt

$ apt install python3.7

Jika cara di atas tidak berfungsi ataupun anda menggunakan versi Ubuntu yang lebih rendah, anda perlu membina program ini daripada sumber kod.
Terlebih dahulu, pasang pakej yang diperlukan untuk membina Python daripada sumber

$ sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install libffi-dev

Lalu, muat turun serta ekstrak fail yang berkenaan

$ wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
$ tar xvf Python-3.7.0
$ cd Python-3.7.0

Mula membina

$ ./configure --enable-optimizations
$ make
$ sudo make install
  • --enable-optimizations akan menyebabkan proses kompilasi Python mengambil masa yang agak lama tetapi menjanjikan prestasi yang lebih pantas. Sekiranya anda mahu proses kompilasi yang lebih cepat, jalankan hanya ./configure tanpa --enable-optimizations

Hanya perlu tunggu proses selesai dan anda boleh menggunakan python3.7

python3.7 -V

Mengaktifkan error log pada PHP-CLI

Secara lalai, PHP-CLI tidak menulis log bagi sebarang ralat semasa anda menjalankan skrip. Perkara ini agak menyusahkan kerana anda akan tercari-cari log sekiranya skrip anda tidak berfungsi.

Untuk mengaktifkan panulisan log, anda harus edit php.ini. Kedudukan file ini bergantung kepada konfigurasi PHP anda. Dalam kes saya, kedudukannya di

/etc/php/7.2/cli/php.ini

Kemudian, cari baris

error_log =

Atau lebih spesifik pada konfigurasi saya yang terletak di baris ke-586,

; error_log = syslog

Ubah baris tersebut kepada

error_log = php_error.log
  • Pastikan tiada simbol ; di hadapan baris
  • Anda boleh mengubah php_error.log kepada apa sahaja yang anda mahukan

Apabila log ditulis, php_error.log akan diletakkan di dalam direktori semasa.
Contohnya jika anda berada di dalam

/home/user/log

Apabila anda menjalankan skrip.php, log akan ditulis di

/home/user/log/php_error.log

Wget senarai url berserta nama di dalam fail

Saya mempunyai fail yang mempunyai banyak url berserta nama. Contoh seperti ini:

http://example.com/media.mp4 video.mp4
http://example.com/media.mkv video.mkv

Berdasarkan senarai tersebut, saya mahu memuat turun http://example.com/media.mp4 lalu menamakan fail tersebut sebagai video.mp4. Hal ini menjadi sulit kerana senarai yang saya miliki adalah ribuan baris.

Solusinya adalah dengan menulis kod bash:

while read a b; do wget -c -O "$b" "$a"; done < video.txt
  • Gantikan video.txt dengan nama fail senarai anda.
  • Dan jalankan skrip bash tersebut

    $ bash download_video.sh
    

    Wget akan membaca setiap baris lalu membahagikan url dan nama ke dalam variable.

    Rujukan: https://stackoverflow.com/a/36193156

    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
    

    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]}" )" &amp;&amp; pwd )"
    $DIR/build/bin/xmr-stak --config $DIR/build/config.txt

    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