Prasyarat

  • Server web HTTP yang berfungsi misalnya. Apache, IIS.
  • Server MySQL yang berfungsi – dengan tabel innodb diaktifkan (lihat catatan di bawah)
  • PHP diinstal pada server web dengan dukungan MySQL.
  • Adobe Acrobat Reader – atau pembaca PDF lain untuk melihat laporan PDF sebelum mencetaknya.
  • php.ini mungkin perlu diedit untuk mengaktifkan openssl dan Apache restart – XAMPP v1.8.1 SSL DLLs Path Fix
  • Koneksi ke internet sangat penting agar COA (Chart Of Accounting) dan barang lainnya dapat diunduh dari repo.frontaccounting.eu dan repo pribadi / kustom lainnya.
  • Posting Forum terkait XAMPP
  • Pada IIS, gunakan PHP Manager untuk IIS. Ini adalah alat untuk mengelola satu atau banyak instalasi PHP di server IIS 7 dan IIS 7.5. Akan membutuhkan runtime MSVC.
  • Pada Kubuntu 13.1 mencoba untuk Menginstal / Perbarui Bahasa akan menghasilkan kesalahan yang diselesaikan dengan meningkatkan variabel session.gc_maxlifetime di php.ini
  • Pada CentOS 6.5, PHP 5.5, MySQL 5.5, Apache 2.2 berikut ini diuji dan menemukan bahwa akselerator HTTP Varnish berjalan di depan Apache dan default.vcl dikonfigurasi untuk menghapus cookie. FrontAccounting perlu membuat cookie sesi agar berfungsi dan karenanya ini harus diperbaiki.
  • Mengirim Email dari XAMPP (atau dari instalasi FA Windows) menggunakan sendmail palsu.
  • Jika tidak dapat menggunakan terjemahan bahasa gettext pada beberapa versi PHP (5.3.0 hingga 5.3.5 atau lebih tinggi) pada Windows (XAMPP / WAMP), gunakan php-gettext seperti yang ditunjukkan di sini alih-alih modul PHP. Ini mungkin tidak berfungsi untuk beberapa bahasa dan beberapa yang lain mungkin memerlukan beberapa tweak (seperti LANGUAGE bukan parameter LANG). GNU gettext untuk Windows juga tersedia – v0.14.4 dan v0.19.8.1.
  • Saat menggunakan FA dalam PHP 7.1.x, konstruktor dan destruktor untuk semua kelas yang digunakan harus diganti nama menjadi __construct dan __destruct sebagai cara lama menamainya karena nama kelas tidak hanya ditinggalkan, kini telah dihapus secara keseluruhan dari ini versi PHP dan seterusnya. Forum Post: Perbaikan untuk semua file tersebut disediakan untuk FA v2.4.2 sebagai file patch dan sebagai komitmen oleh Paul Shipley pada 2017-10-02. Ini sekarang di FA 2.4.3+ resmi Git Master.
  • Forum Post: Perbaikan untuk lokal dan openssl bersama dengan IIS7 dan PHP 7.1.14 pada Windows 10.
  • Jika ada timeout acak saat menggunakan FA, maka periksa apakah pengaturan php.ini berikut adalah minimum session.gc_maxlifetime = 1440
  • Forum Post: XAMPP v1.8.2 adalah versi terakhir dengan PHP 5.4 yang didukung di WinXP SP3. Jangan gunakan XAMPP v1.8.2-6 untuk FA tetapi gunakan XAMPP 1.8.2-5 sebagai gantinya dengan perubahan php.ini yang tercantum dalam pos dan seperti:

short_open_tag = On
precision = 17
max_execution_time = 60
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
post_max_size = 32M
upload_max_filesize = 32M
extension=php_fileinfo.dll
extension=php_imap.dll
extension=php_openssl.dll
extension=php_pdo_odbc.dll
; date.timezone = Asia/Kolkata ; ganti sesuai kebutuhan

