Sharing seputar Dunia Tkj dan Blogging ^^

Showing posts with label RHEL. Show all posts
Showing posts with label RHEL. Show all posts

Saturday, November 19, 2016

Install OpenCart di Nginx


OpenCart adalah aplikasi e-Commerce berbasis PHP dengan sistem CMS (content management system), yang mana ia cukup banyak digunakan untuk pembuatan situs pembelanjaan online.

Tulisan kali ini penulis akan memberikan cara tentang bagaimana pemasangan OpenCart di web server yang menggunakan Nginx. Kita akan belajar memasang OpenCart tersebut secara manual dengan bermodalkan CLI (command line interface) saja.
Langsung saja kita mulai praktek, Anda login server Anda via SSH. Pertama-tama kita pasang git terlebih dahulu.
$ sudo apt-get install git
Kemudian pastikan Anda sudah memasang paket php Curl dan Mcrypt, cara pemasangannya ada sebagai berikut:
$ sudo apt-get install php5-curl php5-mcrypt
$ sudo php5enmod mcrypt
$ sudo service php5-fpm restart
Jika Anda pengguna Ubuntu 16.04 ganti kata php5 dengan php7.0.
Kemudian kita buat directory di /srv/http/:
$ sudo mkdir -p /srv
$ sudo mkdir -p /srv/http
Lalu kita clone OpenCart dari GitHub:
$ cd /srv/http
$ sudo git clone https://github.com/opencart/opencart.git
$ cd opencart
Kemudian kita ubah ownernya pada directory upload:
Jika Anda pengguna Debian, Ubuntu dan derivatifnya:
$ sudo chown www-data:www-data -R upload
Jika Anda pengguna Centos, Fedora, RHEL dan derivatifnya:
$ sudo chown nginx:nginx -R upload
Kemudian kita buat virtualhost. Penulis menyarankan gunakan pemetaan virtualhost seperti Debian, Anda bisa mencontohnya pada artikel linuxku.com sebelumnya yakni:

http://www.linuxku.com/2016/05/menerapkan-virtualhost-untuk-keperluan.html

Kita buat virtualhost berikut:
$ sudo nano /etc/nginx/sites-available/opencart
Isi seperti skrip di bawah ini:
server {
 listen 80;

# Jika Anda ingin menggunakan https uncomment di bawah ini
# listen 443;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
#
# ssl_session_timeout 5m;
#
# ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
# ssl_prefer_server_ciphers on;
 
 root /srv/http/opencart/upload;
 index index.php index.html index.htm
 server_name opencart.local;

 location / {
          try_files $uri $uri/ /index.php?$args;
 }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_intercept_errors on;

        # Hilangkan tanda pagar di samping bagi Anda Pengguna Ubuntu 16.04
 # fastcgi_pass unix:/run/php/php7.0-fpm.sock;
 # Bagi Anda pengguna Ubuntu 14.04
 fastcgi_pass unix:/var/run/php5-fpm.sock;
 
        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

   location ~ /\.ht {
 deny all;
   }
}
Perhatian skrip di atas hanya khusus pengguna Ubuntu 14.04 atau 16.04 jika Anda ingin menggunakan skrip di atas untuk distro lainnya harap ubah pada bagian fastcgi disesuai dengan distro Anda.

Kemudian kita aktifkan virtualhostnya:
$ sudo ln -s /etc/nginx/sites-available/opencart /etc/nginx/sites-enabled/
Lalu kita restart Nginx:
$ sudo service nginx retart
Sekarang kita beranjak ke database, kita buat database beserta usernamenya.
$ mysql -u root -p'Password Anda'
Kemudian lakukan perintah seperti di bawah ini:
mysql> create database opencart_db;
mysql> create user opencart_db_user@localhost identified by 'Password Anda';
mysql> grant all privileges on opencart_db.* to opencart_db_user@localhost;
mysql> flush privileges;
mysql> \q
Lalu kemudian kita buat config opencartnya.
$ cd /srv/http/opencart/upload
$ sudo cp config-dist.php config.php
$ sudo cp admin/config-dist.php admin/config.php
$ sudo chown www-data:www-data -R *
Jika sudah langsung saja Anda akses, dicontoh tutorial ini penulis menggunakan domain opencart.local, jadi kita bisa langsung akses ke tautan http://opencart.local/

Pastikan pengaturan Anda sudah seperti gambar di bawah ini:
Langsung saja klik Continue, dan isikan username, password beserta database yang telah kita buat sebelumnya:

