Selamat datang untuk berbagi IT

Selamat datang untuk berbagi IT.

Kamis, 23 Januari 2020

Install Nexus Repository dengan Centos 7.0

Install Nexus Repository manager
Anda membutuhuhkan JDK


sudo yum install java-1.8.0-openjdk.x86_64 -y

Buatlah folder untuk menampung aplikasi nexus


sudo mkdir /app && cd /app


Download nexus repository manager di https://help.sonatype.com/repomanager3/download

Extract ke dalam folder app


sudo tar -xvf nexus-3*.tar.gz
sudo mv nexus-3* nexus

Buatlah user nexus dan beri akses sebagai sudoers


sudo adduser nexus
sudo passwd nexus
sudo usermod -aG wheel nexus

Ubah pemilik hasil ekstraksi file nexus ke user nexus


sudo chown -R nexus:nexus /app/nexus

sudo chown -R nexus:nexus /app/sonatype-work


Buka file parameter nexus

sudo vi  /app/nexus/bin/nexus.rc


run_as_user="nexus"

Mendaftarkan nexus sebagai service
sudo vi /etc/systemd/system/nexus.service


[Unit]

Description=nexus service

After=network.target

 

[Service]

Type=forking

LimitNOFILE=65536

User=nexus

Group=nexus

ExecStart=/app/nexus/bin/nexus start

ExecStop=/app/nexus/bin/nexus stop

User=nexus

Restart=on-abort

 

[Install]

WantedBy=multi-user.target



sudo chkconfig nexus on


Coba jalankan nexus

sudo systemctl start nexus

Jangan lupa untuk membuka port 8081, sehingga anda dapat mengakses ke http://<<ip>>:8081
Gambar awal nexus

Rabu, 22 Januari 2020

Composer Satis

Satis
satis merupakan fitur dari composer untuk generate statis repository. Seperti packagist dengan bentuk yang lebih sederhana. Kemudahan dari satis ini adalah

  1. Menghindari download package secara berulang dilingkungan pengembangan yang sama
  2. Menghindari perbedaan versi package
  3. Dapat menyimpan library khusus untuk perusahaan tanpa ditampilkan ke publik
Cara instalasi satis dengan menggunakan CLI

composer create-project composer/satis --stability=dev --keep-vcs

Setting repository

Selanjutnya anda perlu mengetahui repository apa yang akan disimpan, semisal saya ingin membuat project dari zendframework skeleton maka saya perlu menyiapkan package zendframeworknya dan zend framework zkeletonnya. Pertama buatlah file satis.json didalam directory satis dan isikan


{
  "name":"dimas/repository",
  "homepage":"http://localhost:8888",
  "repositories":[
    {
      "type":"composer",
      "url":"https://repo.packagist.org"
    }
  ],
  "require":{
    "zendframework/zendframework":"^3.0"
  }
}

selanjutnya di folder yang sama build satis.jsonnya

php bin/satis build satis.json web/

Selanjutnya setelah dibuild, jalankan webnya dengan masuk folder web


php -S localhost:8888

Setelah jalan, anda dapat melihat hasil repositorynya.

Catatan: Jika ingin mengupdate satis, dapat langsung ditambahkan di file satis.json nya

Di sisi client

Untuk client yang ingin install zendframework skeleteon:

Pertama download zip file zendframework-skeletonnya:

setelah selesai, unzip dan masuk ke dalam foldernya.

Hapus composer.lock dan edit composer.json

Tambahkan :


{
 "repositories":[
    {
      "type":"composer",
      "url":"http://localhost:8888"
    }
  ],
  "config":{
    "secure-http":false
  }
}

Lalu jalankan 

composer install

Maka akan terinstall folder vendor nya

Selanjutnya anda dapat menambahkan package baru dengan satis

composer require zendframework/zend-db


Pastikan, anda mengecek hasil dari zend-db di composer.json berasal dari local repository

Koneksi Composer Dengan Repository Nexus

Pertama, Persiapkan dahulu repository nexus anda, semisal spesifikasi seperti berikut :


url : http://192.168.56.101:8081
repository : example_repo
username : anonim
password : anonim123

Selanjutnya, testing menggunakan composer.json. Buatlah suatu folder dengan diisikan composer.json seperti berikut ini.


{
 "repositories": [
  {
   "type": "composer",
   "url": "http://192.168.56.101:8081/repository/example_repo/"
  },
  {
   "packagist.org": false
  }
 ],
    "require": {
        "monolog/monolog": "1.0.*"
    },
 "config":{
  "secure-http":false
 }
}

Penjelasan :

Anda perlu memasukkan alaman url repository nexus anda dengan type composer dan menonaktifkan packagist untuk menghindari koneksi langsung ke repository global.
Konfigurasi secure-http diperlukan untuk repository yang masih menggunakan http

Selanjutnya, anda menjalankan perintah "composer update". Maka anda akan diminta untuk memasukkan username dan password repository anda untuk disimpan ke auth.json.

Membuat project dengan nexus

Untuk membuat project zendframework, anda dapat menjalankan perintah ini


composer create-project -n -sdev zendframework/skeleton-application myapp --repository-url=http://anonim:anonim123@192.168.56.101:8081/repository/example_repo/ --no-secure-http

Pada perintah diatas anda akan membuat project dengan menggunakan repository nexus serta penambahan username dan password user repository.

Selesai instalasi, anda perlu merubah composer.json yang ada didalam project. Lalu anda masukkan


{
 "repositories": [
  {
   "type": "composer",
   "url": "http://anonim:anonim123@192.168.56.101:8081/repository/example_repo/"
  },
  {
   "packagist.org": false
  }
 ],
 "config":{
  "secure-http":false
 }
}

Sehingga ketika anda menjalankan perintah "composer require", otomatis akan diarahkan di package repository local anda.

Sekian.

Rabu, 15 Januari 2020

Database Migration Tools

Langkah mudah migrasi tabel dengan menggunakan tools esf database migration toolkit.

Langkah 1 : Install esf seperti biasa

Langkah 2 : Jalankan esf 

Langkah 3 :

Langkah 4 :
Langkah 5
Langkah 6

Selesai, lalu cek databasenya




Fix PHP Header Already Sent

Pada saat diserver,  aplikasi berjalan dengan benar. Aplikasi tersebut berjalan diatas apache dengan php 5.6


Namun, saat dipindahkan ke local terjadi error seperti berikut
Berbagai macam sumber yang didapatkan dapat disimpulkan bahwa error ada pada header untuk redirect ke halaman lain. Dan saya menemukan sumber ini : https://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php
yang memberikan langkah step by stepnya. Ternyata dapat diselesaikan dengan mengaktifasi output_buffering menjadi ON sesuai dengan manual
Apakah output buffering? Sesuai dengan namanya output buffer, html yang secara defaultnya dikirim kan per bagian ke web server, dengan mengubah ke output buffering html akan ditempatkan dalam sebuah variable dan dikirimkan dalam bentuk 1 bagian saja.

Dan aplikasi berjalan normal di lokal komputer