Catatan penting

  • Salah satu aspek penting dari instalasi PHP adalah pengaturan session.auto_start dalam file php.ini. Beberapa distribusi PHP dari PHP memiliki pengaturan default session.auto_start = 1. Ini memulai sesi baru di awal setiap skrip. Namun, ini membuatnya tidak mungkin untuk instantiate objek kelas yang diandalkan sistem. Kelas digunakan secara luas oleh sistem ini. Ketika sesi diperlukan mereka dimulai oleh sistem dan pengaturan ini harus ditetapkan sebagai session.auto_start = 0.
  • Untuk alasan keamanan, baik Registrasi Globals dan Magic Quotes php harus disetel ke Mati. Ketika FrontAccounting digunakan dengan server www yang menjalankan php sebagai modul Apache, bendera masing-masing diatur dalam file .htaccess. Ketika server Anda menggunakan antarmuka CGI ke PHP Anda harus mengatur magic_quotes_gpc = 0 dan register_globals = 0 dalam file php.ini.
  • Tabel Innodb harus diaktifkan di server MySQL. Tabel ini memungkinkan transaksi basis data yang merupakan komponen penting dari perangkat lunak. Ini diaktifkan secara default di versi MySQL yang lebih baru. Jika Anda perlu mengaktifkannya sendiri, bacalah manual MySQL.
  • Saat ini FrontAccount diimplementasikan dan diuji dengan MySQL. Secara umum itu harus bekerja dengan database lain, tetapi ini tidak didukung dengan cara apa pun.
  • Agar skrip instal berjalan dengan benar, proses server web harus memiliki akses baca / tulis / eksekusi penuh ke pohon direktori instalasi. Sebagai contoh, pada Ubuntu 14.04 LTS Trusty, server web apache2 adalah data-pengguna www dan milik grup data-www, dan ini harus memiliki izin masing-masing rwx dan r-x pada setidaknya direktori berikut:
    • direktori webroot dari FrontAccounting (mis. pada Ubuntu direktori webroot server mungkin / var / www / html / frontacc)
    • lang / subdirektori
    • modules / subdirektori
    • company / subdirektori
    • theme / * (hanya jika dan ketika memasang tema baru)
    • sql / * (hanya jika dan saat memasang Bagan Akun baru – juga dikenal sebagai CoA).

Jika Anda menjalankan FrontAccounting untuk diri sendiri di localhost dan keamanan tidak menjadi masalah, Anda dapat mencapai izin yang tepat di Ubuntu untuk webroot dan semua subdirektori dengan menjalankan:

$ sudo chown -R www-data:www-data /var/www/html/frontacc
$ sudo chmod -R 755 /var/www/html/frontacc

di mana opsi -R menerapkan perubahan secara rekursif dari webroot.

  • Instalasi baru tidak akan memiliki file yang disebut config.php dan config_db.php. Mereka dibuat oleh skrip instalasi. Agar dapat ditulis, direktori instalasi webroot harus memiliki akses baca / tulis / eksekusi untuk proses server web setidaknya. File lain yang dibuat selama instalasi baru adalah 2 file install_extensions.php (baik di folder webroot dan di folder perusahaan / 0 / – file sedikit berbeda) dan lang / install_languages.inc selain ekstensi yang diunduh selama instalasi.

Menyalin semua file proyek ke direktori yang benar

  • Pastikan telah mengunduh arsip proyek untuk membaca file.
  • Semua file di dalam arsip harus disalin ke direktori di bawah direktori root server web.
  • Misalnya, buat folder bernama / akun, dan ekstrak arsip ke folder
  • Jika Anda memiliki mesin atau VPS khusus, maka masukkan konten file .htaccess ke dalam file conf apache. Dalam Debian, contoh file conf apache di / etc / apache2 / sites-available / frontac akan seperti ini.
  • Harap dicatat bahwa FA memiliki banyak jenis file seperti * .inc, * .sql, * .log, dll. Yang mungkin tidak memiliki asosiasi MIME di Apache dan akan mengakibatkan ditampilkan sebagai teks di browser jika file .htaccess atau konfigurasi apache file (seperti kasusnya) tidak dilakukan dengan benar. Tidak ada upaya untuk mengubah nama file * .inc menjadi * .inc.php karena mereka akan dapat dieksekusi oleh server web yang mengeksposnya ke serangan RFI yang memerlukan pemeriksaan buruk pada setiap file seperti yang ada di bagian atas file language.php.

Langkah-langkah instalasi

  • Jika memiliki opsi untuk membuat banyak basis data pada host Anda, buat satu, misalnya say frontacc (dengan tipe collation utf8_general_ci?), Kalau tidak, tuliskan nama database untuk akun Anda. Pada saat yang sama, cari nama pengguna dan kata sandi untuk basis data. Anda akan memerlukan informasi ini selama instalasi wizard.
  • Masukkan url / akun (atau direktori apa pun yang Anda masukkan). Ini akan menjalankan wizard pemasangan. Jika ini adalah pertama kalinya Anda menjalankan FrontAccounting, atur perusahaan pelatihan (Training Co. secara default) dan, secara opsional, isi dengan data demo awal dengan mencentang (klik) kotak centang. Merupakan ide bagus untuk membiasakan diri dengan sistem sebelum memulai perusahaan Anda sendiri. Nantinya, Anda dapat membuat perusahaan nyata sendiri. Anda mungkin juga ingin mempertimbangkan mempertahankan perusahaan pelatihan untuk melatih karyawan lain / masa depan.
  • DB Clustering untuk Master to Master Replication: MariaDB (setetes pengganti untuk MySQL) pada v10.1 mendukung Galera Clustering dan InnoDB sementara MyISAM bersifat eksperimental. Panduan PDF (Cache) dengan koreksi disertakan.
  • Konfigurasi sistem perpajakan harus dilakukan ketika perusahaan diatur.