Kemudian kita buat username, password dan email untuk login.
Klik continue, dan OpenCart telah berhasil kita pasang.

Langkah terkahir yakni kita menghapus direktori install:
$ sudo rm -rf /srv/http/opencart/install
Selesai sudah OpenCart kini telah terpasang di server Anda, semoga bermanfaat :)

Saturday, September 17, 2016

Mengecek Speed Koneksi pada VPS OS GNU/Linux


Terkadang setelah kita menyewa suatu VPS ada hasrat untuk ingin tahu bahwa kecepatan internet yang diberikan pada VPS tersebut seberapa cepat? Guna ingin memastikan kualitas yang diberikan.

Biasanya dalam koneksi internet kita cukup gunakan speedtest.net untuk mengukur kecepatan koneksi internet. Dalam tulisan ini Anda juga tetap mengggunakan speedtest untuk mengecek kecepatan internet tersebut, bedanya di VPS kita bisa menggunakan dua buat metode yakni menggunakan CLI atau yang berbasis aplikasi website.

Syarat Sebelum Mamasang

Sebelum memulai praktek ada beberapa persyaratan yang harus ada di VPS Anda yakni:
  1. Anda sudah memiliki web server baik itu Apache ataupun Nginx. Bisa Anda baca pada artikel sebelumnya di sini:
  2. Memasang git dan python 2.4 atau 3.4.
  3. Memasang wget dan unzip pada VPS Anda.

SpeedTest CLI

Debian/Ubuntu
$ sudo apt-get install python-pip
Fedora/Centos/RHEL
$ sudo yum -y install epel-release
$ sudo yum -y install python-pip
lalu kita pasang melalu pip.
$ sudo pip install speedtest-cli 
Dan coba langsung Anda tes, berikut contoh hasilnya:

SpeedTest Web based

Di atas kita menggunakan Speedtes CLI, Anda dapat pula menggunakan GUI berbasis Web. Untuk dapat menggunakan speedtest web based, kita dapat mengunduhnya yakni:
$ wget http://c.speedtest.net/mini/mini.zip
Setelah itu unzip:
$ unzip mini.zip
Dan kita pindahkan pada rootdir webserver:

Pengguna Apache
$ sudo mv mini /var/www/html/
Pengguna Nginx
$ sudo mv mini /usr/share/nginx/
Dan langsung saja jalankan, contoh:
http://192.168.2.8/mini/
Pilih salah satu dari index di atas, misalnya index-php.html. Berikut contoh hasilnya:
Menarik bukan? Semoga bermanfaat :)

Thursday, September 15, 2016

Memasang Webmin di GNU/Linux Server

Webmin adalah aplikasi fasilitas administrasi berbasis web, yang mana hampir semua jenis servis, dan berbagai kustomasi dapat dilakukan oleh Webmin, mulai dari webserver, DNS, file sharing dan lain sebagainya, dan tentunya dengan webmin ia dapat mempermudah mengubah konfigurasi atau memanajemen GNU/Linux server yang sebelumnya dilakukan via console melalui ssh.

Tulisan kali ini kita akan membahas mengenai bagaimana cara pemasangan Webmin di server GNU/Linux distro yang umum dipakai sebagai server yakni; Debian, Ubuntu, Fedora, Centos, dan RHEL.

Tahap Pemasangan

Anda dapat mengunduhnya langsung dari sini: http://www.webmin.com/download.html dengan wget atau manual dari localhost.

Pengguna Debian dan Ubuntu
$ sudo apt-get install libauthen-pam-perl apt-show-versions
$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.810_all.deb
$ sudo dpkg -i webmin_1.810_all.deb
Pengguna Fedora/Centos/RHEL
$ sudo rpm -Uvh http://prdownloads.sourceforge.net/webadmin/webmin-1.810-1.noarch.rpm

Tahap Pengaturan

Pertama-tama kita ubah terlebih dahulu password root pada webmin, caranya adalah sebagai berikut:
$ sudo su
# /usr/share/webmin/changepass.pl /etc/webmin root PasswordAnda

Jangan lupa buka port 10000 dari firewall Anda. Jika Anda pengguna Debian/Ubuntu bisa melalui UFW.

Untuk masuk ke Webmin buka di browser menggunakan https, dan masukan tautan seperti di bawah ini:

https://192.168.1.100:10000/


