Sharing seputar Dunia Tkj dan Blogging ^^

Showing posts with label MySQL. Show all posts
Showing posts with label MySQL. Show all posts

Thursday, July 6, 2017

Cara Mengetahui Di Mana Letak Konfigurasi Apache, MySQL, Nginx dan PHP


Dalam GNU/Linux untuk mengatur suatu aplikasi sangatlah mudah yakni kita hanya perlu merubahnya dari berkas konfigurasi (configuration file). Namun, perbedaan distribusi GNU/Linux, menyebabkan berbeda pula di mana diletakan berkas tersebut. Dengan kata lain, jika kita ingin merubahan konfigurasi aplikasi A, kita harus menyesuaikan dengan distro A tersebut, tidak boleh menggunakan dari distro B, meskipun nama aplikasinya sama. Cukup merepotkan memang. Contoh sederhanannya dalam eperti Apache dan Nginx tiap distro berbeda di mana letaknya.
Tulisan kali ini, penulis mencoba memberikan tips bagaimana cara mengetahui letak berkas konfigurasi dari Apache, MySQL/Mariadb, Nginx dan PHP.

Berikut ini cara bagaimana kita dapat mengetahui letak konfigurasi mereka dengan memanfaatkan perintah-perintah sederhana berikut:

Apache

Untuk Apache beberapa distro GNU/Linux berbeda dalam penamaannya Anda bisa melakukan salah satu dari tiga perintah di bawah ini:
$ apachectl -V | grep -E "HTTPD_ROOT|SERVER_CONFIG_FILE
atau
$ httpd -V | grep -E "HTTPD_ROOT|SERVER_CONFIG_FILE"
atau
$ apache2ctl -V | grep -E "HTTPD_ROOT|SERVER_CONFIG_FILE"
Kita akan melihat hasilnya seperti berikut:
Dari gambar di atas tertera nilai dari HTTPD_ROOT="/etc/httpd" dan SERVER_CONFIG_FILE="conf/httpd.conf" itu artinya konfigurasi Apache terletak pada: /etc/httpd/conf/httpd.conf

MySQL/Mariadb

Kemudian untuk MySQL atau Mariadb sama halnya seperti apache kita dapat melakukan salah satu perintah berikut:
$ mysqladmin --help | grep my.cnf | head -1
atau
$ mysql --help | grep my.cnf | head -1
Dilihat dari hasil gambar di atas terdapat 3 berkas konfigurasi. Untuk berkas /etc/my.cnf dan /etc/mysql/my.conf merupakan konfigurasi secara default atau global konfigurasi, sedangkan ~/.my.conf merupakan konfigurasi tiap-tiap user.

Nginx

Kemudian nginx caranya cukup mudah, kita hanya perlu melakukan perintah berikut:
$ nginx -V


Dilihat dari gambar di atas dapat disimpulkan bahwa berkas konfigurasi Nginx terletak pada /etc/nginx/nginx.conf.

PHP

Terakhir PHP kita hanya perlu mencari berkas bernama php.ini.
$ php -i | grep php.ini

Mudah bukan? Dengan begini kita tidak perlu repot lagi mencari di mana letak konfigurasi mereka.

Semoga bermanfaat.

Saturday, October 1, 2016

Mengatasi Access denied for user 'root'@'localhost' di MySQL/Mariadb


Kita penulis mencoba memasang phpMyAdmin pada server bersistem operasi GNU/Linux dengan distro Ubuntu 16.04 LTS. Penulis mengalami suatu kendala, yakni munculnya galat (error) berupa pesan "Access denied for user 'root'@'localhost'". Biasanya ini diakibatkan karena username dan password untuk table phpMyAdmin salah atau tidak diberi akses. Padahal saat penulis login manual MySQL/Mariadb dengan CLI, penulis bisa masuk karena password dan username yang dimasukan benar. Nah, terjadi hal yang lucu di mana pada saat penulis masukan username/password yg sesuai tetap saja terjadi galat.


Pada tulisan ini saya mencoba berbagi tips mengenai permasalahan ketika Anda mengakses phpMyAdmin dengan akun root namun tertolak seolah Anda salah memasukan password.

