Ubuntu


Fujitsu Touchpad Not Working In Ubuntu 18.04

Untuk mengatasi masalah touchpad yang tidak berfungsi, dapat dilakukan dengan menambahkan i8042.notimeout i8042.nomux pada grub.
Edit parameter grub.

sudo gedit /etc/default/grub

Edit baris berikut GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" sehingga menjadi:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.notimeout i8042.nomux"

Update grub:

sudo update-grub

Langkah terakhir, reboot system.


Install Apache, MySQL dan PHP pada Ubuntu 16.04

  1. Update package manager.
    sudo apt-get update
  2. Install dan jalankan apache.
    sudo apt-get install apache2
    sudo systemctl start apache2.service
  3. Install MySQL.
    sudo apt-get install mysql-server
    sudo /usr/bin/mysql_secure_installation
  4. Install php.
    sudo apt-get install php

    Install PHP extensions GD, MySQL.

    sudo apt-get install -y php-{bcmath,bz2,intl,gd,mbstring,mcrypt,mysql,zip} && sudo apt-get install libapache2-mod-php -y
  5. Setting auto start untuk Apache dan MySQL.
    sudo systemctl enable apache2.service
    sudo systemctl enable mysql.service

    Restart Apache untuk menjalankan PHP.

    systemctl restart apache2.service

Client does not support any combination of challenges that will satisfy the CA

It is because Let’s Encrypt has currently disabled the TLS-SNI-01 challenge due to an identified security issue.

Solution

If you’re serving files for that domain out of a directory on that server, you can run the following command:

certbot --authenticator webroot --webroot-path --installer nginx -d

If you’re not serving files out of a directory on the server, you can temporarily stop your server while you obtain the certificate and restart it after Certbot has obtained the certificate. This would look like:

certbot --authenticator standalone --installer nginx -d --pre-hook "service nginx stop" --post-hook "service nginx start"

If using apache:

certbot --authenticator standalone --installer apache -d --pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2"

or

apache2ctl stop
letsencrypt --authenticator standalone --installer apache -d your.domain

Let’s Encrypt & Apache pada Ubuntu 16.04

Let’s Encrypt merupakan open Certificate Authority yang bersifat gratis. Layanan ini The service disediakan oleh Internet Security Research Group.

Let’s Encrypt Client/Certbot

Certbot adalah istilah untuk client yang digunakan untuk mengatur Let’s Encrypt certificates pada server.

Certbot on Ubuntu 16.04 Xenial

Pada ubuntu, package untuk certbot menggunakan nama python-letsencrypt-apache. Ketik command berikut install:

sudo apt-get install python-letsencrypt-apache
Set Up a New Cert: Apache

Sebelum menjalankan Certbot, jangan lupa untuk membuka port yang digunakan. Untuk menjalankan Certbot/Letsencrypt, jalankan command berikut kemudian ikuti langkah-langkah yang ditunjukkan pada dialog info.

sudo letsencrypt --apache

Daftar domain yang muncul berdasarkan konfigurasi pada /etc/apache2/sites-available

Renew Certificate

Test renewal:

letsencrypt renew --dry-run --agree-tos

Jika berhasil, jalankan command berikut:

letsencrypt renew --agree-tos

let’s Encrypt menyarankan menjalankan script ini dua kali sehari sebagai cron job. Sertifikat dari let’s Encrypt berlaku selama 90 hari. Renewal tidak akan dilakukan kecuali sertifikat mendekati expiry date.

Cara Lain:

sudo apt install python3-certbot-apache
sudo certbot --apache -d yourdomain.com

Ubuntu Upgrade

  1. Backup system.
  2. Upgrade currently installed package.
    sudo apt-get update
    sudo apt-get upgrade 
    sudo apt-get dist-upgrade
  3. Use ubuntu’s do-release-upgrade tool to perform upgrade.
    sudo do-release-upgrade

apache2: Could not reliably determine the server’s fully qualified domain name

Ada yang pernah mencoba menjalankan ubuntu di perangkat android? Mungkin teman-teman yang pernah mencobanya mengalami masalah yang sama dengan yang saya alami. ketika  mencoba menginstall lamp server, muncul error “AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using ::1. Set the ‘ServerName’ directive globally to suppress this message” ketika akan menjalankan apache server.

Solusi:
tambahkan ServerName pada /etc/apache2/apache2.conf.

sudo nano /etc/apache2/apache2.conf

Pada contoh ini saya tambahkan dibawah Global configuration.

# Global configuration
#
ServerName localhost

Langkah selanjutnya, restart apache2.

sudo service apache2 restart

No directory, logging in with HOME=/