Jika Anda mengalami error seperti gambar di atas, langsung saja klik "Install Update Now". Beberapa masalah bisa Anda lihat di sini: http://www.webmin.com/updates.html

Semoga bermanfaat :)

Saturday, September 3, 2016

Mengaktifkan Apache Userdir di GNU/Linux

Tutorial lalu di linuxku.com kita telah membahas mengenai instalasi atau pemasangan LAMP, yang merupakan kependekan dari Linux, Apache, Mariadb/MySQL, dan PHP. Sekarang pembahasan kita mulai dengan userdir.

Apa itu userdir? Singkatnya userdir kependekan dari user directory, yakni direktori untuk para pengguna akun. Maksudnya adalah kita dapat mengakses direktori dari user account, dari satu domain.

Apa tujuannya? Tujuan utamanya adalah untuk mempermudah developing web seperti taham testing sebelum production, atau perbedaan tampilan disetiap user, yang mana kita tidak perlu lagi membuat direktori disetiap domain, atau pembuatan subdomain.

Langsung saja kita mulai mengimplementasikan userdir tersebut di GNU/Linux.


Untuk pengguna Debian/Ubuntu dan derivatifnya:
$ sudo mkdir /home/pengguna/public_html
$ sudo a2enmod userdir
$ sudo service apache2 restart

Untuk pengguna Fedora/RHEL/Centos
$ sudo mkdir /home/pengguna/public_html
$ sudo chmod 711 /home/pengguna
$ sudo chmod 755 /home/pengguna/public_html
Perhatian pastikan pengguna mana saja yang boleh menggunakan userdir.

Lalu sunting pengaturan Apachenya:
$ sudo nano /etc/httpd/conf/httpd.conf
Beri comment pada:
# UserDir disabled 
Kemudian uncomment pada:
 UserDir public_html
Dan uncomment juga pada:
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
 Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>
Hasilnya seperti gambar di bawah ini:
Jika sudah, keluar dari nano dan restart Apache:
$ sudo service httpd restart
atau pengguna Systemd:
$ sudo systemctl restart httpd

Untuk distro lainnya pastikan Anda mengetahui di mana letak konfigurasi Apache. Dan bisa mengikuti tutorial ini pada pembahasa Fedora di atas, karena prinsipnya sama, kecuali Debian/Ubuntu dan derivatifnya ia sangat mudah karena telah disediakan skrip a2enmod.

Untuk mengakses userdir, Anda hanya perlu memasukan URL di browser sebagai berkut:

http://domainAnda.com/~pengguna

Jika Anda berhasil maka hasilnya akan seperti gambar di bawah:
Semoga bermanfaat :)

Thursday, September 1, 2016

Cara Menyalin Berkas di Server tanpa Root di Centos, Fedora, RHEL

Melanjuti tulisan lalu mengenai tata cara penyalinan berkas dari localhost ke Server / VPS yang mana tulisan itu hanya diperuntukan pengguna distro Debian, Ubuntu dan derivarifnya saja (bisa Anda lihat di: http://www.linuxku.com/2016/05/menyalin-berkas-di-server-tanpa-root.html). Lain hal jika Server / VPS kita berdistro RHEL, Fedora, Centos serta derivatifnya. Ada sedikit kebutuhan dependensi yang perlu Anda pasang di distro tersebut.

Tulisan kali ini adalah membahas mengenai cara yang penulis lakukan ketika menangani VPS berdistro Centos 6 dan 7, dan sudah barang tentu untuk distro lainnya yang serupa seperti Fedora dan RHEL dapat melakukan tutorial pada tulisan ini, karena sebagaimana yang kita tahun mereka adalah derivatif dari Fedora.

Tahap Pemasangan

Langsung saja kita praktek. Pertama-tama, kita pasang openssh-askpass, caranya:

$ sudo yum install -y openssh-askpass
Kemudian dependensinya:
$ sudo yum install -y xorg-x11-xauth xorg-x11-fonts-misc libcanberra-gtk2 dejavu-lgc-sans-fonts
Dependensi di atas wajib dipasang pada VPS/Server Anda, mengapa? Jika tidak openssh-askpass tidak akan dapat berjalan dengan sebagaimana mestinya. Kemudian font dejavu-lgc-sans, jika tidak dipasang kita password dialog muncul akan menampilkan tulisan kotak-kotak saja yang tidak terbaca.

Tahap Penggunaan

Setelah selesai kita memasang openssh-askpass beserta dependensi kebutuhannya, lanjut sekarang kita mulai praktik. Yakni masukan perintah berikut:
$ rsync -chavzPe 'ssh -X' --stats \
--rsync-path='SUDO_ASKPASS=/usr/libexec/openssh/ssh-askpass sudo -A rsync' \
akunSaya@192.168.2.8:/usr/share/nginx/html/ /home/kusuma
Penjelasan Perintah:

c = checksum, adalah untuk mengecek kesamaan antara berkas dalam peladen dengan lokal jika keduanya tidak sama maka ambil yang terbaru.
h = human readable, adalah untuk mengetahui besaran satuan berkas dalam jumlah KB, MB, ataupun GB.
a = archive mode / equal, berkas harus serupa antara peladen dengan lokal.
v = verbose, untuk menampilakan informasi tentang apa saja yang dilakukan oleh rsync.
z = compress file during transfer, yakni berfungsi untuk menghemat bandwidth pada saat transfer.
P = progress, selain verbose metode progress juga dibutuhkan untuk mengetahui informasi progress dari rysnc tersebut.
e = execute / remote ssh, mengekseksi perintah ssh dalam rsync sama halnya seperti Anda mengeksekusi ssh secara langsung.

akunSaya@192.168.2.8:/usr/share/nginx/html/ adalah sumber dari peladen.
/home/kusuma/ adalah tujuan ke lokal.
--rsync-path='SUDO_ASKPASS=/usr/libexec/openssh/ssh-askpasssudo -A rsync' adalah path dimana ssh-askpass disimpan dalam peladen Anda. Jika berhasil maka akan tampil seperti gambar di bawah ini:
Semoga bermanfaat :)

