วิธี Migrate laravel to cPanel sharehosting

การนำข้อมูลมาที่ cPanel sharehosting

1. ให้ทำการ Download ข้อมูล Website มาให้ครบถ้วน

   - หากสามารถทำการ Ftp access ได้ให้ทำการ Ftp ข้อมูลในส่วนของ /var/www/html มาทั้งหมด

   - หากสามารถ Root access ได้สามารถใช้งาน Scp หรือ Rync ข้อมูลมาได้

[root@system ~]# rsync -avz -e 'ssh -p 22' root@xxx.xxx.xxx.xxx:/var/www/html/user /home/

2. ให้ทำการ Export database ที่ใช้งานออกมาจาก Server เดิม

   - หากสามารถทำการ access phpMyadmin ได้ให้ทำการ Export database.sql ออกมา

   - หากไม่สามารถทำการ access phpMyadmin ได้ให้ทำการใช้ command

[root@system ~]# cd /var/lib/mysql
[root@system ~]# mysqldump -u root -p databases > database.sql  ** วิธีนี้ต้องทราบ Mysql root password **

3. เมื่อได้ข้อมูลครบถ้วนทั้งหมดแล้วให้ทำการ Create account บน cPanel ขึ้นมา

4. เมื่อ Create account บน cPanel เรียบร้อยแล้วให้ทำการย้ายข้อมูล Website ที่ได้มาก่อนหน้านี้ไปไว้ที่

[root@system ~]# mv Part data /home/user/public_html

5. ทำการ Create database และ Import database ที่ได้มาก่อนหน้านี้

   - ในส่วนของขั้นตอนนี้สามารถดำเนินการได้บน cPanel 

การจัด Structure ของข้อมูลให้ถูกต้อง

1. ทำการสร้าง Directory laravel

[root@system ~]# mkdir /home/user/laravel

2. ทำการย้ายข้อมูลท้้งหมดที่อยู่ใน public_html ไปไว้ที่ directory : laravel

ยกเว้น Directory : public ยังไม่ต้องนำมา
[root@system ~]# cd /home/user/public_html
[root@system ~]# mv app artisan bootstrap cgi-bin composer.json composer.lock config database .env gulpfile.js maxi.sql node_modules package.json phpunit.xml readme.md resources server.php storage tests uploads vendor /home/user/laravel

3. ทำการย้ายข้อมูลท้้งหมดที่อยู่ใน /home/user/public_html/public ไปไว้ที่ directory : /home/user/public_html

[root@system ~]# cd /home/user/public_html/public
[root@system ~]# mv * /home/user/public_html

4. ทำการแก้ไขไฟล์ index.php

[root@system ~]# nano -w /home/user/public_html/index.php
แก้ไขจาก require __DIR__.'/../bootstrap/autoload.php';
เป็น require __DIR__.'/../laravel/bootstrap/autoload.php';
แก้ไขจาก $app = require_once __DIR__.'/../bootstrap/app.php';
เป็น $app = require_once __DIR__.'/../laravel/bootstrap/app.php';

5. ทำการแก้ไขไฟล์ Config database 

[root@system ~]# nano -w /home/user/laravel/.env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=nutthawa_test  ** แก้ไข Database name **
DB_USERNAME=nutthawa_test  ** แก้ไข Database user **
DB_PASSWORD=q={Xa#ilKq8C  ** แก้ไข Database password **

6. ทำการสร้าง symbolic link เพื่อให้สามารถ Update ข้อมูลใหม่ๆได้

[root@system ~]# ln -s /home/user/laravel/storage/app/public /home/user/public_html/storage
[root@system ~]# chown -h user:user /home/user/public_html/storage