Pasang Instalasi

  • Setelah FrontAccounting berhasil diinstal, sangat disarankan untuk mengarsipkan dan menghapus atau setidaknya mengganti nama secara samar, sub-direktori instal untuk alasan keamanan. Tidak lagi dibutuhkan.
  • Membuat tmp / direktori dapat ditulis oleh proses server web sehingga file error.log dapat ditulis.
  • Ubah config_db.php dan config.php menjadi read-only.
  • Impor Saldo Pembuka Anda jika ada.

Kunci pada peningkatan PHP / MySQL

Forum Post: Meskipun nama pengguna dan kata sandi Anda benar, FA dapat menolak akses jika tidak ada soket MySQL yang tersedia ketika ada peningkatan PHP / MySQL. Periksa tmp / error.log jika ada kesalahan.

Membuat salinan pelatihan.

Sangat sering berguna untuk memiliki salinan lengkap instalasi FrontAccounting untuk tujuan pelatihan. Skrip berikut akan membuat dump keamanan dari situs langsung dan memuatnya sebagai salinan situs itu.

Harap dicatat – ini tidak menggunakan instalasi FA yang sama untuk menjalankan salinan pelatihan – tetapi menggunakan seluruh instalasi FA. Ini berguna karena memungkinkan situs berjalan di alamat yang berbeda – misalnya – accounts.example.com dan accounts2.example.com. Agar ini berfungsi, harus ada pengaturan database MySQL terpisah dan pengaturan vhost terpisah.

Harap dicatat juga – ini didasarkan pada penggunaan Apache ITK yang berarti proses Apache berjalan sebagai pengguna yang ditugaskan dan semua file dapat menjadi milik akun server yang sama. Ini memotong masalah file yang perlu diunggah sebagai satu pengguna kemudian dapat diakses / dimodifikasi oleh pengguna Apache (pada Debian ini adalah www-data).

#!/bin/bash

# copy_accounts_to_accounts2

# ———————————————————————————-
# This will take a copy of the live FrontAccounting site and copy it to a training copy.
# ———————————————————————————-

# ————————————————————————————————-
# Logging setup
# ————————————————————————————————-

# Here we can save the output from running this script to a log file.
# These lines have been copied from
# http://stackoverflow.com/questions/3173131/redirect-copy-of-stdout-to-log-file-from-within-bash-script-itself
# and will send the script output to a log file.
# Uncomment them if you want to use them.
#mkdir -p ~/logs
#DATE_TIME=`date +%Y%m%d-%H%M%S`
#logfile=~/logs/copy_accounts_to_accounts2_${DATE_TIME}.log
#mkfifo ${logfile}.pipe
#tee < ${logfile}.pipe $logfile &
#exec &> ${logfile}.pipe
#rm ${logfile}.pipe

DATE_TIME=`date +%Y%m%d-%H%M%S`

# ————————————————————————————————-
echo
echo `date`
echo “Backup primary site…”
# ————————————————————————————————-

# Here we will create backups which are datetime stamped to be able to go back to a previous
# version if necessary.
mkdir -p /home/frontacc/backups
mysqldump frontacc > /home/frontacc/backups/${DATE_TIME}_frontacc.sql
tar –create –file=/home/frontacc/backups/${DATE_TIME}_frontacc.tar /home/frontacc/public_html

# Here we will make a backup to a standard location so that it is backed up by backup scripts.
# This will also be the backup we will load into the copy site.
mysqldump frontacc > /var/backups/frontacc.sql
tar –create –file=/var/backups/frontacc.tar /home/frontacc/public_html

# ————————————————————————————————-
echo
echo `date`
echo “Load the backup into the site…”
# ————————————————————————————————-
mysqladmin –force drop frontacc2
mysqladmin create frontacc2

mysql frontacc2 < /var/backups/frontacc.sql

rm -r /home/frontacc2/public_html/*
tar -x –file=/var/backups/frontacc.tar –directory=/home/frontacc2/public_html –strip-components=3

# We need to change ownership for the files just unzipped.
chown -R frontacc2:frontacc2 /home/frontacc2/public_html

# ————————————————————————————————-
echo
echo `date`
echo “Change the database settings – this could probably be done better…”
# ————————————————————————————————-
sed -i ‘s/Company Name/Company Name2/g’ /home/frontacc2/public_html/config_db.php
sed -i ‘s/frontacc/frontacc2/g’ /home/frontacc2/public_html/config_db.php
sed -i ‘s/live_copy_mysql_password/training_copy_mysql_password/g’ /home/frontacc2/public_html/config_db.php

# ————————————————————————————————-
echo
echo `date`
echo “Setting up the copy site with a different appearance from the live site…”
# ————————————————————————————————-
# This is useful to make help the users to see which site they are working on.
# Again, there may be a more elegant solution for this.
sed -i ‘s/285b86/ff0000/g’ /home/frontacc2/public_html/themes/default/default.css

# ————————————————————————————————-
echo
echo `date`
echo “A restart of Apache is needed for the site to work…”
# ————————————————————————————————-
/usr/sbin/apache2ctl restart

# ————————————————————————————————-
echo
echo `date`
echo “Finished”
# ————————————————————————————————-

Sumber Referensi : FrontAccounting