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/