<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: sumberweb</title>
    <description>The latest articles on DEV Community by sumberweb (@sumberweb).</description>
    <link>https://dev.to/sumberweb</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1776263%2F1b9fa66e-ae6c-4679-9dbf-06da494677a3.png</url>
      <title>DEV Community: sumberweb</title>
      <link>https://dev.to/sumberweb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sumberweb"/>
    <language>en</language>
    <item>
      <title>Deploy Python Flask to cPanel</title>
      <dc:creator>sumberweb</dc:creator>
      <pubDate>Sun, 16 Mar 2025 18:55:59 +0000</pubDate>
      <link>https://dev.to/sumberweb/deploy-python-flask-to-cpanel-1jco</link>
      <guid>https://dev.to/sumberweb/deploy-python-flask-to-cpanel-1jco</guid>
      <description>&lt;p&gt;&lt;strong&gt;Setup and Configuration Python Flask&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;1. Compress Folder / File Application&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Langkah pertama untuk deploy aplikasi python flask pada cPanel adalah mempersiapkan file / folder aplikasi dari local komputer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffqfhm1cgmi2gwxfilrbw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffqfhm1cgmi2gwxfilrbw.png" alt="Image description" width="672" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. Setup Python App&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Pada halaman ini, bisa dilakukan langsung untuk setup nya pada environment hosting / cPanel pada menu &lt;strong&gt;Setup Python App&lt;/strong&gt; seperti gambar di bawah ini.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpvb4t6885gv6qdevpmm0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpvb4t6885gv6qdevpmm0.png" alt="Image description" width="800" height="711"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;setelah setup aplikasi python nya sudah terbuat maka tampilan setup akan seperti gambar berikut.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fixm53abt82ww2r2mh30o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fixm53abt82ww2r2mh30o.png" alt="Image description" width="800" height="958"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. Upload and Config file&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Setelah aplikasi python pada cPanel sudah terbuat bisa dilanjutkan dengan melakukan upload file / folder project aplikasi yang sudah di &lt;strong&gt;compress&lt;/strong&gt; sebelumnya pada step nomor 1&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdqxyyvqf6w2popzn1c44.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdqxyyvqf6w2popzn1c44.png" alt="Image description" width="795" height="714"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;jika sudah terupload bisa di lanjutkan dengan konfigurasi pada file &lt;strong&gt;passenger_wsgi.py&lt;/strong&gt; sebagai starter up aplikasi.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0sgv743zoax5uh11fboc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0sgv743zoax5uh11fboc.png" alt="Image description" width="660" height="284"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. Config database&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Salah satu hal yang perlu di perhatikan adalah konfigurasi database di karenakan untuk nama database, user database dan password akan berbeda ketika di lokal dengan di server / hosting cPanel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7csxxgsptrdi8dhj74hl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7csxxgsptrdi8dhj74hl.png" alt="Image description" width="696" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;4. CLI Install using pip&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Step terakhir yang bisa dilakukan adalah menjalankan perintah / CLI untuk kebutuhan installasi library atau koneksi database yang di perlukan.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F62527nb4vspryv1vuigk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F62527nb4vspryv1vuigk.png" alt="Image description" width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pada gambar tersebut pastikan link path sudah di copy seperti instruksi gambar pada step nomor 2 dan paste pada terminal cPanel hal ini bertujuan agar perintah / command line yang akan di jalakan tepat pada tempat folder aplikasi berada.&lt;/p&gt;

&lt;p&gt;Berikut ini adalah command line / perintah yang bisa dijalankan.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pip install --upgrade pip&lt;/li&gt;
&lt;li&gt;pip install -r requirements.txt&lt;/li&gt;
&lt;li&gt;flask db init&lt;/li&gt;
&lt;li&gt;flask db migrate -m "entries table"&lt;/li&gt;
&lt;li&gt;flask db upgrade&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;jika salah satu perintah ini sudah dijalankan bisa kembali ke halaman &lt;strong&gt;Python Setup App&lt;/strong&gt; step no 2 untuk melakukan restart aplikasinya. Jika berhasil maka subdomain bisa dapat di akses dan aplikasi berjalan live seperti contoh berikut.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6g9rxysb3cx43jojncl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6g9rxysb3cx43jojncl.png" alt="Image description" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Demikian tutorial singkat deploy python flask pada cPanel dari local ke server cloud hosting.&lt;/p&gt;

&lt;p&gt;Terima kasih.&lt;br&gt;
Semoga bisa membantu.&lt;/p&gt;

</description>
      <category>python</category>
      <category>cpanel</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Error yang sering di jumpai ketika Setup NodeJS App pada cPanel.</title>
      <dc:creator>sumberweb</dc:creator>
      <pubDate>Wed, 25 Sep 2024 03:41:33 +0000</pubDate>
      <link>https://dev.to/sumberweb/error-yang-sering-di-jumpai-ketika-setup-nodejs-app-pada-cpanel-27g6</link>
      <guid>https://dev.to/sumberweb/error-yang-sering-di-jumpai-ketika-setup-nodejs-app-pada-cpanel-27g6</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;1. Cannot use import statment outside a module&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Pada error log ini, menyampaikan bahwa tidak dapat menggunakan statement import diluar module. hal ini disebabkan karena file custom server nextjs yaitu &lt;strong&gt;server.js&lt;/strong&gt; yang di dalamnya terdapat statement import yang merupakan karakteristik &lt;strong&gt;ES Modules&lt;/strong&gt;.&lt;br&gt;