Langsung saja berikut caranya. Pertama-tama, login MariaDB/MySQL:
$ sudo mysql -u root
Kemudian lalukan perintah berikut:
mysql > use mysql;
mysql > update user set plugin='' where User='root';
mysql > flush privileges;
Lalu kita keluar dari MariaDB/MySQL:
mysql > \q

atau

mysql > quit 
Lalu cobalah akses phpMyAdmin Anda dengan root jika sudah bisa artinya sudah sukses.

Semoga bermanfaat. :)

Thursday, September 29, 2016

Reset Password MySQL/Mariadb di GNU/Linux



Dikarenakan banyaknya akun yang kita gunakan kadang kala kita lupa dengan password suatu akun tersebut, dan celakanya kita masih menggunakan cara tradisional yakni hanya bermodal dihafal atau hanya mencatat pada catatan kecil di kertas, dan kebetulan password tersebut sedang Anda butuhkan. Tidak ada cara lain selain me-reset password.

Tulisan kali ini penulis akan memberikan sedikit tips-trick tentang cara bagaimana kita mereset password MySQL/Mariadb dengan perintah CLI (Command Line Inferface).
Langsung saja kita mulai praktek. Pertama-tama Anda matikan dulu service dari MySQL/Mariadb.
$ sudo service mysql stop
atau
$ sudo systemctl stop mysql
atau
$ sudo systemctl stop mariadb
Kemudian lakukan perintah berikut:
$ sudo mysqld_safe --skip-grant-tables &
Tunggu beberapa saat lalu tekan ENTER.
Lalu kita masuk ke MySQL/Mariadb nya:
$ mysql -u root mysql
Dan langsung saja Anda ganti password tersebut sesuai dengan keinginan Anda:
mysql > UPDATE user SET password=PASSWORD('PASSWORD_BARU_ANDA') WHERE user='root'
mysql > FLUSH PRIVILEGES;
Kemudian nyalakan kembali service MySQL/Mariadb Anda:
$ sudo service mysql stop
atau
$ sudo systemctl stop mysql
atau
$ sudo systemctl stop mariadb
Dan viola, password Anda sudah ter-reset dan Anda bisa kembali mengatur MySQL/Mariadb. Mudah bukan? Semoga bermanfaat :)

Saturday, September 24, 2016

Membuat Skrip Auto Backup Seluruh Databases MySQL/Mariadb



