Przenoszenie CRM na nowy serwer

Kopiowanie plików przez sieć, przenoszenie bazy, certyfikaty,

https://claude.ai/chat/b62ab800-58cd-4c56-96ea-c9d9937b03f4

1. Katalog

// Na nowym serwerze (Debian 11)
# mkdir -p /var/www/crm
# chown -R user:www-data /var/www/crm

2. Apache – Virtual host, Certyfikat Let’s encrypt

3. Baza danych – backup, przeniesienie na nowy serwer, utworzenie usera z hasłem takim jak w aplikacji

// Backup na starym serwerze 
# mysqldump -u root -p nazwa_bazy > backup_bazy.sql

// Lub z procedurami składowanymi
# mysqldump -u root -p --routines --triggers --events nazwa_bazy > backup_bazy.sql

# scp backup_bazy.sql user@nowy_serwer:/tmp/
// Na nowym serwerze - utworzenie bazy, odtworzenie kopii
# mysql -u root -p -e "CREATE DATABASE nazwa_bazy;"
# mysql -u root -p nazwa_bazy < /tmp/backup_bazy.sql
// mysql - utworzenie usera, przyznanie uprawnień

> CREATE USER my_user IDENTIFIED BY 'UbIDu*d7kd_';

> GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE ON nazwa_bazy.* TO my_user;

4. Skopiowanie plików na nowy serwer

A) Tylko katalogi projektu:

-- 
# cd my_proj/

# rsync -avz --progress user@stary_serwer:/var/www/my_proj/src/  . 
# rsync -avz --progress user@stary_serwer:/var/www/my_proj/templates/ .
# rsync -avz --progress user@stary_serwer:/var/www/my_proj/config/ .
# rsync -avz --progress user@stary_serwer:/var/www/my_proj/webroot/ . 

-- Pliki --
# cd my_proj/files/
# rsync -avz --progress user@stary_serwer:/var/www/my_proj/files/ .

Doinstalowanie pluginów:

# composer require gusapi/gusapi

-- Tworzymy kontroler GUS z prefixem API
# bin/cake bake controller Gus --prefix Api
# composer require friendsofcake/cakephp-csvview

# bin/cake plugin load CsvView
# composer require friendsofcake/cakepdf

# bin/cake plugin load CakePdf
// JSON dodać metodę w AppController.php

use Cake\View\JsonView;

class AppController extends Congtorller
{

  public function viewClasses(): array
  {
    return [JsonView::class];
  }
// Lub kopia całej aplikacji ze źródłami

# rsync -avz --progress user@stary_serwer:/var/www/nazwa_aplikacji/ /var/www/nazwa_aplikacji/