Ada yang pernah mencoba menjalankan ubuntu di perangkat android? Mungkin teman-teman yang pernah mencobanya mengalami masalah yang sama dengan yang saya alami. ketika  mencoba menginstall lamp server, muncul error “No directory, logging in with HOME=/” ketika akan menjalankan mysql server. Hal ini mungkin disebabkan karena kernel android dicompile dengan konfigurasi CONFIG_ANDROID_PARANOID_NETWORK. Masalah ini dapat diperbaiki dengan menambahkan mysql user pada aid_inet dan aid_net_raw groups.

usermod -a -G aid_inet,aid_net_raw mysql
su mysql

Langkah selanjutnya tinggal menjalankan mysql.

sudo service mysql start

Set Up Apache Virtual Hosts on Ubuntu 16.04

Virtual Hosts berguna untuk membuat banyak domain/website dalam satu alamat ip. Pada tutorial ini akan dibahas setup Virtual Hosts pada ubuntu 16.04.

Install Apache Webserver

Install apahe webserver terlebih dahulu. Disini menggunakan Lamp.

sudo apt-get install lamp-server^
sudo service mysql start
sudo service apache2 start

Setelah selesai install lamp, test apakah web server yang dibuat sudah aktif atau belum dengan cara ketik ip server pada browser. Jika sudah jalan, akan muncul tampilan seperti berikut ini:

Setup Apache Virtual Hosts

Misal domain yang akan dibuat adalah sub1.akh.al dan sub2.akh.al. Pada contoh ini digunakan sub domain dari akh.al.

  1. Buat Virtual Directory
    sudo mkdir -p /var/www/html/sub1.akh.al/public_html
    sudo mkdir -p /var/www/html/sub2.akh.al/public_html
  2. Setting Ownership dan Permissions
    sudo chown -R $USER:$USER /var/www/html/sub1.akh.al/public_html
    sudo chown -R $USER:$USER /var/www/html/sub2.akh.al/public_html

    $USER merukan user yang digunakan untuk login.
    Set permission untuk apache web root (/var/www/html/), sehingga semua user dapat membaca file yang ada di dalam directory.

    sudo chmod -R 755 /var/www/html/
  3. Buat Virtual Hosts Files
    Secara default, virtual hosts files mempunya nama 000-default.conf berlokasi di /etc/apache2/sites-available. Copy file tersebut dengan nama sub1.akh.al.conf.

    cd /etc/apache2/sites-available
    cp 00-default.conf sub1.akh.al.conf

    Ganti isi file sesua dengan domain yang digunakan.

    nano sub1.akh.al.conf
    <VirtualHost *:80>
            # The ServerName directive sets the request scheme, hostname and port that
            # the server uses to identify itself. This is used when creating
            # redirection URLs. In the context of virtual hosts, the ServerName
            # specifies what hostname must appear in the request's Host: header to
            # match this virtual host. For the default virtual host (this file) this
            # value is not decisive as it is used as a last resort host regardless.
            # However, you must set it for any further virtual host explicitly.
            #ServerName www.example.com
    
            ServerAdmin webmaster@akh.al
            ServerName sub1.akh.al
            ServerAlias www.sub1.akh.al
            DocumentRoot /var/www/html/sub1.akh.al/public_html
            <Directory /var/www/html/sub1.akh.al/public_html>
                AllowOverride all
            </Directory>
    
            # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
            # error, crit, alert, emerg.
            # It is also possible to configure the loglevel for particular
            # modules, e.g.
            #LogLevel info ssl:warn
    
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    
            # For most configuration files from conf-available/, which are
            # enabled or disabled at a global level, it is possible to
            # include a line for only one particular virtual host. For example the
            # following line enables the CGI configuration for this host only
            # after it has been globally disabled with "a2disconf".
            #Include conf-available/serve-cgi-bin.conf
    </VirtualHost>

    Buat virtual hosts file yang kedua dengan nama sub2.akh.al.conf, dan ganti isinya juga sesuai dengan domain yang akan digunakan.

    cp sub1.akh.al.conf sub2.akh.al.conf
    <VirtualHost *:80>
            # The ServerName directive sets the request scheme, hostname and port that
            # the server uses to identify itself. This is used when creating
            # redirection URLs. In the context of virtual hosts, the ServerName
            # specifies what hostname must appear in the request's Host: header to
            # match this virtual host. For the default virtual host (this file) this
            # value is not decisive as it is used as a last resort host regardless.
            # However, you must set it for any further virtual host explicitly.
            #ServerName www.example.com
    
            ServerAdmin webmaster@akh.al
            ServerName sub2.akh.al
            ServerAlias www.sub2.akh.al
            DocumentRoot /var/www/html/sub2.akh.al/public_html
            <Directory /var/www/html/sub2.akh.al/public_html>
                AllowOverride all       
            </Directory>
    
            # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
            # error, crit, alert, emerg.
            # It is also possible to configure the loglevel for particular
            # modules, e.g.
            #LogLevel info ssl:warn
    
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    
            # For most configuration files from conf-available/, which are
            # enabled or disabled at a global level, it is possible to
            # include a line for only one particular virtual host. For example the
            # following line enables the CGI configuration for this host only
            # after it has been globally disabled with "a2disconf".
            #Include conf-available/serve-cgi-bin.conf
    </VirtualHost>

    Setelah membuat virtual hosts files yang baru, non aktifkan virtual hosts files default dan aktifkan virtual hosts files yang baru.

    sudo a2dissite 000-default.conf
    sudo a2ensite sub1.akh.al.conf
    sudo a2ensite sub2.akh.al.conf

    Kemudian restart apache service

    sudo systemctl restart apache2
  4. Testing Virtual Hosts
    Untuk mencobanya, buka domain yang sudah ditambahkan dengan browser. Jika berhasil akan nampak seperti gambar dibawah ini:

Mengembalikan UEFI boot setelah install ulang windows

Karena suatu hal, kita perlu install ulang Windows sehingga boot Linux yang ada akan hilang. Pada boot yang menggunakan model UEFI, sebenarnya boot Linux tidaklah terhapus seluruhnya, melainkan hanya urutannya saja yang terhapus. Untuk mengembalikannya, dapat dilakukan dengan menggunakan live cd ataupun live usb Linux.

  1. Jalankan live cd atau live usb Linux. Untuk tutorial ini, digunakan Ubuntu 15.04.
  2. Buka terminal, kemudian install “efibootmgr”.
    sudo apt-get install efibootmgr
  3. Setelah “efibootmgr” berhasil diinstall, ketikkan “sudo efibootmgr -v” untuk mengetahui daftar boot yang ada pada komputer.
    ubuntu@ubuntu:~$ sudo efibootmgr -v
    BootCurrent: 0008
    Timeout: 0 seconds
    BootOrder: 000C,0006,0007,0008,0009,000A
    Boot0000  BIOS Setup        FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
    Boot0001  Boot Menu FvFile(86488440-41bb-42c7-93ac-450fbf7766bf)
    Boot0002  Diagnostic Screen FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
    Boot0003  Recovery and Utility FvFile(0b150fda-3bdd-4406-9859-448177476993)
    Boot0004  Diagnostic Program FvFile(29f85733-2b1a-4821-8f61-2614778c0c73)
    Boot0005  Diagnostic Progrogram ROM VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,c0f527e7c05f4d498df59dc81ac2cfdd00)
    Boot0006* Floppy Disk Drive: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
    Boot0007* Drive0 HDD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)
    Boot0008* USB HDD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
    Boot0009* USB CD/DVD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,d630a9056829ce41861e8c380ff2225a)
    Boot000A* NETWORK: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
    Boot000B* Erase Disk FvFile(43f9b080-c902-4737-b306-487050f7caa5)
    Boot000C* Windows Boot Manager HD(2,GPT,d35a43c9-1f37-4b08-a45e-e9ebff564374,0xe1800,0x31800)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
    Boot000D* ubuntu HD(2,GPT,d35a43c9-1f37-4b08-a45e-e9ebff564374,0xe1800,0x31800)/File(\EFI\ubuntu\shimx64.efi)
  4. Pada daftar diatas, boot Linux terdapat di “Boot000D*”, akan tetapi pada BootOrder tidak ada, sehingga “Boot000D*” perlu ditambahkan pada BootOrder. Untuk menambahkan BootOrder gunakan perintah sudo efibootmgr -o {list}”.
    ubuntu@ubuntu:~$ sudo efibootmgr -o 000D,000C,0006,0007,0008,0009,000A
    BootCurrent: 0008
    Timeout: 0 seconds
    BootOrder: 000D,000C,0006,0007,0008,0009,000A
    Boot0000  BIOS Setup       
    Boot0001  Boot Menu
    Boot0002  Diagnostic Screen
    Boot0003  Recovery and Utility
    Boot0004  Diagnostic Program
    Boot0005  Diagnostic Progrogram ROM
    Boot0006* Floppy Disk Drive:
    Boot0007* Drive0 HDD:
    Boot0008* USB HDD:
    Boot0009* USB CD/DVD:
    Boot000A* NETWORK:
    Boot000B* Erase Disk
    Boot000C* Windows Boot Manager
    Boot000D* ubuntu
  5. Seletah berhasil ditambahkan pada BootOrder, langkah selanjutnya adalah restart.