Dalam case ini artinya secara default startup NodeJS yang digunakan untuk membaca script &lt;strong&gt;server.js&lt;/strong&gt; nya pada environment hosting cPanel menggunakan sistem module &lt;strong&gt;CommonJs&lt;/strong&gt; yang biasanya karakteristik module &lt;strong&gt;CommonJS&lt;/strong&gt; penggunaannya  menggunakan &lt;code&gt;**require()**&lt;/code&gt; untuk mengimpor module dan module.exports atau exports untuk mengeskpor module.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyilyg8oqommz95qp6qhx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyilyg8oqommz95qp6qhx.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;untuk mengatasi masalah ini adalah bisa dengan berbagai cara yaitu salah satunya adalah dengan merubah extensi file &lt;strong&gt;server.js&lt;/strong&gt; menjadi &lt;strong&gt;server.mjs&lt;/strong&gt; yang menjadi startup aplikasinya menjadi seperti berikut :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ups0e1jf5svi4yoqp7n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ups0e1jf5svi4yoqp7n.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;jika extensi file &lt;strong&gt;server.js&lt;/strong&gt; sudah direname menjadi &lt;strong&gt;server.mjs&lt;/strong&gt; jangan lupa untuk update &lt;strong&gt;script&lt;/strong&gt; pada file &lt;strong&gt;package.json&lt;/strong&gt; yang semulanya adalah sebagai berikut :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"scripts": {
    "dev": "node server.js",
    "build": "next build",
    "start": "NODE_ENV=production node server.js",
    "lint": "next lint",
    "postinstall": "prisma generate"
  },
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Menjadi seperti berikut :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"scripts": {
    "dev": "node server.mjs",
    "build": "next build",
    "start": "NODE_ENV=production node server.mjs",
    "lint": "next lint",
    "postinstall": "prisma generate"
  },
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;kemudian dilanjutkan dengan pergi ke halaman &lt;strong&gt;cPanel &amp;gt; setup Node.js App &amp;gt; edit the application ( icon pencil )&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flhw4xzkggemj7ptp9tiu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flhw4xzkggemj7ptp9tiu.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. Out Of Memory: Cannot allocate wasm memory for new instance&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;muncul karena aplikasi Node.js yang menggunakan WebAssembly (Wasm) tidak dapat mengalokasikan memori yang diperlukan saat dijalankan di cPanel. Hal ini biasanya terkait dengan keterbatasan sumber daya di server, seperti RAM atau batasan penggunaan memori yang diterapkan oleh hosting.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftmembx080azjqvpsdigq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftmembx080azjqvpsdigq.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;untuk hal ini solusi alaternatifnya adalah dengan menaikan memory limit pada aplikasi nya biasanya settingan ini terdapat pada select php verison atau multiphp Manager editor pada fitur menu cPanel namun selain itu juga bisa diatasi dengan cara SSH dari local komputer atau remote server hosting dari komputer pribadi.&lt;br&gt;
sebagai catatan jika melakukan SSH pastikan sudah berada di direktory yang benar dengan cara mencopy &lt;strong&gt;virtual environment&lt;/strong&gt; pada halaman &lt;strong&gt;cPanel &amp;gt; Setup Node.Js App&lt;/strong&gt; untuk berganti di direktory root aplikasinya.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. Error: Could not find Prisma Schema that is required for this command&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Jika pada aplikasi kalian menggunakan ORM seperti prima ketika menjalankan command &lt;code&gt;npm install&lt;/code&gt; untuk menginstall package library &lt;strong&gt;node_modules&lt;/strong&gt; biasanya akan muncul error tersebut namun error tersebut bisa diabaikan saja dan pastikan tambahkan script baru pada file &lt;strong&gt;package.json&lt;/strong&gt; nya&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4djeo0yo0t7beidmse4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4djeo0yo0t7beidmse4.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;setelah dilakukan update pada file &lt;strong&gt;package.json&lt;/strong&gt; harus dilanjutkan dengan restart Node.js nya dengan kembali ke halaman &lt;strong&gt;cPanel &amp;gt; setup Node.js App &amp;gt; edit the application ( icon pencil ) &amp;gt; Restart&lt;/strong&gt; . Melakukan restart aplikasi Node.Js pada cPanel sangat di perlukan ketika adanya perubahan script atau file pada root Aplikasinya.&lt;/p&gt;

&lt;p&gt;setelah Restart aplikasi dilakukan bisa dilanjutkan dengan kembali ke terminal dan jalankan command &lt;code&gt;npx prisma db push&lt;/code&gt; pastikan untuk konfigurasi databasenya pada file &lt;strong&gt;.env&lt;/strong&gt; sudah benar.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>prisma</category>
      <category>javascript</category>
      <category>cpanel</category>
    </item>
    <item>
      <title>Deploy NextJs to cPanel</title>
      <dc:creator>sumberweb</dc:creator>
      <pubDate>Tue, 24 Sep 2024 17:05:53 +0000</pubDate>
      <link>https://dev.to/sumberweb/deploy-nextjs-to-cpanel-447k</link>
      <guid>https://dev.to/sumberweb/deploy-nextjs-to-cpanel-447k</guid>
      <description>&lt;p&gt;&lt;strong&gt;Build dan Deploy CRUD, Search, dan Pagination Next.js 14&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;1. Setup Folder&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;konfigurasi custom server nextjs &lt;strong&gt;server.js&lt;/strong&gt; yang akan di tambahkan pada project aplikasi nextJs nya, berikut ini adalah script yg bisa didapatkan dari website resminya.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://nextjs.org/docs/pages/building-your-application/configuring/custom-server" rel="noopener noreferrer"&gt;https://nextjs.org/docs/pages/building-your-application/configuring/custom-server&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { createServer } from 'http'
import { parse } from 'url'
import next from 'next'

const port = parseInt(process.env.PORT || '3000', 10)
const dev = process.env.NODE_ENV !== 'production'
const app = next({ dev })
const handle = app.getRequestHandler()

