TODO : Untuk mekanisme backup local yg lebih sederhana lihat http://banksoal.openthinklabs.com/2017/01/dokumentasi-backup-restore.html
Secara garis besar berikut adalah hal-hal yang harus dilakukan untuk proses instalasi Tirta ERP :
- Install Apache Web Server
- Install Database MySQL/MariaDB
- Setup Virtual Host untuk Tirta ERP
- Setup script untuk proses update otomatis Tirta ERP
- Setup script untuk proses backup Tirta ERP
Pra Syarat Database
Apache
Set nilai max_input_vars di php.ini menjadi 1000000
; How many GET/POST/COOKIE input variables may be accepted
max_input_vars = 1000000
PHP
max_execution_time = 3600memory_limit = 2056M ;
max_file_uploads = 200M
upload_max_filesize = 2M
post_max_size = 200M ;
MySQL
User harus memiliki privilege RELOAD.Jalankan perintah berikut :
GRANT RELOAD ON *.* TO 'tirtaerp'@'localhost' ;
TODO :FLUSH PRIVILEGES ;
Masukkan SQL function definition ini ke script installer :
DROP FUNCTION IF EXISTS STRIP_NON_DIGIT;
DELIMITER $$
CREATE FUNCTION STRIP_NON_DIGIT(input VARCHAR(255))
RETURNS VARCHAR(255)
BEGIN
DECLARE output VARCHAR(255) DEFAULT '';
DECLARE iterator INT DEFAULT 1;
WHILE iterator < (LENGTH(input) + 1) DO
IF SUBSTRING(input, iterator, 1) IN ( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ) THEN
SET output = CONCAT(output, SUBSTRING(input, iterator, 1));
END IF;
SET iterator = iterator + 1;
END WHILE;
RETURN output;
END
$$
Di /etc/mysql/mysql.cnf tambahkan konfigurasi berikut :
[mysqld]
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Sistem Operasi
Catatan penting, jika ingin menggunakan transfer data yang lebih aman, Anda harus menggunakan PHP >= 5.6, hal ini kabar buruk jika Anda masih menggunakan Windows XP, karena di platform Windows XP, PHP yang didukung hanya sampai versi 5.4 saja.Linux
Ubuntu
Paket-paket yang perlu diinstall :lib32stdc++6
libapache2-mod-php7.2
libxml2
php7.2-cli
php7.2-common
php7.2-curl
php7.2-gd
php7.2-intl
php7.2-ldap
php7.2-mysql
php7.2-sqlite
php7.2-xsl
php7.2-tidy
php7.2-curl
php7.2-zip
php7.2-xml
php7.2-mbstring
xvfb
phantomjs
Jalankan SQL berikut untuk manajemen session [1]:
Ada beberapa job yang diharuskan dijalankan melalui cron, edit cron, gunakan user www-data,
kemudian tambahkan entri berikut :
Entri cron ini, hanya perlu ditambah di instalasi TirtaERP Pusat:
Sesuaikan nilai-nilaunya.
Untuk sinkronisasi waktu setiap kali komputer menyala, tambahkan script berikut di /etc/init.d/rc.local
$jed /home/www/src/.hg/hgrc
Buat script untuk update Tirta ERP :
Tambahkan ke .bashrc
Untuk sistem yg menggunakan UpStart edit /etc/init.rc.local, dan tambahkan baris berikut sebelum exit 0
Untuk yang menggunakan systemd :
Buat service
Lalu buat file :
nano /etc/rc.local
Isinya :
Buat executable
Aktifkan layanannnya :
Jalankan service nya dan periksa apakah sudah jalan :
CREATE TABLE IF NOT EXISTS sessions ( sess_id varchar(64) NOT NULL, sess_data text NOT NULL, sess_time int(11) NOT NULL, KEY sess_id (sess_id) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Ada beberapa job yang diharuskan dijalankan melalui cron, edit cron, gunakan user www-data,
sudo crontab -u www-data -e
kemudian tambahkan entri berikut :
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
* 12 * * 1 /home/tirta/bin/backup_mysql_senin.sh
* 12 * * 2 /home/tirta/bin/backup_mysql_selasa.sh
* 12 * * 3 /home/tirta/bin/backup_mysql_rabu.sh
* 12 * * 4 /home/tirta/bin/backup_mysql_kamis.sh
* 12 * * 5 /home/tirta/bin/backup_mysql_jumat.s
* 12 * * 6 /home/tirta/bin/backup_mysql_sabtu.sh
* 7 * * * /home/tirta/bin/sinkronisasi_water.sh
* 12 * * * /home/tirta/bin/sinkronisasi_water.sh
* 12 * * * /home/tirta/bin/sinkronisasi_dut.sh
* 09 * * 5 cd /home/tirta/ && /home/tirta/bin/tirtaerp_rekonsiliasi_piutang &> /tmp/tirtaerp_rekonsiliasi_piutang.log
* 09 * * *
cd /home/tirta/ && /home/tirta/bin/tirtaerp_posting_jurnal_accounting_pabrik &> tirtaerp_posting_jurnal_accounting_pabrik.log* 10 * * *
cd /home/tirta/ && /home/tirta/bin/tirtaerp_posting_jurnal_accounting &> /tmp/tirtaerp_posting_jurnal_accounting.log* 10 01 * * cd /home/tirta/ && /home/tirta/bin/tirtaerp_periksa_faktur_terlunasi_lebih &> /tmp/tirtaerp_periksa_faktur_terlunasi_lebih.log
Entri cron ini, hanya perlu ditambah di instalasi TirtaERP Distribusi [5]:
01 10 * * * /opt/www/TirtaERP2012/bin/casperjs/bin/casperjs /opt/www/TirtaERP2012/bin/transfer_distribusi_to_dut.js --tirtaerp-distribusi=http://erp.lodan --tirtaerp-dut=http://erp2012.tirta --minus-date=3 --username=username --password=password
Entri cron ini, hanya perlu ditambah di instalasi TirtaERP Pusat:
1 10 * * * /usr/bin/php /home/www/TirtaERP2012/symfony tirtaerp:transfer-dut-ke-water
Sesuaikan nilai-nilaunya.
Untuk sinkronisasi waktu setiap kali komputer menyala, tambahkan script berikut di /etc/init.d/rc.local
until ping -nq -c3 8.8.8.8; do
echo "Waiting for network..."
done
echo "Sinkronisasi waktu ...";
ntpdate -s ntp.ui.ac.id
hwclock --systohc --localtime
Locale
sudo locale-gen id_ID id_ID.utf8
Instalasi Font
Download font calibri, lalu jalankan :
TIRTA_ERP_ROOT_DIR/plugins/sfTCPDFPlugin/lib/tcpdf/fonts$ ./tcpdf_addfont.php -i /tmp/Calibri.ttf
Konfigurasi Otomatis Update
Kita menggunakan mercurial, untuk update otomatis, edit file .hgrc pada instlasi tirtaerp kemudian sesuaikan dengan credential mercurial Anda :$jed /home/www/src/.hg/hgrc
[paths]
tirtaerp = https://[username]@bitbucket.org/openthinklabs/tirta-erp
[auth]
tirtaerp.prefix = *
tirtaerp.schemes = http https
tirtaerp.username = [username]
tirtaerp.password =[password]
Buat script untuk update Tirta ERP :
jed ~/bin/tirtaerp_update.sh
#!/bin/bash
cd /home/www/src/
hg pull
hg update
rm -rfv config/app.yml
rm -rvf config/databases.yml
rm -rfv data/pentaho
cp -rfv /home/www/src/* /home/www/tirtaerp
cd /home/www/tirtaerp
./symfony cc
Tambahkan ke .bashrc
$jed ~/home/tirtaerp/bin/tirtaerp_update.shUntuk mengupdate sekarang Anda tinggal menjalankan perintah :
export PATH=$PATH:/home/tirtaerp/bin
$source ~/home/tirtaerp/bin
$tirtaerp_update.sh
Pentaho
Kita menggunakan Pentaho BI-Server, layanan ini perlu dijalankan secara otomatis ketika boot.Untuk sistem yg menggunakan UpStart edit /etc/init.rc.local, dan tambahkan baris berikut sebelum exit 0
/opt/Pentaho/biserver-ce/start-pentaho.sh
Untuk yang menggunakan systemd :
Buat service
sudo nano /etc/systemd/system/rc-local.serviceIsinya :
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
Lalu buat file :
nano /etc/rc.local
Isinya :
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/opt/Pentaho/biserver-ce/start-pentaho.sh
exit 0
Buat executable
sudo chmod +x /etc/rc.local
Aktifkan layanannnya :
sudo systemctl enable rc-local
Jalankan service nya dan periksa apakah sudah jalan :
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
Windows
Windows XP
- Gunakan XAMPP versi 1.8.2-6.
- Edit php.ini sesuai yang ditulis diatas
Windows 10
UAC WARNING, Solusi : Install XAMPP di C:\xampp |
- Gunakan XAMPP versi terbaru
- Install di C:\xampp
- Edit php.ini sesuai yang ditulis diatas
Konfigurasi otomatis update
Edit C:\xampp\htdocs\tirtaerp\.hg\.hgrc
Isi dengan :
[paths]
tirtaerp = https://[username]@bitbucket.org/openthinklabs/tirta-erp
[auth]
tirtaerp.prefix = *
tirtaerp.schemes = http https
tirtaerp.username = [username]
tirtaerp.password =[password]
tirtaerp = https://[username]@bitbucket.org/openthinklabs/tirta-erp
[auth]
tirtaerp.prefix = *
tirtaerp.schemes = http https
tirtaerp.username = [username]
tirtaerp.password =[password]
Build Schema
Di direktori instalasi Tirta ERP, jalankan perintah :
php symfony doctrine:build --all --and-load
hapus table vw_penjualan dan buat view-view yang diperlukan :
cd data/sql
mysql -u root -p
use tirtaerp ;
drop table vw_penjualan ;
\. vw_creation.sql
Referensi
- Session Storage Menggunakan Database, https://bitbucket.org/wildanm/tirta-erp/issue/637/session-storage-menggunakan-database
- Crontab – Quick Reference, http://www.adminschoice.com/c ontab-quick-reference/
- How to setup / install PHP 5.6 on Ubuntu 14.04 LTS, http://www.dev-metal.com/install-setup-php-5-6-ubuntu-14-04-lts/
- Otomatisasi rekonsiliasi piutang #191, https://github.com/OpenThink-Labs/TirtaERP/issues/191
- Auto transfer dari Distribusi ke DUT, https://github.com/OpenThink-Labs/TirtaERP/issues/371
No comments:
Post a Comment