Inhaltsverzeichnis
Serverumzug
Zum Umzug des Servers als Gesamtsystem ist der Artikel "Serverumzug von xentral zu xentral" zu beachten.
Vorbereitungen
- Hinweis: Um die folgenden vorhandenen Terminal Befehle ausführen zu können, kann es nötig sein "sudo" davor zu schreiben, um Zugriff zu erhalten
- Exportieren des Datenbank Dump vom alten System:
- entweder über Administration → Backup → System-Backup herunterladen → Backup erstellen
- oder den userdata Ordner aus /var/www/html/wawision/ über ssh kopieren, falls das System-Backup zu groß ist
- Die heruntergeladenen Dateien mit z.B.: scp -r /Pfad/Datei benutzer@dnsname:Pfad auf den neuen Server kopieren
- Über ssh auf dem neuen Server anmelden z.B.: ssh benutzer@dnsname
- Den vorhandenen userdata Ordner in /var/www/html/wawision umbenennen z.B. in userdata
- Neuen userdata Ordner nach /var/www/html/wawision verschieben
- Im userdata Ordner sind Unterordner in denen wiederum Unterordner mit dem Namen der alten Datenbank existieren. Diese Ordner müssen in den neuen Datenbanknamen umbenannt werden.
-
Meistens sind folgende Ordner betroffen:
- Im Ordner dms
- Im Ordner emailbackup (Falls vorhanden)
- Im Ordner pdfarchiv
- Im Ordner pdfmirror
- Falls weitere Ordner vorhanden sind, müssen diese überprüft werden ob sich in den Unterordnern Unterordner mit alten Datenbanknamen befinden und umbenannt werden. Vorhandene Dateien mit dem Datenbanknamen im Namen müssen ebenfalls umbenannt werden, wie z.B. das Briefpapier.
Datenbank einspielen
IT Kenntniss sind dafür zwingend erforderlich! Achtung! Bei unkenntnis können Datenverluste erzeugt werden. xentral übernimmt dafür keine Gewähr.
-
Datenbank (extra exportieren oder im über die Oberfläche erstellten System-Backup vorhanden) am neuen Server einspielen mit z.B.:
mysql -u benutzername -p use NameDerNeuenDatenbank; source Pfad/DateinameDerZuImportierendenDatenbank;
- In der conf/user.inc.php muss die neue Datenbankverbindung und der Pfad zum userdata Ordner eingetragen werden
- Um die Datenbank zu aktualisieren, muss noch php upgradedbonly.php ausgeführt werden
Besonderheiten beim Wechsel zwischen MariaDB und MySql Unter Umständen können Views beim Ex- und Import der Datenbank in diesem Fall verloren gehen. Nach einem Update des Systems sind die Views wieder verfügbar. Bei einem Wechsel der von MariaDB zu MySQL oder umgekehrt kann aber das erneute Einspielen eines Scriptes notwendig werden.
Bitte beachten, dass im untenstehenden Code Datenbankbenutzer angepasst werden muss:
'DEFINER=`xentral`@`localhost`'
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
Stellvertreter-Struktur des Views `belege`
CREATE TABLE IF NOT EXISTS `belege` (
`id` int(11)
,`adresse` int(11)
,`datum` date
,`belegnr` varchar(255)
,`status` varchar(64)
,`land` varchar(255)
,`typ` varchar(10)
,`umsatz_netto` decimal(19,2)
,`erloes_netto` decimal(19,2)
,`deckungsbeitrag` decimal(11,2)
,`provision_summe` decimal(11,2)
,`vertriebid` int(11)
,`gruppe` int(11)
);
-- --------------------------------------------------------
Stellvertreter-Struktur des Views `belegegesamt`
CREATE TABLE IF NOT EXISTS `belegegesamt` (
`id` int(11)
,`adresse` int(11)
,`datum` date
,`belegnr` varchar(255)
,`status` varchar(64)
,`land` varchar(255)
,`typ` varchar(12)
,`umsatz_netto` varchar(23)
,`umsatz_brutto` varchar(23)
,`erloes_netto` varchar(21)
,`deckungsbeitrag` varchar(13)
,`provision_summe` varchar(13)
,`vertriebid` varchar(11)
,`gruppe` varchar(11)
,`projekt` varchar(222)
);
-- --------------------------------------------------------
--
-- Stellvertreter-Struktur des Views `belegeregs`
--
CREATE TABLE IF NOT EXISTS `belegeregs` (
`id` int(11)
,`adresse` int(11)
,`datum` date
,`belegnr` varchar(255)
,`status` varchar(64)
,`land` varchar(255)
,`typ` varchar(10)
,`umsatz_netto` decimal(19,2)
,`erloes_netto` decimal(19,2)
,`deckungsbeitrag` decimal(11,2)
,`provision_summe` decimal(11,2)
,`vertriebid` int(11)
,`gruppe` int(11)
,`projekt` varchar(222)
);
-- --------------------------------------------------------
--
-- Struktur des Views `belege`
--
DROP TABLE IF EXISTS `belege`;
CREATE ALGORITHM=UNDEFINED DEFINER=`xentral`@`localhost` SQL SECURITY DEFINER VIEW `belege` AS select `rechnung`.`id` AS `id`,`rechnung`.`adresse` AS `adresse`,`rechnung`.`datum` AS `datum`,`rechnung`.`belegnr` AS `belegnr`,`rechnung`.`status` AS `status`,`rechnung`.`land` AS `land`,'rechnung' AS `typ`,`rechnung`.`umsatz_netto` AS `umsatz_netto`,`rechnung`.`erloes_netto` AS `erloes_netto`,`rechnung`.`deckungsbeitrag` AS `deckungsbeitrag`,`rechnung`.`provision_summe` AS `provision_summe`,`rechnung`.`vertriebid` AS `vertriebid`,`rechnung`.`gruppe` AS `gruppe` from `rechnung` where (`rechnung`.`status` <> 'angelegt') union all select `gutschrift`.`id` AS `id`,`gutschrift`.`adresse` AS `adresse`,`gutschrift`.`datum` AS `datum`,`gutschrift`.`belegnr` AS `belegnr`,`gutschrift`.`status` AS `status`,`gutschrift`.`land` AS `land`,'gutschrift' AS `typ`,(`gutschrift`.`umsatz_netto` * -(1)) AS `umsatz_netto*-1`,(`gutschrift`.`erloes_netto` * -(1)) AS `erloes_netto*-1`,(`gutschrift`.`deckungsbeitrag` * -(1)) AS `deckungsbeitrag*-1`,(`gutschrift`.`provision_summe` * -(1)) AS `provision_summe*-1`,`gutschrift`.`vertriebid` AS `vertriebid`,`gutschrift`.`gruppe` AS `gruppe` from `gutschrift` where (`gutschrift`.`status` <> 'angelegt');
-- --------------------------------------------------------
--
-- Struktur des Views `belegegesamt`
--
DROP TABLE IF EXISTS `belegegesamt`;
CREATE ALGORITHM=UNDEFINED DEFINER=`xentral`@`localhost` SQL SECURITY DEFINER VIEW `belegegesamt` AS select `rechnung`.`id` AS `id`,`rechnung`.`adresse` AS `adresse`,`rechnung`.`datum` AS `datum`,`rechnung`.`belegnr` AS `belegnr`,`rechnung`.`status` AS `status`,`rechnung`.`land` AS `land`,'rechnung' AS `typ`,`rechnung`.`umsatz_netto` AS `umsatz_netto`,`rechnung`.`soll` AS `umsatz_brutto`,`rechnung`.`erloes_netto` AS `erloes_netto`,`rechnung`.`deckungsbeitrag` AS `deckungsbeitrag`,`rechnung`.`provision_summe` AS `provision_summe`,`rechnung`.`vertriebid` AS `vertriebid`,`rechnung`.`gruppe` AS `gruppe`,`rechnung`.`projekt` AS `projekt` from `rechnung` union all select `gutschrift`.`id` AS `id`,`gutschrift`.`adresse` AS `adresse`,`gutschrift`.`datum` AS `datum`,`gutschrift`.`belegnr` AS `belegnr`,`gutschrift`.`status` AS `status`,`gutschrift`.`land` AS `land`,'gutschrift' AS `typ`,(`gutschrift`.`umsatz_netto` * -(1)) AS `umsatz_netto*-1`,(`gutschrift`.`soll` * -(1)) AS `umsatz_brutto*-1`,(`gutschrift`.`erloes_netto` * -(1)) AS `erloes_netto*-1`,(`gutschrift`.`deckungsbeitrag` * -(1)) AS `deckungsbeitrag*-1`,(`gutschrift`.`provision_summe` * -(1)) AS `provision_summe*-1`,`gutschrift`.`vertriebid` AS `vertriebid`,`gutschrift`.`gruppe` AS `gruppe`,`gutschrift`.`projekt` AS `projekt` from `gutschrift` union all select `auftrag`.`id` AS `id`,`auftrag`.`adresse` AS `adresse`,`auftrag`.`datum` AS `datum`,`auftrag`.`belegnr` AS `belegnr`,`auftrag`.`status` AS `status`,`auftrag`.`land` AS `land`,'auftrag' AS `typ`,`auftrag`.`umsatz_netto` AS `umsatz_netto`,`auftrag`.`gesamtsumme` AS `umsatz_brutto`,`auftrag`.`erloes_netto` AS `erloes_netto`,`auftrag`.`deckungsbeitrag` AS `deckungsbeitrag`,`auftrag`.`provision_summe` AS `provision_summe`,`auftrag`.`vertriebid` AS `vertriebid`,`auftrag`.`gruppe` AS `gruppe`,`auftrag`.`projekt` AS `projekt` from `auftrag` union all select `bestellung`.`id` AS `id`,`bestellung`.`adresse` AS `adresse`,`bestellung`.`datum` AS `datum`,`bestellung`.`belegnr` AS `belegnr`,`bestellung`.`status` AS `status`,`bestellung`.`land` AS `land`,'bestellung' AS `typ`,`bestellung`.`gesamtsumme` AS `umsatz_netto`,`bestellung`.`gesamtsumme` AS `umsatz_brutto`,'0' AS `erloes_netto`,'0' AS `deckungsbeitrag`,'0' AS `provision_summe`,'0' AS `vertriebid`,'0' AS `gruppe`,`bestellung`.`projekt` AS `projekt` from `bestellung` union all select `lieferschein`.`id` AS `id`,`lieferschein`.`adresse` AS `adresse`,`lieferschein`.`datum` AS `datum`,`lieferschein`.`belegnr` AS `belegnr`,`lieferschein`.`status` AS `status`,`lieferschein`.`land` AS `land`,'lieferschein' AS `typ`,'0' AS `umsatz_netto`,'0' AS `umsatz_brutto`,'0' AS `erloes_netto`,'0' AS `deckungsbeitrag`,'0' AS `provision_summe`,'0' AS `vertriebid`,'0' AS `gruppe`,`lieferschein`.`projekt` AS `projekt` from `lieferschein`;
-- --------------------------------------------------------
--
-- Struktur des Views `belegeregs`
--
DROP TABLE IF EXISTS `belegeregs`;
CREATE ALGORITHM=UNDEFINED DEFINER=`xentral`@`localhost` SQL SECURITY DEFINER VIEW `belegeregs` AS select `rechnung`.`id` AS `id`,`rechnung`.`adresse` AS `adresse`,`rechnung`.`datum` AS `datum`,`rechnung`.`belegnr` AS `belegnr`,`rechnung`.`status` AS `status`,`rechnung`.`land` AS `land`,'rechnung' AS `typ`,`rechnung`.`umsatz_netto` AS `umsatz_netto`,`rechnung`.`erloes_netto` AS `erloes_netto`,`rechnung`.`deckungsbeitrag` AS `deckungsbeitrag`,`rechnung`.`provision_summe` AS `provision_summe`,`rechnung`.`vertriebid` AS `vertriebid`,`rechnung`.`gruppe` AS `gruppe`,`rechnung`.`projekt` AS `projekt` from `rechnung` union all select `gutschrift`.`id` AS `id`,`gutschrift`.`adresse` AS `adresse`,`gutschrift`.`datum` AS `datum`,`gutschrift`.`belegnr` AS `belegnr`,`gutschrift`.`status` AS `status`,`gutschrift`.`land` AS `land`,'gutschrift' AS `typ`,(`gutschrift`.`umsatz_netto` * -(1)) AS `umsatz_netto*-1`,(`gutschrift`.`erloes_netto` * -(1)) AS `erloes_netto*-1`,(`gutschrift`.`deckungsbeitrag` * -(1)) AS `deckungsbeitrag*-1`,(`gutschrift`.`provision_summe` * -(1)) AS `provision_summe*-1`,`gutschrift`.`vertriebid` AS `vertriebid`,`gutschrift`.`gruppe` AS `gruppe`,`gutschrift`.`projekt` AS `projekt` from `gutschrift`;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Finale Anpassungen
- Über die Oberfläche von xentral sollte noch ein Update durchgeführt werden, genaueres siehe "Zugang zum Updateserver"
- Zum Schluss muss der Webserver auf den userdata Ordner zugreifen können. Dies geschieht mit chown -R www-data:www-data *
- Um zu überprüfen ob der Webserver auf den userdata Ordner zugreifen kann, kann über die Oberfläche von xentral eine Datei bei einem Artikel oder einer Adresse hochgeladen und anschließend wieder heruntergeladen werden. Hat die Datei eine Größe von 0 Byte stimmen vermutlich die Rechte nicht. Kann die Datei allerdings geöffnet werden, hat alles geklappt.
Datenumzug für ein Testsystem
Eine Kopie auf ein bestehendes neues Testsystem verläuft im Grunde genauso wie ein Datenumzug des Live-Systems auf einen anderen Server.
Folgendes muss hierbei zusätzlich beachtet und eingestellt werden:Erklärung:
- Wenn die DB kopiert und sich anschließend angemeldet wird, steckt die alte "Lizenz+Schluessel" (also die Zugangsdaten zum Updateserver) in den Firmendaten.
- D.h. es muss dann vorab per phpmyadmin die neue "Lizenz+Schluessel" für das Testsystem eingespielt werden
ACHTUNG: TRIFFT NUR ZU, WENN MIT VERSCHIEDENEN PHP VERSIONEN GEARBEITET WIRD
- In der Tabelle Firmendaten können die über den phpmyadmin auch ausgetauscht werden.
- dann auf der Oberfläche mit [[http://url/update.php]] ein Update zu ziehen
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.