app.prepare().then(() =&amp;gt; {
  createServer((req, res) =&amp;gt; {
    const parsedUrl = parse(req.url, true)
    handle(req, res, parsedUrl)
  }).listen(port)

  console.log(
    `&amp;gt; Server listening at http://localhost:${port} as ${
      dev ? 'development' : process.env.NODE_ENV
    }`
  )
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;kemudian tambahkan scripts berikut pada file &lt;strong&gt;package.json&lt;/strong&gt; di bagian &lt;em&gt;“scripts”&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "scripts": {
    "dev": "node server.js",
    "build": "next build",
    "start": "NODE_ENV=production node server.js"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;setelah penyisipan file &lt;strong&gt;server.js&lt;/strong&gt; dan update isi file &lt;strong&gt;package.json&lt;/strong&gt; di lakukan, jalankan perintah berikut &lt;code&gt;npm run build&lt;/code&gt; untuk setup folder project aplikasinya sebelum di upload ke environtment hosting cPanel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dgq9p9skmfyaweyz26l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dgq9p9skmfyaweyz26l.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;setelah proses build telah selesai biasanya ditandai dengan terbuatnya folder &lt;strong&gt;.next&lt;/strong&gt; yang tergenerate secara otomatis kemudian dilanjutkan dengan compress file project aplikasinya kecuali folder &lt;strong&gt;node_modules&lt;/strong&gt;. jika folder &lt;strong&gt;.next&lt;/strong&gt; tidak muncul pastikan kembali agar tampilan view pada file manager komputer atau finder ( pada mac ) saat ini settingan hidden file sudah di matikan.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwrmrlzcxx8le11hqyfv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwrmrlzcxx8le11hqyfv.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. Setup Nodejs pada cPanel&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;pada setup ini url website akan menggunakan subdomain dimana root folder project aplikasinya akan di simpan pada folder &lt;strong&gt;nextjs-crud&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ynnj1p1ix70nebbkgu3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ynnj1p1ix70nebbkgu3.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;setelah nodeJs telah berhasil di setup silahkan upload file project aplikasi yang berada di lokal komputer ke environtment hosting yaitu direktory folder &lt;strong&gt;nexjs-crud&lt;/strong&gt; sesuai dengan setup nodeJs sebelumnya.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiknahn4lpxb6s0j6rc9t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiknahn4lpxb6s0j6rc9t.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ini adalah struktur folder dari project aplikasinya sesuai dengan direktori yang telah di setup sebelumnya.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. Setup Database &amp;amp; User Database&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;pada case tutorial ini akan menggunakan database &lt;strong&gt;postgreSQL&lt;/strong&gt; dimana gambar di bawah ini akan menampilkan database sudah terbuat beserta user yang sudah di tambahkan ke databasenya jika perlu lakukan juga &lt;strong&gt;synchronize Grants&lt;/strong&gt; pada users aktif.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwy6jt9h6dmuoqqm1n26r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwy6jt9h6dmuoqqm1n26r.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;setelah database dan user nya telah tersetup bisa dilanjutkan dengan konfigurasi file &lt;strong&gt;.env&lt;/strong&gt; pada project aplikasinya agar menyesuaikan dengan database yang telah di buat pada environment hosting.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5a6f0bjfzryzevxxxj9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5a6f0bjfzryzevxxxj9.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;4. Setup Application&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;silahkan dilanjutkan ke terminal pada cPanel atau bisa menggunakan ssh agar lebih optimal ketika mejalankan perintah-perintah yang dibutuhkan untuk setup aplikasinya. Jika sudah berada di terminal, bisa kembali ke halaman &lt;strong&gt;Setup NodeJs App&lt;/strong&gt; dan copy &lt;strong&gt;virtual environment&lt;/strong&gt; nya dan paste kan pada CLI terminalnya untuk memastikan sudah berada direktory yang benar.&lt;br&gt;
jalankan perintah yang dibutuhkan seperti ( sesuai dengan case ini )&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;npm install&lt;/li&gt;
&lt;li&gt;npx prisma db push&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;4. Setup Done&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Jika semua langkah-langkah telah selesai di jalankan website telah berhasil di deploy pada hosting cPanel, untuk pengecekannya silahkan open Application URL nya sesuai pada Setup Node.JS App yang telah di buat.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://nextjs-crud.codesync.id/" rel="noopener noreferrer"&gt;https://nextjs-crud.codesync.id/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fukmsn9qd4d8cqz37qdep.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fukmsn9qd4d8cqz37qdep.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmrpct2ec2nw31qqrkigu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmrpct2ec2nw31qqrkigu.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://nextjs-crud.codesync.id/contacts" rel="noopener noreferrer"&gt;https://nextjs-crud.codesync.id/contacts&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Semoga mudah di pahami dan bisa membantu.&lt;br&gt;
Terima kasih :)&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>nextjs</category>
      <category>cpanel</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Deploy Laravel to cPanel v.2</title>
      <dc:creator>sumberweb</dc:creator>
      <pubDate>Sun, 01 Sep 2024 14:49:34 +0000</pubDate>
      <link>https://dev.to/sumberweb/deploy-laravel-to-cpanel-v2-5c7a</link>
      <guid>https://dev.to/sumberweb/deploy-laravel-to-cpanel-v2-5c7a</guid>
      <description>&lt;p&gt;Pada tutorial ini saya akan membagikan cara lain untuk deploy project laravel ke cPanel melalui git clone pada github repository. berikut adalah link git reponya example-app&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/98hub/example-app" rel="noopener noreferrer"&gt;https://github.com/98hub/example-app&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1. Create subdomain&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Pertama siapkan domain atau subdomain yang akan di gunakan sebagai alamat website yang bisa diakses nantinya. &lt;strong&gt;&lt;code&gt;Login cPanel &amp;gt; Domains &amp;gt; Create A New Domain&lt;/code&gt;&lt;/strong&gt; pada tutorial ini akan menggunakan alamat subdomain yaitu &lt;strong&gt;example-app.sumberweb.com&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0yri2r31ine1kxluf2uu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0yri2r31ine1kxluf2uu.png" alt="Image description" width="800" height="526"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. Menuju direktory aplikasi&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Setelah subdomain terbuat bisa di lanjutkan dengan ke menu terminal pada cPanel.&lt;br&gt;
&lt;strong&gt;&lt;code&gt;Halaman utama cPanel &amp;gt; Search Tools (/) &amp;gt; ketikan Terminal.&lt;/code&gt;&lt;/strong&gt; &lt;br&gt;
Jika halaman terminal sudah terbuka jalankan command ls pada terminal&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvrfk8d4yqbacduy0nb8u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvrfk8d4yqbacduy0nb8u.png" alt="Image description" width="800" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;jika sudah berada di direktory folder subdomain.&lt;br&gt;
silahkan jalankan perintah berikut : &lt;strong&gt;git clone &lt;a href="https://github.com/98hub/example-app.git" rel="noopener noreferrer"&gt;https://github.com/98hub/example-app.git&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkwsmsvhmvvqhvhjkhyxy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkwsmsvhmvvqhvhjkhyxy.png" alt="Image description" width="800" height="272"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. Move Files&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;git clone terlah berhasil folder aplikasi laravel berhasil tercopy pada cPanel. silahkan kembali ke halaman utama cPanel untuk memindahkan isi folder example-app ke folder subdomainnya.&lt;br&gt;
&lt;strong&gt;&lt;code&gt;cPanel &amp;gt; file manager &amp;gt; folder example-app.sumberweb.com &amp;gt; example-app &amp;gt; select all &amp;gt; Move [ masukan path menjadi /example-app.sumberweb.com ] &amp;gt; move files.&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fysmlive7mgbzv8ejubhu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fysmlive7mgbzv8ejubhu.png" alt="Image description" width="800" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;4. setup file .env&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;setelah file terpindahkan sesuai dengan tujuan folder yang kita inginkan bisa dilanjutkan dengan mengcopy file .env.exampe dengan cara klik kanan pada file tersebut kemudian copy atau bisa dengan cara kembali ke halaman utama jalankan command &lt;strong&gt;&lt;code&gt;cp ( copy )&lt;/code&gt;&lt;/strong&gt; &lt;strong&gt;&lt;code&gt;cPanel &amp;gt; terminal &amp;gt; cd example-app.sumberweb.com &amp;gt; cp .env.example .env&lt;/code&gt;&lt;/strong&gt; jika sudah tercopy bisa di sesuaikan untuk isi dari file .env tersebut.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fama1bsdq0uay9r6dlnrh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fama1bsdq0uay9r6dlnrh.png" alt="Image description" width="800" height="812"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ini adalah file .env yang telah di sesuaikan dengan database.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;5. command&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;selanjutnya adalah jalankan composer install. silahkan kembali ke halaman utama cPanel.&lt;br&gt;
&lt;strong&gt;&lt;code&gt;cPanel &amp;gt; Terminal &amp;gt; cd example-app.sumberweb [ masuk ke direktori folder aplikasi ]&lt;/code&gt;&lt;/strong&gt; kemudian jalankan command-command berikut ini.&lt;br&gt;
&lt;strong&gt;&lt;code&gt;- composer install&lt;br&gt;
    - php artisan key:gen&lt;br&gt;
    - php artisan migrate:fresh&lt;br&gt;
    - php artisan about&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;6. akses url&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://example-app.sumberweb.com/public" rel="noopener noreferrer"&gt;https://example-app.sumberweb.com/public&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
seteleah semua command berhasil dijalankan silahkan akses subdomainnya pada browser dengan path folder &lt;strong&gt;/public&lt;/strong&gt; sehingga menjadi seperti ini &lt;strong&gt;&lt;em&gt;https:example-app.sumberweb/public&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;7. Ubah URL&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;merubah url aplikasi &lt;strong&gt;&lt;a href="https://example-app.sumberweb/public" rel="noopener noreferrer"&gt;https://example-app.sumberweb/public&lt;/a&gt;&lt;/strong&gt; menjadi &lt;strong&gt;https:/example-app.sumberweb&lt;/strong&gt; tanpa path folder &lt;strong&gt;/public&lt;/strong&gt;&lt;br&gt;
halaman utama &lt;strong&gt;&lt;code&gt;cPanel &amp;gt; file manager &amp;gt; folder aplikasi example-app.sumberweb.com &amp;gt;&lt;/code&gt;&lt;/strong&gt; buat file dengan nama &lt;strong&gt;&lt;em&gt;.htaccess&lt;/em&gt;&lt;/strong&gt; dan isikan script berikut :&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br&gt;
    RewriteEngine On&lt;br&gt;
    RewriteRule ^(.*)$ public/$1 [L]&lt;br&gt;
&amp;lt;/IfModule&amp;gt;&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;8. Finish&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Tutorial Deploy Laravel to cPanel v.2 semoga bisa membantu. Have a Nice day :)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://example-app.sumberweb.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;https://example-app.sumberweb.com/&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>cpanel</category>
    </item>
    <item>
      <title>Deploy Laravel to cPanel v.1</title>
      <dc:creator>sumberweb</dc:creator>
      <pubDate>Thu, 25 Jul 2024 09:43:29 +0000</pubDate>
      <link>https://dev.to/sumberweb/deploy-laravel-to-cpanel-1p03</link>
      <guid>https://dev.to/sumberweb/deploy-laravel-to-cpanel-1p03</guid>
      <description>&lt;p&gt;&lt;strong&gt;Thanks to GitHub Repository&lt;/strong&gt; &lt;strong&gt;[laravel-todo-list]&lt;/strong&gt;(&lt;a href="https://github.com/benzuri/laravel-todo-list" rel="noopener noreferrer"&gt;https://github.com/benzuri/laravel-todo-list&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  Simple Todo List app with Api-Rest made with Laravel.
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Tech Stack : Laravel 10.25.1, MySql, User registration ( Jetstream ), Dynamic interface ( Livewire, Alpine Js, Token based API ( Sanctum ), Design ( Tailwind )&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Bisa menggunakan link tutorial ini jika aplikasi laravel tidak menggunakan library &lt;strong&gt;&lt;em&gt;node_modules&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;&lt;a href="https://dev.to/sumberweb/deploy-laravel-to-cpanel-v2-5c7a"&gt;https://dev.to/sumberweb/deploy-laravel-to-cpanel-v2-5c7a&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  1. Setup Struktur Folder Pada Hosting
&lt;/h2&gt;

&lt;p&gt;Berikut ini adalah struktur folder project aplikasi laravel yang masih di lokal komputer / leptop. lakukan compress pada files yang sudah di pilih kecuali module &lt;strong&gt;node_modules&lt;/strong&gt; karena nantinya untuk library tersbut kita intallasi / setup pada cPanel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1mjj5k1xny8m0skqrqfv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1mjj5k1xny8m0skqrqfv.png" alt="Image description" width="800" height="653"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;silahkan akses hosting / cPanel kemudian arahkan ke menu file manager. buat folder &lt;strong&gt;laravel-todoapp&lt;/strong&gt; di luar folder subdomain atau public_html yang nantinya menjadi entry point folder aplikasinya.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3awdtw0d5lr79rkvwcp7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3awdtw0d5lr79rkvwcp7.png" alt="Image description" width="800" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pertama buat folder name &lt;strong&gt;laravel-todoapp&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;kedua pastikan path folder sudah empty ( kosong ) yang artinya folder baru akan terbuat di home direktory&lt;/li&gt;
&lt;li&gt;ketiga create new folder&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Upload hasil compress files yang dipilih sebelumnya ke folder yang baru saja di buat &lt;strong&gt;laravel-todoapp&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0qhj5svb1584163o1ph.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0qhj5svb1584163o1ph.png" alt="Image description" width="800" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;setelah di compress files berhasil diupload ke hosting pada folder &lt;strong&gt;laravel-todoapp&lt;/strong&gt;, bisa dilanjutkan dengan mengekstract file .zip tersebut sehingga hasil nya akan seperti berikut :&lt;/p&gt;

&lt;p&gt;files project aplikasi sudah berada di direktory &lt;strong&gt;laravel-todoapp&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fksfctmhhj99qkhpdlbk5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fksfctmhhj99qkhpdlbk5.png" alt="Image description" width="800" height="860"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;langkah selanjutnya adalah pindahkan semua isi files yang ada di dalam folder &lt;strong&gt;public&lt;/strong&gt; ke folder subdomain &lt;strong&gt;laravel-todoapp.codesync.id&lt;/strong&gt; kemudian jika files sudah berhasil di pindahkan isinya akan seperti berikut :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmc33vfcmtpfm4pst43n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmc33vfcmtpfm4pst43n.png" alt="Image description" width="800" height="592"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pilih semua files yang ada di &lt;strong&gt;laravel-todoapp/public&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;move ke folder tujuan yaitu subomain &lt;strong&gt;laravel-todoapp.codesync.id&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;move files&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  2. Setup Node Js
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;[ skip step ini jika tidak diperlukan / tidak menggunakan library node_module pada project laravel ]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Dibutuhkan untuk mengakses NPM ( node package manager ) sehingga bisa installasi package javascript nantinya. Terutama tailwindcss dan package lainnya yang dibutuhkan pada environtment project aplikasi ini.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9zp8e5hmaj5mxgeepr2y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9zp8e5hmaj5mxgeepr2y.png" alt="Image description" width="800" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pertama silahkan pilih &lt;strong&gt;NodeJs Version&lt;/strong&gt; dan Application mode nya di &lt;strong&gt;Production&lt;/strong&gt; atau &lt;strong&gt;Development&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Kedua adalah &lt;strong&gt;Application root&lt;/strong&gt; yang mana ini adalah root dari folder project aplikasinya. sebagai catatan : Nama Application rootnya harus sama dengan folder yang sudah di buat sebelumnya. silahkan periksa kembali pada step pertama sebelum melakukan &lt;strong&gt;Setup Node Js nya.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Ketiga adalah &lt;strong&gt;Application URL&lt;/strong&gt; ini adalah URL dimana aplikasi nantinya bisa diakses atau alamat website aplikasinya.&lt;/li&gt;
&lt;li&gt;Keempat adalah &lt;strong&gt;Application startup file&lt;/strong&gt; ini adalah path file dimana file project aplikasi nya menjadi entry point. untuk laravel sendiri biasanya di &lt;strong&gt;routes/web.php&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flx3wy7xxnavmxvl11ass.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flx3wy7xxnavmxvl11ass.png" alt="Image description" width="800" height="483"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  3. Create Database, Import, configurasi file .env dan configurasi file index.php
&lt;/h2&gt;

&lt;p&gt;Dimulai dengan pembuatan database pada menu &lt;strong&gt;cPanel &amp;gt; MySQL® Databases / Manage My Database&lt;/strong&gt; kemudian dilanjutkan dengan &lt;strong&gt;Add User To Database&lt;/strong&gt; sehingga tampilan akan seperti berikut. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffdj8oig7bk611dkvmm44.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffdj8oig7bk611dkvmm44.png" alt="Image description" width="800" height="734"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dilanjutkan dengan import database pada menu &lt;strong&gt;cPanel &amp;gt; PhpMyAdmin&lt;/strong&gt; dan tampilan akan seperti gambar berikut :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn8schef64adz72701yf1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn8schef64adz72701yf1.png" alt="Image description" width="800" height="322"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Jika import database sudah berhasil bisa dilanjutkan dengan configurasi file .env untuk mengkoneksikan database yang baru saja telah di setup, dimana kita bisa akses pada menu &lt;strong&gt;cPanel &amp;gt; File Manager &amp;gt; Folder laravel-todoapp &amp;gt; .env [ edit ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flj787fcwb1418wur3pto.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flj787fcwb1418wur3pto.png" alt="Image description" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;setelah koneksi database pada file &lt;strong&gt;.env&lt;/strong&gt; telah selesai di konfigurasi bisa di lanjutkan penyesuaian pada file &lt;strong&gt;index.php&lt;/strong&gt; yang berada di folder subdomain &lt;strong&gt;laravel-todoapp.codesync.id&lt;/strong&gt; dan arahkan path folder ke folder dimana project aplikasi di dimpan yaitu laravel-todoapp yang sebelumnya sudah di buat dan diinputkan file project aplikasinya.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnv0g0kkxfyi6xezm8k7n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnv0g0kkxfyi6xezm8k7n.png" alt="Image description" width="800" height="1258"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  4. NPM Install dan Composser Install
&lt;/h2&gt;

&lt;p&gt;Silahkan ke menu &lt;strong&gt;cPanel &amp;gt; Setup NodeJs App&lt;/strong&gt; &amp;gt; pilih setup yang sudah di buat sebelumnya dan copy link env nya. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqnrsdxkw4npmfq7klfu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqnrsdxkw4npmfq7klfu.png" alt="Image description" width="800" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;pastekan link yang sudah dicopy tersebut dan jalankan command berikut :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;npm install&lt;/li&gt;
&lt;li&gt;composer install&lt;/li&gt;
&lt;li&gt;php artisan key:gen&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6twh97zamre4rsy5dksh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6twh97zamre4rsy5dksh.png" alt="Image description" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Notes : setiap perubahan yang sudah dilakukan selalu refresh halaman setup nodejs app nya kemudian restart.&lt;/p&gt;

&lt;p&gt;Berikut adalah error yang mungkin muncul :&lt;/p&gt;
&lt;h2&gt;
  
  
  1. &lt;code&gt;php artisan migrate:fresh --seed&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;jika ingin memulai database dari 0 jalankan command ini&lt;/code&gt; &lt;br&gt;
Syntax error or access violation: 1071 Specified key was too long : error terselesaikan ketika menambahkan script berikut pada : laravel-todoapp/app/Providers/AppServiceProvider.php&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

class AppServiceProvider extends ServiceProvider
{
/**
   * Register any application services.
*/
public function register(): void
{
//
}

/**
  * Bootstrap any application services.
 */
public function boot(): void
{
    Schema::defaultStringLength(191);
}
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. Error &lt;code&gt;npm run build&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;pastikan pada isi file .gitignore  path folder &lt;code&gt;/public/build&lt;/code&gt; sudah di comment seperti berikut &lt;code&gt;# /public/build&lt;/code&gt;  jika masih terdapat error npm run build pada tampilan website silahkan lanjutkan step di bawah ini.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. &lt;code&gt;npm run build - Fail 0r Error timeout or Out of memory&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;pastikan untuk menjalankan command ini sudah menggunakan ssh dari lokal komputer jika masih belum berhasil, silahkan jalankan command &lt;code&gt;npm run build&lt;/code&gt; pada environment lokal komputer. Kemudian hasil build, yang biasanya dalam bentuk folder dengan nama &lt;strong&gt;dist&lt;/strong&gt; atau &lt;strong&gt;build&lt;/strong&gt; folder tersebut di upload pada direktori project aplikasi pada hosting / cPanel ( &lt;strong&gt;laravel-todoapp/public&lt;/strong&gt; )&lt;/p&gt;

&lt;p&gt;Selesai sudah tutorial ini.&lt;br&gt;
Semoga bisa membantu :)&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>laravel</category>
      <category>cpanel</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Deploy Frontend Web Application with React to cPanel.</title>
      <dc:creator>sumberweb</dc:creator>
      <pubDate>Thu, 18 Jul 2024 02:54:22 +0000</pubDate>
      <link>https://dev.to/sumberweb/deploy-frontend-web-application-with-react-to-cpanel-2kk7</link>
      <guid>https://dev.to/sumberweb/deploy-frontend-web-application-with-react-to-cpanel-2kk7</guid>
      <description>&lt;p&gt;&lt;code&gt;Tech stack: Complete CRUD NodeJs, swr, react-router-dom, react-dom, react, axios&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Melanjutkan tutorial sebelumnya dimana kita sudah melakukan Deploy Backend API NodeJs to cPanel. Di tutorial ini kita akan deploy aplikasi frontendnya yang nantinya hasilnya akan di url &lt;a href="https://todoapp.codesync.id" rel="noopener noreferrer"&gt;https://todoapp.codesync.id&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Setup Application
&lt;/h2&gt;

&lt;p&gt;Persiapkan aplikasi frontend nya terlebih dahulu karena pada case ini aplikasi harus di build terlebih dahulu sebelum di upload ke Hosting / cPanel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqwfuel0bf6z6cfvipdvl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqwfuel0bf6z6cfvipdvl.png" alt="Image description" width="551" height="252"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pada komponen tersebut memiliki fungsi untuk menambahkan tugas baru dengan mengirim permintaan ke server serta memperbarui data setelah tugas ditambahkan. Namun pada script  tersebut masih berjalan pada lokal komputer &lt;a href="http://localhost:5001" rel="noopener noreferrer"&gt;http://localhost:5001&lt;/a&gt; yang seharusnya ketika nantinya berjalan di server production / hosting URL diganti menjadi &lt;a href="https://api-todoapp.codesync.id/" rel="noopener noreferrer"&gt;https://api-todoapp.codesync.id/&lt;/a&gt; sehingga menjadi seperti berikut:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi9qrnkby5t0vvbyxtebo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi9qrnkby5t0vvbyxtebo.png" alt="Image description" width="634" height="253"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pastikan URL pada semua komponen yang melakukan fetch data atau update data ke server lokal diganti menjadi URL yang sudah di setup pada hosting &lt;a href="https://api-todoapp.codesync.id/" rel="noopener noreferrer"&gt;https://api-todoapp.codesync.id/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Build Aplikasi
&lt;/h2&gt;

&lt;p&gt;Jika semua script code sudah disesuaikan bisa dilanjutkan dengan build aplikasinya jalankan command berikut pada terminal untuk melakukan build pada aplikasinya &lt;code&gt;npm run build&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjg7g8owtgg77ul1ebbv5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjg7g8owtgg77ul1ebbv5.png" alt="Image description" width="519" height="213"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;command &lt;code&gt;npm run build&lt;/code&gt; akan menghasilkan folder baru dengan nama dist yang nantinya isi folder tersebut yang akan di upload ke hosting.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjf2nspe25uyy2q28azcc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjf2nspe25uyy2q28azcc.png" alt="Image description" width="637" height="289"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Compress file dist hasil Build
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fevkin5zj3ejzaran5d3m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fevkin5zj3ejzaran5d3m.png" alt="Image description" width="559" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select isi file yang berada di dalam folder dist kemudian compress dalam bentuk .zip&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Upload file ke cPanel &amp;gt; File Manager
&lt;/h2&gt;

&lt;p&gt;Kali ini project aplikasi frontend akan di upload pada subdomain di folder todoapp.codesync.id pastikan path folder upload sudah sesuai dan benar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgfpmup3v88mddsc2n279.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgfpmup3v88mddsc2n279.png" alt="Image description" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6se404en0sxe5kxcsn2h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6se404en0sxe5kxcsn2h.png" alt="Image description" width="800" height="592"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;pada gambar tersebut file telah berhasil di upload dan berada di folder atau path folder yang diinginkan kemudian bisa dilanjutkan dengan extract file .zip tersebut.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Done
&lt;/h2&gt;

&lt;p&gt;Setelah file .zip tersebut selesai di extract hasilnya akan di ketahui dengan mengakses URL aplikasi frontend nya. &lt;a href="https://todoapp.codesync.id/" rel="noopener noreferrer"&gt;https://todoapp.codesync.id/&lt;/a&gt;&lt;br&gt;
ini adalah tampilan bahwa aplikasi frontend berjalan dengan baik data telah berhasil diambil dari API &lt;a href="https://api-todoapp.codesync.id/" rel="noopener noreferrer"&gt;https://api-todoapp.codesync.id/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffdhqek7pos1s0v14a6tl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffdhqek7pos1s0v14a6tl.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dengan ini selesai sudah tutorial deploy aplikasi frontend dengan React library yang melakukan fetch data API publik yang sudah di setup sebelumnya. &lt;/p&gt;

&lt;p&gt;Semoga tutorial ini bisa membantu.&lt;br&gt;
Terima kasih 😊&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>react</category>
      <category>tutorial</category>
      <category>cpanel</category>
    </item>
    <item>
      <title>Deploy Backend API with Express Js to cPanel</title>
      <dc:creator>sumberweb</dc:creator>
      <pubDate>Tue, 16 Jul 2024 15:34:41 +0000</pubDate>
      <link>https://dev.to/sumberweb/deploy-backend-api-nodejs-to-hosting-dewaweb-47df</link>
      <guid>https://dev.to/sumberweb/deploy-backend-api-nodejs-to-hosting-dewaweb-47df</guid>
      <description>&lt;p&gt;&lt;code&gt;Tech Stack : NodeJs, Express, Prisma, @prisma/client, cors, dotenv and Mysql&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Pertama
&lt;/h2&gt;

&lt;p&gt;Siapkan file project yang sudah berjalan di local komputer dan lakukan compress pada file project yang di butuhkan, untuk folder node_modules tidak perlu ikut serta dalam compress file dikarenakan nantinya akan di setup melalui menu Setup Node.Js App pada cPanel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feawvlwmimgxmaw2o6au0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feawvlwmimgxmaw2o6au0.png" alt="Image description" width="800" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Kedua
&lt;/h2&gt;

&lt;p&gt;Login cPanel Hosting dan navigasikan ke menu Setup Node.Js App &amp;gt; Create Application sehingga tampilanya akan menjadi seperti berikut :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx9d09f8b04j5f7rrn2wl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx9d09f8b04j5f7rrn2wl.png" alt="Image description" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pertama pilih Node.Js Version dan Application mode ( production atau development )&lt;/li&gt;
&lt;li&gt;Kedua tentukan Application root - dalam tampilan di atas api-todoapp merupakan application rootnya ( berbentuk folder ) yang nantinya akan menyimpan file project aplikasinya.&lt;/li&gt;
&lt;li&gt;Ketiga tentukan Application URL nya - dalam tampilan diatas nantinya project backend akan diakses dengan url subdomain &lt;a href="https://api-todoapp.codesync.id" rel="noopener noreferrer"&gt;https://api-todoapp.codesync.id&lt;/a&gt; artinya API tidak lagi diakses dengan http://&lt;a href="http://localhost" rel="noopener noreferrer"&gt;localhost&lt;/a&gt; untuk melakukan request data seperti ketika pengaplikasian pada local komputer.&lt;/li&gt;
&lt;li&gt;Keempat tentukan Application startup file. Dalam project ini startup file yang akan di jalankan adalah index.js disesuaikan dengan aplikasi masing masing.&lt;/li&gt;
&lt;li&gt;Kelima adalah CREATE.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sebagai testing Node.Js berjalan dengan baik atau tidak bisa di cek dengan akses URL &lt;a href="https://api-todoapp.codesync.id" rel="noopener noreferrer"&gt;https://api-todoapp.codesync.id&lt;/a&gt; yang jika berkerja dengan baik tampilanya akan seperti berikut:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j8lk8j6zxwlmjmg80r2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j8lk8j6zxwlmjmg80r2.png" alt="Image description" width="800" height="278"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Ketiga
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Upload Project aplikasi ke cPanel &amp;gt; File Manager Hosting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwmlrt6wec85dv26p7ddp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwmlrt6wec85dv26p7ddp.png" alt="Image description" width="800" height="507"&gt;&lt;/a&gt;&lt;br&gt;
Folder api-todoapp merupakan Application root yang sebelumnya sudah buat ketika melakukan Setup Node.Js App, di folder tersebut adalah tempat dimana kita akan upload file project aplikasinya. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foa73qh43kclp8dky04kf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foa73qh43kclp8dky04kf.png" alt="Image description" width="800" height="411"&gt;&lt;/a&gt;&lt;br&gt;
Setelah file upload selesai, hasil upload bisa langsung di extract dan hasilnya akan seperti berikut.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjvxbqa2nyj3myxbprrwh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjvxbqa2nyj3myxbprrwh.png" alt="Image description" width="800" height="504"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Keempat
&lt;/h2&gt;

&lt;p&gt;Setup Database. cPanel &amp;gt; MySQL® Databases, Create New Database sesuai dengan nama database yang ada di lokal komputer dan Add New User &amp;gt; setup untuk username dan password [ pastikan username dan password sudah di save di note pribadi ] kemudian Add User To Database pilih user yang sudah di buat dan database yang baru di buat dilanjutkan dengan Manage User Privileges seperti tampilan berikut :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdk1wk4nne3czmxpf5v0f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdk1wk4nne3czmxpf5v0f.png" alt="Image description" width="800" height="757"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Kelima
&lt;/h2&gt;

&lt;p&gt;Import Database. Lakukan export database project pada lokal komputer dan import ke hosting dengan cara ke menu cPanel &amp;gt; phpMyAdmin dan tampilan import database akan seperti berikut :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg04o3e3h7y9chgqxeub4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg04o3e3h7y9chgqxeub4.png" alt="Image description" width="800" height="773"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Keenam
&lt;/h2&gt;

&lt;p&gt;Konfigurasi file .env - &lt;strong&gt;&lt;em&gt;cPanel &amp;gt; File Manager &amp;gt; api-todoapp &amp;gt; .env&lt;/em&gt;&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;konfigurasi file .env ini sangat diperlukan dikarenakan untuk menyesuaikan environtment baru yang mana sebelumnya konfirgurasi koneksi database berjalan pada lokal komputer dan saat ini koneksi database terhubung dengan environtment hosting.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffuakujwgaemxrdnl9ja4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffuakujwgaemxrdnl9ja4.png" alt="Image description" width="800" height="521"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Ketujuh
&lt;/h2&gt;

&lt;p&gt;Jalankan Setup Node.Js App - setelah melakukan konfigurasi pada file .env dilanjutkan dengan menjalankan setup nodeJs nya. Pastikan sebelum mejalankan aplikasi halaman browser sudah di refresh dan lakukan Restart pada Setup Node.Js App nya. Jalankan Run NPM Install dan hasilnya akan seperti message hijau Node.js NPM install completed successfully.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fktpab42mfs38f45m1jko.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fktpab42mfs38f45m1jko.png" alt="Image description" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Kedelapan
&lt;/h2&gt;

&lt;p&gt;Muncul Error 503 ketika mengakses URL API &lt;a href="https://api-todoapp.codesync.id/" rel="noopener noreferrer"&gt;***https://api-todoapp.codesync.id/&lt;/a&gt;*** setelah semua setup project sudah berhasil di install pada hosting dan pesan error logs pada file stderr.log&lt;/p&gt;

&lt;p&gt;Dalam case project contoh ini terdapat error 503 dari hasil setup project aplikasinya.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp3ybbzzvpl7oorlgegrj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp3ybbzzvpl7oorlgegrj.png" alt="Image description" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1jxjhunrqafuueduqi8a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1jxjhunrqafuueduqi8a.png" alt="Image description" width="800" height="152"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Error terjadi karena Node.js mencoba menggunakan &lt;code&gt;require()&lt;/code&gt; untuk mengimpor modul ES (ECMAScript Module) yang tidak didukung dalam konteks CommonJS. Modul ES diidentifikasi dengan menggunakan ekstensi &lt;code&gt;.mjs&lt;/code&gt; atau memiliki kunci &lt;code&gt;"type": "module"&lt;/code&gt; di file &lt;code&gt;package.json&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;sehingga ada penyesuaian pada file startup pada &lt;strong&gt;&lt;em&gt;Setup Node.Js App&lt;/em&gt;&lt;/strong&gt; nya untuk file index.js diganti menjadi index.mjs yang mana dari awal untuk project aplikasinya script / codenya dibuat dengan dengan Modul ES (&lt;code&gt;import&lt;/code&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Kesembilan
&lt;/h2&gt;

&lt;p&gt;Berikut ini adalah tampilan ketika URL API backend bekerja. &lt;a href="https://api-todoapp.codesync.id/tasks" rel="noopener noreferrer"&gt;https://api-todoapp.codesync.id/tasks&lt;/a&gt; yang mana data sudah tampil dalam bentuk json file dan siap digunakan sebagai API data consume oleh aplikasi frontend.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyfkpre4kjo4epl3y5pii.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyfkpre4kjo4epl3y5pii.png" alt="Image description" width="800" height="532"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dengan ini tutorial Setup NodeJs untuk aplikasi backend telah selesai dan bisa berjalan dengan normal pada hosting. Untuk tutorial selanjutnya adalah Deploy aplikasi frontend &lt;a href="https://todoapp.codesync.id" rel="noopener noreferrer"&gt;https://todoapp.codesync.id&lt;/a&gt; yang mana nantinya aplikasi frontend ini akan melakukan fetch data ke aplikasi backend.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>cpanel</category>
      <category>beginners</category>
      <category>node</category>
    </item>
  </channel>
</rss>