Kegiatan pencandangan (backup) suatu database adalah hal yang sangat penting bagi seorang pengelola web server. Ada banyak cara untuk membackup database baik menggunakan aplikasi ataupun skrip yang simpel. Seperti tulisan kali ini, penulis akan membahas mengenai skrip bagaimana cara mem-backup database pada MySQL/Mariadb.
Pada tulisan lalu kita telah membahas mengenai dasar-dasar penggunaan atau perintah dari MySQL/Mariadb (silahkan baca: http://www.linuxku.com/2016/06/perintah-dasar-mysql-dan-mariadb-di-cli.html).

Dari situ kita bisa memanfaatkan perintah mysqldump untuk membackup suatu database. Nah, sekarang kita akan membuat bash script untuk mempermudah cukup satu perintah semua database terbackup.

Langsung saja pertama-tama kita buat direktori /backups
$ sudo mkdir /backups
Kemudian buat skripnya dengan nama db-auto-backup.sh
$ sudo nano /usr/bin/db-auto-backup.sh
Lalu masukan skrip di bawah ini:
#!/bin/bash

/usr/bin/mysql -u root -p'PasswordAnda' -e 'show databases' | /bin/awk '{print $1}' | /bin/grep -v "^Database$" | /usr/bin/xargs -i{} /usr/bin/mysqldump -u root -p'PasswordAnda' --opt -Q -r /backups/{}-`date +%F-%I%p`.sql {}
gzip -q /backups/*.sql
Penjelasan skrip
Skrip menjalankan perintah mengambil seluruh nama database. Kemudian hasilnya setiap nama dari database tersebut diekspor dengan format nama-waktu dan di kompress dengan format tar.gz. Dan jangan lupa ganti pada kata 'PasswordAnda' disesuaikan dengan password pada MySQL/Mariadb server Anda.

Untuk membuat agar berjalan terus-menerus kita buatkan cronjob nya, pertama-tama ketik:
$ crontab -e
Lalu masukan seperti berikut:
30 2 * * *  /usr/bin/db-auto-backup.sh
Semoga bermanfaat. :)

Thursday, August 25, 2016

Cara Memasang Wordpress di Nginx di Ubuntu

 
Wordpress adalah aplikasi sumber terbuka (open source) yang dibangun menggunakan bahasa pemerograman PHP. Ia merupakan salah satu CMS (Content Management System) yang cukup populer dipakai sebagai pembuatan website. Pada awalnya Wordpress digunakan untuk media blog, kini Wordpress telah berkembang tak hanya sekadar untuk situs pembuatan blog, melainkan juga untuk berbagai macam situs seperti company profile, e-commerce, dan forum.

Tutorial kali ini penulis akan memberikan cara bagaimana kita memasang Wordpress dengan Nginx, dengan dukungan .htaccess yang mana demikian untuk kita gunakan sebagai pretty URL pada Wordpress.

Persiapan

  1. Instalasi LEMP. Bisa membaca tulisan sebelumnya yakni:
    http://www.linuxku.com/2016/06/install-lamp-linux-apache-mysql-dan-php.html
  2. Server atau VPS paling tidak sekurang-kurangnya minimal kapasitas RAM 128 MB. Penulis sendiri menggunakan VPS dengan RAM 512 MB.
  3. Pengetahuan mengenai Virtual Host pada Nginx, bisa Anda baca pada tulisan: http://www.linuxku.com/2016/05/menerapkan-virtualhost-untuk-keperluan.html 
  4. Sudah memasang wget.

Tahap Unduhan

Pertama-tama kita unduh terlebih dahulu Wordpressnya:
$ wget https://wordpress.org/latest.tar.gz
Kemudian ekstrak:
$ tar xvzf latest.tar.gz
Lalu langsung saja kita pindahkan misalnya di direktori default Nginx dari Ubuntu yakni /usr/share/nginx/html:
$ sudo mv wordpress /usr/share/nginx/html

Tahap Konfigurasi

Karena sebelumnya kita memindahkan satu direktori Wordpress ke /usr/share/nginx/html. Jadi kita perlu mengkonfigurasi virtual host default yakni:
$ sudo nano /etc/nginx/sites-available/default
Ganti root direktori dengan /usr/share/nginx/html/wordpress; Juga index tambahkan index.php. Lihat gambar di bawah ini:
Kemudian location / tambahkan ini:
location / {
  try_files $uri /index.php$is_args$args;
}
Skrip di atas agar WP Anda dapat menggunakan pretty URL.
Kemudian tambahkan ini:
        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
               # Pengguna Ubuntu 14.04
                fastcgi_pass unix:/var/run/php5-fpm.sock;
               #Pengguna Ubuntu 16.04
                #fastcgi_pass unix:/var/run/php7.0-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
Kemudian ubah semua permission direktori 755 dan file itu 644 yakni dengan cara berikut:
$ cd /usr/share/nginx/html/wordpress
$ sudo find . -type d -exec chmod 0755 {} \;
$ sudo find . -type f -exec chmod 0644 {} \;
Kemudian jangan lupa pula Ownernya. Saya asumsikan Anda hanya pengguna wordpress sendiri. Dalam artian lain, tidak ada user lain selain Anda yang menggunakan Wordpress. Jika Anda menggunakan multiuser, penulis sarankan silahkan baca ini:
http://www.linuxku.com/2016/08/multiuser-php-pada-saat-menjalankan.html

Jika hanya sendiri pakai www-data saja.
$ cd /usr/share/nginx/html/wordpress
$ sudo chown www-data:www-data -R .

Tahap Pembuatan Database

Sebelum beralih ke tahap instalasi Anda harus membuat databasesnya terlebih dahulu, kita gunakan Mariadb/MySQL.

Pertama-tama login dahulu MariaDB/MySQL:
$ sudo mysql -u root -p'Password Anda'
Dan kita buat databasenya:
mysql > create database  wordpress;

Opsional saja, tapi bagi penulis ini penting. Kita buatkan username untuk WP kita. Caranya:
mysql > create user wpku@localhost identified by 'Password';
mysql > grant all privileges on wordpress.* to wpku@localhost;
mysql > flush privileges;
Lalu keluar dengan mengetik perintah:
mysql > \q

Tahap Instalasi Wordpress

Sekarang baru kita memasuki tahap pamasangan WP. Langsung saja buka domain atau IP Address Anda di peramban (browser):

Klik Let's Go. Kemduian,
Masukan nama database, username, dan password yang telah kita buat sebelumnya. Kemudian masalah table prefix, bebas Anda isi apa saja asalkan tambahkan underscore (garis bawah) setelahnya. Lalu Klik Submit. Dan,
Langsung saja, klik Run the Install.
Masukan informasi yang dibutuhkan di atas. Jika sudah, langsung klik Install Wordpress.
Jika sudah seperti gambar di atas, Anda bisa langsung log In. Dan hasilnya akan seperti gambar di bawah ini:
Jika berhasil Anda akan diarahkan ke halaman administrasi.

Tambahan

Untuk mempercantik WP kita, bisa buat prety URL dari Settings -> Permalink dan pilih:
Disesuaikan dengan situs Anda. Penulis lebih memilih post name, karena menurut penulis ini pilihan yang baik untuk situs yang tidak terlalu sering diupdate. Jika situs Anda seperti situs berita baiknya pilih day and name. Karena dengan demikian terlihat artikel Anda apakah sudah lama atau belum.
Semoga bermanfaat :)

    Saturday, June 4, 2016

    Perintah dasar MySQL dan MariaDB di CLI


    Artikel lalu kita telah membahas mengenai instalasi MySQL dan MariaDB berserta kelebihan MariaDB dibandingan MySQL. Sekarang kita memasuki tahap cara menggunakannya via CLI (Command Linux Interface).

    Mengapa via CLI? Sebernanya banyak tools aplikasi GUI untuk Mariadb/MySQL ini. Pengetahuan akan penggunaan CLI bagi seorang SysAdmin adalah hal yang sangat diperlukan. Adanya tulisan ini mencoba membahas beberapa perintah dasar penggunaan MariaDB/MySQL yang wajib diketahui oleh seorang SysAdmin.

    Seperti yang kita ketahui bahwa MariaDB itu sangat kompatibel dengan MySQL jadi beberapa perintah di tulisan di sini dapat Anda terapkan dikedua database server tersebut.
    Langsung saja berikut perintah dasar yang harus Anda ketahui:

    Login MySQL/Mariadb

    $ sudo mysql -u root -p'password'
    Jika sudah masuk, untuk keluar dari Maridb/MySQL ketik quit.

    Menampilkan Seluruh Isi Database

     show databases;

    Menampilkan Seluruh User

     SELECT User FROM mysql.user;


    Membuat Database

    create database nama_database; 

    Membuat User Baru

    create user nama_pengguna@localhost identified by 'passwordAnda';


    Mengganti Password User

    SET PASSWORD FOR 'user'@'localhost' = PASSWORD('cleartext password');
    FLUSH PRIVILEGES;


    Memberi Hak Pada User

    grant all privileges on nama_database.* to user@localhost;
    flush privileges;

    Menghapus User

    DROP USER 'user'@'localhost';

    Menghapus Database

    truncate nama_database;
    drop database nama_database;

    NB: Truncate untuk menghapus seluruh table dalam database Anda, jika tidak ada table bisa langsung drop. Dalam contoh di sini saya langsung menggunakan perintah drop, karena memang table dalam database tidak dibuat di contoh tulisan ini.

    Backup MySQL/Mariadb

    $ sudo mysqldump -u root -p'password' nama_database > database_backup.sql
    Penulis asumsikan database Anda simpan pada direktori /media/buntu/Data/db.

    Restore Database

    $ sudo mysql -u root -p'password'
    use nama_database;
    source /direktori/database/berformat.sql;

    Penulis asumsikan databases Anda terletak pada direktori /media/buntu/Data/db mengikuti perintah di atas sebelumnya.

    Semoga bermanfaat :)