Wednesday, June 29, 2016

Monitoring Web secara Real-Time dengan Apachetop


Artikel lalu kita telah membahas mengenai cara penginstalan LAMP (Linux, Apache, MySQL/Mariadb, PHP). Nah, sekarang kita bahas bagaimana cara memonitoring lalu lintas apache tersebut secara real-time. Tujuannya adalah mengetahui berapa banyak pe-request web dalam tiap detiknya. Yakni dengan Apachetop.

Apachetop adalah program kecil ringan dan powerful yang sangat berguna yang menampilkan statistik Apache secara real time. Apachetop dapat menunjukkan berapa banyak permintaan per detik yang datang, file apa yang telah diakses dan berapa kali. Hal ini juga dapat menampilkan yang hit suatu situs dan mengecek hit tersebut dari yang mana saja yang diakses.

Meskipun bernama Apachetop, tidak serta merta hanya dikhususkan untuk pengguna Apache. Anda juga bisa memonitori pada webserver lainnya seperti Nginx. Dan penulis sendiri telah mengimplementasikan apachetop di server yang menggunakan Nginx.

Lansung saja kita praktek. Untuk pengguna Debian/Ubuntu dapat langsung install dari official repository.
$ sudo apt-get install apachetop
Untuk pengguna Centos dan Fedora (untuk Fedora versi 20 ke atas gunakan dnf sebagai pengganti yum).
$ sudo yum -y install epel-release
$ sudo yum clean all
$ sudo yum -y update
$ sudo yum install apachetop
Bagi Anda pengguna Apache dapat langsung mengeksekusi dengan perintah:
$ sudo apachetop
Bagi Anda pengguna Nginx perlu diset letak berkas log Nginx Anda dengan perintah -f nama_berkas. Berikut ini contoh dari server penulis (saya menggunakan OS Ubuntu Server).
$ sudo apachetop -f /var/log/nginx/access.log
Secara default apachetop memonitoring statistik pengguna yang mengakses suatu website per-30 detik terakhir. Anda bisa menggunakan perintah -t untuk mengatur berapa detik untuk dimonitori. Contoh, misalnya per-500 detik langsung saja:
$ sudo apachetop -t 500
Lagi-lagi ingat bagi Anda pengguna Nginx pastikan set log Anda dengan perintah -f nama_berkas.
$ sudo apachetop -f /var/log/nginx/access.log -t 500
Juga secara default Apachetop me-refresh tiap 5 detik, Anda bisa menurunkan real-time refreshnya persatu detik jika Anda mau, dengan menambahkan perintah -d. Contoh:
$ sudo apachetop -d 1
$ sudo apachetop -f /var/log/nginx/access.log -d 1
Berikut ini contoh hasil rekaman penulis pada saat memontoring web server Nginx menggunakan Apachetop.

Semoga bermanfaat :)