Deploy-BE
Cloning Repo
Masuk kedalam /var/www/html
Masuk kembali ke akun github kalian, kemudian copy kan repo
BE
dari kelompok kalian
lalu clone
repo tersebut pada server
root@webserver-rehan:/var/www/html# git clone https://github.com/SMKMADINATULQURAN-PROJECT-2023/BE-Kelompok-Elearning.git
Masukkan token
yang sudah kalian simpan pada notepad. copy kemudian pastekan, perlu diingat bahwa ketika mengisi token
tidak akan muncul tulisan apapun.
repo diatas hanya contoh saja gunakan repo be dari kelompok masing masing.
cek apakah cloning berhasil
Menginstall dependencies
Masuk kedalam folder yang telah di clone tadi
Konfigurasi database
Mengubah bind address mysql
Secara default mysql hanya dapat diakses melalui localhost, sehingga perlu kita ubah agar dapat diakses secara remote
root@webserver-rehan:/var/www/html/BE-Kelompok-Elearning# cd /etc/mysql/
root@webserver-rehan:/etc/mysql# cd mariadb.conf.d/
root@webserver-rehan:/etc/mysql/mariadb.conf.d# nano 50-server.cnf
ubah bind address menjadi 0.0.0.0
Membuat file env
root@webserver-rehan:/etc/mysql/mariadb.conf.d# cd /var/www/html
root@webserver-rehan:/var/www/html# cd BE-Kelompok-Elearning/
NODE_ENV = development
PORT = 1214
DB_USERNAME_DEV = userdb
DB_PASSWORD_DEV = '1234'
DB_NAME_DEV = smkm1712_flearning_DB
DB_HOST_DEV = db-test.sainuu.xyz
DB_DIALECT_DEV = mysql
DB_PORT_DEV = 3307
DB_USERNAME_TEST = smkm1712_flearning
DB_PASSWORD_TEST = ']cQbwX~mr?;F'
DB_NAME_TEST = smkm1712_flearning_DB
DB_HOST_TEST = 127.0.0.1
DB_DIALECT_TEST = mysql
DB_USERNAME_PROD = smkm1712_flearning
DB_PASSWORD_PROD = ']cQbwX~mr?;F'
DB_NAME_PROD = smkm1712_flearning_DB
DB_HOST_PROD = 127.0.0.1
DB_DIALECT_PROD = mysql
kirimkan setingan file .env kalian ke tim RPL agar mereka bisa menyesuaikan .
Konfigurasi database.js
root@webserver-rehan:/var/www/html/BE-Kelompok-Elearning# cd src
root@webserver-rehan:/var/www/html/BE-Kelompok-Elearning/src# cd config/
root@webserver-rehan:/var/www/html/BE-Kelompok-Elearning/src/config# nano database.js
Kembali himbau kepada tim RPL agar mengubah settingan database.js nya sesuai dengan apa yang kita rubah, agar kedepannya ketika ada pull request tidak terjadi konflik.
membuat database dengan sequilize
root@webserver-rehan:/var/www/html/BE-Kelompok-Elearning# npx sequelize-cli db:create
root@webserver-rehan:/var/www/html/BE-Kelompok-Elearning# npx sequelize-cli db:migrate
Menginstall PM2 dan menjalankan aplikasi di background
Konfigurasi package.json
Tambahkan konfigurasi berikut. agar aplikasi dijalankan via pm2himbau tim RPL untuk mengubah file package.json sesuai dengan konfigurasi diatas.
Menjalankan Aplikasi
untuk cek bisa menggunakan command
Aplikasi sudah berjalan diserver namun belum bisa diakses melalui domain, kita harus menggunakan Reverse Proxy
agar dari domain diarahkan ke port NodeJS nya.
Reverse Proxy
cek Port yang digunakan
bisa kita lihat bahwa PORT yang digunakan NODE JS adalah 1214.
KOnfigurasi Reverse Proxy Apache2
copy kan file konfigurasi default menjadi nama projek be kalian.konfigurasikan seperti dibawah ini namun ingat sesuaikan dengan konfigurasi project kalian.
<VirtualHost *:80>
ServerName be-test.projekakhir.cloud
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/phpMyAdmin
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPass / http://localhost:1214/ nocanon
ProxyPassReverse / http://localhost:1214/
ProxyRequests Off
</VirtualHost>
Testing
Akses dibrowser menggunakan domain