INSTALL PDF TOOLKIT DI SERVER UBUNTU 22.04: Difference between revisions
No edit summary |
|||
| (9 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
==1. Clone the repository: == | ==1. Clone the repository: == | ||
- git clone <nowiki>https://github.com/yashdhanani/pdf-toolkit-app.git</nowiki> | - sudo git clone <nowiki>https://github.com/yashdhanani/pdf-toolkit-app.git</nowiki> | ||
- cd pdf-toolkit-app | - cd pdf-toolkit-app | ||
| Line 17: | Line 17: | ||
==3. Start the development server:== | ==3. Start the development server:== | ||
- npm run dev | - sudo npm run dev | ||
- Open <nowiki>http://localhost:5173/pdf-toolkit-app/</nowiki> in your browser. | - Open <nowiki>http://localhost:5173/pdf-toolkit-app/</nowiki> in your browser. | ||
| Line 23: | Line 23: | ||
==4. Build for production:== | ==4. Build for production:== | ||
- npm run build | - sudo npm run build | ||
==5. Preview the production build:== | ==5. Preview the production build:== | ||
- npm run preview | - sudo npm run preview | ||
| Line 34: | Line 34: | ||
Cara merubahnya | Cara merubahnya | ||
''nano vite.config.js'' | ''sudo nano vite.config.js'' | ||
Tampilan bagian atas sebelum di rubah : | Tampilan bagian atas sebelum di rubah : | ||
''export default defineConfig({ | '''export default defineConfig({ | ||
base: '/pdf-toolkit-app/', | ''''base: '/pdf-toolkit-app/', | ||
plugins: ['' | ''''plugins: [''' | ||
Tampilan sesudah di rubah : | Tampilan sesudah di rubah : | ||
''export default defineConfig({ | '''export default defineConfig({ | ||
base: '/pdf-toolkit-app/', | '''base: '/pdf-toolkit-app/', | ||
server: { | '''server: { | ||
allowedHosts: ['pdf.smpyppksantodonboscofakfak.sch.id'], | '''allowedHosts: ['pdf.smpyppksantodonboscofakfak.sch.id'], | ||
}, | '''}, | ||
plugins: ['' | '''plugins: [''' | ||
setelah itu simpan file vite.config.js dengan tekan Control X, kemudian tekan Y, lalu coba akses menggunakan domain | setelah itu simpan file vite.config.js dengan tekan Control X, kemudian tekan Y, lalu coba akses menggunakan domain | ||
=Untuk Menjalankan sebagai server production= | |||
Setelah npm run build, jalankan : | |||
sudo npm install -g serve | |||
sudo serve -s dist -l 4071 | |||
menggunakan serve untuk melayani folder dist. | |||
==1. Pastikan aplikasi sudah di-build== | |||
cd /var/www/pdf-toolkit | |||
npm install | |||
npm run build | |||
Pastikan: | |||
ls -lah /var/www/pdf-toolkit/dist | |||
ada index.html. | |||
==2. Cari lokasi serve== | |||
Jalankan: | |||
which serve | |||
Biasanya hasilnya: | |||
/usr/bin/serve | |||
atau jika Node.js dipasang dari NodeSource, bisa saja: | |||
/usr/lib/node_modules/serve/build/main.js | |||
Jangan menebak path-nya. Gunakan hasil which serve untuk konfigurasi service. | |||
==3. Buat systemd service== | |||
sudo nano /etc/systemd/system/pdf-toolkit.service | |||
Isi: | |||
[Unit] | |||
Description=PDF Toolkit Web Application | |||
After=network.target | |||
[Service] | |||
Type=simple | |||
User=www-data | |||
Group=www-data | |||
WorkingDirectory=/var/www/pdf-toolkit | |||
ExecStart=/usr/bin/serve -s dist -l 8080 | |||
Restart=always | |||
RestartSec=5 | |||
Environment=NODE_ENV=production | |||
[Install] | |||
WantedBy=multi-user.target | |||
Jika which serve menghasilkan path berbeda, ubah bagian: | |||
ExecStart=/usr/bin/serve -s dist -l 8080 | |||
sesuai path tersebut. | |||
==4. Pastikan permission== | |||
sudo chown -R root:root /var/www/pdf-toolkit-app | |||
sudo chmod -R 755 /var/www/pdf-toolkit-app | |||
Karena service hanya membaca file dist, www-data tetap dapat membacanya. | |||
==5. Reload systemd== | |||
sudo systemctl daemon-reload | |||
Aktifkan agar otomatis saat boot: | |||
sudo systemctl enable pdf-toolkit | |||
Jalankan: | |||
sudo systemctl start pdf-toolkit | |||
==6. Periksa status== | |||
sudo systemctl status pdf-toolkit --no-pager -l | |||
Targetnya: | |||
● pdf-toolkit.service | |||
Loaded: loaded | |||
Active: active (running) | |||
==7. Tes port 8080== | |||
sudo ss -lntp | grep 8080 | |||
Kemudian: | |||
curl http://127.0.0.1:8080 | |||
Kalau berhasil, akan mendapatkan HTML aplikasi. | |||
==8. Tes restart server== | |||
Ini yang memastikan systemd benar-benar bekerja: | |||
sudo reboot | |||
Setelah server hidup kembali: | |||
sudo systemctl status pdf-toolkit --no-pager | |||
Harus kembali: | |||
Active: active (running) | |||
Latest revision as of 06:23, 5 September 2026
PDF Toolkit: Utilitas PDF Berbasis Browser yang Serbaguna. Aplikasi web modern dan responsif yang dibangun menggunakan React dan Vite, serta didukung oleh UnoCSS untuk penataan gaya yang sangat cepat. Alat ini memungkinkan pengguna melakukan berbagai manipulasi PDF umum langsung di dalam browser, sehingga menjamin privasi dan efisiensi.
Sumber : https://github.com/yashdhanani/pdf-toolkit-a
Installation & Setup
1. Clone the repository:
- sudo git clone https://github.com/yashdhanani/pdf-toolkit-app.git
- cd pdf-toolkit-app
2. Install dependencies:
- npm install
3. Start the development server:
- sudo npm run dev
- Open http://localhost:5173/pdf-toolkit-app/ in your browser.
4. Build for production:
- sudo npm run build
5. Preview the production build:
- sudo npm run preview
Untuk akses menggunakan domain misalnya domain : pdf.smpyppksantodonboscofakfak.sch.id, yang harus di rubah adalah file vite.config.js
Cara merubahnya
sudo nano vite.config.js
Tampilan bagian atas sebelum di rubah :
export default defineConfig({
'base: '/pdf-toolkit-app/',
'plugins: [
Tampilan sesudah di rubah :
export default defineConfig({
base: '/pdf-toolkit-app/',
server: {
allowedHosts: ['pdf.smpyppksantodonboscofakfak.sch.id'],
},
plugins: [
setelah itu simpan file vite.config.js dengan tekan Control X, kemudian tekan Y, lalu coba akses menggunakan domain
Untuk Menjalankan sebagai server production
Setelah npm run build, jalankan :
sudo npm install -g serve sudo serve -s dist -l 4071
menggunakan serve untuk melayani folder dist.
1. Pastikan aplikasi sudah di-build
cd /var/www/pdf-toolkit npm install npm run build
Pastikan:
ls -lah /var/www/pdf-toolkit/dist
ada index.html.
2. Cari lokasi serve
Jalankan:
which serve
Biasanya hasilnya:
/usr/bin/serve
atau jika Node.js dipasang dari NodeSource, bisa saja:
/usr/lib/node_modules/serve/build/main.js
Jangan menebak path-nya. Gunakan hasil which serve untuk konfigurasi service.
3. Buat systemd service
sudo nano /etc/systemd/system/pdf-toolkit.service
Isi:
[Unit] Description=PDF Toolkit Web Application After=network.target [Service] Type=simple User=www-data Group=www-data WorkingDirectory=/var/www/pdf-toolkit ExecStart=/usr/bin/serve -s dist -l 8080 Restart=always RestartSec=5 Environment=NODE_ENV=production [Install] WantedBy=multi-user.target
Jika which serve menghasilkan path berbeda, ubah bagian:
ExecStart=/usr/bin/serve -s dist -l 8080
sesuai path tersebut.
4. Pastikan permission
sudo chown -R root:root /var/www/pdf-toolkit-app sudo chmod -R 755 /var/www/pdf-toolkit-app
Karena service hanya membaca file dist, www-data tetap dapat membacanya.
5. Reload systemd
sudo systemctl daemon-reload
Aktifkan agar otomatis saat boot:
sudo systemctl enable pdf-toolkit
Jalankan:
sudo systemctl start pdf-toolkit
6. Periksa status
sudo systemctl status pdf-toolkit --no-pager -l
Targetnya:
● pdf-toolkit.service
Loaded: loaded Active: active (running)
7. Tes port 8080
sudo ss -lntp | grep 8080
Kemudian:
curl http://127.0.0.1:8080
Kalau berhasil, akan mendapatkan HTML aplikasi.
8. Tes restart server
Ini yang memastikan systemd benar-benar bekerja:
sudo reboot
Setelah server hidup kembali:
sudo systemctl status pdf-toolkit --no-pager
Harus kembali:
Active: active (running)